# lv_draw_label_private.h (/api/private/draw/lv_draw_label_private_h)



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

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

Functions [#functions]

<ApiMember kind="function" name="lv_draw_unit_draw_letter_internal" file="private/draw/lv_draw_label_private.h" line="66" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/src/draw/lv_draw_label_private.h#L66">
  lv_draw_unit_draw_letter_internal [#lv_draw_unit_draw_letter_internal]

  ```c title=" " lineNumbers=1
  void lv_draw_unit_draw_letter_internal(lv_draw_task_t *t, lv_draw_glyph_dsc_t *dsc, const lv_point_t *pos, const lv_font_t *font, uint32_t letter, lv_draw_glyph_cb_t cb)
  ```

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

  | Name     | Type                                                                   |
  | -------- | ---------------------------------------------------------------------- |
  | `t`      | <ApiLink name="lv_draw_task_t" display="lv_draw_task_t *" />           |
  | `dsc`    | <ApiLink name="lv_draw_glyph_dsc_t" display="lv_draw_glyph_dsc_t *" /> |
  | `pos`    | <ApiLink name="lv_point_t" display="const lv_point_t *" />             |
  | `font`   | <ApiLink name="lv_font_t" display="const lv_font_t *" />               |
  | `letter` | `uint32_t`                                                             |
  | `cb`     | <ApiLink name="lv_draw_glyph_cb_t" />                                  |
</ApiMember>

Structs [#structs]

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

  Store some info to speed up drawing of very large texts It takes a lot of time to get the first visible character because all the previous characters needs to be checked to calculate the positions. This structure stores an earlier (e.g. at -1000 px) coordinate and the index of that line. Therefore the calculations can start from here.

  | Member       | Type      | Description                                                                                                            |
  | ------------ | --------- | ---------------------------------------------------------------------------------------------------------------------- |
  | `line_start` | `int32_t` | Index of the line at `y` coordinate                                                                                    |
  | `y`          | `int32_t` | Give the `y` coordinate of the first letter at `line start` index. Relative to the label's coordinates                 |
  | `coord_y`    | `int32_t` | The 'y1' coordinate of the label when the hint was saved. Used to invalidate the hint if the label has moved too much. |
</ApiMember>

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

  | Member                 | Type                                                                   | Description                                                                               |
  | ---------------------- | ---------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
  | `glyph_data`           | `const void *`                                                         | Depends on `format` field, it could be image source or draw buf of bitmap or vector data. |
  | `format`               | <ApiLink name="lv_font_glyph_format_t" />                              |                                                                                           |
  | `letter_coords`        | <ApiLink name="lv_area_t" display="const lv_area_t *" />               |                                                                                           |
  | `bg_coords`            | <ApiLink name="lv_area_t" display="const lv_area_t *" />               |                                                                                           |
  | `g`                    | <ApiLink name="lv_font_glyph_dsc_t" display="lv_font_glyph_dsc_t *" /> |                                                                                           |
  | `color`                | <ApiLink name="lv_color_t" />                                          |                                                                                           |
  | `opa`                  | <ApiLink name="lv_opa_t" />                                            |                                                                                           |
  | `outline_stroke_color` | <ApiLink name="lv_color_t" />                                          |                                                                                           |
  | `outline_stroke_opa`   | <ApiLink name="lv_opa_t" />                                            |                                                                                           |
  | `outline_stroke_width` | `int32_t`                                                              |                                                                                           |
  | `rotation`             | `int32_t`                                                              |                                                                                           |
  | `pivot`                | <ApiLink name="lv_point_t" />                                          | Rotation pivot point associated with total glyph including line\_height                   |
  | `_draw_buf`            | <ApiLink name="lv_draw_buf_t" display="lv_draw_buf_t *" />             | a shared draw buf for get\_bitmap, do not use it directly, use glyph\_data instead        |
</ApiMember>

Dependencies [#dependencies]

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