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