• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 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 RENDER_SERVICE_CLIENT_CORE_ANIMATION_RS_MODIFIER_TYPE_H
17 #define RENDER_SERVICE_CLIENT_CORE_ANIMATION_RS_MODIFIER_TYPE_H
18 
19 #include <cstdint>
20 
21 namespace OHOS {
22 namespace Rosen {
23 // NOTE:
24 // 1. MUST update g_propertyResetterLUT in rs_properties.cpp when new properties are added
25 // 2. property modifier MUST be added before CUSTOM, else wise it will be treated as draw modifier
26 enum class RSModifierType : int16_t {
27     INVALID = 0,                   // 0
28     BOUNDS,                        // 1
29     FRAME,                         // 2
30     POSITION_Z,                    // 3
31     PIVOT,                         // 4
32     PIVOT_Z,                       // 5
33     QUATERNION,                    // 6
34     ROTATION,                      // 7
35     ROTATION_X,                    // 8
36     ROTATION_Y,                    // 9
37     CAMERA_DISTANCE,               // 10
38     SCALE,                         // 11
39     TRANSLATE,                     // 12
40     TRANSLATE_Z,                   // 13
41     SUBLAYER_TRANSFORM,            // 14
42     CORNER_RADIUS,                 // 15
43     ALPHA,                         // 16
44     ALPHA_OFFSCREEN,               // 17
45     FOREGROUND_COLOR,              // 18
46     BACKGROUND_COLOR,              // 19
47     BACKGROUND_SHADER,             // 20
48     BG_IMAGE,                      // 21
49     BG_IMAGE_WIDTH,                // 22
50     BG_IMAGE_HEIGHT,               // 23
51     BG_IMAGE_POSITION_X,           // 24
52     BG_IMAGE_POSITION_Y,           // 25
53     SURFACE_BG_COLOR,              // 26
54     BORDER_COLOR,                  // 27
55     BORDER_WIDTH,                  // 28
56     BORDER_STYLE,                  // 29
57     FILTER,                        // 30
58     BACKGROUND_FILTER,             // 31
59     LINEAR_GRADIENT_BLUR_PARA,     // 32
60     DYNAMIC_LIGHT_UP_RATE,         // 33
61     DYNAMIC_LIGHT_UP_DEGREE,       // 34
62     FRAME_GRAVITY,                 // 35
63     CLIP_RRECT,                    // 36
64     CLIP_BOUNDS,                   // 37
65     CLIP_TO_BOUNDS,                // 38
66     CLIP_TO_FRAME,                 // 39
67     VISIBLE,                       // 40
68     SHADOW_COLOR,                  // 41
69     SHADOW_OFFSET_X,               // 42
70     SHADOW_OFFSET_Y,               // 43
71     SHADOW_ALPHA,                  // 44
72     SHADOW_ELEVATION,              // 45
73     SHADOW_RADIUS,                 // 46
74     SHADOW_PATH,                   // 47
75     SHADOW_MASK,                   // 48
76     SHADOW_COLOR_STRATEGY,         // 49
77     MASK,                          // 50
78     SPHERIZE,                      // 51
79     LIGHT_UP_EFFECT,               // 52
80     PIXEL_STRETCH,                 // 53
81     PIXEL_STRETCH_PERCENT,         // 54
82     USE_EFFECT,                    // 55
83     COLOR_BLEND_MODE,              // 56
84     COLOR_BLEND_APPLY_TYPE,        // 57
85     SANDBOX,                       // 58
86     GRAY_SCALE,                    // 59
87     BRIGHTNESS,                    // 60
88     CONTRAST,                      // 61
89     SATURATE,                      // 62
90     SEPIA,                         // 63
91     INVERT,                        // 64
92     AIINVERT,                      // 65
93     SYSTEMBAREFFECT,               // 66
94     HUE_ROTATE,                    // 67
95     COLOR_BLEND,                   // 68
96     PARTICLE,                      // 69
97     SHADOW_IS_FILLED,              // 70
98     OUTLINE_COLOR,                 // 71
99     OUTLINE_WIDTH,                 // 72
100     OUTLINE_STYLE,                 // 73
101     OUTLINE_RADIUS,                // 74
102     USE_SHADOW_BATCHING,           // 75
103     GREY_COEF1,                    // 76
104     GREY_COEF2,                    // 77
105     LIGHT_INTENSITY,               // 78
106     LIGHT_POSITION,                // 79
107     ILLUMINATED_BORDER_WIDTH,      // 80
108     ILLUMINATED_TYPE,              // 81
109     BLOOM,                         // 82
110     CUSTOM,                        // 83
111     EXTENDED,                      // 84
112     TRANSITION,                    // 85
113     BACKGROUND_STYLE,              // 86
114     CONTENT_STYLE,                 // 87
115     FOREGROUND_STYLE,              // 88
116     OVERLAY_STYLE,                 // 89
117     NODE_MODIFIER,                 // 90
118     ENV_FOREGROUND_COLOR,          // 91
119     ENV_FOREGROUND_COLOR_STRATEGY, // 92
120     GEOMETRYTRANS,                 // 93
121 #ifdef USE_ROSEN_DRAWING
122     MAX_RS_MODIFIER_TYPE,
123 #endif
124 };
125 
126 enum class RSRenderPropertyType : int16_t {
127     INVALID = 0,
128     PROPERTY_FLOAT,
129     PROPERTY_COLOR,
130     PROPERTY_MATRIX3F,
131     PROPERTY_QUATERNION,
132     PROPERTY_FILTER,
133     PROPERTY_VECTOR2F,
134     PROPERTY_VECTOR4F,
135     PROPERTY_VECTOR4_COLOR,
136     PROPERTY_SKMATRIX,
137     PROPERTY_RRECT,
138 };
139 
140 enum class RSPropertyUnit : int16_t {
141     UNKNOWN = 0,
142     PIXEL_POSITION,
143     PIXEL_SIZE,
144     RATIO_SCALE,
145     ANGLE_ROTATION,
146 };
147 
148 } // namespace Rosen
149 } // namespace OHOS
150 
151 #endif // RENDER_SERVICE_CLIENT_CORE_ANIMATION_RS_MODIFIER_TYPE_H
152