## st-theme-context

st-theme-context — holds global information about a tree of styled objects

## Functions

StThemeContext * | st_theme_context_new ()
StThemeContext * | st_theme_context_get_for_stage ()
void | st_theme_context_set_theme ()
StTheme * | st_theme_context_get_theme ()
void | st_theme_context_set_font ()
const PangoFontDescription * | st_theme_context_get_font ()
StThemeNode * | st_theme_context_get_root_node ()
StThemeNode * | st_theme_context_intern_node ()

## Properties

gint | scale-factor | Read / Write

## Signals

void | changed | Run Last

## Types and Values

#define | ST_TYPE_THEME_CONTEXT
| StThemeContext

## Object Hierarchy

        GObject
        ╰── StThemeContext

## Description

StThemeContext is responsible for managing information global to a tree of styled objects, such as the set of stylesheets or the default font. In normal usage, a StThemeContext is bound to a ClutterStage; a singleton StThemeContext can be obtained for a ClutterStage by using `st_theme_context_get_for_stage()`.

## Functions

### st_theme_context_new ()

    StThemeContext *
    st_theme_context_new (void);

Create a new theme context not associated with any ClutterStage. This can be useful in testing scenarios, or if using StThemeContext with something other than ClutterActor objects, but you generally should use `st_theme_context_get_for_stage()` instead.

### st_theme_context_get_for_stage ()

    StThemeContext *
    st_theme_context_get_for_stage (ClutterStage *stage);

Gets a singleton theme context associated with the stage.

#### Parameters

stage | a ClutterStage |

#### Returns

the singleton theme context for the stage.

[transfer none]

### st_theme_context_set_theme ()

    void
    st_theme_context_set_theme (StThemeContext *context,
                                StTheme *theme);

Sets the default set of theme stylesheets for the context. This theme will be used for the root node and for nodes descending from it, unless some other style is explicitely specified.

#### Parameters

context | a StThemeContext |

### st_theme_context_get_theme ()

    StTheme *
    st_theme_context_get_theme (StThemeContext *context);

Gets the default theme for the context. See `st_theme_context_set_theme()`

#### Parameters

context | a StThemeContext |

#### Returns

the default theme for the context.

[transfer none]

### st_theme_context_set_font ()

    void
    st_theme_context_set_font (StThemeContext *context,
                               const PangoFontDescription *font);

Sets the default font for the theme context. This is the font that is inherited by the root node of the tree of theme nodes. If the font is not overriden, then this font will be used. If the font is partially modified (for example, with 'font-size: 110%', then that modification is based on this font.

#### Parameters

context | a StThemeContext |
font | the default font for theme context |

### st_theme_context_get_font ()

    const PangoFontDescription *
    st_theme_context_get_font (StThemeContext *context);

Gets the default font for the theme context. See `st_theme_context_set_font()`.

#### Parameters

context | a StThemeContext |

#### Returns

the default font for the theme context.

### st_theme_context_get_root_node ()

    StThemeNode *
    st_theme_context_get_root_node (StThemeContext *context);

Gets the root node of the tree of theme style nodes that associated with this context. For the node tree associated with a stage, this node represents styles applied to the stage itself.

#### Parameters

context | a StThemeContext |

#### Returns

the root node of the context's style tree.

[transfer none]

### st_theme_context_intern_node ()

    StThemeNode *
    st_theme_context_intern_node (StThemeContext *context,
                                  StThemeNode *node);

Return an existing node matching `node` , or if that isn't possible, `node` itself.

#### Parameters

context | a StThemeContext |
node | a StThemeNode |

#### Returns

a node with the same properties as `node` .

[transfer none]

## Types and Values

### ST_TYPE_THEME_CONTEXT

    #define ST_TYPE_THEME_CONTEXT             (st_theme_context_get_type ())

### StThemeContext

    typedef struct _StThemeContext StThemeContext;

## Property Details

### The `“scale-factor”` property

      “scale-factor”             gint

The scaling factor used or high dpi scaling.

Flags: Read / Write

Allowed values: >= 0

Default value: 1

## Signal Details

### The `“changed”` signal

    void
    user_function (StThemeContext *stthemecontext,
                   gpointer        user_data)

Flags: Run Last