]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkcellrenderer.h
The render vfunc takes a GdkDrawable* instead of a GdkWindow*, because
[~andy/gtk] / gtk / gtkcellrenderer.h
index 0242f7f2e17c516c967d7c123e5ded55dba5d4c3..0dd241b9ff592a11b5a9419a3f474a2e6ee2a2be 100644 (file)
@@ -32,7 +32,8 @@ typedef enum
   GTK_CELL_RENDERER_PRELIT      = 1 << 1,
   GTK_CELL_RENDERER_INSENSITIVE = 1 << 2,
   /* this flag means the cell is in the sort column/row */
-  GTK_CELL_RENDERER_SORTED      = 1 << 3
+  GTK_CELL_RENDERER_SORTED      = 1 << 3,
+  GTK_CELL_RENDERER_FOCUSED     = 1 << 4
 } GtkCellRendererState;
 
 typedef enum
@@ -43,11 +44,11 @@ typedef enum
 } GtkCellRendererMode;
 
 #define GTK_TYPE_CELL_RENDERER           (gtk_cell_renderer_get_type ())
-#define GTK_CELL_RENDERER(obj)           (GTK_CHECK_CAST ((obj), GTK_TYPE_CELL_RENDERER, GtkCellRenderer))
-#define GTK_CELL_RENDERER_CLASS(klass)   (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_RENDERER, GtkCellRendererClass))
-#define GTK_IS_CELL_RENDERER(obj)        (GTK_CHECK_TYPE ((obj), GTK_TYPE_CELL_RENDERER))
-#define GTK_IS_CELL_RENDERER_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((obj), GTK_TYPE_CELL_RENDERER))
-#define GTK_CELL_RENDERER_GET_CLASS(obj)  (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_CELL_RENDERER, GtkCellRendererClass))
+#define GTK_CELL_RENDERER(obj)           (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_RENDERER, GtkCellRenderer))
+#define GTK_CELL_RENDERER_CLASS(klass)   (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_RENDERER, GtkCellRendererClass))
+#define GTK_IS_CELL_RENDERER(obj)        (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_RENDERER))
+#define GTK_IS_CELL_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CELL_RENDERER))
+#define GTK_CELL_RENDERER_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CELL_RENDERER, GtkCellRendererClass))
 
 typedef struct _GtkCellRenderer GtkCellRenderer;
 typedef struct _GtkCellRendererClass GtkCellRendererClass;
@@ -69,6 +70,7 @@ struct _GtkCellRenderer
   guint visible : 1;
   guint is_expander : 1;
   guint is_expanded : 1;
+  guint cell_background_set : 1;
 };
 
 struct _GtkCellRendererClass
@@ -84,7 +86,7 @@ struct _GtkCellRendererClass
                                      gint                 *width,
                                      gint                 *height);
   void             (* render)        (GtkCellRenderer      *cell,
-                                     GdkWindow            *window,
+                                     GdkDrawable          *window,
                                      GtkWidget            *widget,
                                      GdkRectangle         *background_area,
                                      GdkRectangle         *cell_area,
@@ -104,6 +106,12 @@ struct _GtkCellRendererClass
                                      GdkRectangle         *background_area,
                                      GdkRectangle         *cell_area,
                                      GtkCellRendererState  flags);
+
+  /* Padding for future expansion */
+  void (*_gtk_reserved1) (void);
+  void (*_gtk_reserved2) (void);
+  void (*_gtk_reserved3) (void);
+  void (*_gtk_reserved4) (void);
 };
 
 GType            gtk_cell_renderer_get_type       (void) G_GNUC_CONST;