return GetImplementation( window ).WheelEventSignal();
}
+VisibilityChangedSignalType& VisibilityChangedSignal( Window window )
+{
+ return GetImplementation( window ).VisibilityChangedSignal();
+}
+
TransitionEffectEventSignalType& TransitionEffectEventSignal( Window window )
{
return GetImplementation( window ).TransitionEffectEventSignal();
typedef Signal< void (const WheelEvent&) > WheelEventSignalType; ///< Touched signal type
+typedef Signal< void ( Window, bool ) > VisibilityChangedSignalType; ///< Visibility changed signal type
+
typedef Signal< void (Window, EffectState, EffectType) > TransitionEffectEventSignalType; ///< Effect signal type and state
/**
DALI_ADAPTOR_API WheelEventSignalType& WheelEventSignal( Window window );
/**
+ * @brief This signal is emitted when the window is shown or hidden.
+ *
+ * A callback of the following type may be connected:
+ * @code
+ * void YourCallbackName( Window window, bool visible );
+ * @endcode
+ * @param[in] window The window instance
+ * @return The signal to connect to
+ */
+DALI_ADAPTOR_API VisibilityChangedSignalType& VisibilityChangedSignal( Window window );
+
+/**
* @brief This signal is emitted for transition effect.
*
* The transition animation is appeared when the window is shown/hidden.
mDeleteRequestSignal(),
mFocusChangeSignal(),
mResizeSignal(),
+ mVisibilityChangedSignal(),
mTransitionEffectEventSignal()
{
}
{
WindowVisibilityObserver* observer( mAdaptor );
observer->OnWindowShown();
+
+ Dali::Window handle( this );
+ mVisibilityChangedSignal.Emit( handle, true );
}
DALI_LOG_RELEASE_INFO( "Window (%p) Show(): iconified = %d\n", this, mIconified );
{
WindowVisibilityObserver* observer( mAdaptor );
observer->OnWindowHidden();
+
+ Dali::Window handle( this );
+ mVisibilityChangedSignal.Emit( handle, false );
}
DALI_LOG_RELEASE_INFO( "Window (%p) Hide(): iconified = %d\n", this, mIconified );
{
WindowVisibilityObserver* observer( mAdaptor );
observer->OnWindowHidden();
+
+ Dali::Window handle( this );
+ mVisibilityChangedSignal.Emit( handle, false );
}
DALI_LOG_RELEASE_INFO( "Window (%p) Iconified: visible = %d\n", this, mVisible );
{
WindowVisibilityObserver* observer( mAdaptor );
observer->OnWindowShown();
+
+ Dali::Window handle( this );
+ mVisibilityChangedSignal.Emit( handle, true );
}
DALI_LOG_RELEASE_INFO( "Window (%p) Deiconified: visible = %d\n", this, mVisible );
typedef Dali::Window::ResizedSignalType ResizedSignalType;
typedef Dali::Window::FocusChangeSignalType FocusChangeSignalType;
typedef Dali::Window::ResizeSignalType ResizeSignalType;
+ typedef Dali::DevelWindow::VisibilityChangedSignalType VisibilityChangedSignalType;
typedef Dali::DevelWindow::TransitionEffectEventSignalType TransitionEffectEventSignalType;
typedef Signal< void () > SignalType;
* @copydoc Dali::Window::ResizedSignal()
*/
ResizedSignalType& ResizedSignal() { return mResizedSignal; }
+
/**
* @copydoc Dali::Window::ResizedSignal()
*/
SignalType& DeleteRequestSignal() { return mDeleteRequestSignal; }
/**
+ * @copydoc Dali::DevelWindow::VisibilityChangedSignal()
+ */
+ VisibilityChangedSignalType& VisibilityChangedSignal() { return mVisibilityChangedSignal; }
+
+ /**
* @copydoc Dali::Window::SignalEventProcessingFinished()
*/
Dali::DevelWindow::EventProcessingFinishedSignalType& EventProcessingFinishedSignal() { return mScene.EventProcessingFinishedSignal(); }
SignalType mDeleteRequestSignal;
FocusChangeSignalType mFocusChangeSignal;
ResizeSignalType mResizeSignal;
+ VisibilityChangedSignalType mVisibilityChangedSignal;
TransitionEffectEventSignalType mTransitionEffectEventSignal;
};