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



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

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

Functions [#functions]

<ApiTabs items="[&#x22;Getters (1)&#x22;,&#x22;Other (7)&#x22;]">
  <ApiTab value="Getters (1)">
    <ApiMember kind="function" name="lv_obj_get_style_prop_internal" file="private/core/lv_obj_style_private.h" line="98" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/src/core/lv_obj_style_private.h#L98">
      lv_obj_get_style_prop_internal [#lv_obj_get_style_prop_internal]

      Internal implementation of <ApiLink name="lv_obj_get_style_prop" /> Does not do any argument checking

      ```c title=" " lineNumbers=1
      lv_style_value_t lv_obj_get_style_prop_internal(const lv_obj_t *obj, lv_part_t part, lv_style_prop_t prop)
      ```

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

      | Name   | Type                                                   |
      | ------ | ------------------------------------------------------ |
      | `obj`  | <ApiLink name="lv_obj_t" display="const lv_obj_t *" /> |
      | `part` | <ApiLink name="lv_part_t" />                           |
      | `prop` | <ApiLink name="lv_style_prop_t" />                     |
    </ApiMember>
  </ApiTab>

  <ApiTab value="Other (7)">
    <ApiMember kind="function" name="lv_obj_style_init" file="private/core/lv_obj_style_private.h" line="54" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/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="private/core/lv_obj_style_private.h" line="60" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/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="private/core/lv_obj_style_private.h" line="70" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/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_dsc)
      ```

      <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_dsc`     | <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="private/core/lv_obj_style_private.h" line="84" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/src/core/lv_obj_style_private.h#L84">
      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, lv_part_t *changed_part)
      ```

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

      | Name           | Type                                               | Description                                                                                                                                                                                                               |
      | -------------- | -------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
      | `obj`          | <ApiLink name="lv_obj_t" display="lv_obj_t *" />   |                                                                                                                                                                                                                           |
      | `state1`       | <ApiLink name="lv_state_t" />                      |                                                                                                                                                                                                                           |
      | `state2`       | <ApiLink name="lv_state_t" />                      |                                                                                                                                                                                                                           |
      | `changed_part` | <ApiLink name="lv_part_t" display="lv_part_t *" /> | optional (may be NULL) out-param. Receives the part that the differing styles belong to, or `LV_PART_ANY` if more than one part differs (or none does). Lets the caller scope the refresh to a single part when possible. |
    </ApiMember>

    <ApiMember kind="function" name="lv_obj_update_layer_type" file="private/core/lv_obj_style_private.h" line="92" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/src/core/lv_obj_style_private.h#L92">
      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>

    <ApiMember kind="function" name="lv_obj_style_apply_color_filter_internal" file="private/core/lv_obj_style_private.h" line="105" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/src/core/lv_obj_style_private.h#L105">
      lv_obj_style_apply_color_filter_internal [#lv_obj_style_apply_color_filter_internal]

      Internal implementation of <ApiLink name="lv_obj_style_apply_color_filter" /> Does not do any argument checking

      ```c title=" " lineNumbers=1
      lv_style_value_t lv_obj_style_apply_color_filter_internal(const lv_obj_t *obj, lv_part_t part, lv_style_value_t v)
      ```

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

      | Name   | Type                                                   |
      | ------ | ------------------------------------------------------ |
      | `obj`  | <ApiLink name="lv_obj_t" display="const lv_obj_t *" /> |
      | `part` | <ApiLink name="lv_part_t" />                           |
      | `v`    | <ApiLink name="lv_style_value_t" />                    |
    </ApiMember>

    <ApiMember kind="function" name="lv_obj_update_blur_status" file="private/core/lv_obj_style_private.h" line="113" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/src/core/lv_obj_style_private.h#L113">
      lv_obj_update_blur_status [#lv_obj_update_blur_status]

      Update the cached blur status of a widget based on its current styles and state, and maintain the global count of widgets with blur (blur\_obj\_cnt in lv\_global\_t). The result will be stored in `obj->has_blur`.

      ```c title=" " lineNumbers=1
      void lv_obj_update_blur_status(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 blur status should be updated |
    </ApiMember>
  </ApiTab>
</ApiTabs>

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`    | `uint32_t`                                                 |                               |
  | `is_local`    | `uint32_t`                                                 |                               |
  | `is_trans`    | `uint32_t`                                                 |                               |
  | `is_disabled` | `uint32_t`                                                 |                               |
  | `is_theme`    | `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 |
  | ----------- | -------------------------------------- | ----------- |
  | `path_cb`   | <ApiLink name="lv_anim_path_cb_t" />   |             |
  | `user_data` | `void *`                               |             |
  | `selector`  | <ApiLink name="lv_style_selector_t" /> |             |
  | `time`      | `uint16_t`                             |             |
  | `delay`     | `uint16_t`                             |             |
  | `prop`      | <ApiLink name="lv_style_prop_t" />     |             |
</ApiMember>

Dependencies [#dependencies]

<FileIncludes includes="[&#x22;lvgl_public.h&#x22;]" includedBy="[&#x22;lv_obj_style_internal_gen.h&#x22;, &#x22;lvgl_private.h&#x22;]" />
