• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023 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/common/rosen/rosen_convert_helper.h"
17 
18 #include "base/utils/system_properties.h"
19 
20 namespace OHOS::Ace {
GetRosenBlurStyleValue(const BlurStyleOption & option)21 MATERIAL_BLUR_STYLE GetRosenBlurStyleValue(const BlurStyleOption& option)
22 {
23     ThemeColorMode colorMode = option.colorMode;
24     if (option.colorMode == ThemeColorMode::SYSTEM) {
25         colorMode = SystemProperties::GetColorMode() == ColorMode::DARK ? ThemeColorMode::DARK : ThemeColorMode::LIGHT;
26     }
27     SystemProperties::GetColorMode();
28     const static std::map<std::pair<BlurStyle, ThemeColorMode>, MATERIAL_BLUR_STYLE> mp = {
29         { { BlurStyle::THIN, ThemeColorMode::LIGHT }, MATERIAL_BLUR_STYLE::STYLE_CARD_THIN_LIGHT },
30         { { BlurStyle::THIN, ThemeColorMode::DARK }, MATERIAL_BLUR_STYLE::STYLE_CARD_THIN_DARK },
31         { { BlurStyle::REGULAR, ThemeColorMode::LIGHT }, MATERIAL_BLUR_STYLE::STYLE_CARD_LIGHT },
32         { { BlurStyle::REGULAR, ThemeColorMode::DARK }, MATERIAL_BLUR_STYLE::STYLE_CARD_DARK },
33         { { BlurStyle::THICK, ThemeColorMode::LIGHT }, MATERIAL_BLUR_STYLE::STYLE_CARD_THICK_LIGHT },
34         { { BlurStyle::THICK, ThemeColorMode::DARK }, MATERIAL_BLUR_STYLE::STYLE_CARD_THICK_DARK },
35         { { BlurStyle::BACKGROUND_THIN, ThemeColorMode::LIGHT }, MATERIAL_BLUR_STYLE::STYLE_BACKGROUND_SMALL_LIGHT },
36         { { BlurStyle::BACKGROUND_THIN, ThemeColorMode::DARK }, MATERIAL_BLUR_STYLE::STYLE_BACKGROUND_SMALL_DARK },
37         { { BlurStyle::BACKGROUND_REGULAR, ThemeColorMode::LIGHT },
38             MATERIAL_BLUR_STYLE::STYLE_BACKGROUND_MEDIUM_LIGHT },
39         { { BlurStyle::BACKGROUND_REGULAR, ThemeColorMode::DARK }, MATERIAL_BLUR_STYLE::STYLE_BACKGROUND_MEDIUM_DARK },
40         { { BlurStyle::BACKGROUND_THICK, ThemeColorMode::LIGHT }, MATERIAL_BLUR_STYLE::STYLE_BACKGROUND_LARGE_LIGHT },
41         { { BlurStyle::BACKGROUND_THICK, ThemeColorMode::DARK }, MATERIAL_BLUR_STYLE::STYLE_BACKGROUND_LARGE_DARK },
42         { { BlurStyle::BACKGROUND_ULTRA_THICK, ThemeColorMode::LIGHT },
43             MATERIAL_BLUR_STYLE::STYLE_BACKGROUND_XLARGE_LIGHT },
44         { { BlurStyle::BACKGROUND_ULTRA_THICK, ThemeColorMode::DARK },
45             MATERIAL_BLUR_STYLE::STYLE_BACKGROUND_XLARGE_DARK },
46     };
47     auto iter = mp.find({ option.blurStyle, colorMode });
48     return iter != mp.end() ? iter->second : MATERIAL_BLUR_STYLE::NO_MATERIAL;
49 }
50 } // namespace OHOS::Ace
51