X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkstylecontext.h;h=e687ff13e477ca565b400d007a1e3bfc5ff67371;hb=eb76287995fecbb4bef991d29066549570a48164;hp=a67e523a83010399d3ee309a0d777e16adb6178b;hpb=905ba2f1983877bf45bc541cf3aa9a7c5cb0936d;p=~andy%2Fgtk diff --git a/gtk/gtkstylecontext.h b/gtk/gtkstylecontext.h index a67e523a8..e687ff13e 100644 --- a/gtk/gtkstylecontext.h +++ b/gtk/gtkstylecontext.h @@ -40,11 +40,12 @@ G_BEGIN_DECLS typedef struct _GtkStyleContext GtkStyleContext; typedef struct _GtkStyleContextClass GtkStyleContextClass; +typedef struct _GtkStyleContextPrivate GtkStyleContextPrivate; struct _GtkStyleContext { GObject parent_object; - gpointer priv; + GtkStyleContextPrivate *priv; }; struct _GtkStyleContextClass @@ -52,6 +53,12 @@ struct _GtkStyleContextClass GObjectClass parent_class; void (* changed) (GtkStyleContext *context); + + /* Padding for future expansion */ + void (*_gtk_reserved1) (void); + void (*_gtk_reserved2) (void); + void (*_gtk_reserved3) (void); + void (*_gtk_reserved4) (void); }; /* Default set of properties that GtkStyleContext may contain */ @@ -78,31 +85,40 @@ struct _GtkStyleContextClass */ #define GTK_STYLE_PROPERTY_FONT "font" -/** - * GTK_STYLE_PROPERTY_MARGIN: - * - * A property holding the rendered element's margin as a #GtkBorder. The - * margin is defined as the spacing between the border of the element - * and its surrounding elements. - */ -#define GTK_STYLE_PROPERTY_MARGIN "margin" - /** * GTK_STYLE_PROPERTY_PADDING: * * A property holding the rendered element's padding as a #GtkBorder. The * padding is defined as the spacing between the inner part of the element border - * and its child. + * and its child. It's the innermost spacing property of the padding/border/margin + * series. */ #define GTK_STYLE_PROPERTY_PADDING "padding" /** * GTK_STYLE_PROPERTY_BORDER_WIDTH: * - * A property holding the rendered element's border width in pixels as a #gint. + * A property holding the rendered element's border width in pixels as + * a #GtkBorder. The border is the intermediary spacing property of the + * padding/border/margin series. + * + * gtk_render_frame() uses this property to find out the frame line width, + * so #GtkWidgets rendering frames may need to add up this padding when + * requesting size */ #define GTK_STYLE_PROPERTY_BORDER_WIDTH "border-width" +/** + * GTK_STYLE_PROPERTY_MARGIN: + * + * A property holding the rendered element's margin as a #GtkBorder. The + * margin is defined as the spacing between the border of the element + * and its surrounding elements. It is external to #GtkWidgets's + * size allocations, and the most external spacing property of the + * padding/border/margin series. + */ +#define GTK_STYLE_PROPERTY_MARGIN "margin" + /** * GTK_STYLE_PROPERTY_BORDER_RADIUS: * @@ -218,6 +234,20 @@ struct _GtkStyleContextClass */ #define GTK_STYLE_CLASS_TOOLBAR "toolbar" +/** + * GTK_STYLE_CLASS_PRIMARY_TOOLBAR: + * + * A CSS class to match primary toolbars. + */ +#define GTK_STYLE_CLASS_PRIMARY_TOOLBAR "primary-toolbar" + +/** + * GTK_STYLE_CLASS_INLINE_TOOLBAR: + * + * A CSS class to match inline toolbars. + */ +#define GTK_STYLE_CLASS_INLINE_TOOLBAR "inline-toolbar" + /** * GTK_STYLE_CLASS_RADIO: * @@ -253,6 +283,31 @@ struct _GtkStyleContextClass */ #define GTK_STYLE_CLASS_SCROLLBAR "scrollbar" +/** + * GTK_STYLE_CLASS_SCALE: + * + * A CSS class to match scale widgets. + */ +#define GTK_STYLE_CLASS_SCALE "scale" + +/** + * GTK_STYLE_CLASS_SCALE_HAS_MARKS_ABOVE: + * + * A CSS class to match scale widgets with marks attached, + * all the marks are above for horizontal #GtkScale. + * left for vertical #GtkScale. + */ +#define GTK_STYLE_CLASS_SCALE_HAS_MARKS_ABOVE "scale-has-marks-above" + +/** + * GTK_STYLE_CLASS_SCALE_HAS_MARKS_BELOW: + * + * A CSS class to match scale widgets with marks attached, + * all the marks are below for horizontal #GtkScale, + * right for vertical #GtkScale. + */ +#define GTK_STYLE_CLASS_SCALE_HAS_MARKS_BELOW "scale-has-marks-below" + /** * GTK_STYLE_CLASS_HEADER: * @@ -267,6 +322,14 @@ struct _GtkStyleContextClass */ #define GTK_STYLE_CLASS_ACCELERATOR "accelerator" +/** + * GTK_STYLE_CLASS_RAISED: + * + * A CSS class to match a raised control, such as a raised + * button on a toolbar. + */ +#define GTK_STYLE_CLASS_RAISED "raised" + /** * GTK_STYLE_CLASS_GRIP: * @@ -295,6 +358,132 @@ struct _GtkStyleContextClass */ #define GTK_STYLE_CLASS_SPINNER "spinner" +/** + * GTK_STYLE_CLASS_MARK: + * + * A widget class defining marks in a widget, such as in scales + */ +#define GTK_STYLE_CLASS_MARK "mark" + +/** + * GTK_STYLE_CLASS_EXPANDER: + * + * A widget class defining an expander, such as those in treeviews + */ +#define GTK_STYLE_CLASS_EXPANDER "expander" + +/** + * GTK_STYLE_CLASS_SPINBUTTON: + * + * A widget class defining an spinbutton + */ +#define GTK_STYLE_CLASS_SPINBUTTON "spinbutton" + +/** + * GTK_STYLE_CLASS_NOTEBOOK: + * + * A widget class defining a notebook + */ +#define GTK_STYLE_CLASS_NOTEBOOK "notebook" + +/** + * GTK_STYLE_CLASS_VIEW: + * + * A widget class defining a view, such as iconviews or treeviews + */ +#define GTK_STYLE_CLASS_VIEW "view" + +/** + * GTK_STYLE_CLASS_SIDEBAR: + * + * A widget class defining a sidebar + */ +#define GTK_STYLE_CLASS_SIDEBAR "sidebar" + +/** + * GTK_STYLE_CLASS_HIGHLIGHT: + * + * A CSS class defining a highlighted area, such as headings in + * assistants. + */ +#define GTK_STYLE_CLASS_HIGHLIGHT "highlight" + +/** + * GTK_STYLE_CLASS_FRAME: + * + * A CSS class defining a frame delimiting content, such as GtkFrame + * or the scrolled window frame around the scrollable area. + */ +#define GTK_STYLE_CLASS_FRAME "frame" + +/** + * GTK_STYLE_CLASS_DND: + * + * A CSS class for a drag-and-drop indicator + */ +#define GTK_STYLE_CLASS_DND "dnd" + +/** + * GTK_STYLE_CLASS_PANE_SEPARATOR: + * + * A CSS class for a pane separator, such as those in #GtkPaned. + */ +#define GTK_STYLE_CLASS_PANE_SEPARATOR "pane-separator" + +/** + * GTK_STYLE_CLASS_SEPARATOR: + * + * A CSS class for a separator. + */ +#define GTK_STYLE_CLASS_SEPARATOR "separator" + +/** + * GTK_STYLE_CLASS_INFO: + * + * A widget class for an area displaying an informational message, + * such as those in infobars + */ +#define GTK_STYLE_CLASS_INFO "info" + +/** + * GTK_STYLE_CLASS_WARNING: + * + * A widget class for an area displaying a warning message, + * such as those in infobars + */ +#define GTK_STYLE_CLASS_WARNING "warning" + +/** + * GTK_STYLE_CLASS_QUESTION: + * + * A widget class for an area displaying a question to the user, + * such as those in infobars + */ +#define GTK_STYLE_CLASS_QUESTION "question" + +/** + * GTK_STYLE_CLASS_ERROR: + * + * A widget class for an area displaying an error message, + * such as those in infobars + */ +#define GTK_STYLE_CLASS_ERROR "error" + +/** + * GTK_STYLE_CLASS_HORIZONTAL: + * + * A widget class for horizontally layered widgets. + */ +#define GTK_STYLE_CLASS_HORIZONTAL "horizontal" + +/** + * GTK_STYLE_CLASS_VERTICAL: + * + * A widget class for vertically layered widgets. + */ +#define GTK_STYLE_CLASS_VERTICAL "vertical" + + /* Predefined set of widget regions */ /** @@ -398,7 +587,7 @@ void gtk_style_context_get_style (GtkStyleContext *context, ...); GtkIconSet * gtk_style_context_lookup_icon_set (GtkStyleContext *context, - const gchar *stock_id); + const gchar *stock_id); GdkPixbuf * gtk_icon_set_render_icon_pixbuf (GtkIconSet *icon_set, GtkStyleContext *context, GtkIconSize size); @@ -412,7 +601,7 @@ void gtk_style_context_set_direction (GtkStyleContext *context, GtkTextDirection gtk_style_context_get_direction (GtkStyleContext *context); void gtk_style_context_set_junction_sides (GtkStyleContext *context, - GtkJunctionSides sides); + GtkJunctionSides sides); GtkJunctionSides gtk_style_context_get_junction_sides (GtkStyleContext *context); gboolean gtk_style_context_lookup_color (GtkStyleContext *context, @@ -424,6 +613,13 @@ void gtk_style_context_notify_state_change (GtkStyleContext *context, gpointer region_id, GtkStateType state, gboolean state_value); +void gtk_style_context_cancel_animations (GtkStyleContext *context, + gpointer region_id); +void gtk_style_context_scroll_animations (GtkStyleContext *context, + GdkWindow *window, + gint dx, + gint dy); + void gtk_style_context_push_animatable_region (GtkStyleContext *context, gpointer region_id); void gtk_style_context_pop_animatable_region (GtkStyleContext *context); @@ -438,7 +634,9 @@ void gtk_style_context_get_background_color (GtkStyleContext *context, void gtk_style_context_get_border_color (GtkStyleContext *context, GtkStateFlags state, GdkRGBA *color); - +const PangoFontDescription * + gtk_style_context_get_font (GtkStyleContext *context, + GtkStateFlags state); void gtk_style_context_get_border (GtkStyleContext *context, GtkStateFlags state, GtkBorder *border); @@ -449,112 +647,101 @@ void gtk_style_context_get_margin (GtkStyleContext *context, GtkStateFlags state, GtkBorder *margin); -/* Semi-private API */ -const GValue * _gtk_style_context_peek_style_property (GtkStyleContext *context, - GType widget_type, - GtkStateFlags state, - GParamSpec *pspec); -void _gtk_style_context_invalidate_animation_areas (GtkStyleContext *context); -void _gtk_style_context_coalesce_animation_areas (GtkStyleContext *context, - gint rel_x, - gint rel_y); - -void gtk_style_context_invalidate (GtkStyleContext *context); -void gtk_style_context_reset_widgets (GdkScreen *screen); +void gtk_style_context_invalidate (GtkStyleContext *context); +void gtk_style_context_reset_widgets (GdkScreen *screen); -void gtk_style_context_set_background (GtkStyleContext *context, - GdkWindow *window); +void gtk_style_context_set_background (GtkStyleContext *context, + GdkWindow *window); /* Paint methods */ -void gtk_render_check (GtkStyleContext *context, - cairo_t *cr, - gdouble x, - gdouble y, - gdouble width, - gdouble height); -void gtk_render_option (GtkStyleContext *context, - cairo_t *cr, - gdouble x, - gdouble y, - gdouble width, - gdouble height); -void gtk_render_arrow (GtkStyleContext *context, - cairo_t *cr, - gdouble angle, - gdouble x, - gdouble y, - gdouble size); -void gtk_render_background (GtkStyleContext *context, - cairo_t *cr, - gdouble x, - gdouble y, - gdouble width, - gdouble height); -void gtk_render_frame (GtkStyleContext *context, - cairo_t *cr, - gdouble x, - gdouble y, - gdouble width, - gdouble height); -void gtk_render_expander (GtkStyleContext *context, - cairo_t *cr, - gdouble x, - gdouble y, - gdouble width, - gdouble height); -void gtk_render_focus (GtkStyleContext *context, - cairo_t *cr, - gdouble x, - gdouble y, - gdouble width, - gdouble height); -void gtk_render_layout (GtkStyleContext *context, - cairo_t *cr, - gdouble x, - gdouble y, - PangoLayout *layout); -void gtk_render_line (GtkStyleContext *context, - cairo_t *cr, - gdouble x0, - gdouble y0, - gdouble x1, - gdouble y1); -void gtk_render_slider (GtkStyleContext *context, - cairo_t *cr, - gdouble x, - gdouble y, - gdouble width, - gdouble height, - GtkOrientation orientation); -void gtk_render_frame_gap (GtkStyleContext *context, - cairo_t *cr, - gdouble x, - gdouble y, - gdouble width, - gdouble height, - GtkPositionType gap_side, - gdouble xy0_gap, - gdouble xy1_gap); -void gtk_render_extension (GtkStyleContext *context, - cairo_t *cr, - gdouble x, - gdouble y, - gdouble width, - gdouble height, - GtkPositionType gap_side); -void gtk_render_handle (GtkStyleContext *context, - cairo_t *cr, - gdouble x, - gdouble y, - gdouble width, - gdouble height); -void gtk_render_activity (GtkStyleContext *context, - cairo_t *cr, - gdouble x, - gdouble y, - gdouble width, - gdouble height); - +void gtk_render_check (GtkStyleContext *context, + cairo_t *cr, + gdouble x, + gdouble y, + gdouble width, + gdouble height); +void gtk_render_option (GtkStyleContext *context, + cairo_t *cr, + gdouble x, + gdouble y, + gdouble width, + gdouble height); +void gtk_render_arrow (GtkStyleContext *context, + cairo_t *cr, + gdouble angle, + gdouble x, + gdouble y, + gdouble size); +void gtk_render_background (GtkStyleContext *context, + cairo_t *cr, + gdouble x, + gdouble y, + gdouble width, + gdouble height); +void gtk_render_frame (GtkStyleContext *context, + cairo_t *cr, + gdouble x, + gdouble y, + gdouble width, + gdouble height); +void gtk_render_expander (GtkStyleContext *context, + cairo_t *cr, + gdouble x, + gdouble y, + gdouble width, + gdouble height); +void gtk_render_focus (GtkStyleContext *context, + cairo_t *cr, + gdouble x, + gdouble y, + gdouble width, + gdouble height); +void gtk_render_layout (GtkStyleContext *context, + cairo_t *cr, + gdouble x, + gdouble y, + PangoLayout *layout); +void gtk_render_line (GtkStyleContext *context, + cairo_t *cr, + gdouble x0, + gdouble y0, + gdouble x1, + gdouble y1); +void gtk_render_slider (GtkStyleContext *context, + cairo_t *cr, + gdouble x, + gdouble y, + gdouble width, + gdouble height, + GtkOrientation orientation); +void gtk_render_frame_gap (GtkStyleContext *context, + cairo_t *cr, + gdouble x, + gdouble y, + gdouble width, + gdouble height, + GtkPositionType gap_side, + gdouble xy0_gap, + gdouble xy1_gap); +void gtk_render_extension (GtkStyleContext *context, + cairo_t *cr, + gdouble x, + gdouble y, + gdouble width, + gdouble height, + GtkPositionType gap_side); +void gtk_render_handle (GtkStyleContext *context, + cairo_t *cr, + gdouble x, + gdouble y, + gdouble width, + gdouble height); +void gtk_render_activity (GtkStyleContext *context, + cairo_t *cr, + gdouble x, + gdouble y, + gdouble width, + gdouble height); GdkPixbuf * gtk_render_icon_pixbuf (GtkStyleContext *context, const GtkIconSource *source, GtkIconSize size);