mikroSDK Reference Manual
lv_obj_pos.h
Go to the documentation of this file.
1
6#ifndef LV_OBJ_POS_H
7#define LV_OBJ_POS_H
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13/*********************
14 * INCLUDES
15 *********************/
16#include "../misc/lv_area.h"
17
18/*********************
19 * DEFINES
20 *********************/
21
22/**********************
23 * TYPEDEFS
24 **********************/
25struct _lv_obj_t;
26
27typedef void (*lv_layout_update_cb_t)(struct _lv_obj_t *, void * user_data);
28typedef struct {
29 lv_layout_update_cb_t cb;
30 void * user_data;
32
33/**********************
34 * GLOBAL PROTOTYPES
35 **********************/
36
47void lv_obj_set_pos(struct _lv_obj_t * obj, lv_coord_t x, lv_coord_t y);
48
58void lv_obj_set_x(struct _lv_obj_t * obj, lv_coord_t x);
59
69void lv_obj_set_y(struct _lv_obj_t * obj, lv_coord_t y);
70
82void lv_obj_set_size(struct _lv_obj_t * obj, lv_coord_t w, lv_coord_t h);
83
89bool lv_obj_refr_size(struct _lv_obj_t * obj);
90
101void lv_obj_set_width(struct _lv_obj_t * obj, lv_coord_t w);
102
113void lv_obj_set_height(struct _lv_obj_t * obj, lv_coord_t h);
114
120void lv_obj_set_content_width(struct _lv_obj_t * obj, lv_coord_t w);
121
127void lv_obj_set_content_height(struct _lv_obj_t * obj, lv_coord_t h);
128
134void lv_obj_set_layout(struct _lv_obj_t * obj, uint32_t layout);
135
141bool lv_obj_is_layout_positioned(const struct _lv_obj_t * obj);
142
148
153void lv_obj_update_layout(const struct _lv_obj_t * obj);
154
161uint32_t lv_layout_register(lv_layout_update_cb_t cb, void * user_data);
162
168void lv_obj_set_align(struct _lv_obj_t * obj, lv_align_t align);
169
180void lv_obj_align(struct _lv_obj_t * obj, lv_align_t align, lv_coord_t x_ofs, lv_coord_t y_ofs);
181
191void lv_obj_align_to(struct _lv_obj_t * obj, const struct _lv_obj_t * base, lv_align_t align, lv_coord_t x_ofs,
192 lv_coord_t y_ofs);
193
199static inline void lv_obj_center(struct _lv_obj_t * obj)
200{
201 lv_obj_align(obj, LV_ALIGN_CENTER, 0, 0);
202}
203
204
210void lv_obj_get_coords(const struct _lv_obj_t * obj, lv_area_t * coords);
211
222lv_coord_t lv_obj_get_x(const struct _lv_obj_t * obj);
223
234lv_coord_t lv_obj_get_x2(const struct _lv_obj_t * obj);
235
246lv_coord_t lv_obj_get_y(const struct _lv_obj_t * obj);
247
258lv_coord_t lv_obj_get_y2(const struct _lv_obj_t * obj);
259
265lv_coord_t lv_obj_get_x_aligned(const struct _lv_obj_t * obj);
266
272lv_coord_t lv_obj_get_y_aligned(const struct _lv_obj_t * obj);
273
281lv_coord_t lv_obj_get_width(const struct _lv_obj_t * obj);
282
290lv_coord_t lv_obj_get_height(const struct _lv_obj_t * obj);
291
299lv_coord_t lv_obj_get_content_width(const struct _lv_obj_t * obj);
300
308lv_coord_t lv_obj_get_content_height(const struct _lv_obj_t * obj);
309
317void lv_obj_get_content_coords(const struct _lv_obj_t * obj, lv_area_t * area);
318
326lv_coord_t lv_obj_get_self_width(const struct _lv_obj_t * obj);
327
335lv_coord_t lv_obj_get_self_height(const struct _lv_obj_t * obj);
336
343
344void lv_obj_refr_pos(struct _lv_obj_t * obj);
345
346void lv_obj_move_to(struct _lv_obj_t * obj, lv_coord_t x, lv_coord_t y);
347
348
349void lv_obj_move_children_by(struct _lv_obj_t * obj, lv_coord_t x_diff, lv_coord_t y_diff, bool ignore_floating);
350
358void lv_obj_transform_point(const struct _lv_obj_t * obj, lv_point_t * p, bool recursive, bool inv);
359
367void lv_obj_get_transformed_area(const struct _lv_obj_t * obj, lv_area_t * area, bool recursive, bool inv);
368
375void lv_obj_invalidate_area(const struct _lv_obj_t * obj, const lv_area_t * area);
376
381void lv_obj_invalidate(const struct _lv_obj_t * obj);
382
389bool lv_obj_area_is_visible(const struct _lv_obj_t * obj, lv_area_t * area);
390
396bool lv_obj_is_visible(const struct _lv_obj_t * obj);
397
403void lv_obj_set_ext_click_area(struct _lv_obj_t * obj, lv_coord_t size);
404
411void lv_obj_get_click_area(const struct _lv_obj_t * obj, lv_area_t * area);
412
419bool lv_obj_hit_test(struct _lv_obj_t * obj, const lv_point_t * point);
420
429lv_coord_t lv_clamp_width(lv_coord_t width, lv_coord_t min_width, lv_coord_t max_width, lv_coord_t ref_width);
430
439lv_coord_t lv_clamp_height(lv_coord_t height, lv_coord_t min_height, lv_coord_t max_height, lv_coord_t ref_height);
440
441/**********************
442 * MACROS
443 **********************/
444
445#ifdef __cplusplus
446} /*extern "C"*/
447#endif
448
449#endif /*LV_OBJ_POS_H*/
void lv_obj_set_width(struct _lv_obj_t *obj, lv_coord_t w)
bool lv_obj_refr_size(struct _lv_obj_t *obj)
lv_coord_t lv_obj_get_y_aligned(const struct _lv_obj_t *obj)
bool lv_obj_is_layout_positioned(const struct _lv_obj_t *obj)
void lv_obj_invalidate_area(const struct _lv_obj_t *obj, const lv_area_t *area)
lv_coord_t lv_obj_get_width(const struct _lv_obj_t *obj)
void lv_obj_align(struct _lv_obj_t *obj, lv_align_t align, lv_coord_t x_ofs, lv_coord_t y_ofs)
bool lv_obj_is_visible(const struct _lv_obj_t *obj)
void lv_obj_set_content_width(struct _lv_obj_t *obj, lv_coord_t w)
void lv_obj_set_height(struct _lv_obj_t *obj, lv_coord_t h)
void lv_obj_set_content_height(struct _lv_obj_t *obj, lv_coord_t h)
void lv_obj_set_size(struct _lv_obj_t *obj, lv_coord_t w, lv_coord_t h)
void lv_obj_invalidate(const struct _lv_obj_t *obj)
void lv_obj_set_layout(struct _lv_obj_t *obj, uint32_t layout)
lv_coord_t lv_obj_get_x(const struct _lv_obj_t *obj)
void lv_obj_mark_layout_as_dirty(struct _lv_obj_t *obj)
void lv_obj_get_content_coords(const struct _lv_obj_t *obj, lv_area_t *area)
lv_coord_t lv_obj_get_y(const struct _lv_obj_t *obj)
lv_coord_t lv_obj_get_height(const struct _lv_obj_t *obj)
lv_coord_t lv_obj_get_content_width(const struct _lv_obj_t *obj)
void lv_obj_get_click_area(const struct _lv_obj_t *obj, lv_area_t *area)
void lv_obj_set_y(struct _lv_obj_t *obj, lv_coord_t y)
lv_coord_t lv_clamp_height(lv_coord_t height, lv_coord_t min_height, lv_coord_t max_height, lv_coord_t ref_height)
bool lv_obj_hit_test(struct _lv_obj_t *obj, const lv_point_t *point)
lv_coord_t lv_obj_get_self_height(const struct _lv_obj_t *obj)
lv_coord_t lv_obj_get_x2(const struct _lv_obj_t *obj)
void lv_obj_update_layout(const struct _lv_obj_t *obj)
void lv_obj_align_to(struct _lv_obj_t *obj, const struct _lv_obj_t *base, lv_align_t align, lv_coord_t x_ofs, lv_coord_t y_ofs)
bool lv_obj_area_is_visible(const struct _lv_obj_t *obj, lv_area_t *area)
bool lv_obj_refresh_self_size(struct _lv_obj_t *obj)
lv_coord_t lv_obj_get_content_height(const struct _lv_obj_t *obj)
lv_coord_t lv_obj_get_y2(const struct _lv_obj_t *obj)
void lv_obj_get_coords(const struct _lv_obj_t *obj, lv_area_t *coords)
void lv_obj_set_x(struct _lv_obj_t *obj, lv_coord_t x)
void lv_obj_set_pos(struct _lv_obj_t *obj, lv_coord_t x, lv_coord_t y)
void lv_obj_transform_point(const struct _lv_obj_t *obj, lv_point_t *p, bool recursive, bool inv)
lv_coord_t lv_obj_get_x_aligned(const struct _lv_obj_t *obj)
void lv_obj_get_transformed_area(const struct _lv_obj_t *obj, lv_area_t *area, bool recursive, bool inv)
uint32_t lv_layout_register(lv_layout_update_cb_t cb, void *user_data)
void lv_obj_set_ext_click_area(struct _lv_obj_t *obj, lv_coord_t size)
void lv_obj_set_align(struct _lv_obj_t *obj, lv_align_t align)
lv_coord_t lv_obj_get_self_width(const struct _lv_obj_t *obj)
lv_coord_t lv_clamp_width(lv_coord_t width, lv_coord_t min_width, lv_coord_t max_width, lv_coord_t ref_width)
Definition lv_obj.h:174
Definition lv_area.h:43
Definition lv_obj_pos.h:28
Definition lv_area.h:37