lv_obj_pos.h
Enums
- 
enum lv_obj_point_transform_flag_t
- Values: - 
enumerator LV_OBJ_POINT_TRANSFORM_FLAG_NONE
- No flags 
 - 
enumerator LV_OBJ_POINT_TRANSFORM_FLAG_RECURSIVE
- Consider the transformation properties of the parents too 
 - 
enumerator LV_OBJ_POINT_TRANSFORM_FLAG_INVERSE
- Execute the inverse of the transformation (-angle and 1/zoom) 
 - 
enumerator LV_OBJ_POINT_TRANSFORM_FLAG_INVERSE_RECURSIVE
- Both inverse and recursive 
 
- 
enumerator LV_OBJ_POINT_TRANSFORM_FLAG_NONE
Functions
- 
void lv_obj_set_pos(lv_obj_t *obj, int32_t x, int32_t y)
- Set the position of an object relative to the set alignment. - Note - With default alignment it's the distance from the top left corner - Note - E.g. LV_ALIGN_CENTER alignment it's the offset from the center of the parent - Note - The position is interpreted on the content area of the parent - Note - The values can be set in pixel or in percentage of parent size with - lv_pct(v)- Parameters:
- obj -- pointer to an object 
- x -- new x coordinate 
- y -- new y coordinate 
 
 
- 
void lv_obj_set_x(lv_obj_t *obj, int32_t x)
- Set the x coordinate of an object - Note - With default alignment it's the distance from the top left corner - Note - E.g. LV_ALIGN_CENTER alignment it's the offset from the center of the parent - Note - The position is interpreted on the content area of the parent - Note - The values can be set in pixel or in percentage of parent size with - lv_pct(v)- Parameters:
- obj -- pointer to an object 
- x -- new x coordinate 
 
 
- 
void lv_obj_set_y(lv_obj_t *obj, int32_t y)
- Set the y coordinate of an object - Note - With default alignment it's the distance from the top left corner - Note - E.g. LV_ALIGN_CENTER alignment it's the offset from the center of the parent - Note - The position is interpreted on the content area of the parent - Note - The values can be set in pixel or in percentage of parent size with - lv_pct(v)- Parameters:
- obj -- pointer to an object 
- y -- new y coordinate 
 
 
- 
void lv_obj_set_size(lv_obj_t *obj, int32_t w, int32_t h)
- Set the size of an object. - Note - possible values are: pixel simple set the size accordingly LV_SIZE_CONTENT set the size to involve all children in the given direction lv_pct(x) to set size in percentage of the parent's content area size (the size without paddings). x should be in [0..1000]% range - Parameters:
- obj -- pointer to an object 
- w -- the new width 
- h -- the new height 
 
 
- 
bool lv_obj_refr_size(lv_obj_t *obj)
- Recalculate the size of the object - Parameters:
- obj -- pointer to an object 
- Returns:
- true: the size has been changed 
 
- 
void lv_obj_set_width(lv_obj_t *obj, int32_t w)
- Set the width of an object - Note - possible values are: pixel simple set the size accordingly LV_SIZE_CONTENT set the size to involve all children in the given direction lv_pct(x) to set size in percentage of the parent's content area size (the size without paddings). x should be in [0..1000]% range - Parameters:
- obj -- pointer to an object 
- w -- the new width 
 
 
- 
void lv_obj_set_height(lv_obj_t *obj, int32_t h)
- Set the height of an object - Note - possible values are: pixel simple set the size accordingly LV_SIZE_CONTENT set the size to involve all children in the given direction lv_pct(x) to set size in percentage of the parent's content area size (the size without paddings). x should be in [0..1000]% range - Parameters:
- obj -- pointer to an object 
- h -- the new height 
 
 
- 
void lv_obj_set_content_width(lv_obj_t *obj, int32_t w)
- Set the width reduced by the left and right padding and the border width. - Parameters:
- obj -- pointer to an object 
- w -- the width without paddings in pixels 
 
 
- 
void lv_obj_set_content_height(lv_obj_t *obj, int32_t h)
- Set the height reduced by the top and bottom padding and the border width. - Parameters:
- obj -- pointer to an object 
- h -- the height without paddings in pixels 
 
 
- 
void lv_obj_set_layout(lv_obj_t *obj, uint32_t layout)
- Set a layout for an object - Parameters:
- obj -- pointer to an object 
- layout -- pointer to a layout descriptor to set 
 
 
- 
bool lv_obj_is_layout_positioned(const lv_obj_t *obj)
- Test whether the and object is positioned by a layout or not - Parameters:
- obj -- pointer to an object to test 
- Returns:
- true: positioned by a layout; false: not positioned by a layout 
 
- 
void lv_obj_mark_layout_as_dirty(lv_obj_t *obj)
- Mark the object for layout update. - Parameters:
- obj -- pointer to an object whose children needs to be updated 
 
- 
void lv_obj_update_layout(const lv_obj_t *obj)
- Update the layout of an object. - Parameters:
- obj -- pointer to an object whose children needs to be updated 
 
- 
void lv_obj_set_align(lv_obj_t *obj, lv_align_t align)
- Change the alignment of an object. - Parameters:
- obj -- pointer to an object to align 
- align -- type of alignment (see 'lv_align_t' enum) - LV_ALIGN_OUT_...can't be used.
 
 
- 
void lv_obj_align(lv_obj_t *obj, lv_align_t align, int32_t x_ofs, int32_t y_ofs)
- Change the alignment of an object and set new coordinates. Equivalent to: lv_obj_set_align(obj, align); lv_obj_set_pos(obj, x_ofs, y_ofs); - Parameters:
- obj -- pointer to an object to align 
- align -- type of alignment (see 'lv_align_t' enum) - LV_ALIGN_OUT_...can't be used.
- x_ofs -- x coordinate offset after alignment 
- y_ofs -- y coordinate offset after alignment 
 
 
- 
void lv_obj_align_to(lv_obj_t *obj, const lv_obj_t *base, lv_align_t align, int32_t x_ofs, int32_t y_ofs)
- Align an object to another object. - Note - if the position or size of - basechanges- objneeds to be aligned manually again- Parameters:
- obj -- pointer to an object to align 
- base -- pointer to another object (if NULL - objs parent is used). 'obj' will be aligned to it.
- align -- type of alignment (see 'lv_align_t' enum) 
- x_ofs -- x coordinate offset after alignment 
- y_ofs -- y coordinate offset after alignment 
 
 
- 
void lv_obj_center(lv_obj_t *obj)
- Align an object to the center on its parent. - Note - if the parent size changes - objneeds to be aligned manually again- Parameters:
- obj -- pointer to an object to align 
 
- 
void lv_obj_get_coords(const lv_obj_t *obj, lv_area_t *coords)
- Copy the coordinates of an object to an area - Parameters:
- obj -- pointer to an object 
- coords -- pointer to an area to store the coordinates 
 
 
- 
int32_t lv_obj_get_x(const lv_obj_t *obj)
- Get the x coordinate of object. - Note - The position of the object is recalculated only on the next redraw. To force coordinate recalculation call - lv_obj_update_layout(obj).- Note - Zero return value means the object is on the left padding of the parent, and not on the left edge. - Note - Scrolling of the parent doesn't change the returned value. - Note - The returned value is always the distance from the parent even if - objis positioned by a layout.- Parameters:
- obj -- pointer to an object 
- Returns:
- distance of - objfrom the left side of its parent plus the parent's left padding
 
- 
int32_t lv_obj_get_x2(const lv_obj_t *obj)
- Get the x2 coordinate of object. - Note - The position of the object is recalculated only on the next redraw. To force coordinate recalculation call - lv_obj_update_layout(obj).- Note - Zero return value means the object is on the right padding of the parent, and not on the right edge. - Note - Scrolling of the parent doesn't change the returned value. - Note - The returned value is always the distance from the parent even if - objis positioned by a layout.- Parameters:
- obj -- pointer to an object 
- Returns:
- distance of - objfrom the right side of its parent plus the parent's right padding
 
- 
int32_t lv_obj_get_y(const lv_obj_t *obj)
- Get the y coordinate of object. - Note - The position of the object is recalculated only on the next redraw. To force coordinate recalculation call - lv_obj_update_layout(obj).- Note - Zero return value means the object is on the top padding of the parent, and not on the top edge. - Note - Scrolling of the parent doesn't change the returned value. - Note - The returned value is always the distance from the parent even if - objis positioned by a layout.- Parameters:
- obj -- pointer to an object 
- Returns:
- distance of - objfrom the top side of its parent plus the parent's top padding
 
- 
int32_t lv_obj_get_y2(const lv_obj_t *obj)
- Get the y2 coordinate of object. - Note - The position of the object is recalculated only on the next redraw. To force coordinate recalculation call - lv_obj_update_layout(obj).- Note - Zero return value means the object is on the bottom padding of the parent, and not on the bottom edge. - Note - Scrolling of the parent doesn't change the returned value. - Note - The returned value is always the distance from the parent even if - objis positioned by a layout.- Parameters:
- obj -- pointer to an object 
- Returns:
- distance of - objfrom the bottom side of its parent plus the parent's bottom padding
 
- 
int32_t lv_obj_get_x_aligned(const lv_obj_t *obj)
- Get the actually set x coordinate of object, i.e. the offset from the set alignment - Parameters:
- obj -- pointer to an object 
- Returns:
- the set x coordinate 
 
- 
int32_t lv_obj_get_y_aligned(const lv_obj_t *obj)
- Get the actually set y coordinate of object, i.e. the offset from the set alignment - Parameters:
- obj -- pointer to an object 
- Returns:
- the set y coordinate 
 
- 
int32_t lv_obj_get_width(const lv_obj_t *obj)
- Get the width of an object - Note - The position of the object is recalculated only on the next redraw. To force coordinate recalculation call - lv_obj_update_layout(obj).- Parameters:
- obj -- pointer to an object 
- Returns:
- the width in pixels 
 
- 
int32_t lv_obj_get_height(const lv_obj_t *obj)
- Get the height of an object - Note - The position of the object is recalculated only on the next redraw. To force coordinate recalculation call - lv_obj_update_layout(obj).- Parameters:
- obj -- pointer to an object 
- Returns:
- the height in pixels 
 
- 
int32_t lv_obj_get_content_width(const lv_obj_t *obj)
- Get the width reduced by the left and right padding and the border width. - Note - The position of the object is recalculated only on the next redraw. To force coordinate recalculation call - lv_obj_update_layout(obj).- Parameters:
- obj -- pointer to an object 
- Returns:
- the width which still fits into its parent without causing overflow (making the parent scrollable) 
 
- 
int32_t lv_obj_get_content_height(const lv_obj_t *obj)
- Get the height reduced by the top and bottom padding and the border width. - Note - The position of the object is recalculated only on the next redraw. To force coordinate recalculation call - lv_obj_update_layout(obj).- Parameters:
- obj -- pointer to an object 
- Returns:
- the height which still fits into the parent without causing overflow (making the parent scrollable) 
 
- 
void lv_obj_get_content_coords(const lv_obj_t *obj, lv_area_t *area)
- Get the area reduced by the paddings and the border width. - Note - The position of the object is recalculated only on the next redraw. To force coordinate recalculation call - lv_obj_update_layout(obj).- Parameters:
- obj -- pointer to an object 
- area -- the area which still fits into the parent without causing overflow (making the parent scrollable) 
 
 
- 
int32_t lv_obj_get_self_width(const lv_obj_t *obj)
- Get the width occupied by the "parts" of the widget. E.g. the width of all columns of a table. - Note - This size independent from the real size of the widget. It just tells how large the internal ("virtual") content is. - Parameters:
- obj -- pointer to an objects 
- Returns:
- the width of the virtually drawn content 
 
- 
int32_t lv_obj_get_self_height(const lv_obj_t *obj)
- Get the height occupied by the "parts" of the widget. E.g. the height of all rows of a table. - Note - This size independent from the real size of the widget. It just tells how large the internal ("virtual") content is. - Parameters:
- obj -- pointer to an objects 
- Returns:
- the width of the virtually drawn content 
 
- 
bool lv_obj_refresh_self_size(lv_obj_t *obj)
- Handle if the size of the internal ("virtual") content of an object has changed. - Parameters:
- obj -- pointer to an object 
- Returns:
- false: nothing happened; true: refresh happened 
 
- 
void lv_obj_transform_point(const lv_obj_t *obj, lv_point_t *p, lv_obj_point_transform_flag_t flags)
- Transform a point using the angle and zoom style properties of an object - Parameters:
- obj -- pointer to an object whose style properties should be used 
- p -- a point to transform, the result will be written back here too 
- flags -- OR-ed valued of :cpp:enum: - lv_obj_point_transform_flag_t
 
 
- 
void lv_obj_transform_point_array(const lv_obj_t *obj, lv_point_t points[], size_t count, lv_obj_point_transform_flag_t flags)
- Transform an array of points using the angle and zoom style properties of an object - Parameters:
- obj -- pointer to an object whose style properties should be used 
- points -- the array of points to transform, the result will be written back here too 
- count -- number of points in the array 
- flags -- OR-ed valued of :cpp:enum: - lv_obj_point_transform_flag_t
 
 
- 
void lv_obj_get_transformed_area(const lv_obj_t *obj, lv_area_t *area, lv_obj_point_transform_flag_t flags)
- Transform an area using the angle and zoom style properties of an object - Parameters:
- obj -- pointer to an object whose style properties should be used 
- area -- an area to transform, the result will be written back here too 
- flags -- OR-ed valued of :cpp:enum: - lv_obj_point_transform_flag_t
 
 
- 
void lv_obj_invalidate_area(const lv_obj_t *obj, const lv_area_t *area)
- Mark an area of an object as invalid. The area will be truncated to the object's area and marked for redraw. - Parameters:
- obj -- pointer to an object 
- area -- the area to redraw 
 
 
- 
void lv_obj_invalidate(const lv_obj_t *obj)
- Mark the object as invalid to redrawn its area - Parameters:
- obj -- pointer to an object 
 
- 
bool lv_obj_area_is_visible(const lv_obj_t *obj, lv_area_t *area)
- Tell whether an area of an object is visible (even partially) now or not - Parameters:
- obj -- pointer to an object 
- area -- the are to check. The visible part of the area will be written back here. 
 
- Returns:
- true visible; false not visible (hidden, out of parent, on other screen, etc) 
 
- 
bool lv_obj_is_visible(const lv_obj_t *obj)
- Tell whether an object is visible (even partially) now or not - Parameters:
- obj -- pointer to an object 
- Returns:
- true: visible; false not visible (hidden, out of parent, on other screen, etc) 
 
- 
void lv_obj_set_ext_click_area(lv_obj_t *obj, int32_t size)
- Set the size of an extended clickable area - Parameters:
- obj -- pointer to an object 
- size -- extended clickable area in all 4 directions [px] 
 
 
- 
void lv_obj_get_click_area(const lv_obj_t *obj, lv_area_t *area)
- Get the an area where to object can be clicked. It's the object's normal area plus the extended click area. - Parameters:
- obj -- pointer to an object 
- area -- store the result area here 
 
 
- 
bool lv_obj_hit_test(lv_obj_t *obj, const lv_point_t *point)
- Hit-test an object given a particular point in screen space. - Parameters:
- obj -- object to hit-test 
- point -- screen-space point (absolute coordinate) 
 
- Returns:
- true: if the object is considered under the point 
 
- 
int32_t lv_clamp_width(int32_t width, int32_t min_width, int32_t max_width, int32_t ref_width)
- Clamp a width between min and max width. If the min/max width is in percentage value use the ref_width - Parameters:
- width -- width to clamp 
- min_width -- the minimal width 
- max_width -- the maximal width 
- ref_width -- the reference width used when min/max width is in percentage 
 
- Returns:
- the clamped width 
 
- 
int32_t lv_clamp_height(int32_t height, int32_t min_height, int32_t max_height, int32_t ref_height)
- Clamp a height between min and max height. If the min/max height is in percentage value use the ref_height - Parameters:
- height -- height to clamp 
- min_height -- the minimal height 
- max_height -- the maximal height 
- ref_height -- the reference height used when min/max height is in percentage 
 
- Returns:
- the clamped height