{
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;
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");
gPreInitializedApplication->mUIThreadLoader->Run([&]() { gPreInitializedApplication->CreateWindow(); });
}
else
+#endif
{
DALI_LOG_RELEASE_INFO("Only PRE_INITIALIZED");
gPreInitializedApplication->CreateWindow(); // Only create window
mMainWindow(),
mMainWindowMode(windowData.GetTransparency() ? WINDOW_MODE::TRANSPARENT : WINDOW_MODE::OPAQUE),
mMainWindowName(),
+ mIsMainWindowFrontBufferRendering(windowData.GetFrontBufferRendering()),
mStylesheet(stylesheet),
mWindowPositionSize(windowData.GetPositionSize()),
mLaunchpadState(Launchpad::NONE),
mWindowPositionSize = positionSize;
}
+void Application::StoreFrontBufferRendering(bool enable)
+{
+ mIsMainWindowFrontBufferRendering = enable;
+}
+
void Application::ChangePreInitializedWindowInfo()
{
// Set window name
mWindowPositionSize.height = screenHeight;
mMainWindow.SetSize(Dali::Window::WindowSize(mWindowPositionSize.width, mWindowPositionSize.height));
}
+
+ // Set front buffer rendering
+ Dali::DevelWindow::SetFrontBufferRendering(mMainWindow, mIsMainWindowFrontBufferRendering);
}
void Application::CreateWindow()
WindowData windowData;
windowData.SetTransparency(mMainWindowMode);
windowData.SetWindowType(mDefaultWindowType);
+ windowData.SetFrontBufferRendering(mIsMainWindowFrontBufferRendering);
DALI_LOG_RELEASE_INFO("Create Default Window");
}
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);
}
return SystemSettings::GetDataPath();
}
+void Application::FlushUpdateMessages()
+{
+ Internal::Adaptor::Adaptor::GetImplementation(*mAdaptor).FlushUpdateMessages();
+}
+
void Application::SetStyleSheet(const std::string& stylesheet)
{
mStylesheet = stylesheet;