# lv_obj_style_private.h (/api/core/lv_obj_style_private_h)



<RelatedHeaders name="lv_obj_style.h" isPrivate="true" />

<ApiSummary functions="5" structs="2" />

Functions [#functions]

<ApiMember kind="function" name="lv_obj_style_init" file="core/lv_obj_style_private.h" line="54" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/core/lv_obj_style_private.h#L54">
  lv_obj_style_init [#lv_obj_style_init]

  Initialize the object related style manager module. Called by LVGL in <ApiLink name="lv_init" display="lv_init()" />

  ```c title=" " lineNumbers=1
  void lv_obj_style_init(void)
  ```
</ApiMember>

<ApiMember kind="function" name="lv_obj_style_deinit" file="core/lv_obj_style_private.h" line="60" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/core/lv_obj_style_private.h#L60">
  lv_obj_style_deinit [#lv_obj_style_deinit]

  Deinitialize the object related style manager module. Called by LVGL in <ApiLink name="lv_deinit" display="lv_deinit()" />

  ```c title=" " lineNumbers=1
  void lv_obj_style_deinit(void)
  ```
</ApiMember>

<ApiMember kind="function" name="lv_obj_style_create_transition" file="core/lv_obj_style_private.h" line="70" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/core/lv_obj_style_private.h#L70">
  lv_obj_style_create_transition [#lv_obj_style_create_transition]

  Used internally to create a style transition

  ```c title=" " lineNumbers=1
  void lv_obj_style_create_transition(lv_obj_t *obj, lv_part_t part, lv_state_t prev_state, lv_state_t new_state, const lv_obj_style_transition_dsc_t *tr)
  ```

  <span className="sr-only">
    Parameters
  </span>

  | Name         | Type                                                                                             |
  | ------------ | ------------------------------------------------------------------------------------------------ |
  | `obj`        | <ApiLink name="lv_obj_t" display="lv_obj_t *" />                                                 |
  | `part`       | <ApiLink name="lv_part_t" />                                                                     |
  | `prev_state` | <ApiLink name="lv_state_t" />                                                                    |
  | `new_state`  | <ApiLink name="lv_state_t" />                                                                    |
  | `tr`         | <ApiLink name="lv_obj_style_transition_dsc_t" display="const lv_obj_style_transition_dsc_t *" /> |
</ApiMember>

<ApiMember kind="function" name="lv_obj_style_state_compare" file="core/lv_obj_style_private.h" line="80" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/core/lv_obj_style_private.h#L80">
  lv_obj_style_state_compare [#lv_obj_style_state_compare]

  Used internally to compare the appearance of an object in 2 states

  ```c title=" " lineNumbers=1
  lv_style_state_cmp_t lv_obj_style_state_compare(lv_obj_t *obj, lv_state_t state1, lv_state_t state2)
  ```

  <span className="sr-only">
    Parameters
  </span>

  | Name     | Type                                             |
  | -------- | ------------------------------------------------ |
  | `obj`    | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> |
  | `state1` | <ApiLink name="lv_state_t" />                    |
  | `state2` | <ApiLink name="lv_state_t" />                    |
</ApiMember>

<ApiMember kind="function" name="lv_obj_update_layer_type" file="core/lv_obj_style_private.h" line="87" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/core/lv_obj_style_private.h#L87">
  lv_obj_update_layer_type [#lv_obj_update_layer_type]

  Update the layer type of a widget bayed on its current styles. The result will be stored in `obj->spec_attr->layer_type`

  ```c title=" " lineNumbers=1
  void lv_obj_update_layer_type(lv_obj_t *obj)
  ```

  <span className="sr-only">
    Parameters
  </span>

  | Name  | Type                                             | Description                              |
  | ----- | ------------------------------------------------ | ---------------------------------------- |
  | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | the object whose layer should be updated |
</ApiMember>

Structs [#structs]

<ApiMember kind="struct" name="_lv_obj_style_t">
  \_lv_obj_style_t [#_lv_obj_style_t]

  | Member        | Type                                                       | Description                   |
  | ------------- | ---------------------------------------------------------- | ----------------------------- |
  | `style`       | <ApiLink name="lv_style_t" display="const lv_style_t *" /> |                               |
  | `selector`    | <ApiLink name="uint32_t" />                                |                               |
  | `is_local`    | <ApiLink name="uint32_t" />                                |                               |
  | `is_trans`    | <ApiLink name="uint32_t" />                                |                               |
  | `is_disabled` | <ApiLink name="uint32_t" />                                |                               |
  | `is_theme`    | <ApiLink name="uint32_t" />                                | The style is added by a theme |
</ApiMember>

<ApiMember kind="struct" name="_lv_obj_style_transition_dsc_t">
  \_lv_obj_style_transition_dsc_t [#_lv_obj_style_transition_dsc_t]

  | Member      | Type                                   | Description |
  | ----------- | -------------------------------------- | ----------- |
  | `time`      | <ApiLink name="uint16_t" />            |             |
  | `delay`     | <ApiLink name="uint16_t" />            |             |
  | `selector`  | <ApiLink name="lv_style_selector_t" /> |             |
  | `prop`      | <ApiLink name="lv_style_prop_t" />     |             |
  | `path_cb`   | <ApiLink name="lv_anim_path_cb_t" />   |             |
  | `user_data` | `void *`                               |             |
</ApiMember>

Dependencies [#dependencies]

<FileIncludes includes="[&#x22;lv_obj_style.h&#x22;]" transitiveIncludes="[&#x22;lv_anim.h&#x22;, &#x22;lv_area.h&#x22;, &#x22;lv_assert.h&#x22;, &#x22;lv_bidi.h&#x22;, &#x22;lv_color.h&#x22;, &#x22;lv_color_op.h&#x22;, &#x22;lv_conf_internal.h&#x22;, &#x22;lv_conf_kconfig.h&#x22;, &#x22;lv_draw_buf.h&#x22;, &#x22;lv_ext_data.h&#x22;, &#x22;lv_flex.h&#x22;, &#x22;lv_font.h&#x22;, &#x22;lv_grad.h&#x22;, &#x22;lv_grid.h&#x22;, &#x22;lv_image_dsc.h&#x22;, &#x22;lv_layout.h&#x22;, &#x22;lv_ll.h&#x22;, &#x22;lv_log.h&#x22;, &#x22;lv_math.h&#x22;, &#x22;lv_mem.h&#x22;, &#x22;lv_obj_style_gen.h&#x22;, &#x22;lv_palette.h&#x22;, &#x22;lv_sprintf.h&#x22;, &#x22;lv_string.h&#x22;, &#x22;lv_style.h&#x22;, &#x22;lv_style_gen.h&#x22;, &#x22;lv_symbol_def.h&#x22;, &#x22;lv_text.h&#x22;, &#x22;lv_tick.h&#x22;, &#x22;lv_timer.h&#x22;, &#x22;lv_types.h&#x22;]" />
