# lv_refr.h (/api/core/lv_refr_h)



<RelatedHeaders name="lv_refr_private.h" isPrivate="false" />

<ApiSummary functions="3" />

Functions [#functions]

<ApiMember kind="function" name="lv_refr_now" file="core/lv_refr.h" line="51" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/core/lv_refr.h#L51">
  lv_refr_now [#lv_refr_now]

  Redraw the invalidated areas now. Normally the redrawing is periodically executed in `lv_timer_handler` but a long blocking process can prevent the call of `lv_timer_handler`. In this case if the GUI is updated in the process (e.g. progress bar) this function can be called when the screen should be updated.

  ```c title=" " lineNumbers=1
  void lv_refr_now(lv_display_t *disp)
  ```

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

  | Name   | Type                                                     | Description                                                  |
  | ------ | -------------------------------------------------------- | ------------------------------------------------------------ |
  | `disp` | <ApiLink name="lv_display_t" display="lv_display_t *" /> | pointer to display to refresh. NULL to refresh all displays. |
</ApiMember>

<ApiMember kind="function" name="lv_obj_redraw" file="core/lv_refr.h" line="58" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/core/lv_refr.h#L58">
  lv_obj_redraw [#lv_obj_redraw]

  Redrawn on object and all its children using the passed draw context

  ```c title=" " lineNumbers=1
  void lv_obj_redraw(lv_layer_t *layer, lv_obj_t *obj)
  ```

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

  | Name    | Type                                                 | Description                                   |
  | ------- | ---------------------------------------------------- | --------------------------------------------- |
  | `layer` | <ApiLink name="lv_layer_t" display="lv_layer_t *" /> | pointer to a layer where to draw.             |
  | `obj`   | <ApiLink name="lv_obj_t" display="lv_obj_t *" />     | the start object from the redraw should start |
</ApiMember>

<ApiMember kind="function" name="lv_display_refr_timer" file="core/lv_refr.h" line="64" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/core/lv_refr.h#L64">
  lv_display_refr_timer [#lv_display_refr_timer]

  Called periodically to handle the refreshing

  ```c title=" " lineNumbers=1
  void lv_display_refr_timer(lv_timer_t *timer)
  ```

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

  | Name    | Type                                                 | Description                            |
  | ------- | ---------------------------------------------------- | -------------------------------------- |
  | `timer` | <ApiLink name="lv_timer_t" display="lv_timer_t *" /> | pointer to the timer itself, or `NULL` |
</ApiMember>

Dependencies [#dependencies]

<FileIncludes includes="[&#x22;lv_obj.h&#x22;, &#x22;lv_display.h&#x22;, &#x22;lv_types.h&#x22;]" includedBy="[&#x22;lv_refr_private.h&#x22;]" transitiveIncludes="[&#x22;lv_anim.h&#x22;, &#x22;lv_area.h&#x22;, &#x22;lv_array.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.h&#x22;, &#x22;lv_draw_arc.h&#x22;, &#x22;lv_draw_blur.h&#x22;, &#x22;lv_draw_buf.h&#x22;, &#x22;lv_draw_image.h&#x22;, &#x22;lv_draw_label.h&#x22;, &#x22;lv_draw_line.h&#x22;, &#x22;lv_draw_rect.h&#x22;, &#x22;lv_draw_triangle.h&#x22;, &#x22;lv_event.h&#x22;, &#x22;lv_ext_data.h&#x22;, &#x22;lv_flex.h&#x22;, &#x22;lv_font.h&#x22;, &#x22;lv_fs.h&#x22;, &#x22;lv_grad.h&#x22;, &#x22;lv_grid.h&#x22;, &#x22;lv_group.h&#x22;, &#x22;lv_image_decoder.h&#x22;, &#x22;lv_image_dsc.h&#x22;, &#x22;lv_indev.h&#x22;, &#x22;lv_layout.h&#x22;, &#x22;lv_ll.h&#x22;, &#x22;lv_log.h&#x22;, &#x22;lv_math.h&#x22;, &#x22;lv_matrix.h&#x22;, &#x22;lv_mem.h&#x22;, &#x22;lv_obj_class.h&#x22;, &#x22;lv_obj_draw.h&#x22;, &#x22;lv_obj_event.h&#x22;, &#x22;lv_obj_pos.h&#x22;, &#x22;lv_obj_property.h&#x22;, &#x22;lv_obj_property_names.h&#x22;, &#x22;lv_obj_scroll.h&#x22;, &#x22;lv_obj_style.h&#x22;, &#x22;lv_obj_style_gen.h&#x22;, &#x22;lv_obj_tree.h&#x22;, &#x22;lv_palette.h&#x22;, &#x22;lv_profiler.h&#x22;, &#x22;lv_profiler_builtin.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_style_properties.h&#x22;, &#x22;lv_symbol_def.h&#x22;, &#x22;lv_text.h&#x22;, &#x22;lv_tick.h&#x22;, &#x22;lv_timer.h&#x22;]" />
