1bafb9395Sopenharmony_ci/*
2bafb9395Sopenharmony_ci * Copyright (c) 2020-2022 Huawei Device Co., Ltd.
3bafb9395Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4bafb9395Sopenharmony_ci * you may not use this file except in compliance with the License.
5bafb9395Sopenharmony_ci * You may obtain a copy of the License at
6bafb9395Sopenharmony_ci *
7bafb9395Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8bafb9395Sopenharmony_ci *
9bafb9395Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10bafb9395Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11bafb9395Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12bafb9395Sopenharmony_ci * See the License for the specific language governing permissions and
13bafb9395Sopenharmony_ci * limitations under the License.
14bafb9395Sopenharmony_ci */
15bafb9395Sopenharmony_ci
16bafb9395Sopenharmony_ci/**
17bafb9395Sopenharmony_ci * @addtogroup UI_Utils
18bafb9395Sopenharmony_ci * @{
19bafb9395Sopenharmony_ci *
20bafb9395Sopenharmony_ci * @brief Defines basic UI utils.
21bafb9395Sopenharmony_ci *
22bafb9395Sopenharmony_ci * @since 1.0
23bafb9395Sopenharmony_ci * @version 1.0
24bafb9395Sopenharmony_ci */
25bafb9395Sopenharmony_ci
26bafb9395Sopenharmony_ci/**
27bafb9395Sopenharmony_ci * @file style.h
28bafb9395Sopenharmony_ci *
29bafb9395Sopenharmony_ci * @brief Defines the attributes and common functions of style.
30bafb9395Sopenharmony_ci *
31bafb9395Sopenharmony_ci * @since 1.0
32bafb9395Sopenharmony_ci * @version 1.0
33bafb9395Sopenharmony_ci */
34bafb9395Sopenharmony_ci
35bafb9395Sopenharmony_ci#ifndef GRAPHIC_LITE_STYLE_H
36bafb9395Sopenharmony_ci#define GRAPHIC_LITE_STYLE_H
37bafb9395Sopenharmony_ci
38bafb9395Sopenharmony_ci#include "gfx_utils/color.h"
39bafb9395Sopenharmony_ci
40bafb9395Sopenharmony_cinamespace OHOS {
41bafb9395Sopenharmony_ci/**
42bafb9395Sopenharmony_ci * @brief Enumerates keys of styles.
43bafb9395Sopenharmony_ci *
44bafb9395Sopenharmony_ci * @since 1.0
45bafb9395Sopenharmony_ci * @version 1.0
46bafb9395Sopenharmony_ci */
47bafb9395Sopenharmony_cienum : uint8_t {
48bafb9395Sopenharmony_ci    /** Background color */
49bafb9395Sopenharmony_ci    STYLE_BACKGROUND_COLOR,
50bafb9395Sopenharmony_ci    /** Background opacity */
51bafb9395Sopenharmony_ci    STYLE_BACKGROUND_OPA,
52bafb9395Sopenharmony_ci    /** Border radius */
53bafb9395Sopenharmony_ci    STYLE_BORDER_RADIUS,
54bafb9395Sopenharmony_ci    /** Border color */
55bafb9395Sopenharmony_ci    STYLE_BORDER_COLOR,
56bafb9395Sopenharmony_ci    /** Border opacity */
57bafb9395Sopenharmony_ci    STYLE_BORDER_OPA,
58bafb9395Sopenharmony_ci    /** Border width */
59bafb9395Sopenharmony_ci    STYLE_BORDER_WIDTH,
60bafb9395Sopenharmony_ci    /** Left padding */
61bafb9395Sopenharmony_ci    STYLE_PADDING_LEFT,
62bafb9395Sopenharmony_ci    /** Right padding */
63bafb9395Sopenharmony_ci    STYLE_PADDING_RIGHT,
64bafb9395Sopenharmony_ci    /** Top padding */
65bafb9395Sopenharmony_ci    STYLE_PADDING_TOP,
66bafb9395Sopenharmony_ci    /** Bottom padding */
67bafb9395Sopenharmony_ci    STYLE_PADDING_BOTTOM,
68bafb9395Sopenharmony_ci    /** Left margin */
69bafb9395Sopenharmony_ci    STYLE_MARGIN_LEFT,
70bafb9395Sopenharmony_ci    /** Right margin */
71bafb9395Sopenharmony_ci    STYLE_MARGIN_RIGHT,
72bafb9395Sopenharmony_ci    /** Top margin */
73bafb9395Sopenharmony_ci    STYLE_MARGIN_TOP,
74bafb9395Sopenharmony_ci    /** Bottom margin */
75bafb9395Sopenharmony_ci    STYLE_MARGIN_BOTTOM,
76bafb9395Sopenharmony_ci    /** Image opacity */
77bafb9395Sopenharmony_ci    STYLE_IMAGE_OPA,
78bafb9395Sopenharmony_ci    /** Text color */
79bafb9395Sopenharmony_ci    STYLE_TEXT_COLOR,
80bafb9395Sopenharmony_ci    /** Text font */
81bafb9395Sopenharmony_ci    STYLE_TEXT_FONT,
82bafb9395Sopenharmony_ci    /** line space */
83bafb9395Sopenharmony_ci    STYLE_LINE_SPACE,
84bafb9395Sopenharmony_ci    /** Letter spacing */
85bafb9395Sopenharmony_ci    STYLE_LETTER_SPACE,
86bafb9395Sopenharmony_ci    /** Line height */
87bafb9395Sopenharmony_ci    STYLE_LINE_HEIGHT,
88bafb9395Sopenharmony_ci    /** Text opacity */
89bafb9395Sopenharmony_ci    STYLE_TEXT_OPA,
90bafb9395Sopenharmony_ci    /** Line color */
91bafb9395Sopenharmony_ci    STYLE_LINE_COLOR,
92bafb9395Sopenharmony_ci    /** Line width */
93bafb9395Sopenharmony_ci    STYLE_LINE_WIDTH,
94bafb9395Sopenharmony_ci    /** Line opacity */
95bafb9395Sopenharmony_ci    STYLE_LINE_OPA,
96bafb9395Sopenharmony_ci    /** Line cap style */
97bafb9395Sopenharmony_ci    STYLE_LINE_CAP
98bafb9395Sopenharmony_ci};
99bafb9395Sopenharmony_ci
100bafb9395Sopenharmony_ci/**
101bafb9395Sopenharmony_ci * @brief Enumerates cap styles.
102bafb9395Sopenharmony_ci *
103bafb9395Sopenharmony_ci * @since 1.0
104bafb9395Sopenharmony_ci * @version 1.0
105bafb9395Sopenharmony_ci */
106bafb9395Sopenharmony_cienum CapType : uint8_t {
107bafb9395Sopenharmony_ci    /** No cap style */
108bafb9395Sopenharmony_ci    CAP_NONE,
109bafb9395Sopenharmony_ci    /** Round cap style */
110bafb9395Sopenharmony_ci    CAP_ROUND,
111bafb9395Sopenharmony_ci    CAP_ROUND_UNSHOW,
112bafb9395Sopenharmony_ci};
113bafb9395Sopenharmony_ci
114bafb9395Sopenharmony_ci/**
115bafb9395Sopenharmony_ci * @brief Defines the basic attributes and functions of a style. You can use this class to set different styles.
116bafb9395Sopenharmony_ci *
117bafb9395Sopenharmony_ci * @since 1.0
118bafb9395Sopenharmony_ci * @version 1.0
119bafb9395Sopenharmony_ci */
120bafb9395Sopenharmony_ciclass Style : public HeapBase {
121bafb9395Sopenharmony_cipublic:
122bafb9395Sopenharmony_ci    /**
123bafb9395Sopenharmony_ci     * @brief A constructor used to create a <b>Style</b> instance.
124bafb9395Sopenharmony_ci     *
125bafb9395Sopenharmony_ci     * @since 1.0
126bafb9395Sopenharmony_ci     * @version 1.0
127bafb9395Sopenharmony_ci     */
128bafb9395Sopenharmony_ci    Style();
129bafb9395Sopenharmony_ci
130bafb9395Sopenharmony_ci    /**
131bafb9395Sopenharmony_ci     * @brief A destructor used to delete the <b>Style</b> instance.
132bafb9395Sopenharmony_ci     *
133bafb9395Sopenharmony_ci     * @since 1.0
134bafb9395Sopenharmony_ci     * @version 1.0
135bafb9395Sopenharmony_ci     */
136bafb9395Sopenharmony_ci    virtual ~Style() {}
137bafb9395Sopenharmony_ci
138bafb9395Sopenharmony_ci    /**
139bafb9395Sopenharmony_ci     * @brief Sets a style.
140bafb9395Sopenharmony_ci     *
141bafb9395Sopenharmony_ci     * @param key Indicates the key of the style to set.
142bafb9395Sopenharmony_ci     * @param value Indicates the value matching the key.
143bafb9395Sopenharmony_ci     * @since 1.0
144bafb9395Sopenharmony_ci     * @version 1.0
145bafb9395Sopenharmony_ci     */
146bafb9395Sopenharmony_ci    void SetStyle(uint8_t key, int64_t value);
147bafb9395Sopenharmony_ci
148bafb9395Sopenharmony_ci    /**
149bafb9395Sopenharmony_ci     * @brief Obtains the value of a style.
150bafb9395Sopenharmony_ci     *
151bafb9395Sopenharmony_ci     * @param key Indicates the key of the style.
152bafb9395Sopenharmony_ci     * @return Returns the value of the style.
153bafb9395Sopenharmony_ci     * @since 1.0
154bafb9395Sopenharmony_ci     * @version 1.0
155bafb9395Sopenharmony_ci     */
156bafb9395Sopenharmony_ci    int64_t GetStyle(uint8_t key) const;
157bafb9395Sopenharmony_ci
158bafb9395Sopenharmony_ci    /* background style */
159bafb9395Sopenharmony_ci    ColorType bgColor_;
160bafb9395Sopenharmony_ci    uint8_t bgOpa_;
161bafb9395Sopenharmony_ci    /* border style */
162bafb9395Sopenharmony_ci    uint8_t borderOpa_;
163bafb9395Sopenharmony_ci    int16_t borderWidth_;
164bafb9395Sopenharmony_ci    int16_t borderRadius_;
165bafb9395Sopenharmony_ci    ColorType borderColor_;
166bafb9395Sopenharmony_ci    /* padding style */
167bafb9395Sopenharmony_ci    uint16_t paddingLeft_;
168bafb9395Sopenharmony_ci    uint16_t paddingRight_;
169bafb9395Sopenharmony_ci    uint16_t paddingTop_;
170bafb9395Sopenharmony_ci    uint16_t paddingBottom_;
171bafb9395Sopenharmony_ci    /* margin style */
172bafb9395Sopenharmony_ci    int16_t marginLeft_;
173bafb9395Sopenharmony_ci    int16_t marginRight_;
174bafb9395Sopenharmony_ci    int16_t marginTop_;
175bafb9395Sopenharmony_ci    int16_t marginBottom_;
176bafb9395Sopenharmony_ci    /* image style */
177bafb9395Sopenharmony_ci    uint8_t imageOpa_;
178bafb9395Sopenharmony_ci    /*
179bafb9395Sopenharmony_ci     * text style
180bafb9395Sopenharmony_ci     * style.lineSpace_ can be negative, and shall not be enabled with only one line.
181bafb9395Sopenharmony_ci     */
182bafb9395Sopenharmony_ci    uint8_t textOpa_;
183bafb9395Sopenharmony_ci    uint16_t font_;
184bafb9395Sopenharmony_ci    int8_t lineSpace_;
185bafb9395Sopenharmony_ci    int16_t letterSpace_;
186bafb9395Sopenharmony_ci    int16_t lineHeight_;
187bafb9395Sopenharmony_ci    ColorType textColor_;
188bafb9395Sopenharmony_ci    /* line style */
189bafb9395Sopenharmony_ci    ColorType lineColor_;
190bafb9395Sopenharmony_ci    uint8_t lineOpa_;
191bafb9395Sopenharmony_ci    uint8_t lineCap_;
192bafb9395Sopenharmony_ci    int16_t lineWidth_;
193bafb9395Sopenharmony_ci};
194bafb9395Sopenharmony_ci
195bafb9395Sopenharmony_ci/**
196bafb9395Sopenharmony_ci * @brief Define some default style for {@link UIView}.
197bafb9395Sopenharmony_ci *
198bafb9395Sopenharmony_ci * @since 1.0
199bafb9395Sopenharmony_ci * @version 1.0
200bafb9395Sopenharmony_ci */
201bafb9395Sopenharmony_ciclass StyleDefault : public HeapBase {
202bafb9395Sopenharmony_cipublic:
203bafb9395Sopenharmony_ci    /**
204bafb9395Sopenharmony_ci     * @brief A constructor used to create a <b>StyleDefault</b> instance.
205bafb9395Sopenharmony_ci     *
206bafb9395Sopenharmony_ci     * @since 1.0
207bafb9395Sopenharmony_ci     * @version 1.0
208bafb9395Sopenharmony_ci     */
209bafb9395Sopenharmony_ci    StyleDefault() {}
210bafb9395Sopenharmony_ci
211bafb9395Sopenharmony_ci    /**
212bafb9395Sopenharmony_ci     * @brief A destructor used to delete the <b>StyleDefault</b> instance.
213bafb9395Sopenharmony_ci     *
214bafb9395Sopenharmony_ci     * @since 1.0
215bafb9395Sopenharmony_ci     * @version 1.0
216bafb9395Sopenharmony_ci     */
217bafb9395Sopenharmony_ci    ~StyleDefault() {}
218bafb9395Sopenharmony_ci
219bafb9395Sopenharmony_ci    static void Init();
220bafb9395Sopenharmony_ci
221bafb9395Sopenharmony_ci    /**
222bafb9395Sopenharmony_ci     * @brief Obtains the default style.
223bafb9395Sopenharmony_ci     *
224bafb9395Sopenharmony_ci     * @return Returns the default style.
225bafb9395Sopenharmony_ci     * @since 1.0
226bafb9395Sopenharmony_ci     * @version 1.0
227bafb9395Sopenharmony_ci     */
228bafb9395Sopenharmony_ci    static Style& GetDefaultStyle()
229bafb9395Sopenharmony_ci    {
230bafb9395Sopenharmony_ci        return defaultStyle_;
231bafb9395Sopenharmony_ci    }
232bafb9395Sopenharmony_ci
233bafb9395Sopenharmony_ci    /**
234bafb9395Sopenharmony_ci     * @brief Obtains the bright style.
235bafb9395Sopenharmony_ci     *
236bafb9395Sopenharmony_ci     * @return Returns the bright style.
237bafb9395Sopenharmony_ci     * @since 1.0
238bafb9395Sopenharmony_ci     * @version 1.0
239bafb9395Sopenharmony_ci     */
240bafb9395Sopenharmony_ci    static Style& GetBrightStyle()
241bafb9395Sopenharmony_ci    {
242bafb9395Sopenharmony_ci        return brightStyle_;
243bafb9395Sopenharmony_ci    }
244bafb9395Sopenharmony_ci
245bafb9395Sopenharmony_ci    /**
246bafb9395Sopenharmony_ci     * @brief Obtains the bright color style.
247bafb9395Sopenharmony_ci     *
248bafb9395Sopenharmony_ci     * @return Returns the bright color style.
249bafb9395Sopenharmony_ci     * @since 1.0
250bafb9395Sopenharmony_ci     * @version 1.0
251bafb9395Sopenharmony_ci     */
252bafb9395Sopenharmony_ci    static Style& GetBrightColorStyle()
253bafb9395Sopenharmony_ci    {
254bafb9395Sopenharmony_ci        return brightColorStyle_;
255bafb9395Sopenharmony_ci    }
256bafb9395Sopenharmony_ci
257bafb9395Sopenharmony_ci    /**
258bafb9395Sopenharmony_ci     * @brief Obtains the button pressed style.
259bafb9395Sopenharmony_ci     *
260bafb9395Sopenharmony_ci     * @return Returns the button pressed style.
261bafb9395Sopenharmony_ci     * @since 1.0
262bafb9395Sopenharmony_ci     * @version 1.0
263bafb9395Sopenharmony_ci     */
264bafb9395Sopenharmony_ci    static Style& GetButtonPressedStyle()
265bafb9395Sopenharmony_ci    {
266bafb9395Sopenharmony_ci        return buttonPressedStyle_;
267bafb9395Sopenharmony_ci    }
268bafb9395Sopenharmony_ci
269bafb9395Sopenharmony_ci    /**
270bafb9395Sopenharmony_ci     * @brief Obtains the button released style.
271bafb9395Sopenharmony_ci     *
272bafb9395Sopenharmony_ci     * @return Returns the button released style.
273bafb9395Sopenharmony_ci     * @since 1.0
274bafb9395Sopenharmony_ci     * @version 1.0
275bafb9395Sopenharmony_ci     */
276bafb9395Sopenharmony_ci    static Style& GetButtonReleasedStyle()
277bafb9395Sopenharmony_ci    {
278bafb9395Sopenharmony_ci        return buttonReleasedStyle_;
279bafb9395Sopenharmony_ci    }
280bafb9395Sopenharmony_ci
281bafb9395Sopenharmony_ci    /**
282bafb9395Sopenharmony_ci     * @brief Obtains the button inactive style.
283bafb9395Sopenharmony_ci     *
284bafb9395Sopenharmony_ci     * @return Returns the button inactive style.
285bafb9395Sopenharmony_ci     * @since 1.0
286bafb9395Sopenharmony_ci     * @version 1.0
287bafb9395Sopenharmony_ci     */
288bafb9395Sopenharmony_ci    static Style& GetButtonInactiveStyle()
289bafb9395Sopenharmony_ci    {
290bafb9395Sopenharmony_ci        return buttonInactiveStyle_;
291bafb9395Sopenharmony_ci    }
292bafb9395Sopenharmony_ci
293bafb9395Sopenharmony_ci    /**
294bafb9395Sopenharmony_ci     * @brief Obtains the label style.
295bafb9395Sopenharmony_ci     *
296bafb9395Sopenharmony_ci     * @return Returns the label style.
297bafb9395Sopenharmony_ci     * @since 1.0
298bafb9395Sopenharmony_ci     * @version 1.0
299bafb9395Sopenharmony_ci     */
300bafb9395Sopenharmony_ci    static Style& GetLabelStyle()
301bafb9395Sopenharmony_ci    {
302bafb9395Sopenharmony_ci        return labelStyle_;
303bafb9395Sopenharmony_ci    }
304bafb9395Sopenharmony_ci
305bafb9395Sopenharmony_ci    /**
306bafb9395Sopenharmony_ci     * @brief Obtains the edit text style.
307bafb9395Sopenharmony_ci     *
308bafb9395Sopenharmony_ci     * @return Returns the edit text style.
309bafb9395Sopenharmony_ci     * @since 1.0
310bafb9395Sopenharmony_ci     * @version 1.0
311bafb9395Sopenharmony_ci     */
312bafb9395Sopenharmony_ci    static Style& GetEditTextStyle()
313bafb9395Sopenharmony_ci    {
314bafb9395Sopenharmony_ci        return editTextStyle_;
315bafb9395Sopenharmony_ci    }
316bafb9395Sopenharmony_ci
317bafb9395Sopenharmony_ci    /**
318bafb9395Sopenharmony_ci     * @brief Obtains the background transparent style.
319bafb9395Sopenharmony_ci     *
320bafb9395Sopenharmony_ci     * @return Returns the background transparent style.
321bafb9395Sopenharmony_ci     * @since 1.0
322bafb9395Sopenharmony_ci     * @version 1.0
323bafb9395Sopenharmony_ci     */
324bafb9395Sopenharmony_ci    static Style& GetBackgroundTransparentStyle()
325bafb9395Sopenharmony_ci    {
326bafb9395Sopenharmony_ci        return backgroundTransparentStyle_;
327bafb9395Sopenharmony_ci    }
328bafb9395Sopenharmony_ci
329bafb9395Sopenharmony_ci    /**
330bafb9395Sopenharmony_ci     * @brief Obtains the progress background style.
331bafb9395Sopenharmony_ci     *
332bafb9395Sopenharmony_ci     * @return Returns the progress background style.
333bafb9395Sopenharmony_ci     * @since 1.0
334bafb9395Sopenharmony_ci     * @version 1.0
335bafb9395Sopenharmony_ci     */
336bafb9395Sopenharmony_ci    static Style& GetProgressBackgroundStyle()
337bafb9395Sopenharmony_ci    {
338bafb9395Sopenharmony_ci        return progressBackgroundStyle_;
339bafb9395Sopenharmony_ci    }
340bafb9395Sopenharmony_ci
341bafb9395Sopenharmony_ci    /**
342bafb9395Sopenharmony_ci     * @brief Obtains the progress foreground style.
343bafb9395Sopenharmony_ci     *
344bafb9395Sopenharmony_ci     * @return Returns the progress foreground style.
345bafb9395Sopenharmony_ci     * @since 1.0
346bafb9395Sopenharmony_ci     * @version 1.0
347bafb9395Sopenharmony_ci     */
348bafb9395Sopenharmony_ci    static Style& GetProgressForegroundStyle()
349bafb9395Sopenharmony_ci    {
350bafb9395Sopenharmony_ci        return progressForegroundStyle_;
351bafb9395Sopenharmony_ci    }
352bafb9395Sopenharmony_ci
353bafb9395Sopenharmony_ci    /**
354bafb9395Sopenharmony_ci     * @brief Obtains the slider knob style.
355bafb9395Sopenharmony_ci     *
356bafb9395Sopenharmony_ci     * @return Returns the slider knob style.
357bafb9395Sopenharmony_ci     * @since 1.0
358bafb9395Sopenharmony_ci     * @version 1.0
359bafb9395Sopenharmony_ci     */
360bafb9395Sopenharmony_ci    static Style& GetSliderKnobStyle()
361bafb9395Sopenharmony_ci    {
362bafb9395Sopenharmony_ci        return sliderKnobStyle_;
363bafb9395Sopenharmony_ci    }
364bafb9395Sopenharmony_ci
365bafb9395Sopenharmony_ci    /**
366bafb9395Sopenharmony_ci     * @brief Obtains the picker background style.
367bafb9395Sopenharmony_ci     *
368bafb9395Sopenharmony_ci     * @return Returns the picker background style.
369bafb9395Sopenharmony_ci     * @since 1.0
370bafb9395Sopenharmony_ci     * @version 1.0
371bafb9395Sopenharmony_ci     */
372bafb9395Sopenharmony_ci    static Style& GetPickerBackgroundStyle()
373bafb9395Sopenharmony_ci    {
374bafb9395Sopenharmony_ci        return pickerBackgroundStyle_;
375bafb9395Sopenharmony_ci    }
376bafb9395Sopenharmony_ci
377bafb9395Sopenharmony_ci    /**
378bafb9395Sopenharmony_ci     * @brief Obtains the picker highlight style.
379bafb9395Sopenharmony_ci     *
380bafb9395Sopenharmony_ci     * @return Returns the picker highlight style.
381bafb9395Sopenharmony_ci     * @since 1.0
382bafb9395Sopenharmony_ci     * @version 1.0
383bafb9395Sopenharmony_ci     */
384bafb9395Sopenharmony_ci    static Style& GetPickerHighlightStyle()
385bafb9395Sopenharmony_ci    {
386bafb9395Sopenharmony_ci        return pickerHighlightStyle_;
387bafb9395Sopenharmony_ci    }
388bafb9395Sopenharmony_ci
389bafb9395Sopenharmony_ci    /**
390bafb9395Sopenharmony_ci     * @brief Obtains the scroll bar background style.
391bafb9395Sopenharmony_ci     *
392bafb9395Sopenharmony_ci     * @return Returns the scroll bar background style.
393bafb9395Sopenharmony_ci     * @since 6
394bafb9395Sopenharmony_ci     */
395bafb9395Sopenharmony_ci    static Style& GetScrollBarBackgroundStyle()
396bafb9395Sopenharmony_ci    {
397bafb9395Sopenharmony_ci        return scrollBarBackgroundStyle_;
398bafb9395Sopenharmony_ci    }
399bafb9395Sopenharmony_ci
400bafb9395Sopenharmony_ci    /**
401bafb9395Sopenharmony_ci     * @brief Obtains the scroll bar foreground style.
402bafb9395Sopenharmony_ci     *
403bafb9395Sopenharmony_ci     * @return Returns the scroll bar foreground style.
404bafb9395Sopenharmony_ci     * @since 6
405bafb9395Sopenharmony_ci     */
406bafb9395Sopenharmony_ci    static Style& GetScrollBarForegroundStyle()
407bafb9395Sopenharmony_ci    {
408bafb9395Sopenharmony_ci        return scrollBarForegroundStyle_;
409bafb9395Sopenharmony_ci    }
410bafb9395Sopenharmony_ci
411bafb9395Sopenharmony_ciprivate:
412bafb9395Sopenharmony_ci    static Style defaultStyle_;
413bafb9395Sopenharmony_ci    static Style brightStyle_;
414bafb9395Sopenharmony_ci    static Style brightColorStyle_;
415bafb9395Sopenharmony_ci
416bafb9395Sopenharmony_ci    static Style buttonPressedStyle_;
417bafb9395Sopenharmony_ci    static Style buttonReleasedStyle_;
418bafb9395Sopenharmony_ci    static Style buttonInactiveStyle_;
419bafb9395Sopenharmony_ci    static Style labelStyle_;
420bafb9395Sopenharmony_ci    static Style editTextStyle_;
421bafb9395Sopenharmony_ci    static Style backgroundTransparentStyle_;
422bafb9395Sopenharmony_ci    static Style progressBackgroundStyle_;
423bafb9395Sopenharmony_ci    static Style progressForegroundStyle_;
424bafb9395Sopenharmony_ci    static Style sliderKnobStyle_;
425bafb9395Sopenharmony_ci
426bafb9395Sopenharmony_ci    static Style pickerBackgroundStyle_;
427bafb9395Sopenharmony_ci    static Style pickerHighlightStyle_;
428bafb9395Sopenharmony_ci
429bafb9395Sopenharmony_ci    static Style scrollBarBackgroundStyle_;
430bafb9395Sopenharmony_ci    static Style scrollBarForegroundStyle_;
431bafb9395Sopenharmony_ci
432bafb9395Sopenharmony_ci    static void InitStyle();
433bafb9395Sopenharmony_ci    static void InitButtonStyle();
434bafb9395Sopenharmony_ci    static void InitLabelStyle();
435bafb9395Sopenharmony_ci    static void InitEditTextStyle();
436bafb9395Sopenharmony_ci    static void InitBackgroundTransparentStyle();
437bafb9395Sopenharmony_ci    static void InitProgressStyle();
438bafb9395Sopenharmony_ci    static void InitPickerStyle();
439bafb9395Sopenharmony_ci    static void InitScrollBarStyle();
440bafb9395Sopenharmony_ci};
441bafb9395Sopenharmony_ci} // namespace OHOS
442bafb9395Sopenharmony_ci#endif // GRAPHIC_LITE_STYLE_H
443