### Constructor

# St ThemeNode new

#### Declaration [src]

    StThemeNode*
    st_theme_node_new (
      StThemeContext* context,
      StThemeNode* parent_node,
      StTheme* theme,
      GType element_type,
      const char* element_id,
      const char* element_class,
      const char* pseudo_class,
      const char* inline_style
    )

#### Description [src]

Creates a new `StThemeNode`. Once created, a node is immutable. If any of the attributes of the node (like the `element_class`) change the node and its child nodes must be destroyed and recreated.

#### Parameters

`context`

  Type: `StThemeContext`

  The context representing global state for this themed tree.

  The data is owned by the caller of the function.

`parent_node`

  Type: `StThemeNode`

  The parent node of this node.

  The argument can be `NULL`.
  The data is owned by the caller of the function.

`theme`

  Type: `StTheme`

  A theme (stylesheet set) that overrides the theme inherited from the parent node.

  The argument can be `NULL`.
  The data is owned by the caller of the function.

`element_type`

  Type: `GType`

  The type of the GObject represented by this node in the tree (corresponding to an element if we were theming an XML document. `G_TYPE_NONE` means this style was created for the stage actor and matches a selector element name of ‘stage’.

`element_id`

  Type: `const char*`

  The ID to match CSS rules against.

  The argument can be `NULL`.
  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`element_class`

  Type: `const char*`

  A whitespace-separated list of classes to match CSS rules against.

  The argument can be `NULL`.
  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`pseudo_class`

  Type: `const char*`

  A whitespace-separated list of pseudo-classes (like ‘hover’ or ‘visited’) to match CSS rules against.

  The argument can be `NULL`.
  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`inline_style`

  Type: `const char*`

  No description available.

  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

#### Return value

Type: `StThemeNode`

A new `StThemeNode`.

The caller of the function takes ownership of the data, and is responsible for freeing it.