return mKeyboardRepeatSettingsChangedSignal;
}
+WindowBase::WindowRedrawRequestSignalType& WindowBase::WindowRedrawRequestSignal()
+{
+ return mWindowRedrawRequestSignal;
+}
+
} // namespace Adaptor
} // namespace Internal
typedef Signal< void ( const RotationEvent& ) > RotationSignalType;
typedef Signal< void ( DevelWindow::EffectState, DevelWindow::EffectType ) > TransitionEffectEventSignalType;
typedef Signal< void ( ) > KeyboardRepeatSettingsChangedSignalType;
+ typedef Signal< void ( ) > WindowRedrawRequestSignalType;
// Input events
typedef Signal< void ( Integration::Point&, uint32_t ) > TouchEventSignalType;
*/
KeyboardRepeatSettingsChangedSignalType& KeyboardRepeatSettingsChangedSignal();
+ /**
+ * @brief This signal is emitted when the window redraw is requested.
+ */
+ WindowRedrawRequestSignalType& WindowRedrawRequestSignal();
+
protected:
// Undefined
AccessibilitySignalType mAccessibilitySignal;
TransitionEffectEventSignalType mTransitionEffectEventSignal;
KeyboardRepeatSettingsChangedSignalType mKeyboardRepeatSettingsChangedSignal;
+ WindowRedrawRequestSignalType mWindowRedrawRequestSignal;
};
} // namespace Adaptor
mWindowBase->DeleteRequestSignal().Connect( this, &Window::OnDeleteRequest );
mWindowBase->TransitionEffectEventSignal().Connect( this, &Window::OnTransitionEffectEvent );
mWindowBase->KeyboardRepeatSettingsChangedSignal().Connect( this, &Window::OnKeyboardRepeatSettingsChanged );
+ mWindowBase->WindowRedrawRequestSignal().Connect( this, &Window::OnWindowRedrawRequest );
mWindowSurface->OutputTransformedSignal().Connect( this, &Window::OnOutputTransformed );
mKeyboardRepeatSettingsChangedSignal.Emit();
}
+void Window::OnWindowRedrawRequest()
+{
+ mAdaptor->RenderOnce();
+}
+
void Window::OnTouchPoint( Dali::Integration::Point& point, int timeStamp )
{
FeedTouchPoint( point, timeStamp );
void OnKeyboardRepeatSettingsChanged();
/**
+ * @brief Called when the window redraw is requested.
+ */
+ void OnWindowRedrawRequest();
+
+ /**
* @brief Set available orientation to window base.
*/
void SetAvailableAnlges( const std::vector< int >& angles );
}
/////////////////////////////////////////////////////////////////////////////////////////////////
+// Window Redraw Request Event Callbacks
+/////////////////////////////////////////////////////////////////////////////////////////////////
+
+static Eina_Bool EcoreEventWindowRedrawRequest(void *data, int type, void *event)
+{
+ Ecore_Wl2_Event_Window_Redraw_Request *windowRedrawRequest = static_cast<Ecore_Wl2_Event_Window_Redraw_Request *>(event);
+ WindowBaseEcoreWl2 *windowBase = static_cast<WindowBaseEcoreWl2 *>(data);
+ DALI_LOG_INFO( gWindowBaseLogFilter, Debug::General, "WindowBaseEcoreWl2::EcoreEventWindowRedrawRequest, window[ %d ]\n", windowRedrawRequest->win );
+ if ( windowBase )
+ {
+ windowBase->OnEcoreEventWindowRedrawRequest();
+ }
+
+ return ECORE_CALLBACK_RENEW;
+}
+
+/////////////////////////////////////////////////////////////////////////////////////////////////
// ElDBus Accessibility Callbacks
/////////////////////////////////////////////////////////////////////////////////////////////////
// Register Keyboard repeat event
mEcoreEventHandler.PushBack( ecore_event_handler_add( ECORE_WL2_EVENT_SEAT_KEYBOARD_REPEAT_CHANGED, EcoreEventSeatKeyboardRepeatChanged, this ) );
+ // Register Window redraw request event
+ mEcoreEventHandler.PushBack( ecore_event_handler_add( ECORE_WL2_EVENT_WINDOW_REDRAW_REQUEST, EcoreEventWindowRedrawRequest, this ) );
+
// Register Vconf notify - font name and size
vconf_notify_key_changed( DALI_VCONFKEY_SETAPPL_ACCESSIBILITY_FONT_NAME, VconfNotifyFontNameChanged, this );
vconf_notify_key_changed( VCONFKEY_SETAPPL_ACCESSIBILITY_FONT_SIZE, VconfNotifyFontSizeChanged, this );
mKeyboardRepeatSettingsChangedSignal.Emit();
}
+void WindowBaseEcoreWl2::OnEcoreEventWindowRedrawRequest()
+{
+ mWindowRedrawRequestSignal.Emit();
+}
+
void WindowBaseEcoreWl2::KeymapChanged(void *data, int type, void *event)
{
Ecore_Wl2_Event_Seat_Keymap_Changed *changed = static_cast<Ecore_Wl2_Event_Seat_Keymap_Changed*>( event );
*/
void OnKeyboardRepeatSettingsChanged();
+ /**
+ * @brief Called when a window redraw is requested.
+ */
+ void OnEcoreEventWindowRedrawRequest();
+
#ifdef DALI_ELDBUS_AVAILABLE
/**
* @brief Called when Ecore ElDBus accessibility event is received.
{
if( selectionNotifyEvent->selection == ECORE_X_SELECTION_SECONDARY )
{
- mSelectionDataReceivedSignal.Emit( event );
+ mSelectionDataReceivedSignal.Emit( event );
}
}
}