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