Curtainview

The curtainview widget can accommodate multiple curtain widgets. On the created curtain widgets, you can place application-related information such as application menus or other pertinent content. This widget can be extended as needed and customized according to requirements. As illustrated in figure, the curtainview is composed of five curtains, arranged in the following five directions: top, bottom, right, left, and center.

https://foruda.gitee.com/images/1727088694333469506/7c243250_13408154.png

Curtain Distribution

Usage

Create Curtainview Widget

The function gui_curtainview_create() is utilized to create a container that is capable of housing the curtain widget.

Callback

Once the curtain extension is finished, you can configure certain callback events through the use of gui_curtainview_set_done_cb().

Example

Please refer to the section: Curtain

API

Enums

enum T_GUI_CURTAIN_ENUM

Values:

enumerator CURTAIN_UNDEFINED
enumerator CURTAIN_UP
enumerator CURTAIN_DOWN
enumerator CURTAIN_LEFT
enumerator CURTAIN_RIGHT
enumerator CURTAIN_MIDDLE

Functions

gui_curtainview_t *gui_curtainview_create(void *parent, const char *name, int16_t x, int16_t y, int16_t w, int16_t h)

Create a curtainview widget, which can nest curtains.

Parameters:
  • parent – the father widget it nested in.

  • filename – this curtainview widget’s name.

  • x – the X-axis coordinate relative to parent widget.

  • y – the Y-axis coordinate relative to parent widget.

  • w – width.

  • h – height.

Returns:

return the widget object pointer.

void gui_curtainview_set_done_cb(gui_curtainview_t *_this, void (*cb)(gui_curtainview_t *_this))

Curtain expanding completed event.

Parameters:
  • this – widget pointer

  • cb – event callback

struct gui_curtain_ext_id_t

Public Members

int32_t x
int32_t y
struct gui_curtain_bool_t

Public Members

bool up
bool down
bool left
bool right
struct gui_curtain_float_t

Public Members

float up
float down
float left
float right
struct gui_curtainview_t

curtainview structure

Public Members

gui_obj_t base
uint16_t curtain_cnt
uint16_t style
T_GUI_CURTAIN_ENUM cur_curtain
gui_curtain_float_t scopes
gui_curtain_bool_t orientations
float scope_up
float scope_down
float scope_left
float scope_right
bool down_flag
bool left_flag
bool init_flag
bool release_flag
int spring_value
void (*done_cb)(struct gui_curtainview *_this)
uint16_t has_center_curtain
uint16_t has_left_curtain
uint16_t has_right_curtain
uint16_t has_up_curtain
uint16_t has_down_curtain
uint16_t cur_curtain_flag
uint16_t middle_flag
uint16_t middle_flag_left
uint16_t middle_flag_up
uint16_t up_flag
uint8_t checksum
int release_y
int release_x