1 /*
2  * Copyright (c) 2020-2022 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef OHOS_ACELITE_KEYS_H
17 #define OHOS_ACELITE_KEYS_H
18 
19 #include "acelite_config.h"
20 
21 #ifndef KEYWORD
22 #define KEYWORDS_ENUM_DEFINE
23 #define KEYWORD(enumkey, keystr) K_##enumkey,
24 
25 namespace OHOS {
26 namespace ACELite {
27 enum {
28     K_UNKNOWN, // enum start from 0
29 #endif         // KEYWORD
30 
31     /*
32      * Rules to define the KEYWORD:
33      * Should not be duplicated,
34      * and use xxx_yyy instead the xxx-yyy as enumstr
35      * because of enum define limitation
36      */
37     // clang-format off
38     // Reused by the struct begin
39     // Sample:KEYWORD(enum_string, real-key-string)
40     KEYWORD(ALIGN_ITEMS, alignItems) // layout style
41 #if (FEATURE_COMPONENT_ANALOG_CLOCK == 1)
42     KEYWORD(ANALOG_CLOCK, analog-clock) // tag name
43 #endif // FEATURE_COMPONENT_ANALOG_CLOCK
44     KEYWORD(ANIMATION_DELAY, animationDelay) // animation delay
45     KEYWORD(ANIMATION_DURATION, animationDuration) // animation during
46     KEYWORD(ANIMATION_FILL_MODE, animationFillMode) // animation fill mode
47     KEYWORD(ANIMATION_ITERATION_COUNT, animationIterationCount) // animation iteration count
48     KEYWORD(ANIMATION_NAME, animationName) // animation name
49     KEYWORD(ANIMATION_TIMING_FUNCTION, animationTimingFunction) // animation timing function
50     KEYWORD(ARC, arc) // circle progress
51 #if (FEATURE_COMPONENT_VIDEO == 1)
52     KEYWORD(AUTOPLAY, autoplay) // video component autoplay attribute
53 #endif // FEATURE_COMPONENT_VIDEO
54     KEYWORD(BACKGROUND_COLOR, backgroundColor) // chart line color
55     KEYWORD(BACKGROUND_IMAGE, backgroundImage) // common style, but only button, checkbox, radio support
56     KEYWORD(BLOCK_COLOR, blockColor)
57     KEYWORD(BORDER_BOTTOM_COLOR, borderBottomColor) // common style border bottom color
58     KEYWORD(BORDER_LEFT_COLOR, borderLeftColor) // common style border left color
59     KEYWORD(BORDER_RIGHT_COLOR, borderRightColor) // common style border right color
60     KEYWORD(BORDER_TOP_COLOR, borderTopColor) // common style border top color
61     KEYWORD(BORDER_COLOR, borderColor) // common style, horizon progress style
62     KEYWORD(BORDER_RADIUS, borderRadius) // horizon progress style
63     KEYWORD(BORDER_BOTTOM_WIDTH, borderBottomWidth) // common style border bottom width
64     KEYWORD(BORDER_LEFT_WIDTH, borderLeftWidth) // common style border left width
65     KEYWORD(BORDER_RIGHT_WIDTH, borderRightWidth) // common style border right width
66     KEYWORD(BORDER_TOP_WIDTH, borderTopWidth) // common style border top width
67     KEYWORD(BORDER_WIDTH, borderWidth) // common style, horizon progress style
68     KEYWORD(BREAK, break) // text overflow type
69 #if (FEATURE_COMPONENT_CAMERA == 1)
70     KEYWORD(CAMERA, camera) // camera component
71 #endif // FEATURE_COMPONENT_CAMERA
72 #if (FEATURE_COMPONENT_CANVAS == 1)
73     KEYWORD(CANVAS, canvas) // tag name
74 #endif // FEATURE_COMPONENT_CANVAS
75     KEYWORD(CANVASGRADIENT, canvasGradient) // gradient fillstyle or strokestyle
76     KEYWORD(CANVASPATTERN, canvasPattern) // pattern fillstyle or strokestyle
77     KEYWORD(CENTER, center) // text align type
78     KEYWORD(CENTER_X, centerX) // circle progress x
79     KEYWORD(CENTER_Y, centerY) // circle progress y
80     KEYWORD(CHANGE, change) // the input component event name, picker-view event name
81     KEYWORD(CHECKED, checked) // the input and switch component of checkbox attribute
82     KEYWORD(CHECKBOX, checkbox) // the input component type value
83     KEYWORD(CLICK, click) // click event listener
84     KEYWORD(CLIP, clip) // text overflow type
85     KEYWORD(CHART, chart) // tag name
86 #if (FEATURE_COMPONENT_ANALOG_CLOCK == 1)
87     KEYWORD(CLOCK_HAND, clock-hand) // tag name
88 #endif // FEATURE_COMPONENT_ANALOG_CLOCK
89     KEYWORD(COLOR, color) // text style type, rectangular clock-hand fill color, horizon progress style
90     KEYWORD(COLUMN, column) // layout style
91     KEYWORD(COLUMN_REVERSE, column-reverse) // layout style
92     KEYWORD(CONTAIN, contain) // image component contain
93 #if (FEATURE_COMPONENT_VIDEO == 1)
94     KEYWORD(CONTROLS, controls) // video component controls attribute
95 #endif // FEATURE_COMPONENT_VIDEO
96     KEYWORD(COVER, cover) // image component cover
97     KEYWORD(DATASETS, datasets) // chart data
98 #if (FEATURE_COMPONENT_DATE_PICKER == 1)
99     KEYWORD(DATE, date) // picker-view attr value
100 #endif // FEATURE_COMPONENT_DATE_PICKER
101 #if (FEATURE_DATE_FORMAT == 1)
102     KEYWORD(DAY, day)
103     KEYWORD(DIGIT2, digit2)
104 #endif
105     KEYWORD(DIRECTION, direction) // progress direction
106     KEYWORD(DISPLAY, display) // div layout
107     KEYWORD(DIV, div) // tag name
108     KEYWORD(DRAG, drag) // drag event listener
109     KEYWORD(DURATION, duration)
110     KEYWORD(EASE_IN, ease-in) // animation time function value
111     KEYWORD(EASE_IN_OUT, ease-in-out) // animation time function value
112     KEYWORD(EASE_OUT, ease-out) // animation time function value
113     KEYWORD(ELLIPSIS, ellipsis) // text overflow type
114 #if (FEATURE_COMPONENT_EDITTEXT == 1)
115     KEYWORD(EDITTEXTTYPE, editTextType) // text overflow type
116 #endif // FEATURE_COMPONENT_EDITTEXT
117 #if (FEATURE_COMPONENT_DATE_PICKER == 1)
118     KEYWORD(END, end) // date picker-view attr
119 #endif // FEATURE_COMPONENT_DATE_PICKER
120 #if ((FEATURE_COMPONENT_CAMERA == 1) || (FEATURE_COMPONENT_VIDEO == 1))
121     KEYWORD(ERROR, error) // camera component error event
122 #endif // FEATURE_COMPONENT_CAMERA
123     KEYWORD(EXPAND, expand) // text overflow type
124     KEYWORD(FALSE, false) // common attributes
125 #if (FEATURE_COMPONENT_VIDEO == 1)
126     KEYWORD(FINISH, finish) // video component finish event tag
127 #endif // FEATURE_COMPONENT_VIDEO
128     KEYWORD(FILL, fill) // image component fill
129     KEYWORD(FILL_MODE, fillmode) // image-animator attribtue
130     KEYWORD(FIT_ORIGINAL_SIZE, fitOriginalSize) // image component fit original size
131     KEYWORD(FIXED_SIZE, fixedsize) // image-animator attribute
132     KEYWORD(FLEX_DIRECTION, flexDirection) // layout style
133     KEYWORD(FLEX_END, flex-end) // layout style
134     KEYWORD(FLEX_START, flex-start) // layout style
135     KEYWORD(FLEX_WRAP, flexWrap) // layout style
136     KEYWORD(FONT_SIZE, fontSize) // text style type
137     KEYWORD(FONT_FAMILY, fontFamily) // text style type
138     KEYWORD(FORWARDS, forwards) // animation fill value
139     KEYWORD(HEIGHT, height) // common attributes
140 #if ((FEATURE_COMPONENT_ANALOG_CLOCK == 1) || (FEATURE_DATE_FORMAT == 1))
141     KEYWORD(HOUR, hour) // analog-clock hour
142 #endif // FEATURE_COMPONENT_ANALOG_CLOCK FEATURE_DATE_FORMAT
143 #if (FEATURE_DATE_FORMAT == 1)
144     KEYWORD(HOUR12, hour12)
145 #endif
146     KEYWORD(ID, id) // common attributes
147     KEYWORD(IMAGE, image) // tag name
148     KEYWORD(IMAGE_ANIMATOR, image-animator) // tag name
149     KEYWORD(IMAGES, images) // image-animator attribute
150     KEYWORD(INDEX, index) // swiper attr index
151     KEYWORD(INPUT, input) // input component name
152     KEYWORD(ITEM_SELECTED, itemselected) // scroll item selected event listener
153     KEYWORD(ITERATION, iteration) // image-animator attribute
154     KEYWORD(JUSTIFY_CONTENT, justifyContent) // layout style
155 #ifdef JS_EXTRA_EVENT_SUPPORT
156     KEYWORD(KEY, key) // onkey event
157 #endif
158     KEYWORD(LABELS, labels) // chart labels
159     KEYWORD(LARGER, larger) // text font size type
160     KEYWORD(LEFT, left) // text align type
161     KEYWORD(LETTER_SPACING, letterSpacing) // text style type
162     KEYWORD(LINE_HEIGHT, lineHeight) // text style type
163     KEYWORD(LIST, list) // list tag name
164     KEYWORD(LIST_ITEM, list-item) // list-item tag name
165 #if (FEATURE_DATE_FORMAT == 1)
166     KEYWORD(LONG, long)
167 #endif
168     KEYWORD(LONGPRESS, longpress) // long progress event listener
169     KEYWORD(LOOP, loop) // swiper loop attribute
170     KEYWORD(MARGIN, margin) // common style margin
171     KEYWORD(MARGIN_BOTTOM, marginBottom) // common style margin
172     KEYWORD(MARGIN_LEFT, marginLeft) // common style margin left
173     KEYWORD(MARGIN_RIGHT, marginRight) // common style margin right
174     KEYWORD(MARGIN_TOP, marginTop) // common style margin top
175     KEYWORD(MARQUEE, marquee) // marquee tag name
176     KEYWORD(MAX, max) // common attributes
177 #if (FEATURE_COMPONENT_EDITTEXT == 1)
178     KEYWORD(MAX_LENGTH, maxlength) // maxlength of input
179 #endif // FEATURE_COMPONENT_EDITTEXT
180     KEYWORD(MIN, min) // common attributes, analog-clock minute
181     KEYWORD(MINI, mini) // text font size type
182 #if (FEATURE_DATE_FORMAT == 1)
183     KEYWORD(MINUTE, minute)
184     KEYWORD(MONTH, month)
185 #endif
186 #if (FEATURE_COMPONENT_VIDEO == 1)
187     KEYWORD(MUTED, muted) // video component muted attribute
188 #endif // FEATURE_COMPONENT_VIDEO
189     KEYWORD(NAME, name) // the attribute name
190     KEYWORD(NONE, none) // animation fill value
191     KEYWORD(NO_REPEAT, no-repeat) // no-repeat pattern type
192 #if (FEATURE_DATE_FORMAT == 1)
193     KEYWORD(NUMERIC, numeric)
194 #endif
195     KEYWORD(OBJECT_FIT, objectFit) // image component object-fit
196     KEYWORD(OPACITY, opacity) // common style opacity
197     KEYWORD(OPTIONS, options) // chart options
198     KEYWORD(PADDING, padding)
199     KEYWORD(PADDING_BOTTOM, paddingBottom)
200     KEYWORD(PADDING_LEFT, paddingLeft)
201     KEYWORD(PADDING_RIGHT, paddingRight)
202     KEYWORD(PADDING_TOP, paddingTop)
203 #if (FEATURE_COMPONENT_EDITTEXT == 1)
204     KEYWORD(PASSWORD, password) // type of input component
205 #endif // FEATURE_COMPONENT_EDITTEXT
206     KEYWORD(PERCENT, percent)
207     KEYWORD(PICKER_VIEW, picker-view) // tag name
208     KEYWORD(REF, ref) // common attribute
209 #if (FEATURE_COMPONENT_VIDEO == 1)
210     KEYWORD(PREPARED, prepared) // video component prepared event
211 #endif // FEATURE_COMPONENT_VIDEO
212 #if (FEATURE_COMPONENT_ANALOG_CLOCK == 1)
213     KEYWORD(PIVOT_X, pivotX) // clock-hand pivot-x
214     KEYWORD(PIVOT_Y, pivotY) // clock-hand pivot-y
215 #endif // FEATURE_COMPONENT_ANALOG_CLOCK
216 #if (FEATURE_COMPONENT_EDITTEXT == 1)
217     KEYWORD(PLACEHOLDER, placeholder) // placeholder of edittext
218     KEYWORD(PLACEHOLDER_COLOR, placeholderColor) // placeholder-color of edittext
219 #endif // FEATURE_COMPONENT_EDITTEXT
220     KEYWORD(PROGRESS, progress) // progress tag name
221 #if (FEATURE_COMPONENT_QRCODE == 1)
222     KEYWORD(QRCODE, qrcode) // qrcode tag name
223 #endif
224     KEYWORD(RADIO, radio) // the type in input
225     KEYWORD(RADIUS, radius) // circle progress radius
226     KEYWORD(RANGE, range) // picker-view attr
227 #if (FEATURE_COMPONENT_VIDEO == 1)
228     KEYWORD(PAUSE, pause) // video component pause event tag
229 #endif // FEATURE_COMPONENT_VIDEO
230     KEYWORD(REVERSE, reverse) // image-animator attribute
231     KEYWORD(REPEAT, repeat) // repeat pattern type
232     KEYWORD(REPEAT_X, repeat-x) // repeat-x pattern type
233     KEYWORD(REPEAT_Y, repeat-y) // repeat-y pattern type
234     KEYWORD(RIGHT, right) // text align type
235     KEYWORD(ROTATE, rotate) // animation rotate
236     KEYWORD(ROW, row) // layout style
237     KEYWORD(ROW_REVERSE, row-reverse) // layout style
238     KEYWORD(SCALE_DOWN, scaleDown) // image component scale down
239     KEYWORD(SCROLLAMOUNT, scrollamount) // marquee scroll speed
240     KEYWORD(SCROLLBOTTOM, scrollbottom) // scroll bottom event listener
241     KEYWORD(SCROLLDELAY, scrolldelay) // marquee scroll delay
242     KEYWORD(SCROLLEND, scrollend) // scroll end event listener
243     KEYWORD(SCROLLSTART, scrollstart) // scroll start event listener
244     KEYWORD(SCROLLTOP, scrolltop) // scroll top event listener
245 #if (FEATURE_COMPONENT_ANALOG_CLOCK == 1)
246     KEYWORD(SEC, sec) // analog-clock second
247 #endif // FEATURE_COMPONENT_ANALOG_CLOCK
248 #if (FEATURE_DATE_FORMAT == 1)
249     KEYWORD(SECOND, second)
250 #endif
251 #if (FEATURE_COMPONENT_VIDEO == 1)
252     KEYWORD(SEEKING, seeking) // // video component seeking event tag
253     KEYWORD(SEEKED, seeked) // // video component seeked event tag
254 #endif // FEATURE_COMPONENT_VIDEO
255     KEYWORD(SELECTED, selected) // picker-view attr
256     KEYWORD(SELECTED_COLOR, selectedColor) // picker-view style
257     KEYWORD(SELECTED_FONT_FAMILY, selectedFontFamily) // picker-view style
258     KEYWORD(SELECTED_FONT_SIZE, selectedFontSize) // picker-view style
259 #if (FEATURE_DATE_FORMAT == 1)
260     KEYWORD(SHORT, short)
261 #endif
262     KEYWORD(SHOW, show)
263     KEYWORD(SLIDER, slider) // tag name
264     KEYWORD(SPACE_AROUND, space-around) // layout style
265     KEYWORD(SPACE_BETWEEN, space-between) // layout style
266     KEYWORD(SPACE_EVENLY, space-evenly) // layout style
267     KEYWORD(SRC, src) // common attributes, use for image view, video compnent
268     KEYWORD(IMAGE_WIDTH, width) // common attributes, use for image view, video compnent
269     KEYWORD(IMAGE_HEIGHT, height) // common attributes, use for image view, video compnent
270     KEYWORD(STACK, stack) // tag name
271     KEYWORD(STANDARD, standard) // text font size type
272     KEYWORD(STOP, stop) // image-animator stop event, video component end event tag
273 #if ((FEATURE_COMPONENT_DATE_PICKER == 1) || (FEATURE_COMPONENT_VIDEO == 1))
274     KEYWORD(START, start) // date picker-view attr, video component start event tag
275 #endif // ((FEATURE_COMPONENT_DATE_PICKER == 1) || (FEATURE_COMPONENT_VIDEO == 1))
276     KEYWORD(START_ANGLE, startAngle) // circle progress start angle
277     KEYWORD(STEP, step)
278     KEYWORD(STROKE_WIDTH, strokeWidth) // horizon/arc progress style
279     KEYWORD(SWIPE, swipe) // swipe event listener
280     KEYWORD(SWIPER, swiper) // tag name
281     KEYWORD(SWITCH, switch) // tag name
282 #if (FEATURE_COMPONENT_TABS == 1)
283     KEYWORD(TAB_BAR, tab-bar) // tag name
284     KEYWORD(TAB_CONTENT, tab-content) // tag name
285     KEYWORD(TABS, tabs) // tag name
286 #endif // FEATURE_COMPONENT_TABS
287     KEYWORD(TEXT, text) // tag name, picker-view attr value
288     KEYWORD(TEXT_ALIGN, textAlign) // text style type
289     KEYWORD(TEXT_OVERFLOW, textOverflow) // text style type
290     KEYWORD(TIME, time) // picker-view attr value
291 #if (FEATURE_COMPONENT_VIDEO == 1)
292     KEYWORD(TIME_UPDATE, timeupdate) // video component timeupdate event tag
293 #endif // FEATURE_COMPONENT_VIDEO
294     KEYWORD(TOP, top)
295     KEYWORD(TOTAL_ANGLE, total-angle) // circle progress style
296     KEYWORD(TOUCHSTART, touchStart) // touch event listener
297     KEYWORD(TOUCHMOVE, touchmove) // touchmove event listener
298     KEYWORD(TOUCHEND, touchEnd) // touchend event listener
299 #ifdef JS_EXTRA_EVENT_SUPPORT
300     KEYWORD(TOUCHCANCEL, touchcancel) // ontouchcancel event
301 #endif
302     KEYWORD(TRANSLATE_X, translateX) // animation transform x
303     KEYWORD(TRANSLATE_Y, translateY) // animation transform y
304     KEYWORD(TRUE, true) // common attributes
305 #if ((FEATURE_COMPONENT_ANALOG_CLOCK == 1) || (FEATURE_COMPONENT_EDITTEXT == 1))
306     KEYWORD(TYPE, type) // clock-hand type
307 #endif // (FEATURE_COMPONENT_ANALOG_CLOCK == 1) || (FEATURE_COMPONENT_EDITTEXT == 1)
308     KEYWORD(VALUE, value) // common attributes
309     KEYWORD(VERTICAL, vertical) // swiper attr vertical
310 #if (FEATURE_COMPONENT_VIDEO == 1)
311     KEYWORD(VIDEO, video) // video tag name
312 #endif // FEATURE_COMPONENT_VIDEO
313     KEYWORD(WIDTH, width) // common attributes
314     KEYWORD(WRAP, wrap) // flex wrap
315 #if (FEATURE_DATE_FORMAT == 1)
316     KEYWORD(WEEKDAY, weekday)
317     KEYWORD(YEAR, year)
318 #endif
319 #if (FEATURE_NUMBER_FORMAT == 1)
320     KEYWORD(STYLE, style)
321     KEYWORD(USEGROUP, useGroup)
322     KEYWORD(MINIMUMFRACTIONDIGITS, minimumFractionDigits)
323     KEYWORD(MAXIMUMFRACTIONDIGITS, maximumFractionDigits)
324 #endif
325 #if FEATURE_COMPONENT_TEXT_SPANNABLE
326     KEYWORD(BACKGROUNDCOLORSPANCOLOR, backgroundcolorspancolor)
327     KEYWORD(BACKGROUNDCOLORSPANSTART, backgroundcolorspanstart)
328     KEYWORD(BACKGROUNDCOLORSPANEND, backgroundcolorspanend)
329     KEYWORD(FOREGROUNDCOLORSPANCOLOR, foregroundcolorspancolor)
330     KEYWORD(FOREGROUNDCOLORSPANSTART, foregroundcolorspanstart)
331     KEYWORD(FOREGROUNDCOLORSPANEND, foregroundcolorspanend)
332     KEYWORD(LINEBACKGROUNDCOLORSPANCOLOR, linebackgroundcolorspancolor)
333     KEYWORD(LINEBACKGROUNDCOLORSPANSTART, linebackgroundcolorspanstart)
334     KEYWORD(LINEBACKGROUNDCOLORSPANEND, linebackgroundcolorspanend)
335     KEYWORD(ABSOLUTESIZESPANSTART, absolutesizespanstart)
336     KEYWORD(ABSOLUTESIZESPANEND, absolutesizespanend)
337     KEYWORD(ABSOLUTESIZESPANSIZE, absolutesizespansize)
338     KEYWORD(RELATIVESIZESPANSTART, relativesizespanstart)
339     KEYWORD(RELATIVESIZESPANEND, relativesizespanend)
340     KEYWORD(RELATIVESIZESPANSIZE, relativesizespansize)
341     KEYWORD(SPANNABLESTYLE, spannablestyle)
342     KEYWORD(SPANNABLESTART, spannablestart)
343     KEYWORD(SPANNABLEEND, spannableend)
344 #endif // FEATURE_COMPONENT_TEXT_SPANNABLE
345     // Reused by the struct end
346 // clang-format on
347 #ifdef KEYWORDS_ENUM_DEFINE
348     KEYWORDS_MAX, // max size is UINT16_MAX
349 };
350 #undef KEYWORDS_ENUM_DEFINE
351 #undef KEYWORD
352 } // namespace ACELite
353 } // OHOS namespace
354 #endif // KEYWORDS_ENUM_DEFINE
355 
356 #endif // OHOS_ACELITE_KEYS_H
357