mSurfaceCommitListener( NULL ),
mTitle(),
mAppId(),
- mSurfaceMapped( false ),
+ mNeedSurfaceMap( false ),
mAckConfigure( false ),
mConfigureCallback( NULL ),
mConfigureCallbackData( NULL ),
mSurfaceCommitListener = pepper_object_add_event_listener( reinterpret_cast< pepper_object_t* >( mSurface ), PEPPER_EVENT_SURFACE_COMMIT, 0, ShellClient::OnSurfaceCommit, this );
- mSurfaceMapped = false;
+ mNeedSurfaceMap = true;
pepper_surface_set_role( mSurface, "xdg_surface" );
return mAppId;
}
+void ShellClient::MapSurface()
+{
+ if( !mNeedSurfaceMap )
+ {
+ pepper_view_map( mView );
+ mNeedSurfaceMap = true;
+
+ DALI_LOG_INFO( gPepperShellClientLogging, Debug::Verbose, "ShellClient::MapSurface: view is mapped.\n" );
+ }
+}
+
+void ShellClient::UnmapSurface()
+{
+ if( mNeedSurfaceMap )
+ {
+ pepper_view_unmap( mView );
+ mNeedSurfaceMap = false;
+
+ DALI_LOG_INFO( gPepperShellClientLogging, Debug::Verbose, "ShellClient::UnmapSurface: view is unmapped.\n" );
+ }
+}
+
void ShellClient::SurfaceResourceDestroy( struct wl_resource* resource )
{
ShellClient* shellClient = static_cast< ShellClient* >( wl_resource_get_user_data( resource ) );
{
ShellClient* shellClient = static_cast< ShellClient* >( data );
- if( !shellClient->mSurfaceMapped )
+ if( shellClient->mNeedSurfaceMap && !pepper_view_is_mapped( shellClient->mView ) )
{
pepper_view_map( shellClient->mView );
- shellClient->mSurfaceMapped = true;
+ DALI_LOG_INFO( gPepperShellClientLogging, Debug::Verbose, "ShellClient::OnSurfaceCommit: view is mapped.\n" );
}
}