summaryrefslogtreecommitdiff
path: root/gtk/gtkstyle.h
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@src.gnome.org>1998-11-06 22:05:02 +0000
committerOwen Taylor <otaylor@src.gnome.org>1998-11-06 22:05:02 +0000
commite2a521922085c8010028e227f61bba59ea6b8242 (patch)
tree2500d6aa6f63aab4b58c17546532ecce8fdcca37 /gtk/gtkstyle.h
parent3c0df19a588bd96f328bda975db8eb9fa7f79e81 (diff)
downloadgdk-pixbuf-e2a521922085c8010028e227f61bba59ea6b8242.tar.gz
Merge from themes-2. See the ChangeLog for a somewhat detailed
history of the evolution of the changes involved. Most of this is actually minor painting tweaks.
Diffstat (limited to 'gtk/gtkstyle.h')
-rw-r--r--gtk/gtkstyle.h586
1 files changed, 577 insertions, 9 deletions
diff --git a/gtk/gtkstyle.h b/gtk/gtkstyle.h
index 0def4b5c5..556722475 100644
--- a/gtk/gtkstyle.h
+++ b/gtk/gtkstyle.h
@@ -23,7 +23,6 @@
#include <gdk/gdk.h>
#include <gtk/gtkenums.h>
-
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
@@ -31,6 +30,18 @@ extern "C" {
typedef struct _GtkStyle GtkStyle;
typedef struct _GtkStyleClass GtkStyleClass;
+/* Some forward declarations needed to rationalize the header
+ * files.
+ */
+
+typedef struct _GtkThemeEngine GtkThemeEngine;
+typedef struct _GtkRcStyle GtkRcStyle;
+
+/* We make this forward declaration here, since we pass
+ * GtkWidgt's to the draw functions.
+ */
+typedef struct _GtkWidget GtkWidget;
+
/* This is used for having dynamic style changing stuff */
/* fg, bg, light, dark, mid, text, base */
#define GTK_STYLE_NUM_STYLECOLORS() 7*5
@@ -63,13 +74,21 @@ struct _GtkStyle
GdkPixmap *bg_pixmap[5];
+ /* Private */
gint ref_count;
gint attach_count;
gint depth;
GdkColormap *colormap;
- GtkStyleClass *klass;
+ GtkStyleClass *klass; /* Not private - reorder me */
+ GtkThemeEngine *engine;
+
+ gpointer engine_data;
+
+ GtkRcStyle *rc_style; /* the Rc style from which this style
+ * was created */
+ GSList *styles;
};
struct _GtkStyleClass
@@ -80,12 +99,18 @@ struct _GtkStyleClass
void (*draw_hline) (GtkStyle *style,
GdkWindow *window,
GtkStateType state_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
gint x1,
gint x2,
gint y);
void (*draw_vline) (GtkStyle *style,
GdkWindow *window,
GtkStateType state_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
gint y1,
gint y2,
gint x);
@@ -93,6 +118,9 @@ struct _GtkStyleClass
GdkWindow *window,
GtkStateType state_type,
GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
gint x,
gint y,
gint width,
@@ -101,15 +129,21 @@ struct _GtkStyleClass
GdkWindow *window,
GtkStateType state_type,
GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
GdkPoint *point,
gint npoints,
- gint fill);
+ gboolean fill);
void (*draw_arrow) (GtkStyle *style,
GdkWindow *window,
GtkStateType state_type,
GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
GtkArrowType arrow_type,
- gint fill,
+ gboolean fill,
gint x,
gint y,
gint width,
@@ -118,6 +152,9 @@ struct _GtkStyleClass
GdkWindow *window,
GtkStateType state_type,
GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
gint x,
gint y,
gint width,
@@ -126,6 +163,9 @@ struct _GtkStyleClass
GdkWindow *window,
GtkStateType state_type,
GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
gint x,
gint y,
gint width,
@@ -133,12 +173,165 @@ struct _GtkStyleClass
void (*draw_string) (GtkStyle *style,
GdkWindow *window,
GtkStateType state_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
gint x,
gint y,
const gchar *string);
+ void (*draw_box) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+ void (*draw_flat_box) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+ void (*draw_check) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+ void (*draw_option) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+ void (*draw_cross) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+ void (*draw_ramp) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ GtkArrowType arrow_type,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+ void (*draw_tab) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+ void (*draw_shadow_gap) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height,
+ GtkPositionType gap_side,
+ gint gap_x,
+ gint gap_width);
+ void (*draw_box_gap) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height,
+ GtkPositionType gap_side,
+ gint gap_x,
+ gint gap_width);
+ void (*draw_extension) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height,
+ GtkPositionType gap_side);
+ void (*draw_focus) (GtkStyle *style,
+ GdkWindow *window,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+ void (*draw_slider) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height,
+ GtkOrientation orientation);
+ void (*draw_handle) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height,
+ GtkOrientation orientation);
};
-
GtkStyle* gtk_style_new (void);
GtkStyle* gtk_style_copy (GtkStyle *style);
GtkStyle* gtk_style_attach (GtkStyle *style,
@@ -149,8 +342,15 @@ void gtk_style_unref (GtkStyle *style);
void gtk_style_set_background (GtkStyle *style,
GdkWindow *window,
GtkStateType state_type);
-
-
+void gtk_style_apply_default_pixmap(GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GdkRectangle *area,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+
void gtk_draw_hline (GtkStyle *style,
GdkWindow *window,
GtkStateType state_type,
@@ -177,13 +377,13 @@ void gtk_draw_polygon (GtkStyle *style,
GtkShadowType shadow_type,
GdkPoint *points,
gint npoints,
- gint fill);
+ gboolean fill);
void gtk_draw_arrow (GtkStyle *style,
GdkWindow *window,
GtkStateType state_type,
GtkShadowType shadow_type,
GtkArrowType arrow_type,
- gint fill,
+ gboolean fill,
gint x,
gint y,
gint width,
@@ -210,8 +410,376 @@ void gtk_draw_string (GtkStyle *style,
gint x,
gint y,
const gchar *string);
+void gtk_draw_box (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+void gtk_draw_flat_box (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+void gtk_draw_check (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+void gtk_draw_option (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+void gtk_draw_cross (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+void gtk_draw_ramp (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GtkArrowType arrow_type,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+void gtk_draw_tab (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+void gtk_draw_shadow_gap (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ gint x,
+ gint y,
+ gint width,
+ gint height,
+ GtkPositionType gap_side,
+ gint gap_x,
+ gint gap_width);
+void gtk_draw_box_gap (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ gint x,
+ gint y,
+ gint width,
+ gint height,
+ GtkPositionType gap_side,
+ gint gap_x,
+ gint gap_width);
+void gtk_draw_extension (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ gint x,
+ gint y,
+ gint width,
+ gint height,
+ GtkPositionType gap_side);
+void gtk_draw_focus (GtkStyle *style,
+ GdkWindow *window,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+void gtk_draw_slider (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ gint x,
+ gint y,
+ gint width,
+ gint height,
+ GtkOrientation orientation);
+void gtk_draw_handle (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ gint x,
+ gint y,
+ gint width,
+ gint height,
+ GtkOrientation orientation);
+/*
+ * NEW API CALLS
+ *
+ * NEW API CALLS
+ *
+ * NEW API CALLS
+ *
+ * NEW API CALLS
+ *
+ * NEW API CALLS
+ *
+ * NEW API CALLS
+ *
+ * NEW API CALLS
+ *
+ * NEW API CALLS
+ *
+ */
+
+
+void gtk_paint_hline (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x1,
+ gint x2,
+ gint y);
+void gtk_paint_vline (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint y1,
+ gint y2,
+ gint x);
+void gtk_paint_shadow (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+void gtk_paint_polygon (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ GdkPoint *points,
+ gint npoints,
+ gboolean fill);
+void gtk_paint_arrow (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ GtkArrowType arrow_type,
+ gboolean fill,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+void gtk_paint_diamond (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+void gtk_paint_oval (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+void gtk_paint_string (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ const gchar *string);
+void gtk_paint_box (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+void gtk_paint_flat_box (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+void gtk_paint_check (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+void gtk_paint_option (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+void gtk_paint_cross (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+void gtk_paint_ramp (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ GtkArrowType arrow_type,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+void gtk_paint_tab (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+void gtk_paint_shadow_gap (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height,
+ GtkPositionType gap_side,
+ gint gap_x,
+ gint gap_width);
+void gtk_paint_box_gap (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height,
+ GtkPositionType gap_side,
+ gint gap_x,
+ gint gap_width);
+void gtk_paint_extension (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height,
+ GtkPositionType gap_side);
+void gtk_paint_focus (GtkStyle *style,
+ GdkWindow *window,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+void gtk_paint_slider (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height,
+ GtkOrientation orientation);
+void gtk_paint_handle (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height,
+ GtkOrientation orientation);
+void gtk_reset_widget_shapes(GtkWidget *widget);
+
#ifdef __cplusplus
}
#endif /* __cplusplus */