1 /* 2 * Copyright (c) 2021 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_ANIMATABLE_PROPERTY_H 17 #define RENDER_SERVICE_CLIENT_CORE_ANIMATION_RS_ANIMATABLE_PROPERTY_H 18 19 #include "common/rs_macros.h" 20 21 namespace OHOS { 22 namespace Rosen { 23 24 enum class RSAnimatableProperty : unsigned long long { 25 // Invalid 26 INVALID = 0, 27 // Opacity 28 ALPHA = 1ull << 1, 29 // Bounds 30 BOUNDS_WIDTH = 1ull << 2, 31 BOUNDS_HEIGHT = 1ull << 3, 32 BOUNDS_SIZE = BOUNDS_WIDTH | BOUNDS_HEIGHT, 33 BOUNDS_POSITION_X = 1ull << 4, 34 BOUNDS_POSITION_Y = 1ull << 5, 35 BOUNDS_POSITION = BOUNDS_POSITION_X | BOUNDS_POSITION_Y, 36 BOUNDS = BOUNDS_POSITION | BOUNDS_SIZE, 37 // Frame 38 FRAME_WIDTH = 1ull << 6, 39 FRAME_HEIGHT = 1ull << 7, 40 FRAME_SIZE = FRAME_WIDTH | FRAME_HEIGHT, 41 FRAME_POSITION_X = 1ull << 8, 42 FRAME_POSITION_Y = 1ull << 9, 43 FRAME_POSITION = FRAME_POSITION_X | FRAME_POSITION_Y, 44 FRAME = FRAME_POSITION | FRAME_SIZE, 45 // Pivot 46 PIVOT_X = 1ull << 10, 47 PIVOT_Y = 1ull << 11, 48 PIVOT = PIVOT_X | PIVOT_Y, 49 // others 50 CORNER_RADIUS = 1ull << 12, 51 POSITION_Z = 1ull << 13, 52 // Transform 53 TRANSLATE_X = 1ull << 14, 54 TRANSLATE_Y = 1ull << 15, 55 TRANSLATE_Z = 1ull << 16, 56 TRANSLATE = TRANSLATE_X | TRANSLATE_Y | TRANSLATE_Z, 57 SCALE_X = 1ull << 17, 58 SCALE_Y = 1ull << 18, 59 SCALE = SCALE_X | SCALE_Y, 60 ROTATION = 1ull << 19, 61 ROTATION_X = 1ull << 20, 62 ROTATION_Y = 1ull << 21, 63 ROTATION_3D = ROTATION_X | ROTATION_Y | ROTATION, 64 // Background 65 BACKGROUND_COLOR = 1ull << 22, 66 BGIMAGE_WIDTH = 1ull << 23, 67 BGIMAGE_HEIGHT = 1ull << 24, 68 BGIMAGE_POSITION_X = 1ull << 25, 69 BGIMAGE_POSITION_Y = 1ull << 26, 70 // Foreground 71 FOREGROUND_COLOR = 1ull << 27, 72 // Shadow 73 SHADOW_OFFSET_X = 1ull << 28, 74 SHADOW_OFFSET_Y = 1ull << 29, 75 SHADOW_ALPHA = 1ull << 30, 76 SHADOW_ELEVATION = 1ull << 31, 77 SHADOW_RADIUS = 1ull << 32, 78 SHADOW_COLOR = 1ull << 33, 79 // Border 80 BORDER_COLOR = 1ull << 34, 81 BORDER_WIDTH = 1ull << 35, 82 // Filter 83 FILTER = 1ull << 36, 84 BACKGROUND_FILTER = 1ull << 37, 85 // SubLayer 86 SUB_LAYER_TRANSFORM = 1ull << 38, 87 }; 88 } // namespace Rosen 89 } // namespace OHOS 90 91 #endif // RENDER_SERVICE_CLIENT_CORE_ANIMATION_RS_ANIMATABLE_PROPERTY_H 92