1 /*
2  * Copyright (c) 2021-2024 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 FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_BASE_PROPERTIES_PLACEMENT_H
17 #define FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_BASE_PROPERTIES_PLACEMENT_H
18 
19 namespace OHOS::Ace {
20 
21 enum class Placement {
22     LEFT,
23     RIGHT,
24     TOP,
25     BOTTOM,
26     TOP_LEFT,
27     TOP_RIGHT,
28     BOTTOM_LEFT,
29     BOTTOM_RIGHT,
30     LEFT_TOP,
31     LEFT_BOTTOM,
32     RIGHT_TOP,
33     RIGHT_BOTTOM,
34     NONE,
35 };
36 
37 class PlacementUtils {
38 public:
ConvertPlacementToString(Placement placement)39     static std::string ConvertPlacementToString(Placement placement)
40     {
41         std::string placementStr;
42         switch (placement) {
43             case Placement::LEFT:
44                 placementStr = "Placement.LEFT";
45                 break;
46             case Placement::RIGHT:
47                 placementStr = "Placement.RIGHT";
48                 break;
49             case Placement::TOP:
50                 placementStr = "Placement.TOP";
51                 break;
52             case Placement::BOTTOM:
53                 placementStr = "Placement.BOTTOM";
54                 break;
55             case Placement::TOP_LEFT:
56                 placementStr = "Placement.TOP_LEFT";
57                 break;
58             case Placement::TOP_RIGHT:
59                 placementStr = "Placement.TOP_RIGHT";
60                 break;
61             case Placement::BOTTOM_LEFT:
62                 placementStr = "Placement.BOTTOM_LEFT";
63                 break;
64             case Placement::BOTTOM_RIGHT:
65                 placementStr = "Placement.BOTTOM_RIGHT";
66                 break;
67             case Placement::LEFT_TOP:
68                 placementStr = "Placement.LEFT_TOP";
69                 break;
70             case Placement::LEFT_BOTTOM:
71                 placementStr = "Placement.LEFT_BOTTOM";
72                 break;
73             case Placement::RIGHT_TOP:
74                 placementStr = "Placement.RIGHT_TOP";
75                 break;
76             case Placement::RIGHT_BOTTOM:
77                 placementStr = "Placement.RIGHT_BOTTOM";
78                 break;
79             case Placement::NONE:
80                 placementStr = "Placement.NONE";
81                 break;
82             default:
83                 placementStr = "Placement.DEFAULT";
84         }
85         return placementStr;
86     }
87 };
88 } // namespace OHOS::Ace
89 
90 #endif // FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_BASE_PROPERTIES_PLACEMENT_H
91