return false;
}
+ if( mRemoteSurface )
+ {
+ tizen_remote_surface_transfer_visibility( mRemoteSurface, TIZEN_REMOTE_SURFACE_VISIBILITY_TYPE_INVISIBLE);
+ }
+
DALI_LOG_INFO( gWidgetViewLogging, Debug::Verbose, "WidgetView::PauseWidget: Widget is paused (%s, %s)\n", mWidgetId.c_str(), mInstanceId.c_str() );
return true;
return false;
}
+ if( mRemoteSurface )
+ {
+ tizen_remote_surface_transfer_visibility( mRemoteSurface, TIZEN_REMOTE_SURFACE_VISIBILITY_TYPE_VISIBLE);
+ }
+
DALI_LOG_INFO( gWidgetViewLogging, Debug::Verbose, "WidgetView::ResumeWidget: Widget is resumed (%s, %s)\n", mWidgetId.c_str(), mInstanceId.c_str() );
return true;
void WidgetView::OnSceneConnection( int depth )
{
Control::OnSceneConnection( depth );
+ Window window = DevelWindow::Get( Self() );
+ if( window )
+ {
+ DevelWindow::VisibilityChangedSignal( window ).Connect( this, &WidgetView::OnWindowVisibilityChanged );
+ }
}
void WidgetView::OnSceneDisconnection()
{
Control::OnSceneDisconnection();
+ Window window = DevelWindow::Get( Self() );
+ if( window )
+ {
+ DevelWindow::VisibilityChangedSignal( window ).Disconnect( this, &WidgetView::OnWindowVisibilityChanged );
+ }
+}
+
+void WidgetView::OnWindowVisibilityChanged( Window window, bool visible )
+{
+ if( visible )
+ {
+ ResumeWidget();
+ }
+ else
+ {
+ PauseWidget();
+ }
+ DALI_LOG_INFO( gWidgetViewLogging, Debug::Verbose, "WidgetView::OnWindowVisibilityChanged: visibility is changed (visible: %d)\n", visible );
}
void WidgetView::OnSizeSet( const Vector3& targetSize )
#include <wayland-extension/tizen-remote-surface-client-protocol.h>
#include <tbm_surface.h>
#include <screen_connector_toolkit.h>
+#include <dali/devel-api/adaptor-framework/window-devel.h>
namespace Dali
{
virtual void OnSizeAnimation( Animation& animation, const Vector3& targetSize ) override ;
private:
+ /**
+ * @brief Callback when the visibility of the window is changed.
+ */
+ void OnWindowVisibilityChanged( Window window, bool visible );
+
// Undefined
WidgetView( const WidgetView& );