GtkStyle

GtkStyle — Deprecated object that holds style information for widgets

Properties

GtkStyleContext * context Read / Write / Construct Only

Signals

void realize Run First
void unrealize Run First

Types and Values

Object Hierarchy

    GObject
    ╰── GtkStyle

Includes

#include <gtk/gtk.h>

Description

A GtkStyle object encapsulates the information that provides the look and feel for a widget.

In GTK+ 3.0, GtkStyle has been deprecated and replaced by GtkStyleContext.

Each GtkWidget has an associated GtkStyle object that is used when rendering that widget. Also, a GtkStyle holds information for the five possible widget states though not every widget supports all five states; see GtkStateType.

Usually the GtkStyle for a widget is the same as the default style that is set by GTK+ and modified the theme engine.

Usually applications should not need to use or modify the GtkStyle of their widgets.

Functions

GTK_STYLE_ATTACHED()

#define GTK_STYLE_ATTACHED(style)       (GTK_STYLE (style)->attach_count > 0)

Parameters

style

a GtkStyle.

Returns

whether the style is attached to a window.

gtk_style_new ()

GtkStyle *
gtk_style_new (void);

gtk_style_new has been deprecated since version 3.0 and should not be used in newly-written code.

Use GtkStyleContext

Creates a new GtkStyle.

Returns

a new GtkStyle.

gtk_style_copy ()

GtkStyle *
gtk_style_copy (GtkStyle *style);

gtk_style_copy has been deprecated since version 3.0 and should not be used in newly-written code.

Use GtkStyleContext instead

Creates a copy of the passed in GtkStyle object.

Parameters

style

a GtkStyle

Returns

a copy of style .

[transfer full]

gtk_style_attach ()

GtkStyle *
gtk_style_attach (GtkStyle *style,
                  GdkWindow *window);

gtk_style_attach has been deprecated since version 3.0 and should not be used in newly-written code.

Use gtk_widget_style_attach() instead

Attaches a style to a window; this process allocates the colors and creates the GC’s for the style - it specializes it to a particular visual. The process may involve the creation of a new style if the style has already been attached to a window with a different style and visual.

Since this function may return a new object, you have to use it in the following way: style = gtk_style_attach (style, window)

[skip]

Parameters

style

a GtkStyle.

window

a GdkWindow.

Returns

Either style , or a newly-created GtkStyle. If the style is newly created, the style parameter will be unref'ed, and the new style will have a reference count belonging to the caller.

gtk_style_detach ()

void
gtk_style_detach (GtkStyle *style);

gtk_style_detach has been deprecated since version 3.0 and should not be used in newly-written code.

Use GtkStyleContext instead

Detaches a style from a window. If the style is not attached to any windows anymore, it is unrealized. See gtk_style_attach().

Parameters

style

a GtkStyle

gtk_style_has_context ()

gboolean
gtk_style_has_context (GtkStyle *style);

gtk_style_has_context is deprecated and should not be used in newly-written code.

Returns whether style has an associated GtkStyleContext.

Parameters

style

a GtkStyle

Returns

TRUE if style has a GtkStyleContext

Since: 3.0

gtk_style_set_background ()

void
gtk_style_set_background (GtkStyle *style,
                          GdkWindow *window,
                          GtkStateType state_type);

gtk_style_set_background has been deprecated since version 3.0 and should not be used in newly-written code.

Use gtk_style_context_set_background() instead

Sets the background of window to the background color or pixmap specified by style for the given state.

Parameters

style

a GtkStyle

window

a GdkWindow

state_type

a state

gtk_style_apply_default_background ()

void
gtk_style_apply_default_background (GtkStyle *style,
                                    cairo_t *cr,
                                    GdkWindow *window,
                                    GtkStateType state_type,
                                    gint x,
                                    gint y,
                                    gint width,
                                    gint height);

gtk_style_apply_default_background has been deprecated since version 3.0 and should not be used in newly-written code.

Use GtkStyleContext instead

gtk_style_lookup_color ()

gboolean
gtk_style_lookup_color (GtkStyle *style,
                        const gchar *color_name,
                        GdkColor *color);

gtk_style_lookup_color has been deprecated since version 3.0 and should not be used in newly-written code.

Use gtk_style_context_lookup_color() instead

Looks up color_name in the style’s logical color mappings, filling in color and returning TRUE if found, otherwise returning FALSE. Do not cache the found mapping, because it depends on the GtkStyle and might change when a theme switch occurs.

Parameters

style

a GtkStyle

color_name

the name of the logical color to look up

color

the GdkColor to fill in.

[out]

Returns

TRUE if the mapping was found.

Since: 2.10

gtk_style_lookup_icon_set ()

GtkIconSet *
gtk_style_lookup_icon_set (GtkStyle *style,
                           const gchar *stock_id);

gtk_style_lookup_icon_set has been deprecated since version 3.0 and should not be used in newly-written code.

Use gtk_style_context_lookup_icon_set() instead

Looks up stock_id in the icon factories associated with style and the default icon factory, returning an icon set if found, otherwise NULL.

Parameters

style

a GtkStyle

stock_id

an icon name

Returns

icon set of stock_id .

[transfer none]

gtk_style_render_icon ()

GdkPixbuf *
gtk_style_render_icon (GtkStyle *style,
                       const GtkIconSource *source,
                       GtkTextDirection direction,
                       GtkStateType state,
                       GtkIconSize size,
                       GtkWidget *widget,
                       const gchar *detail);

gtk_style_render_icon has been deprecated since version 3.0 and should not be used in newly-written code.

Use gtk_render_icon_pixbuf() instead

Renders the icon specified by source at the given size according to the given parameters and returns the result in a pixbuf.

Parameters

style

a GtkStyle

source

the GtkIconSource specifying the icon to render

direction

a text direction

state

a state

size

the size to render the icon at (GtkIconSize). A size of (GtkIconSize)-1 means render at the size of the source and don’t scale.

[type int]

widget

the widget.

[allow-none]

detail

a style detail.

[allow-none]

Returns

a newly-created GdkPixbuf containing the rendered icon.

[transfer full]

gtk_style_get_style_property ()

void
gtk_style_get_style_property (GtkStyle *style,
                              GType widget_type,
                              const gchar *property_name,
                              GValue *value);

gtk_style_get_style_property is deprecated and should not be used in newly-written code.

Queries the value of a style property corresponding to a widget class is in the given style.

Parameters

style

a GtkStyle

widget_type

the GType of a descendant of GtkWidget

property_name

the name of the style property to get

value

a GValue where the value of the property being queried will be stored.

[out]

Since: 2.16

gtk_style_get_valist ()

void
gtk_style_get_valist (GtkStyle *style,
                      GType widget_type,
                      const gchar *first_property_name,
                      va_list var_args);

gtk_style_get_valist is deprecated and should not be used in newly-written code.

Non-vararg variant of gtk_style_get(). Used primarily by language bindings.

Parameters

style

a GtkStyle

widget_type

the GType of a descendant of GtkWidget

first_property_name

the name of the first style property to get

var_args

a va_list of pairs of property names and locations to return the property values, starting with the location for first_property_name .

Since: 2.16

gtk_style_get ()

void
gtk_style_get (GtkStyle *style,
               GType widget_type,
               const gchar *first_property_name,
               ...);

gtk_style_get is deprecated and should not be used in newly-written code.

Gets the values of a multiple style properties for widget_type from style .

Parameters

style

a GtkStyle

widget_type

the GType of a descendant of GtkWidget

first_property_name

the name of the first style property to get

...

pairs of property names and locations to return the property values, starting with the location for first_property_name , terminated by NULL.

Since: 2.16

gtk_paint_arrow ()

void
gtk_paint_arrow (GtkStyle *style,
                 cairo_t *cr,
                 GtkStateType state_type,
                 GtkShadowType shadow_type,
                 GtkWidget *widget,
                 const gchar *detail,
                 GtkArrowType arrow_type,
                 gboolean fill,
                 gint x,
                 gint y,
                 gint width,
                 gint height);

gtk_paint_arrow has been deprecated since version 3.0 and should not be used in newly-written code.

Use gtk_render_arrow() instead

Draws an arrow in the given rectangle on cr using the given parameters. arrow_type determines the direction of the arrow.

Parameters

style

a GtkStyle

cr

a cairo_t

state_type

a state

shadow_type

the type of shadow to draw

widget

the widget.

[allow-none]

detail

a style detail.

[allow-none]

arrow_type

the type of arrow to draw

fill

TRUE if the arrow tip should be filled

x

x origin of the rectangle to draw the arrow in

y

y origin of the rectangle to draw the arrow in

width

width of the rectangle to draw the arrow in

height

height of the rectangle to draw the arrow in

gtk_paint_box ()

void
gtk_paint_box (GtkStyle *style,
               cairo_t *cr,
               GtkStateType state_type,
               GtkShadowType shadow_type,
               GtkWidget *widget,
               const gchar *detail,
               gint x,
               gint y,
               gint width,
               gint height);

gtk_paint_box has been deprecated since version 3.0 and should not be used in newly-written code.

Use gtk_render_frame() and gtk_render_background() instead

Draws a box on cr with the given parameters.

Parameters

style

a GtkStyle

cr

a cairo_t

state_type

a state

shadow_type

the type of shadow to draw

widget

the widget.

[allow-none]

detail

a style detail.

[allow-none]

x

x origin of the box

y

y origin of the box

width

the width of the box

height

the height of the box

gtk_paint_box_gap ()

void
gtk_paint_box_gap (GtkStyle *style,
                   cairo_t *cr,
                   GtkStateType state_type,
                   GtkShadowType shadow_type,
                   GtkWidget *widget,
                   const gchar *detail,
                   gint x,
                   gint y,
                   gint width,
                   gint height,
                   GtkPositionType gap_side,
                   gint gap_x,
                   gint gap_width);

gtk_paint_box_gap has been deprecated since version 3.0 and should not be used in newly-written code.

Use gtk_render_frame_gap() instead

Draws a box in cr using the given style and state and shadow type, leaving a gap in one side.

Parameters

style

a GtkStyle

cr

a cairo_t

state_type

a state

shadow_type

type of shadow to draw

widget

the widget.

[allow-none]

detail

a style detail.

[allow-none]

x

x origin of the rectangle

y

y origin of the rectangle

width

width of the rectangle

height

width of the rectangle

gap_side

side in which to leave the gap

gap_x

starting position of the gap

gap_width

width of the gap

gtk_paint_check ()

void
gtk_paint_check (GtkStyle *style,
                 cairo_t *cr,
                 GtkStateType state_type,
                 GtkShadowType shadow_type,
                 GtkWidget *widget,
                 const gchar *detail,
                 gint x,
                 gint y,
                 gint width,
                 gint height);

gtk_paint_check has been deprecated since version 3.0 and should not be used in newly-written code.

Use gtk_render_check() instead

Draws a check button indicator in the given rectangle on cr with the given parameters.

Parameters

style

a GtkStyle

cr

a cairo_t

state_type

a state

shadow_type

the type of shadow to draw

widget

the widget.

[allow-none]

detail

a style detail.

[allow-none]

x

x origin of the rectangle to draw the check in

y

y origin of the rectangle to draw the check in

width

the width of the rectangle to draw the check in

height

the height of the rectangle to draw the check in

gtk_paint_diamond ()

void
gtk_paint_diamond (GtkStyle *style,
                   cairo_t *cr,
                   GtkStateType state_type,
                   GtkShadowType shadow_type,
                   GtkWidget *widget,
                   const gchar *detail,
                   gint x,
                   gint y,
                   gint width,
                   gint height);

gtk_paint_diamond has been deprecated since version 3.0 and should not be used in newly-written code.

Use cairo instead

Draws a diamond in the given rectangle on window using the given parameters.

Parameters

style

a GtkStyle

cr

a cairo_t

state_type

a state

shadow_type

the type of shadow to draw

widget

the widget.

[allow-none]

detail

a style detail.

[allow-none]

x

x origin of the rectangle to draw the diamond in

y

y origin of the rectangle to draw the diamond in

width

width of the rectangle to draw the diamond in

height

height of the rectangle to draw the diamond in

gtk_paint_extension ()

void
gtk_paint_extension (GtkStyle *style,
                     cairo_t *cr,
                     GtkStateType state_type,
                     GtkShadowType shadow_type,
                     GtkWidget *widget,
                     const gchar *detail,
                     gint x,
                     gint y,
                     gint width,
                     gint height,
                     GtkPositionType gap_side);

gtk_paint_extension has been deprecated since version 3.0 and should not be used in newly-written code.

Use gtk_render_extension() instead

Draws an extension, i.e. a notebook tab.

Parameters

style

a GtkStyle

cr

a cairo_t

state_type

a state

shadow_type

type of shadow to draw

widget

the widget.

[allow-none]

detail

a style detail.

[allow-none]

x

x origin of the extension

y

y origin of the extension

width

width of the extension

height

width of the extension

gap_side

the side on to which the extension is attached

gtk_paint_flat_box ()

void
gtk_paint_flat_box (GtkStyle *style,
                    cairo_t *cr,
                    GtkStateType state_type,
                    GtkShadowType shadow_type,
                    GtkWidget *widget,
                    const gchar *detail,
                    gint x,
                    gint y,
                    gint width,
                    gint height);

gtk_paint_flat_box has been deprecated since version 3.0 and should not be used in newly-written code.

Use gtk_render_frame() and gtk_render_background() instead

Draws a flat box on cr with the given parameters.

Parameters

style

a GtkStyle

cr

a cairo_t

state_type

a state

shadow_type

the type of shadow to draw

widget

the widget.

[allow-none]

detail

a style detail.

[allow-none]

x

x origin of the box

y

y origin of the box

width

the width of the box

height

the height of the box

gtk_paint_focus ()

void
gtk_paint_focus (GtkStyle *style,
                 cairo_t *cr,
                 GtkStateType state_type,
                 GtkWidget *widget,
                 const gchar *detail,
                 gint x,
                 gint y,
                 gint width,
                 gint height);

gtk_paint_focus has been deprecated since version 3.0 and should not be used in newly-written code.

Use gtk_render_focus() instead

Draws a focus indicator around the given rectangle on cr using the given style.

Parameters

style

a GtkStyle

cr

a cairo_t

state_type

a state

widget

the widget.

[allow-none]

detail

a style detail.

[allow-none]

x

the x origin of the rectangle around which to draw a focus indicator

y

the y origin of the rectangle around which to draw a focus indicator

width

the width of the rectangle around which to draw a focus indicator

height

the height of the rectangle around which to draw a focus indicator

gtk_paint_handle ()

void
gtk_paint_handle (GtkStyle *style,
                  cairo_t *cr,
                  GtkStateType state_type,
                  GtkShadowType shadow_type,
                  GtkWidget *widget,
                  const gchar *detail,
                  gint x,
                  gint y,
                  gint width,
                  gint height,
                  GtkOrientation orientation);

gtk_paint_handle has been deprecated since version 3.0 and should not be used in newly-written code.

Use gtk_render_handle() instead

Draws a handle as used in GtkHandleBox and GtkPaned.

Parameters

style

a GtkStyle

cr

a cairo_t

state_type

a state

shadow_type

type of shadow to draw

widget

the widget.

[allow-none]

detail

a style detail.

[allow-none]

x

x origin of the handle

y

y origin of the handle

width

with of the handle

height

height of the handle

orientation

the orientation of the handle

gtk_paint_hline ()

void
gtk_paint_hline (GtkStyle *style,
                 cairo_t *cr,
                 GtkStateType state_type,
                 GtkWidget *widget,
                 const gchar *detail,
                 gint x1,
                 gint x2,
                 gint y);

gtk_paint_hline has been deprecated since version 3.0 and should not be used in newly-written code.

Use gtk_render_line() instead

Draws a horizontal line from (x1 , y ) to (x2 , y ) in cr using the given style and state.

Parameters

style

a GtkStyle

cr

a caio_t

state_type

a state

widget

the widget.

[allow-none]

detail

a style detail.

[allow-none]

x1

the starting x coordinate

x2

the ending x coordinate

y

the y coordinate

gtk_paint_option ()

void
gtk_paint_option (GtkStyle *style,
                  cairo_t *cr,
                  GtkStateType state_type,
                  GtkShadowType shadow_type,
                  GtkWidget *widget,
                  const gchar *detail,
                  gint x,
                  gint y,
                  gint width,
                  gint height);

gtk_paint_option has been deprecated since version 3.0 and should not be used in newly-written code.

Use gtk_render_option() instead

Draws a radio button indicator in the given rectangle on cr with the given parameters.

Parameters

style

a GtkStyle

cr

a cairo_t

state_type

a state

shadow_type

the type of shadow to draw

widget

the widget.

[allow-none]

detail

a style detail.

[allow-none]

x

x origin of the rectangle to draw the option in

y

y origin of the rectangle to draw the option in

width

the width of the rectangle to draw the option in

height

the height of the rectangle to draw the option in

gtk_paint_shadow ()

void
gtk_paint_shadow (GtkStyle *style,
                  cairo_t *cr,
                  GtkStateType state_type,
                  GtkShadowType shadow_type,
                  GtkWidget *widget,
                  const gchar *detail,
                  gint x,
                  gint y,
                  gint width,
                  gint height);

gtk_paint_shadow has been deprecated since version 3.0 and should not be used in newly-written code.

Use gtk_render_frame() instead

Draws a shadow around the given rectangle in cr using the given style and state and shadow type.

Parameters

style

a GtkStyle

cr

a cairo_t

state_type

a state

shadow_type

type of shadow to draw

widget

the widget.

[allow-none]

detail

a style detail.

[allow-none]

x

x origin of the rectangle

y

y origin of the rectangle

width

width of the rectangle

height

width of the rectangle

gtk_paint_shadow_gap ()

void
gtk_paint_shadow_gap (GtkStyle *style,
                      cairo_t *cr,
                      GtkStateType state_type,
                      GtkShadowType shadow_type,
                      GtkWidget *widget,
                      const gchar *detail,
                      gint x,
                      gint y,
                      gint width,
                      gint height,
                      GtkPositionType gap_side,
                      gint gap_x,
                      gint gap_width);

gtk_paint_shadow_gap has been deprecated since version 3.0 and should not be used in newly-written code.

Use gtk_render_frame_gap() instead

Draws a shadow around the given rectangle in cr using the given style and state and shadow type, leaving a gap in one side.

Parameters

style

a GtkStyle

cr

a cairo_t

state_type

a state

shadow_type

type of shadow to draw

widget

the widget.

[allow-none]

detail

a style detail.

[allow-none]

x

x origin of the rectangle

y

y origin of the rectangle

width

width of the rectangle

height

width of the rectangle

gap_side

side in which to leave the gap

gap_x

starting position of the gap

gap_width

width of the gap

gtk_paint_slider ()

void
gtk_paint_slider (GtkStyle *style,
                  cairo_t *cr,
                  GtkStateType state_type,
                  GtkShadowType shadow_type,
                  GtkWidget *widget,
                  const gchar *detail,
                  gint x,
                  gint y,
                  gint width,
                  gint height,
                  GtkOrientation orientation);

gtk_paint_slider has been deprecated since version 3.0 and should not be used in newly-written code.

Use gtk_render_slider() instead

Draws a slider in the given rectangle on cr using the given style and orientation.

Parameters

style

a GtkStyle

cr

a cairo_t

state_type

a state

shadow_type

a shadow

widget

the widget.

[allow-none]

detail

a style detail.

[allow-none]

x

the x origin of the rectangle in which to draw a slider

y

the y origin of the rectangle in which to draw a slider

width

the width of the rectangle in which to draw a slider

height

the height of the rectangle in which to draw a slider

orientation

the orientation to be used

gtk_paint_spinner ()

void
gtk_paint_spinner (GtkStyle *style,
                   cairo_t *cr,
                   GtkStateType state_type,
                   GtkWidget *widget,
                   const gchar *detail,
                   guint step,
                   gint x,
                   gint y,
                   gint width,
                   gint height);

gtk_paint_spinner has been deprecated since version 3.0 and should not be used in newly-written code.

Use gtk_render_icon() and the GtkStyleContext you are drawing instead

Draws a spinner on window using the given parameters.

Parameters

style

a GtkStyle

cr

a cairo_t

state_type

a state

widget

the widget (may be NULL).

[allow-none]

detail

a style detail (may be NULL).

[allow-none]

step

the nth step

x

the x origin of the rectangle in which to draw the spinner

y

the y origin of the rectangle in which to draw the spinner

width

the width of the rectangle in which to draw the spinner

height

the height of the rectangle in which to draw the spinner

gtk_paint_tab ()

void
gtk_paint_tab (GtkStyle *style,
               cairo_t *cr,
               GtkStateType state_type,
               GtkShadowType shadow_type,
               GtkWidget *widget,
               const gchar *detail,
               gint x,
               gint y,
               gint width,
               gint height);

gtk_paint_tab has been deprecated since version 3.0 and should not be used in newly-written code.

Use cairo instead

Draws an option menu tab (i.e. the up and down pointing arrows) in the given rectangle on cr using the given parameters.

Parameters

style

a GtkStyle

cr

a cairo_t

state_type

a state

shadow_type

the type of shadow to draw

widget

the widget.

[allow-none]

detail

a style detail.

[allow-none]

x

x origin of the rectangle to draw the tab in

y

y origin of the rectangle to draw the tab in

width

the width of the rectangle to draw the tab in

height

the height of the rectangle to draw the tab in

gtk_paint_vline ()

void
gtk_paint_vline (GtkStyle *style,
                 cairo_t *cr,
                 GtkStateType state_type,
                 GtkWidget *widget,
                 const gchar *detail,
                 gint y1_,
                 gint y2_,
                 gint x);

gtk_paint_vline has been deprecated since version 3.0 and should not be used in newly-written code.

Use gtk_render_line() instead

Draws a vertical line from (x , y1_ ) to (x , y2_ ) in cr using the given style and state.

Parameters

style

a GtkStyle

cr

a cairo_t

state_type

a state

widget

the widget.

[allow-none]

detail

a style detail.

[allow-none]

y1_

the starting y coordinate

y2_

the ending y coordinate

x

the x coordinate

gtk_paint_expander ()

void
gtk_paint_expander (GtkStyle *style,
                    cairo_t *cr,
                    GtkStateType state_type,
                    GtkWidget *widget,
                    const gchar *detail,
                    gint x,
                    gint y,
                    GtkExpanderStyle expander_style);

gtk_paint_expander has been deprecated since version 3.0 and should not be used in newly-written code.

Use gtk_render_expander() instead

Draws an expander as used in GtkTreeView. x and y specify the center the expander. The size of the expander is determined by the “expander-size” style property of widget . (If widget is not specified or doesn’t have an “expander-size” property, an unspecified default size will be used, since the caller doesn't have sufficient information to position the expander, this is likely not useful.) The expander is expander_size pixels tall in the collapsed position and expander_size pixels wide in the expanded position.

Parameters

style

a GtkStyle

cr

a cairo_t

state_type

a state

widget

the widget.

[allow-none]

detail

a style detail.

[allow-none]

x

the x position to draw the expander at

y

the y position to draw the expander at

expander_style

the style to draw the expander in; determines whether the expander is collapsed, expanded, or in an intermediate state.

gtk_paint_layout ()

void
gtk_paint_layout (GtkStyle *style,
                  cairo_t *cr,
                  GtkStateType state_type,
                  gboolean use_text,
                  GtkWidget *widget,
                  const gchar *detail,
                  gint x,
                  gint y,
                  PangoLayout *layout);

gtk_paint_layout has been deprecated since version 3.0 and should not be used in newly-written code.

Use gtk_render_layout() instead

Draws a layout on cr using the given parameters.

Parameters

style

a GtkStyle

cr

a cairo_t

state_type

a state

use_text

whether to use the text or foreground graphics context of style

widget

the widget.

[allow-none]

detail

a style detail.

[allow-none]

x

x origin

y

y origin

layout

the layout to draw

gtk_paint_resize_grip ()

void
gtk_paint_resize_grip (GtkStyle *style,
                       cairo_t *cr,
                       GtkStateType state_type,
                       GtkWidget *widget,
                       const gchar *detail,
                       GdkWindowEdge edge,
                       gint x,
                       gint y,
                       gint width,
                       gint height);

gtk_paint_resize_grip has been deprecated since version 3.0 and should not be used in newly-written code.

Use gtk_render_handle() instead

Draws a resize grip in the given rectangle on cr using the given parameters.

Parameters

style

a GtkStyle

cr

a cairo_t

state_type

a state

widget

the widget.

[allow-none]

detail

a style detail.

[allow-none]

edge

the edge in which to draw the resize grip

x

the x origin of the rectangle in which to draw the resize grip

y

the y origin of the rectangle in which to draw the resize grip

width

the width of the rectangle in which to draw the resize grip

height

the height of the rectangle in which to draw the resize grip

gtk_draw_insertion_cursor ()

void
gtk_draw_insertion_cursor (GtkWidget *widget,
                           cairo_t *cr,
                           const GdkRectangle *location,
                           gboolean is_primary,
                           GtkTextDirection direction,
                           gboolean draw_arrow);

gtk_draw_insertion_cursor has been deprecated since version 3.4 and should not be used in newly-written code.

Use gtk_render_insertion_cursor() instead.

Draws a text caret on cr at location . This is not a style function but merely a convenience function for drawing the standard cursor shape.

Parameters

widget

a GtkWidget

cr

cairo context to draw to

location

location where to draw the cursor (location->width is ignored)

is_primary

if the cursor should be the primary cursor color.

direction

whether the cursor is left-to-right or right-to-left. Should never be GTK_TEXT_DIR_NONE

draw_arrow

TRUE to draw a directional arrow on the cursor. Should be FALSE unless the cursor is split.

Since: 3.0

GtkRcPropertyParser ()

gboolean
(*GtkRcPropertyParser) (const GParamSpec *pspec,
                        const GString *rc_string,
                        GValue *property_value);

Types and Values

GtkStyle

typedef struct {
  GdkColor fg[5];
  GdkColor bg[5];
  GdkColor light[5];
  GdkColor dark[5];
  GdkColor mid[5];
  GdkColor text[5];
  GdkColor base[5];
  GdkColor text_aa[5];          /* Halfway between text/base */

  GdkColor black;
  GdkColor white;
  PangoFontDescription *font_desc;

  gint xthickness;
  gint ythickness;

  cairo_pattern_t *background[5];
} GtkStyle;

Members

GdkColor fg[5];

Set of foreground GdkColor

GdkColor bg[5];

Set of background GdkColor

GdkColor light[5];

Set of light GdkColor

GdkColor dark[5];

Set of dark GdkColor

GdkColor mid[5];

Set of mid GdkColor

GdkColor text[5];

Set of text GdkColor

GdkColor base[5];

Set of base GdkColor

GdkColor text_aa[5];

Color halfway between text/base

GdkColor black;

GdkColor to use for black

GdkColor white;

GdkColor to use for white

PangoFontDescription *font_desc;

PangoFontDescription

gint xthickness;

Thickness in X direction

gint ythickness;

Thickness in Y direction

cairo_pattern_t *background[5];

Set of background cairo_pattern_t

struct GtkStyleClass

struct GtkStyleClass {
  GObjectClass parent_class;

  /* Initialize for a particular visual. style->visual
   * will have been set at this point. Will typically chain
   * to parent.
   */
  void (*realize)               (GtkStyle               *style);

  /* Clean up for a particular visual. Will typically chain
   * to parent.
   */
  void (*unrealize)             (GtkStyle               *style);

  /* Make style an exact duplicate of src.
   */
  void (*copy)                  (GtkStyle               *style,
                                 GtkStyle               *src);

  /* Create an empty style of the same type as this style.
   * The default implementation, which does
   * g_object_new (G_OBJECT_TYPE (style), NULL);
   * should work in most cases.
   */
  GtkStyle *(*clone)             (GtkStyle               *style);

  /* Initialize the GtkStyle with the values in the GtkRcStyle.
   * should chain to the parent implementation.
   */
  void     (*init_from_rc)      (GtkStyle               *style,
                                 GtkRcStyle             *rc_style);

  void (*set_background)        (GtkStyle               *style,
                                 GdkWindow              *window,
                                 GtkStateType            state_type);

  GdkPixbuf * (* render_icon)   (GtkStyle               *style,
                                 const GtkIconSource    *source,
                                 GtkTextDirection        direction,
                                 GtkStateType            state,
                                 GtkIconSize             size,
                                 GtkWidget              *widget,
                                 const gchar            *detail);

  /* Drawing functions
   */

  void (*draw_hline)            (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x1,
                                 gint                    x2,
                                 gint                    y);
  void (*draw_vline)            (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    y1_,
                                 gint                    y2_,
                                 gint                    x);
  void (*draw_shadow)           (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_arrow)            (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 GtkArrowType            arrow_type,
                                 gboolean                fill,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_diamond)          (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_box)              (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_flat_box)         (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_check)            (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_option)           (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_tab)              (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_shadow_gap)       (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GtkWidget              *widget,
                                 const 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,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height,
                                 GtkPositionType         gap_side,
                                 gint                    gap_x,
                                 gint                    gap_width);
  void (*draw_extension)        (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height,
                                 GtkPositionType         gap_side);
  void (*draw_focus)            (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_slider)           (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height,
                                 GtkOrientation          orientation);
  void (*draw_handle)           (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkShadowType           shadow_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height,
                                 GtkOrientation          orientation);

  void (*draw_expander)         (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 GtkExpanderStyle        expander_style);
  void (*draw_layout)           (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 gboolean                use_text,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 gint                    x,
                                 gint                    y,
                                 PangoLayout            *layout);
  void (*draw_resize_grip)      (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 GdkWindowEdge           edge,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
  void (*draw_spinner)          (GtkStyle               *style,
                                 cairo_t                *cr,
                                 GtkStateType            state_type,
                                 GtkWidget              *widget,
                                 const gchar            *detail,
                                 guint                   step,
                                 gint                    x,
                                 gint                    y,
                                 gint                    width,
                                 gint                    height);
};

Members

realize ()

unrealize ()

copy ()

clone ()

init_from_rc ()

set_background ()

render_icon ()

draw_hline ()

draw_vline ()

draw_shadow ()

draw_arrow ()

draw_diamond ()

draw_box ()

draw_flat_box ()

draw_check ()

draw_option ()

draw_tab ()

draw_shadow_gap ()

draw_box_gap ()

draw_extension ()

draw_focus ()

draw_slider ()

draw_handle ()

draw_expander ()

draw_layout ()

draw_resize_grip ()

draw_spinner ()

enum GtkExpanderStyle

Used to specify the style of the expanders drawn by a GtkTreeView.

Members

GTK_EXPANDER_COLLAPSED

The style used for a collapsed subtree.

GTK_EXPANDER_SEMI_COLLAPSED

Intermediate style used during animation.

GTK_EXPANDER_SEMI_EXPANDED

Intermediate style used during animation.

GTK_EXPANDER_EXPANDED

The style used for an expanded subtree.

GtkRcProperty

typedef struct {
  /* quark-ified property identifier like “GtkScrollbar::spacing” */
  GQuark type_name;
  GQuark property_name;

  /* fields similar to GtkSettingsValue */
  gchar *origin;
  GValue value;
} GtkRcProperty;

Deprecated

Members

GQuark type_name;

quark-ified type identifier

GQuark property_name;

quark-ified property identifier like “GtkScrollbar::spacing”

gchar *origin;

field similar to one found in GtkSettingsValue

GValue value;

field similar to one found in GtkSettingsValue

Property Details

The “context” property

  “context”                  GtkStyleContext *

GtkStyleContext to get style from.

Owner: GtkStyle

Flags: Read / Write / Construct Only

Signal Details

The “realize” signal

void
user_function (GtkStyle *style,
               gpointer  user_data)

Emitted when the style has been initialized for a particular visual. Connecting to this signal is probably seldom useful since most of the time applications and widgets only deal with styles that have been already realized.

Parameters

style

the object which received the signal

user_data

user data set when the signal handler was connected.

Flags: Run First

Since: 2.4

The “unrealize” signal

void
user_function (GtkStyle *style,
               gpointer  user_data)

Emitted when the aspects of the style specific to a particular visual is being cleaned up. A connection to this signal can be useful if a widget wants to cache objects as object data on GtkStyle. This signal provides a convenient place to free such cached objects.

Parameters

style

the object which received the signal

user_data

user data set when the signal handler was connected.

Flags: Run First

Since: 2.4

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.24/GtkStyle.html