mirror of
https://github.com/lvgl/lvgl.git
synced 2026-05-10 04:37:55 +08:00
refactor(style) move flag information into a dedicated table (#3102)
This commit is contained in:
+22
-41
@@ -1,6 +1,8 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import sys, os, re
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
|
||||
props = [
|
||||
{'section': 'Size and position', 'dsc':'Properties related to size, position, alignment and layout of the objects.' },
|
||||
@@ -91,23 +93,17 @@ props = [
|
||||
|
||||
{'section': 'Background', 'dsc':'Properties to describe the background color and image of the objects.' },
|
||||
{'name': 'BG_COLOR',
|
||||
'style_type': 'color', 'var_type': 'lv_color_t', 'default':'`0xffffff`', 'inherited': 0, 'layout': 0, 'ext_draw': 0,
|
||||
'style_type': 'color', 'var_type': 'lv_color_t', 'default':'`0xffffff`', 'inherited': 0, 'layout': 0, 'ext_draw': 0, 'filtered': 1,
|
||||
'dsc': "Set the background color of the object."},
|
||||
|
||||
{'name': 'BG_COLOR_FILTERED',
|
||||
'style_type': 'color', 'var_type': 'lv_color_t' },
|
||||
|
||||
{'name': 'BG_OPA',
|
||||
'style_type': 'num', 'var_type': 'lv_opa_t', 'default':'`LV_OPA_TRANSP`', 'inherited': 0, 'layout': 0, 'ext_draw': 0,
|
||||
'dsc': "Set the opacity of the background. Value 0, `LV_OPA_0` or `LV_OPA_TRANSP` means fully transparent, 255, `LV_OPA_100` or `LV_OPA_COVER` means fully covering, other values or LV_OPA_10, LV_OPA_20, etc means semi transparency."},
|
||||
|
||||
{'name': 'BG_GRAD_COLOR',
|
||||
'style_type': 'color', 'var_type': 'lv_color_t', 'default':'`0x000000`', 'inherited': 0, 'layout': 0, 'ext_draw': 0,
|
||||
'style_type': 'color', 'var_type': 'lv_color_t', 'default':'`0x000000`', 'inherited': 0, 'layout': 0, 'ext_draw': 0, 'filtered': 1,
|
||||
'dsc': "Set the gradient color of the background. Used only if `grad_dir` is not `LV_GRAD_DIR_NONE`"},
|
||||
|
||||
{'name': 'BG_GRAD_COLOR_FILTERED',
|
||||
'style_type': 'color', 'var_type': 'lv_color_t' },
|
||||
|
||||
{'name': 'BG_GRAD_DIR',
|
||||
'style_type': 'num', 'var_type': 'lv_grad_dir_t', 'default':'`LV_GRAD_DIR_NONE`', 'inherited': 0, 'layout': 0, 'ext_draw': 0,
|
||||
'dsc': "Set the direction of the gradient of the background. The possible values are `LV_GRAD_DIR_NONE/HOR/VER`."},
|
||||
@@ -137,12 +133,9 @@ props = [
|
||||
'dsc': "Set the opacity of the background image. Value 0, `LV_OPA_0` or `LV_OPA_TRANSP` means fully transparent, 255, `LV_OPA_100` or `LV_OPA_COVER` means fully covering, other values or LV_OPA_10, LV_OPA_20, etc means semi transparency."},
|
||||
|
||||
{'name': 'BG_IMG_RECOLOR',
|
||||
'style_type': 'color', 'var_type': 'lv_color_t', 'default':'`0x000000`', 'inherited': 0, 'layout': 0, 'ext_draw': 0,
|
||||
'style_type': 'color', 'var_type': 'lv_color_t', 'default':'`0x000000`', 'inherited': 0, 'layout': 0, 'ext_draw': 0, 'filtered': 1,
|
||||
'dsc': "Set a color to mix to the background image."},
|
||||
|
||||
{'name': 'BG_IMG_RECOLOR_FILTERED',
|
||||
'style_type': 'color', 'var_type': 'lv_color_t'},
|
||||
|
||||
{'name': 'BG_IMG_RECOLOR_OPA',
|
||||
'style_type': 'num', 'var_type': 'lv_opa_t', 'default':'`LV_OPA_TRANSP`', 'inherited': 0, 'layout': 0, 'ext_draw': 0,
|
||||
'dsc': "Set the intensity of background image recoloring. Value 0, `LV_OPA_0` or `LV_OPA_TRANSP` means no mixing, 255, `LV_OPA_100` or `LV_OPA_COVER` means full recoloring, other values or LV_OPA_10, LV_OPA_20, etc are interpreted proportionally."},
|
||||
@@ -153,12 +146,9 @@ props = [
|
||||
|
||||
{'section': 'Border', 'dsc':'Properties to describe the borders' },
|
||||
{'name': 'BORDER_COLOR',
|
||||
'style_type': 'color', 'var_type': 'lv_color_t', 'default':'`0x000000`', 'inherited': 0, 'layout': 0, 'ext_draw': 0,
|
||||
'style_type': 'color', 'var_type': 'lv_color_t', 'default':'`0x000000`', 'inherited': 0, 'layout': 0, 'ext_draw': 0, 'filtered': 1,
|
||||
'dsc': "Set the color of the border"},
|
||||
|
||||
{'name': 'BORDER_COLOR_FILTERED',
|
||||
'style_type': 'color', 'var_type': 'lv_color_t' },
|
||||
|
||||
{'name': 'BORDER_OPA',
|
||||
'style_type': 'num', 'var_type': 'lv_opa_t' , 'default':'`LV_OPA_COVER`', 'inherited': 0, 'layout': 0, 'ext_draw': 0,
|
||||
'dsc': "Set the opacity of the border. Value 0, `LV_OPA_0` or `LV_OPA_TRANSP` means fully transparent, 255, `LV_OPA_100` or `LV_OPA_COVER` means fully covering, other values or LV_OPA_10, LV_OPA_20, etc means semi transparency."},
|
||||
@@ -181,12 +171,9 @@ props = [
|
||||
'dsc': "Set the width of the outline in pixels. "},
|
||||
|
||||
{'name': 'OUTLINE_COLOR',
|
||||
'style_type': 'color', 'var_type': 'lv_color_t' , 'default':'`0x000000`', 'inherited': 0, 'layout': 0, 'ext_draw': 0,
|
||||
'style_type': 'color', 'var_type': 'lv_color_t' , 'default':'`0x000000`', 'inherited': 0, 'layout': 0, 'ext_draw': 0, 'filtered': 1,
|
||||
'dsc': "Set the color of the outline."},
|
||||
|
||||
{'name': 'OUTLINE_COLOR_FILTERED',
|
||||
'style_type': 'color', 'var_type': 'lv_color_t'},
|
||||
|
||||
{'name': 'OUTLINE_OPA',
|
||||
'style_type': 'num', 'var_type': 'lv_opa_t' , 'default':'`LV_OPA_COVER`', 'inherited': 0, 'layout': 0, 'ext_draw': 1,
|
||||
'dsc': "Set the opacity of the outline. Value 0, `LV_OPA_0` or `LV_OPA_TRANSP` means fully transparent, 255, `LV_OPA_100` or `LV_OPA_COVER` means fully covering, other values or LV_OPA_10, LV_OPA_20, etc means semi transparency."},
|
||||
@@ -213,12 +200,9 @@ props = [
|
||||
'dsc': "Make the shadow calculation to use a larger or smaller rectangle as base. The value can be in pixel to make the area larger/smaller"},
|
||||
|
||||
{'name': 'SHADOW_COLOR',
|
||||
'style_type': 'color', 'var_type': 'lv_color_t' , 'default':'`0x000000`', 'inherited': 0, 'layout': 0, 'ext_draw': 0,
|
||||
'style_type': 'color', 'var_type': 'lv_color_t' , 'default':'`0x000000`', 'inherited': 0, 'layout': 0, 'ext_draw': 0, 'filtered': 1,
|
||||
'dsc': "Set the color of the shadow"},
|
||||
|
||||
{'name': 'SHADOW_COLOR_FILTERED',
|
||||
'style_type': 'color', 'var_type': 'lv_color_t'},
|
||||
|
||||
{'name': 'SHADOW_OPA',
|
||||
'style_type': 'num', 'var_type': 'lv_opa_t' , 'default':'`LV_OPA_COVER`', 'inherited': 0, 'layout': 0, 'ext_draw': 1,
|
||||
'dsc': "Set the opacity of the shadow. Value 0, `LV_OPA_0` or `LV_OPA_TRANSP` means fully transparent, 255, `LV_OPA_100` or `LV_OPA_COVER` means fully covering, other values or LV_OPA_10, LV_OPA_20, etc means semi transparency."},
|
||||
@@ -229,12 +213,9 @@ props = [
|
||||
'dsc': "Set the opacity of an image. Value 0, `LV_OPA_0` or `LV_OPA_TRANSP` means fully transparent, 255, `LV_OPA_100` or `LV_OPA_COVER` means fully covering, other values or LV_OPA_10, LV_OPA_20, etc means semi transparency."},
|
||||
|
||||
{'name': 'IMG_RECOLOR',
|
||||
'style_type': 'color', 'var_type': 'lv_color_t', 'default':'`0x000000`', 'inherited': 0, 'layout': 0, 'ext_draw': 0,
|
||||
'style_type': 'color', 'var_type': 'lv_color_t', 'default':'`0x000000`', 'inherited': 0, 'layout': 0, 'ext_draw': 0, 'filtered': 1,
|
||||
'dsc': "Set color to mixt to the image."},
|
||||
|
||||
{'name': 'IMG_RECOLOR_FILTERED',
|
||||
'style_type': 'color', 'var_type': 'lv_color_t'},
|
||||
|
||||
{'name': 'IMG_RECOLOR_OPA',
|
||||
'style_type': 'num', 'var_type': 'lv_opa_t' , 'default':0, 'inherited': 0, 'layout': 0, 'ext_draw': 0,
|
||||
'dsc': "Set the intensity of the color mixing. Value 0, `LV_OPA_0` or `LV_OPA_TRANSP` means fully transparent, 255, `LV_OPA_100` or `LV_OPA_COVER` means fully covering, other values or LV_OPA_10, LV_OPA_20, etc means semi transparency."},
|
||||
@@ -257,12 +238,9 @@ props = [
|
||||
'dsc': "Make the end points of the lines rounded. `true`: rounded, `false`: perpendicular line ending "},
|
||||
|
||||
{'name': 'LINE_COLOR',
|
||||
'style_type': 'color', 'var_type': 'lv_color_t' , 'default':'`0x000000`', 'inherited': 0, 'layout': 0, 'ext_draw': 0,
|
||||
'style_type': 'color', 'var_type': 'lv_color_t' , 'default':'`0x000000`', 'inherited': 0, 'layout': 0, 'ext_draw': 0, 'filtered': 1,
|
||||
'dsc': "Set the color fo the lines."},
|
||||
|
||||
{'name': 'LINE_COLOR_FILTERED',
|
||||
'style_type': 'color', 'var_type': 'lv_color_t'},
|
||||
|
||||
{'name': 'LINE_OPA',
|
||||
'style_type': 'num', 'var_type': 'lv_opa_t' , 'default':'`LV_OPA_COVER`', 'inherited': 0, 'layout': 0, 'ext_draw': 0,
|
||||
'dsc': "Set the opacity of the lines."},
|
||||
@@ -277,12 +255,9 @@ props = [
|
||||
'dsc': "Make the end points of the arcs rounded. `true`: rounded, `false`: perpendicular line ending "},
|
||||
|
||||
{'name': 'ARC_COLOR',
|
||||
'style_type': 'color', 'var_type': 'lv_color_t', 'default':'`0x000000`', 'inherited': 0, 'layout': 0, 'ext_draw': 0,
|
||||
'style_type': 'color', 'var_type': 'lv_color_t', 'default':'`0x000000`', 'inherited': 0, 'layout': 0, 'ext_draw': 0, 'filtered': 1,
|
||||
'dsc': "Set the color of the arc."},
|
||||
|
||||
{'name': 'ARC_COLOR_FILTERED',
|
||||
'style_type': 'color', 'var_type': 'lv_color_t' },
|
||||
|
||||
{'name': 'ARC_OPA',
|
||||
'style_type': 'num', 'var_type': 'lv_opa_t' , 'default':'`LV_OPA_COVER`', 'inherited': 0, 'layout': 0, 'ext_draw': 0,
|
||||
'dsc': "Set the opacity of the arcs."},
|
||||
@@ -293,12 +268,9 @@ props = [
|
||||
|
||||
{'section': 'Text', 'dsc':'Properties to describe the properties of text. All these properties are inherited.' },
|
||||
{'name': 'TEXT_COLOR',
|
||||
'style_type': 'color', 'var_type': 'lv_color_t', 'default':'`0x000000`', 'inherited': 1, 'layout': 0, 'ext_draw': 0,
|
||||
'style_type': 'color', 'var_type': 'lv_color_t', 'default':'`0x000000`', 'inherited': 1, 'layout': 0, 'ext_draw': 0, 'filtered': 1,
|
||||
'dsc': "Sets the color of the text."},
|
||||
|
||||
{'name': 'TEXT_COLOR_FILTERED',
|
||||
'style_type': 'color', 'var_type': 'lv_color_t'},
|
||||
|
||||
{'name': 'TEXT_OPA',
|
||||
'style_type': 'num', 'var_type': 'lv_opa_t', 'default':'`LV_OPA_COVER`', 'inherited': 1, 'layout': 0, 'ext_draw': 0,
|
||||
'dsc': "Set the opacity of the text. Value 0, `LV_OPA_0` or `LV_OPA_TRANSP` means fully transparent, 255, `LV_OPA_100` or `LV_OPA_COVER` means fully covering, other values or LV_OPA_10, LV_OPA_20, etc means semi transparency."},
|
||||
@@ -392,6 +364,15 @@ def obj_style_get(p):
|
||||
print("}")
|
||||
print("")
|
||||
|
||||
if 'filtered' in p and p['filtered']:
|
||||
print("static inline " + p['var_type'] + " lv_obj_get_style_" + p['name'].lower() +"_filtered(const struct _lv_obj_t * obj, uint32_t part)")
|
||||
print("{")
|
||||
print(" lv_style_value_t v = _lv_obj_style_apply_color_filter(obj, part, lv_obj_get_style_prop(obj, part, LV_STYLE_" + p['name'] + "));")
|
||||
print(" return " + cast + "v." + p['style_type'] + ";")
|
||||
print("}")
|
||||
print("")
|
||||
|
||||
|
||||
|
||||
def style_set_cast(style_type):
|
||||
cast = ""
|
||||
|
||||
Reference in New Issue
Block a user