• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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