diff options
author | Gabor Kiss-Vamosi <kisvegabor@gmail.com> | 2020-12-19 06:51:14 +0100 |
---|---|---|
committer | Gabor Kiss-Vamosi <kisvegabor@gmail.com> | 2020-12-19 06:51:14 +0100 |
commit | 4fe3821719a1c3ae0fb34eaa68d24668faf193de (patch) | |
tree | 5dbba59d0a1f7762d7d69ed8bd73f1dbb4480906 /scripts/style_api_gen.py | |
parent | 01a6bacbd78548e578a957d15b6bce4cc9dd42d1 (diff) | |
download | lvgl-4fe3821719a1c3ae0fb34eaa68d24668faf193de.tar.gz lvgl-4fe3821719a1c3ae0fb34eaa68d24668faf193de.zip |
add color filter style property
Diffstat (limited to 'scripts/style_api_gen.py')
-rwxr-xr-x | scripts/style_api_gen.py | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/scripts/style_api_gen.py b/scripts/style_api_gen.py new file mode 100755 index 000000000..1b811b5ef --- /dev/null +++ b/scripts/style_api_gen.py @@ -0,0 +1,98 @@ +props = [ +{'name': 'RADIUS', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'CLIP_CORNER', 'style_type': '_int', 'var_type': 'bool' }, +{'name': 'TRANSFORM_WIDTH', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'TRANSFORM_HEIGHT', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'TRANSFORM_ZOOM', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'TRANSFORM_ANGLE', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'OPA', 'style_type': '_int', 'var_type': 'lv_opa_t' }, +{'name': 'COLOR_FILTER_CB', 'style_type': '_func', 'var_type': 'lv_color_filter_cb_t' }, +{'name': 'COLOR_FILTER_OPA', 'style_type': '_int', 'var_type': 'lv_opa_t' }, +{'name': 'PAD_TOP', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'PAD_BOTTOM', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'PAD_LEFT', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'PAD_RIGHT', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'MARGIN_TOP', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'MARGIN_BOTTOM', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'MARGIN_LEFT', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'MARGIN_RIGHT', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'BG_COLOR', 'style_type': '_color', 'var_type': 'lv_color_t' }, +{'name': 'BG_COLOR_FILTERED', 'style_type': '_color', 'var_type': 'lv_color_t' }, +{'name': 'BG_OPA', 'style_type': '_int', 'var_type': 'lv_opa_t' }, +{'name': 'BG_GRAD_COLOR', 'style_type': '_color', 'var_type': 'lv_color_t' }, +{'name': 'BG_GRAD_COLOR_FILTERED', 'style_type': '_color', 'var_type': 'lv_color_t' }, +{'name': 'BG_GRAD_DIR', 'style_type': '_int', 'var_type': 'lv_grad_dir_t' }, +{'name': 'BG_BLEND_MODE', 'style_type': '_int', 'var_type': 'lv_blend_mode_t' }, +{'name': 'BG_MAIN_STOP', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'BG_GRAD_STOP', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'BORDER_COLOR', 'style_type': '_color', 'var_type': 'lv_color_t' }, +{'name': 'BORDER_COLOR_FILTERED', 'style_type': '_color', 'var_type': 'lv_color_t' }, +{'name': 'BORDER_OPA', 'style_type': '_int', 'var_type': 'lv_opa_t' }, +{'name': 'BORDER_WIDTH', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'BORDER_SIDE', 'style_type': '_int', 'var_type': 'lv_border_side_t' }, +{'name': 'BORDER_POST', 'style_type': '_int', 'var_type': 'bool' }, +{'name': 'BORDER_BLEND_MODE', 'style_type': '_int', 'var_type': 'lv_blend_mode_t' }, +{'name': 'TEXT_COLOR', 'style_type': '_color', 'var_type': 'lv_color_t' }, +{'name': 'TEXT_COLOR_FILTERED', 'style_type': '_color', 'var_type': 'lv_color_t' }, +{'name': 'TEXT_OPA', 'style_type': '_int', 'var_type': 'lv_opa_t' }, +{'name': 'TEXT_FONT', 'style_type': '_ptr', 'var_type': 'const lv_font_t *' }, +{'name': 'TEXT_LETTER_SPACE', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'TEXT_LINE_SPACE', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'TEXT_DECOR', 'style_type': '_int', 'var_type': 'lv_text_decor_t' }, +{'name': 'TEXT_BLEND_MODE', 'style_type': '_int', 'var_type': 'lv_blend_mode_t' }, +{'name': 'IMG_OPA', 'style_type': '_int', 'var_type': 'lv_opa_t' }, +{'name': 'IMG_BLEND_MODE', 'style_type': '_int', 'var_type': 'lv_blend_mode_t' }, +{'name': 'IMG_RECOLOR', 'style_type': '_color', 'var_type': 'lv_color_t' }, +{'name': 'IMG_RECOLOR_FILTERED', 'style_type': '_color', 'var_type': 'lv_color_t' }, +{'name': 'IMG_RECOLOR_OPA', 'style_type': '_int', 'var_type': 'lv_opa_t' }, +{'name': 'OUTLINE_WIDTH', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'OUTLINE_COLOR', 'style_type': '_color', 'var_type': 'lv_color_t' }, +{'name': 'OUTLINE_OPA', 'style_type': '_int', 'var_type': 'lv_opa_t' }, +{'name': 'OUTLINE_PAD', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'OUTLINE_BLEND_MODE', 'style_type': '_int', 'var_type': 'lv_blend_mode_t' }, +{'name': 'SHADOW_WIDTH', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'SHADOW_OFS_X', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'SHADOW_OFS_Y', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'SHADOW_SPREAD', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'SHADOW_BLEND_MODE', 'style_type': '_int', 'var_type': 'lv_blend_mode_t' }, +{'name': 'SHADOW_COLOR', 'style_type': '_color', 'var_type': 'lv_color_t' }, +{'name': 'SHADOW_COLOR_FILTERED', 'style_type': '_color', 'var_type': 'lv_color_t' }, +{'name': 'SHADOW_OPA', 'style_type': '_int', 'var_type': 'lv_opa_t' }, +{'name': 'LINE_WIDTH', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'LINE_BLEND_MODE', 'style_type': '_int', 'var_type': 'lv_blend_mode_t' }, +{'name': 'LINE_DASH_WIDTH', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'LINE_DASH_GAP', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'LINE_ROUNDED', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'LINE_COLOR', 'style_type': '_color', 'var_type': 'lv_color_t' }, +{'name': 'LINE_COLOR_FILTERED', 'style_type': '_color', 'var_type': 'lv_color_t' }, +{'name': 'LINE_OPA', 'style_type': '_int', 'var_type': 'lv_opa_t' }, +{'name': 'CONTENT_SRC', 'style_type': '_ptr', 'var_type': 'const char *' }, +{'name': 'CONTENT_ALIGN', 'style_type': '_int', 'var_type': 'lv_align_t' }, +{'name': 'CONTENT_OFS_X', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'CONTENT_OFS_Y', 'style_type': '_int', 'var_type': 'lv_coord_t' }, +{'name': 'TRANSITION_TIME', 'style_type': '_int', 'var_type': 'uint16_t' }, +{'name': 'TRANSITION_DELAY', 'style_type': '_int', 'var_type': 'uint16_t' }, +{'name': 'TRANSITION_PATH', 'style_type': '_ptr', 'var_type': 'const lv_anim_path_t *' }, +{'name': 'TRANSITION_PROP_1', 'style_type': '_int', 'var_type': 'lv_style_prop_t' }, +{'name': 'TRANSITION_PROP_2', 'style_type': '_int', 'var_type': 'lv_style_prop_t' }, +{'name': 'TRANSITION_PROP_3', 'style_type': '_int', 'var_type': 'lv_style_prop_t' }, +{'name': 'TRANSITION_PROP_4', 'style_type': '_int', 'var_type': 'lv_style_prop_t' }, +{'name': 'TRANSITION_PROP_5', 'style_type': '_int', 'var_type': 'lv_style_prop_t' }, +{'name': 'TRANSITION_PROP_6', 'style_type': '_int', 'var_type': 'lv_style_prop_t' } +] + +def obj_style_get(i): + print("static inline " + props[i]['var_type'] + " lv_obj_get_style_" + props[i]['name'].lower() +"(const struct _lv_obj_t * obj, uint32_t part) {") + print(" lv_style_value_t v = lv_obj_get_style_prop(obj, part, LV_STYLE_" + props[i]['name'] + "); return v." + props[i][ 'style_type'] + "; }") + print("") + + +def style_set(i): + print("static inline void lv_style_set_" + props[i]['name'].lower() +"(lv_style_t * style, "+ props[i]['var_type'] +" value) {") + print(" lv_style_value_t v = {." + props[i][ 'style_type'] +" = value}; lv_style_set_prop(style, LV_STYLE_" + props[i]['name'] +", v); }") + print("") + + + +for i in range(len(props)): + obj_style_get(i) |