#include <dali/public-api/object/object-registry.h>
#include <dali/public-api/events/wheel-event.h>
#include <dali/devel-api/actors/actor-devel.h>
+#include <dali/devel-api/common/stage.h>
#include <dali/integration-api/debug.h>
#include <dali/integration-api/core.h>
#include <dali/integration-api/context-notifier.h>
#include <dali/internal/system/common/callback-manager.h>
#include <dali/internal/accessibility/common/tts-player-impl.h>
-#include <dali/internal/accessibility/common/accessibility-adaptor-impl.h>
#include <dali/internal/window-system/common/event-handler.h>
#include <dali/internal/graphics/gles/gl-proxy-implementation.h>
#include <dali/internal/graphics/gles/gl-implementation.h>
#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-impl.h>
#include <dali/internal/system/common/logging.h>
#include <dali/internal/system/common/locale-utils.h>
}
mConfigurationManager = Utils::MakeUnique<ConfigurationManager>( systemCachePath, eglGraphics, mThreadController );
+
+ auto appName = GetApplicationPackageName();
+ auto bridge = Accessibility::Bridge::GetCurrentBridge();
+ bridge->SetApplicationName( appName );
+ bridge->Initialize();
+ Dali::Stage::GetCurrent().KeyEventSignal().Connect( &accessibilityObserver, &AccessibilityObserver::OnAccessibleKeyEvent );
+}
+
+void Adaptor::AccessibilityObserver::OnAccessibleKeyEvent( const Dali::KeyEvent& event )
+{
+ Accessibility::KeyEventType type;
+ if( event.GetState() == Dali::KeyEvent::DOWN )
+ {
+ type = Accessibility::KeyEventType::KEY_PRESSED;
+ }
+ else if( event.GetState() == Dali::KeyEvent::UP )
+ {
+ type = Accessibility::KeyEventType::KEY_RELEASED;
+ }
+ else
+ {
+ return;
+ }
+ Dali::Accessibility::Bridge::GetCurrentBridge()->Emit( type, event.GetKeyCode(), event.GetKeyName(), event.GetTime(), !event.GetKeyString().empty() );
}
Adaptor::~Adaptor()
{
+ Accessibility::Bridge::GetCurrentBridge()->Terminate();
+
// Ensure stop status
Stop();
Dali::TizenPlatform::ImageLoader::SetMaxTextureSize( maxTextureSize );
}
+ // Set cached isAdvancedBlendEquationSupported
+ GraphicsInterface* graphics = mGraphics.get(); // This interface is temporary until Core has been updated to match
+ auto eglGraphics = static_cast<EglGraphics *>( graphics );
+ GlImplementation& mGLES = eglGraphics->GetGlesInterface();
+ mGLES.SetIsAdvancedBlendEquationSupported( mConfigurationManager->IsAdvancedBlendEquationSupported() );
+ mGLES.SetShadingLanguageVersion( mConfigurationManager->GetShadingLanguageVersion() );
+
ProcessCoreEvents(); // Ensure any startup messages are processed.
// Initialize the image loader plugin
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;