1 /*
2 * Copyright (c) 2021-2022 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 #include "core/components/common/properties/color_factory.h"
17
18 namespace OHOS::Ace {
19
ColorFactory()20 ColorFactory::ColorFactory()
21 {
22 colorMap_["DATA_PANEL_LIGHT_COLOR_1"] =
23 std::make_pair<Color, Color>(Color::FromString("#F7CE00"), Color::FromString("#F99B11"));
24 colorMap_["DATA_PANEL_LIGHT_COLOR_2"] =
25 std::make_pair<Color, Color>(Color::FromString("#F76223"), Color::FromString("#F2400A"));
26 colorMap_["DATA_PANEL_LIGHT_COLOR_3"] =
27 std::make_pair<Color, Color>(Color::FromString("#F772AC"), Color::FromString("#E65392"));
28 colorMap_["DATA_PANEL_LIGHT_COLOR_4"] =
29 std::make_pair<Color, Color>(Color::FromString("#A575EB"), Color::FromString("#A12DF7"));
30 colorMap_["DATA_PANEL_LIGHT_COLOR_5"] =
31 std::make_pair<Color, Color>(Color::FromString("#7B79F7"), Color::FromString("#4B48F7"));
32 colorMap_["DATA_PANEL_LIGHT_COLOR_6"] =
33 std::make_pair<Color, Color>(Color::FromString("#4B8AF3"), Color::FromString("#007DFF"));
34 colorMap_["DATA_PANEL_LIGHT_COLOR_7"] =
35 std::make_pair<Color, Color>(Color::FromString("#73C1E6"), Color::FromString("#4FB4E3"));
36 colorMap_["DATA_PANEL_LIGHT_COLOR_8"] =
37 std::make_pair<Color, Color>(Color::FromString("#A5D61D"), Color::FromString("#69D14F"));
38 colorMap_["DATA_PANEL_LIGHT_COLOR_9"] =
39 std::make_pair<Color, Color>(Color::FromString("#A2A2B0"), Color::FromString("#8E8E93"));
40
41 colorMap_["DATA_PANEL_DARK_COLOR_1"] =
42 std::make_pair<Color, Color>(Color::FromString("#D1A738"), Color::FromString("#EB933D"));
43 colorMap_["DATA_PANEL_DARK_COLOR_2"] =
44 std::make_pair<Color, Color>(Color::FromString("#E67D50"), Color::FromString("#D9542B"));
45 colorMap_["DATA_PANEL_DARK_COLOR_3"] =
46 std::make_pair<Color, Color>(Color::FromString("#D5749E"), Color::FromString("#D6568D"));
47 colorMap_["DATA_PANEL_DARK_COLOR_4"] =
48 std::make_pair<Color, Color>(Color::FromString("#9973D1"), Color::FromString("#8639BF"));
49 colorMap_["DATA_PANEL_DARK_COLOR_5"] =
50 std::make_pair<Color, Color>(Color::FromString("#7977D9"), Color::FromString("#5552D9"));
51 colorMap_["DATA_PANEL_DARK_COLOR_6"] =
52 std::make_pair<Color, Color>(Color::FromString("#4C81D9"), Color::FromString("#217BD9"));
53 colorMap_["DATA_PANEL_DARK_COLOR_7"] =
54 std::make_pair<Color, Color>(Color::FromString("#5EA6D1"), Color::FromString("#4895C2"));
55 colorMap_["DATA_PANEL_DARK_COLOR_8"] =
56 std::make_pair<Color, Color>(Color::FromString("#91C23A"), Color::FromString("#70BA5D"));
57 colorMap_["DATA_PANEL_DARK_COLOR_9"] =
58 std::make_pair<Color, Color>(Color::FromString("#8C8C99"), Color::FromString("#6B6B76"));
59
60 colorMap_["DATA_PANEL_PROGRESS_LIGHT_COLOR_1"] =
61 std::make_pair<Color, Color>(Color::FromString("#86C1FF"), Color::FromString("#254FF7"));
62 colorMap_["DATA_PANEL_PROGRESS_DARK_COLOR_1"] =
63 std::make_pair<Color, Color>(Color::FromString("#72A4D9"), Color::FromString("#3B61F7"));
64 }
65
GetInstance()66 ColorFactory& ColorFactory::GetInstance()
67 {
68 // don't need lock, because of no race condition.
69 static auto instance = new ColorFactory();
70 return *instance;
71 }
72
GetColorTuple(const std::string & colorName)73 std::pair<Color, Color> ColorFactory::GetColorTuple(const std::string& colorName)
74 {
75 auto colorPair = colorMap_.find(colorName);
76 if (colorPair != colorMap_.end()) {
77 return colorPair->second;
78 }
79 return std::make_pair<Color, Color>(Color(), Color());
80 }
81
82 } // namespace OHOS::Ace