+bool wxTopLevelWindowMac::ShowFullScreen(bool show, long style)
+{
+ if ( show )
+ {
+ FullScreenData *data = (FullScreenData *)m_macFullScreenData ;
+ delete data ;
+ data = new FullScreenData() ;
+
+ m_macFullScreenData = data ;
+ data->m_position = GetPosition() ;
+ data->m_size = GetSize() ;
+
+ if ( style & wxFULLSCREEN_NOMENUBAR )
+ {
+ HideMenuBar() ;
+ }
+ int left , top , right , bottom ;
+ wxRect client = wxGetClientDisplayRect() ;
+
+ int x, y, w, h ;
+
+ x = client.x ;
+ y = client.y ;
+ w = client.width ;
+ h = client.height ;
+
+ MacGetContentAreaInset( left , top , right , bottom ) ;
+
+ if ( style & wxFULLSCREEN_NOCAPTION )
+ {
+ y -= top ;
+ h += top ;
+ }
+ if ( style & wxFULLSCREEN_NOBORDER )
+ {
+ x -= left ;
+ w += left + right ;
+ h += bottom ;
+ }
+ if ( style & wxFULLSCREEN_NOTOOLBAR )
+ {
+ // TODO
+ }
+ if ( style & wxFULLSCREEN_NOSTATUSBAR )
+ {
+ // TODO
+ }
+ SetSize( x , y , w, h ) ;
+ }
+ else
+ {
+ ShowMenuBar() ;
+ FullScreenData *data = (FullScreenData *) m_macFullScreenData ;
+ SetPosition( data->m_position ) ;
+ SetSize( data->m_size ) ;
+ delete data ;
+ m_macFullScreenData = NULL ;
+ }
+ return FALSE;
+}
+
+bool wxTopLevelWindowMac::IsFullScreen() const
+{
+ return m_macFullScreenData != NULL ;
+}
+