# lv_indev_scroll.h (/api/indev/lv_indev_scroll_h)



<ApiSummary functions="4" />

Functions [#functions]

<ApiTabs items="[&#x22;Getters (1)&#x22;,&#x22;Other (3)&#x22;]">
  <ApiTab value="Getters (1)">
    <ApiMember kind="function" name="lv_indev_scroll_get_snap_dist" file="indev/lv_indev_scroll.h" line="55" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/indev/lv_indev_scroll.h#L55">
      lv_indev_scroll_get_snap_dist [#lv_indev_scroll_get_snap_dist]

      Get the distance of the nearest snap point

      ```c title=" " lineNumbers=1
      void lv_indev_scroll_get_snap_dist(lv_obj_t *obj, lv_point_t *p)
      ```

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

      | Name  | Type                                                 | Description                                     |
      | ----- | ---------------------------------------------------- | ----------------------------------------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" />     | the object on which snap points should be found |
      | `p`   | <ApiLink name="lv_point_t" display="lv_point_t *" /> | save the distance of the found snap point there |
    </ApiMember>
  </ApiTab>

  <ApiTab value="Other (3)">
    <ApiMember kind="function" name="lv_indev_scroll_handler" file="indev/lv_indev_scroll.h" line="34" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/indev/lv_indev_scroll.h#L34">
      lv_indev_scroll_handler [#lv_indev_scroll_handler]

      Handle scrolling. Called by LVGL during input device processing

      ```c title=" " lineNumbers=1
      void lv_indev_scroll_handler(lv_indev_t *indev)
      ```

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

      | Name    | Type                                                 | Description                |
      | ------- | ---------------------------------------------------- | -------------------------- |
      | `indev` | <ApiLink name="lv_indev_t" display="lv_indev_t *" /> | pointer to an input device |
    </ApiMember>

    <ApiMember kind="function" name="lv_indev_scroll_throw_handler" file="indev/lv_indev_scroll.h" line="40" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/indev/lv_indev_scroll.h#L40">
      lv_indev_scroll_throw_handler [#lv_indev_scroll_throw_handler]

      Handle throwing after scrolling. Called by LVGL during input device processing

      ```c title=" " lineNumbers=1
      void lv_indev_scroll_throw_handler(lv_indev_t *indev)
      ```

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

      | Name    | Type                                                 | Description                |
      | ------- | ---------------------------------------------------- | -------------------------- |
      | `indev` | <ApiLink name="lv_indev_t" display="lv_indev_t *" /> | pointer to an input device |
    </ApiMember>

    <ApiMember kind="function" name="lv_indev_scroll_throw_predict" file="indev/lv_indev_scroll.h" line="48" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/indev/lv_indev_scroll.h#L48">
      lv_indev_scroll_throw_predict [#lv_indev_scroll_throw_predict]

      Predict where would a scroll throw end

      ```c title=" " lineNumbers=1
      int32_t lv_indev_scroll_throw_predict(lv_indev_t *indev, lv_dir_t dir)
      ```

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

      | Name    | Type                                                 | Description                  |
      | ------- | ---------------------------------------------------- | ---------------------------- |
      | `indev` | <ApiLink name="lv_indev_t" display="lv_indev_t *" /> | pointer to an input device   |
      | `dir`   | <ApiLink name="lv_dir_t" />                          | `LV_DIR_VER` or `LV_DIR_HOR` |

      **Returns:** <ApiLink name="int32_t" /> — the difference compared to the current position when the throw would be finished
    </ApiMember>
  </ApiTab>
</ApiTabs>

Dependencies [#dependencies]

<FileIncludes includes="[&#x22;lv_obj.h&#x22;]" includedBy="[&#x22;lv_indev_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_display.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;, &#x22;lv_types.h&#x22;]" />
