]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/dvrenderers.h
Fix wxPropertyGrid::GetPropertyRect when the last item is collapsed.
[wxWidgets.git] / include / wx / gtk / dvrenderers.h
index 785d7f9a2b77004ef40c4ffdf2ffcd79c680d891..385fa73a0b4143957bfebfa97878ecd703a85fa8 100644 (file)
@@ -3,7 +3,6 @@
 // Purpose:     All GTK wxDataViewCtrl renderer classes
 // Author:      Robert Roebling, Vadim Zeitlin
 // Created:     2009-11-07 (extracted from wx/gtk/dataview.h)
 // Purpose:     All GTK wxDataViewCtrl renderer classes
 // Author:      Robert Roebling, Vadim Zeitlin
 // Created:     2009-11-07 (extracted from wx/gtk/dataview.h)
-// RCS-ID:      $Id$
 // Copyright:   (c) 2006 Robert Roebling
 //              (c) 2009 Vadim Zeitlin <vadim@wxwidgets.org>
 // Licence:     wxWindows licence
 // Copyright:   (c) 2006 Robert Roebling
 //              (c) 2009 Vadim Zeitlin <vadim@wxwidgets.org>
 // Licence:     wxWindows licence
 #ifndef _WX_GTK_DVRENDERERS_H_
 #define _WX_GTK_DVRENDERERS_H_
 
 #ifndef _WX_GTK_DVRENDERERS_H_
 #define _WX_GTK_DVRENDERERS_H_
 
-typedef struct _GdkRectangle GdkRectangle;
+#ifdef __WXGTK3__
+    typedef struct _cairo_rectangle_int cairo_rectangle_int_t;
+    typedef cairo_rectangle_int_t GdkRectangle;
+#else
+    typedef struct _GdkRectangle GdkRectangle;
+#endif
 
 // ---------------------------------------------------------
 // wxDataViewTextRenderer
 
 // ---------------------------------------------------------
 // wxDataViewTextRenderer
@@ -117,18 +121,12 @@ public:
                             wxDC *dc,
                             int state);
 
                             wxDC *dc,
                             int state);
 
+    struct GTKRenderParams;
+
     // store GTK render call parameters for possible later use
     // store GTK render call parameters for possible later use
-    void GTKStashRenderParams(GdkWindow *window,
-                              GtkWidget *widget,
-                              GdkRectangle *background_area,
-                              GdkRectangle *expose_area,
-                              int flags)
+    void GTKSetRenderParams(GTKRenderParams* renderParams)
     {
     {
-        m_renderParams.window = window;
-        m_renderParams.widget = widget;
-        m_renderParams.background_area = background_area;
-        m_renderParams.expose_area = expose_area;
-        m_renderParams.flags = flags;
+        m_renderParams = renderParams;
     }
 
     // we may or not support attributes, as we don't know it, return true to
     }
 
     // we may or not support attributes, as we don't know it, return true to
@@ -143,10 +141,9 @@ public:
 
     virtual GtkCellRendererText *GtkGetTextRenderer() const;
 
 
     virtual GtkCellRendererText *GtkGetTextRenderer() const;
 
-protected:
+private:
     bool Init(wxDataViewCellMode mode, int align);
 
     bool Init(wxDataViewCellMode mode, int align);
 
-private:
     // Called from GtkGetTextRenderer() to really create the renderer if
     // necessary.
     void GtkInitTextRenderer();
     // Called from GtkGetTextRenderer() to really create the renderer if
     // necessary.
     void GtkInitTextRenderer();
@@ -157,14 +154,7 @@ private:
 
     // parameters of the original render() call stored so that we could pass
     // them forward to m_text_renderer if our RenderText() is called
 
     // parameters of the original render() call stored so that we could pass
     // them forward to m_text_renderer if our RenderText() is called
-    struct GTKRenderParams
-    {
-        GdkWindow            *window;
-        GtkWidget            *widget;
-        GdkRectangle         *background_area;
-        GdkRectangle         *expose_area;
-        int                   flags;
-    } m_renderParams;
+    GTKRenderParams* m_renderParams;
 
     DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewCustomRenderer)
 };
 
     DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewCustomRenderer)
 };