X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fadaptor%2Fcommon%2Fapplication-impl.cpp;h=44d4146015cad2de06ab960539e6580c8065bfd2;hb=1b4a1e578fd53340e38b919b8f3459ec1a09462f;hp=13a5fe604ff50b05f5284a61082e728c803a3bf3;hpb=395cc54041e62b071f2382fcbdbc23836394fa12;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/internal/adaptor/common/application-impl.cpp b/dali/internal/adaptor/common/application-impl.cpp index 13a5fe6..44d4146 100644 --- a/dali/internal/adaptor/common/application-impl.cpp +++ b/dali/internal/adaptor/common/application-impl.cpp @@ -81,8 +81,10 @@ void Application::PreInitialize(int* argc, char** argv[]) { if(!gPreInitializedApplication) { - char* retEnv = std::getenv("TIZEN_UI_THREAD"); - bool isUseUIThread = false; + bool isUseUIThread = false; + +#ifdef UI_THREAD_AVAILABLE + char* retEnv = std::getenv("TIZEN_UI_THREAD"); if(retEnv) { std::string uiThreadEnv = retEnv; @@ -92,11 +94,14 @@ void Application::PreInitialize(int* argc, char** argv[]) isUseUIThread = true; } } +#endif Dali::TextAbstraction::FontClientPreInitialize(); WindowData windowData; gPreInitializedApplication = new Application(argc, argv, "", Framework::NORMAL, isUseUIThread, windowData); gPreInitializedApplication->mLaunchpadState = Launchpad::PRE_INITIALIZED; + +#ifdef UI_THREAD_AVAILABLE if(isUseUIThread) { DALI_LOG_RELEASE_INFO("PRE_INITIALIZED with UI Threading"); @@ -104,6 +109,7 @@ void Application::PreInitialize(int* argc, char** argv[]) gPreInitializedApplication->mUIThreadLoader->Run([&]() { gPreInitializedApplication->CreateWindow(); }); } else +#endif { DALI_LOG_RELEASE_INFO("Only PRE_INITIALIZED"); gPreInitializedApplication->CreateWindow(); // Only create window @@ -129,6 +135,7 @@ Application::Application(int* argc, char** argv[], const std::string& stylesheet mMainWindow(), mMainWindowMode(windowData.GetTransparency() ? WINDOW_MODE::TRANSPARENT : WINDOW_MODE::OPAQUE), mMainWindowName(), + mIsMainWindowFrontBufferRendering(windowData.GetFrontBufferRendering()), mStylesheet(stylesheet), mWindowPositionSize(windowData.GetPositionSize()), mLaunchpadState(Launchpad::NONE), @@ -197,6 +204,11 @@ void Application::StoreWindowPositionSize(PositionSize positionSize) mWindowPositionSize = positionSize; } +void Application::StoreFrontBufferRendering(bool enable) +{ + mIsMainWindowFrontBufferRendering = enable; +} + void Application::ChangePreInitializedWindowInfo() { // Set window name @@ -240,6 +252,9 @@ void Application::ChangePreInitializedWindowInfo() mWindowPositionSize.height = screenHeight; mMainWindow.SetSize(Dali::Window::WindowSize(mWindowPositionSize.width, mWindowPositionSize.height)); } + + // Set front buffer rendering + Dali::DevelWindow::SetFrontBufferRendering(mMainWindow, mIsMainWindowFrontBufferRendering); } void Application::CreateWindow() @@ -248,6 +263,7 @@ void Application::CreateWindow() WindowData windowData; windowData.SetTransparency(mMainWindowMode); windowData.SetWindowType(mDefaultWindowType); + windowData.SetFrontBufferRendering(mIsMainWindowFrontBufferRendering); DALI_LOG_RELEASE_INFO("Create Default Window"); @@ -284,8 +300,8 @@ void Application::CreateWindow() } else { - // The position, size and the window name of the pre-initialized application will be updated in ChangePreInitializedWindowInfo() - // when the real application is launched. + // The position, size, window name, and frontbuffering of the pre-initialized application + // will be updated in ChangePreInitializedWindowInfo() when the real application is launched. windowData.SetPositionSize(mWindowPositionSize); window = Internal::Adaptor::Window::New("", "", windowData); } @@ -330,7 +346,7 @@ void Application::Quit() { // Actually quit the application. // Force a call to Quit even if adaptor is not running. - Internal::Adaptor::Adaptor::GetImplementation(*mAdaptor).AddIdle(MakeCallback(this, &Application::QuitFromMainLoop), false, true); + Internal::Adaptor::Adaptor::GetImplementation(*mAdaptor).AddIdle(MakeCallback(this, &Application::QuitFromMainLoop), false); } void Application::QuitFromMainLoop() @@ -604,6 +620,11 @@ std::string Application::GetDataPath() return SystemSettings::GetDataPath(); } +void Application::FlushUpdateMessages() +{ + Internal::Adaptor::Adaptor::GetImplementation(*mAdaptor).FlushUpdateMessages(); +} + void Application::SetStyleSheet(const std::string& stylesheet) { mStylesheet = stylesheet;