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 FOUNDATION_ACE_FRAMEWORKS_BRIDGE_COMMON_DOM_DOM_REFLECT_MAP_H 17 #define FOUNDATION_ACE_FRAMEWORKS_BRIDGE_COMMON_DOM_DOM_REFLECT_MAP_H 18 19 #include <map> 20 21 #include "core/components/common/layout/constants.h" 22 #include "core/components/common/layout/grid_layout_info.h" 23 #include "frameworks/bridge/common/dom/dom_type.h" 24 25 namespace OHOS::Ace::Framework { 26 27 const std::map<std::string, FlexDirection> FlexDirectionMap = { 28 { DOM_FLEX_COLUMN, FlexDirection::COLUMN }, 29 { DOM_FLEX_ROW, FlexDirection::ROW }, 30 { DOM_FLEX_COLUMN_REVERSE, FlexDirection::COLUMN_REVERSE }, 31 { DOM_FLEX_ROW_REVERSE, FlexDirection::ROW_REVERSE } 32 }; 33 34 const std::map<std::string, FlexAlign> FlexJustifyContentMap = { 35 { DOM_JUSTIFY_CONTENT_START, FlexAlign::FLEX_START }, 36 { DOM_JUSTIFY_CONTENT_CENTER, FlexAlign::CENTER }, 37 { DOM_JUSTIFY_CONTENT_END, FlexAlign::FLEX_END }, 38 { DOM_JUSTIFY_CONTENT_BETWEEN, FlexAlign::SPACE_BETWEEN }, 39 { DOM_JUSTIFY_CONTENT_AROUND, FlexAlign::SPACE_AROUND }, 40 { DOM_JUSTIFY_CONTENT_EVENLY, FlexAlign::SPACE_EVENLY }, 41 }; 42 43 const std::map<std::string, FlexAlign> FlexAlignItemsMap = { 44 { DOM_ALIGN_ITEMS_STRETCH, FlexAlign::STRETCH }, 45 { DOM_ALIGN_ITEMS_START, FlexAlign::FLEX_START }, 46 { DOM_ALIGN_ITEMS_CENTER, FlexAlign::CENTER }, 47 { DOM_ALIGN_ITEMS_END, FlexAlign::FLEX_END }, 48 { DOM_ALIGN_ITEMS_BASELINE, FlexAlign::BASELINE }, 49 }; 50 51 const std::map<std::string, WrapDirection> WrapDirectionMap = { 52 { DOM_FLEX_ROW, WrapDirection::HORIZONTAL }, 53 { DOM_FLEX_COLUMN, WrapDirection::VERTICAL } 54 }; 55 56 const std::map<std::string, WrapAlignment> WrapJustifyContentMap = { 57 { DOM_JUSTIFY_CONTENT_START, WrapAlignment::START }, 58 { DOM_JUSTIFY_CONTENT_CENTER, WrapAlignment::CENTER }, 59 { DOM_JUSTIFY_CONTENT_END, WrapAlignment::END }, 60 { DOM_JUSTIFY_CONTENT_BETWEEN, WrapAlignment::SPACE_BETWEEN }, 61 { DOM_JUSTIFY_CONTENT_AROUND, WrapAlignment::SPACE_AROUND } 62 }; 63 64 const std::map<std::string, WrapAlignment> WrapAlignItemsMap = { 65 { DOM_ALIGN_ITEMS_STRETCH, WrapAlignment::STRETCH }, 66 { DOM_ALIGN_ITEMS_START, WrapAlignment::START }, 67 { DOM_ALIGN_ITEMS_CENTER, WrapAlignment::CENTER }, 68 { DOM_ALIGN_ITEMS_END, WrapAlignment::END} 69 }; 70 71 const std::map<std::string, WrapAlignment> WrapAlignContentMap = { 72 { DOM_ALIGN_CONTENT_STRETCH, WrapAlignment::STRETCH }, 73 { DOM_ALIGN_CONTENT_START, WrapAlignment::START }, 74 { DOM_ALIGN_CONTENT_CENTER, WrapAlignment::CENTER }, 75 { DOM_ALIGN_CONTENT_END, WrapAlignment::END }, 76 { DOM_ALIGN_CONTENT_BETWEEN, WrapAlignment::SPACE_BETWEEN }, 77 { DOM_ALIGN_CONTENT_AROUND, WrapAlignment::SPACE_AROUND } 78 }; 79 80 const std::map<std::string, GridSizeType> GridSizeTypeMap = { 81 { DOM_GRID_SIZE_TYPE_XS, GridSizeType::XS }, 82 { DOM_GRID_SIZE_TYPE_SM, GridSizeType::SM }, 83 { DOM_GRID_SIZE_TYPE_MD, GridSizeType::MD }, 84 { DOM_GRID_SIZE_TYPE_LG, GridSizeType::LG } 85 }; 86 87 const std::map<std::string, GridTemplateType> GridTemplateMap = { 88 { DOM_GRID_TEMPLATE_TYPE_NORMAL, GridTemplateType::NORMAL }, 89 { DOM_GRID_TEMPLATE_TYPE_GRID, GridTemplateType::GRID }, 90 }; 91 92 const std::map<std::string, GridColumnType> GridColumnTypeMap = { 93 { DOM_COLUMN_TYPE_NONE, GridColumnType::NONE }, 94 { DOM_COLUMN_TYPE_BUBBLE, GridColumnType::BUBBLE_TYPE }, 95 { DOM_COLUMN_TYPE_BUTTON, GridColumnType::BUTTON_TYPE }, 96 { DOM_COLUMN_TYPE_CARD, GridColumnType::CARD_TYPE }, 97 { DOM_COLUMN_TYPE_CONTENT, GridColumnType::CONTENT_TYPE }, 98 }; 99 100 } // namespace OHOS::Ace::Framework 101 102 #endif // FOUNDATION_ACE_FRAMEWORKS_BRIDGE_COMMON_DOM_DOM_REFLECT_MAP_H 103