return GetImplementation( window ).WheelEventSignal();
}
+VisibilityChangedSignalType& VisibilityChangedSignal( Window window )
+{
+ return GetImplementation( window ).VisibilityChangedSignal();
+}
+
void SetParent( Window window, Window parent )
{
GetImplementation( window ).SetParent( parent );
typedef Signal< void (const WheelEvent&) > WheelEventSignalType; ///< Touched signal type
+typedef Signal< void ( Window, bool ) > VisibilityChangedSignalType; ///< Visibility changed signal type
+
/**
* @brief Sets position and size of the window. This API guarantees that both moving and resizing of window will appear on the screen at once.
*
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 Sets parent window of the window.
*
* After setting that, these windows do together when raise-up, lower and iconified/deiconified.
mResizedSignal(),
mDeleteRequestSignal(),
mFocusChangeSignal(),
- mResizeSignal()
+ mResizeSignal(),
+ mVisibilityChangedSignal()
{
}
{
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 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;
};
} // namespace Adaptor