#include <dali/internal/system/common/thread-controller.h>
#include <dali/internal/system/common/performance-interface-factory.h>
#include <dali/internal/adaptor/common/lifecycle-observer.h>
+#include <dali/internal/adaptor/common/thread-controller-interface.h>
#include <dali/internal/graphics/gles/egl-graphics-factory.h>
#include <dali/internal/graphics/gles/egl-graphics.h> // Temporary until Core is abstracted
#include <dali/internal/window-system/common/window-impl.h>
#include <dali/internal/window-system/common/window-render-surface.h>
-#include <dali/devel-api/adaptor-framework/accessibility.h>
#include <dali/internal/system/common/logging.h>
#include <dali/internal/system/common/locale-utils.h>
dataRetentionPolicy ,
( 0u != mEnvironmentOptions->GetRenderToFboInterval() ) ? Integration::RenderToFrameBuffer::TRUE : Integration::RenderToFrameBuffer::FALSE,
mGraphics->GetDepthBufferRequired(),
- mGraphics->GetStencilBufferRequired(),
- mGraphics->PartialUpdateAvailable() );
+ mGraphics->GetStencilBufferRequired() );
defaultWindow->SetAdaptor( Get() );
- Dali::Window window( dynamic_cast<Dali::Internal::Adaptor::Window*>( defaultWindow ) );
- if ( window )
- {
- mWindowCreatedSignal.Emit( window );
- }
+ Dali::Integration::SceneHolder defaultSceneHolder( defaultWindow );
+
+ mWindowCreatedSignal.Emit( defaultSceneHolder );
const unsigned int timeInterval = mEnvironmentOptions->GetObjectProfilerInterval();
if( 0u < timeInterval )
DALI_LOG_ERROR( "Fail to open file : %s\n", ( systemCachePath + "gpu-environment.conf" ).c_str() );
}
}
- auto appName = GetApplicationPackageName();
- auto bridge = Accessibility::Bridge::GetCurrentBridge();
- bridge->SetApplicationName( appName );
- bridge->Initialize();
- Dali::Stage stage = Dali::Stage::GetCurrent();
- Dali::Stage::GetCurrent().KeyEventSignal().Connect( &accessibilityObserver, &AccessibilityObserver::OnAccessibleKeyEvent );
-}
-
-void Adaptor::AccessibilityObserver::OnAccessibleKeyEvent( const KeyEvent& event )
-{
- Accessibility::KeyEventType type;
- if( event.state == KeyEvent::Down )
- {
- type = Accessibility::KeyEventType::KEY_PRESSED;
- }
- else if( event.state == KeyEvent::Up )
- {
- type = Accessibility::KeyEventType::KEY_RELEASED;
- }
- else
- {
- return;
- }
- Dali::Accessibility::Bridge::GetCurrentBridge()->Emit( type, event.keyCode, event.keyPressedName, event.time, !event.keyPressed.empty() );
}
Adaptor::~Adaptor()
{
- Accessibility::Bridge::GetCurrentBridge()->Terminate();
-
// Ensure stop status
Stop();
// Add the new Window to the container - the order is not important
mWindows.push_back( &windowImpl );
- Dali::Window window( dynamic_cast<Dali::Internal::Adaptor::Window*>( &windowImpl ) );
- if ( window )
- {
- mWindowCreatedSignal.Emit( window );
- }
+ mWindowCreatedSignal.Emit( childWindow );
return true;
}
case PAUSED:
case PAUSED_WHILE_HIDDEN:
{
- // When Dali applications are partially visible behind the lock-screen,
- // the indicator must be updated (therefore allow updates in the PAUSED state)
if( forceUpdate )
{
- mThreadController->RequestUpdateOnce();
+ // Update (and resource upload) without rendering
+ mThreadController->RequestUpdateOnce( UpdateMode::SKIP_RENDER );
}
break;
}
void Adaptor::OnWindowShown()
{
- Dali::Accessibility::Bridge::GetCurrentBridge()->ApplicationShown();
-
if( PAUSED_WHILE_HIDDEN == mState )
{
// Adaptor can now be resumed
void Adaptor::OnWindowHidden()
{
- Dali::Accessibility::Bridge::GetCurrentBridge()->ApplicationHidden();
-
if( RUNNING == mState || READY == mState )
{
bool allWindowsHidden = true;
{
if( mThreadController )
{
- mThreadController->RequestUpdateOnce();
+ mThreadController->RequestUpdateOnce( UpdateMode::NORMAL );
}
}
return windows;
}
+Dali::SceneHolderList Adaptor::GetSceneHolders() const
+{
+ Dali::SceneHolderList sceneHolderList;
+
+ for( auto iter = mWindows.begin(); iter != mWindows.end(); ++iter )
+ {
+ sceneHolderList.push_back( Dali::Integration::SceneHolder( *iter ) );
+ }
+
+ return sceneHolderList;
+}
+
Adaptor::Adaptor(Dali::Integration::SceneHolder window, Dali::Adaptor& adaptor, Dali::RenderSurfaceInterface* surface, EnvironmentOptions* environmentOptions)
: mResizedSignal(),
mLanguageChangedSignal(),