]> git.saurik.com Git - wxWidgets.git/commitdiff
Use GTK+ calls for fullscreen mode.
authorRobert Roebling <robert@roebling.de>
Sat, 20 Nov 2004 00:00:49 +0000 (00:00 +0000)
committerRobert Roebling <robert@roebling.de>
Sat, 20 Nov 2004 00:00:49 +0000 (00:00 +0000)
  Fix bug with wrong tlw position after
    a sequence of hide/show.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30664 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/gtk/toplevel.cpp
src/gtk1/toplevel.cpp

index be1cfa845bc261b3eca45868967ae53409551181..29eed827764ea11ccf14376bfc411cec0bb2a499 100644 (file)
@@ -224,6 +224,7 @@ gtk_frame_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventConfigure *WX
     if (!win->m_hasVMT || !win->IsShown())
         return FALSE;
 
+
     int x = 0;
     int y = 0;
     gdk_window_get_root_origin( win->m_widget->window, &x, &y );
@@ -625,6 +626,15 @@ bool wxTopLevelWindowGTK::ShowFullScreen(bool show, long style )
 
     m_fsIsShowing = show;
 
+#ifdef __WXGTK20__
+
+    if (show)
+        gtk_window_fullscreen( GTK_WINDOW( m_widget ) );
+    else
+        gtk_window_unfullscreen( GTK_WINDOW( m_widget ) );
+
+#else
+
     GdkWindow *window = m_widget->window;
     wxX11FullScreenMethod method =
         wxGetFullScreenMethodX11((WXDisplay*)GDK_DISPLAY(),
@@ -683,7 +693,7 @@ bool wxTopLevelWindowGTK::ShowFullScreen(bool show, long style )
         SetSize(m_fsSaveFrame.x, m_fsSaveFrame.y,
                 m_fsSaveFrame.width, m_fsSaveFrame.height);
     }
-
+#endif
 
     return TRUE;
 }
@@ -705,7 +715,10 @@ bool wxTopLevelWindowGTK::Show( bool show )
 
         GtkOnSize( m_x, m_y, m_width, m_height );
     }
-
+    
+    if (show)
+        gtk_widget_set_uposition( m_widget, m_x, m_y );
+    
     return wxWindow::Show( show );
 }
 
index be1cfa845bc261b3eca45868967ae53409551181..29eed827764ea11ccf14376bfc411cec0bb2a499 100644 (file)
@@ -224,6 +224,7 @@ gtk_frame_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventConfigure *WX
     if (!win->m_hasVMT || !win->IsShown())
         return FALSE;
 
+
     int x = 0;
     int y = 0;
     gdk_window_get_root_origin( win->m_widget->window, &x, &y );
@@ -625,6 +626,15 @@ bool wxTopLevelWindowGTK::ShowFullScreen(bool show, long style )
 
     m_fsIsShowing = show;
 
+#ifdef __WXGTK20__
+
+    if (show)
+        gtk_window_fullscreen( GTK_WINDOW( m_widget ) );
+    else
+        gtk_window_unfullscreen( GTK_WINDOW( m_widget ) );
+
+#else
+
     GdkWindow *window = m_widget->window;
     wxX11FullScreenMethod method =
         wxGetFullScreenMethodX11((WXDisplay*)GDK_DISPLAY(),
@@ -683,7 +693,7 @@ bool wxTopLevelWindowGTK::ShowFullScreen(bool show, long style )
         SetSize(m_fsSaveFrame.x, m_fsSaveFrame.y,
                 m_fsSaveFrame.width, m_fsSaveFrame.height);
     }
-
+#endif
 
     return TRUE;
 }
@@ -705,7 +715,10 @@ bool wxTopLevelWindowGTK::Show( bool show )
 
         GtkOnSize( m_x, m_y, m_width, m_height );
     }
-
+    
+    if (show)
+        gtk_widget_set_uposition( m_widget, m_x, m_y );
+    
     return wxWindow::Show( show );
 }