]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/renderer.cpp
include <locale.h> before using setlocale()
[wxWidgets.git] / src / gtk1 / renderer.cpp
index 43b904d76027728dd70225ca1159027dd342dd90..04d03ae16da5600cf471d9a432971986bfdfd387 100644 (file)
 
 #ifndef WX_PRECOMP
     #include "wx/window.h"
 
 #ifndef WX_PRECOMP
     #include "wx/window.h"
+    #include "wx/dc.h"
+    #include "wx/dcclient.h"
 #endif
 
 #include <gtk/gtk.h>
 #include "wx/gtk1/win_gtk.h"
 
 #endif
 
 #include <gtk/gtk.h>
 #include "wx/gtk1/win_gtk.h"
 
-#include "wx/dc.h"
-#include "wx/dcclient.h"
-
 // RR: After a correction to the orientation of the sash
 //     this doesn't seem to be required anymore and it
 //     seems to confuse some themes so USE_ERASE_RECT=0
 // RR: After a correction to the orientation of the sash
 //     this doesn't seem to be required anymore and it
 //     seems to confuse some themes so USE_ERASE_RECT=0
@@ -310,11 +309,9 @@ wxRendererGTK::DrawDropArrow(wxWindow *win,
     // work for wxMemoryDC. So that is why we assume wxDC
     // is wxWindowDC (wxClientDC, wxMemoryDC and wxPaintDC
     // are derived from it) and use its m_window.
     // work for wxMemoryDC. So that is why we assume wxDC
     // is wxWindowDC (wxClientDC, wxMemoryDC and wxPaintDC
     // are derived from it) and use its m_window.
-    wxWindowDC& wdc = (wxWindowDC&)dc;
-
-    // only doing debug-time checking here (it should
-    // probably be enough)
-    wxASSERT ( wdc.IsKindOf(CLASSINFO(wxWindowDC)) );
+    GdkWindow* gdk_window = dc.GetGDKWindow();
+    wxASSERT_MSG( gdk_window,
+                  wxT("cannot use wxRendererNative on wxDC of this type") );
 
     // draw arrow so that there is even space horizontally
     // on both sides
 
     // draw arrow so that there is even space horizontally
     // on both sides
@@ -341,7 +338,7 @@ wxRendererGTK::DrawDropArrow(wxWindow *win,
     gtk_paint_arrow
     (
         button->style,
     gtk_paint_arrow
     (
         button->style,
-        wdc.m_window,
+        gdk_window,
         state,
         flags & wxCONTROL_PRESSED ? GTK_SHADOW_IN : GTK_SHADOW_OUT,
         NULL,
         state,
         flags & wxCONTROL_PRESSED ? GTK_SHADOW_IN : GTK_SHADOW_OUT,
         NULL,
@@ -365,8 +362,9 @@ wxRendererGTK::DrawComboBoxDropButton(wxWindow *win,
     GtkWidget *button = GetButtonWidget();
 
     // for reason why we do this, see DrawDropArrow
     GtkWidget *button = GetButtonWidget();
 
     // for reason why we do this, see DrawDropArrow
-    wxWindowDC& wdc = (wxWindowDC&)dc;
-    wxASSERT ( wdc.IsKindOf(CLASSINFO(wxWindowDC)) );
+    GdkWindow* gdk_window = dc.GetGDKWindow();
+    wxASSERT_MSG( gdk_window,
+                  wxT("cannot use wxRendererNative on wxDC of this type") );
 
     // draw button
     GtkStateType state;
 
     // draw button
     GtkStateType state;
@@ -383,7 +381,7 @@ wxRendererGTK::DrawComboBoxDropButton(wxWindow *win,
     gtk_paint_box
     (
         button->style,
     gtk_paint_box
     (
         button->style,
-        wdc.m_window,
+        gdk_window,
         state,
         flags & wxCONTROL_PRESSED ? GTK_SHADOW_IN : GTK_SHADOW_OUT,
         NULL,
         state,
         flags & wxCONTROL_PRESSED ? GTK_SHADOW_IN : GTK_SHADOW_OUT,
         NULL,