• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021-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 #ifndef FOUNDATION_ACE_FRAMEWORKS_BASE_RESOURCE_INTERNAL_RESOURCE_H
17 #define FOUNDATION_ACE_FRAMEWORKS_BASE_RESOURCE_INTERNAL_RESOURCE_H
18 
19 #include <cstddef>
20 #include <cstdint>
21 
22 #include "base/utils/singleton.h"
23 
24 namespace OHOS::Ace {
25 
26 class InternalResource final : public Singleton<InternalResource> {
27     DECLARE_SINGLETON(InternalResource);
28 
29 public:
30     enum class ResourceId : uint32_t {
31         NO_ID = 0,
32         SELECT_ARROW_NORMAL_PNG,
33         SELECT_ARROW_DISABLED_PNG,
34         INDEXER_ARROW_PNG,
35         FA_CLOCK_WIDGET_HOUR,
36         FA_CLOCK_WIDGET_MINUTE,
37         FA_CLOCK_WIDGET_SECOND,
38         FA_BLACK_CLOCK_WIDGET_HOUR,
39         FA_BLACK_CLOCK_WIDGET_MINUTE,
40         FA_BLACK_CLOCK_WIDGET_SECOND,
41         CONTAINER_MODAL_WINDOW_CLOSE,
42         CONTAINER_MODAL_WINDOW_MAXIMIZE,
43         CONTAINER_MODAL_WINDOW_MINIMIZE,
44         CONTAINER_MODAL_WINDOW_RECOVER,
45         CONTAINER_MODAL_WINDOW_SPLIT_LEFT,
46         CONTAINER_MODAL_WINDOW_DEFOCUS_CLOSE,
47         CONTAINER_MODAL_WINDOW_DEFOCUS_MAXIMIZE,
48         CONTAINER_MODAL_WINDOW_DEFOCUS_MINIMIZE,
49         CONTAINER_MODAL_WINDOW_DEFOCUS_RECOVER,
50         CONTAINER_MODAL_WINDOW_DEFOCUS_SPLIT_LEFT,
51 
52         // 10000 - 20000 is reserved for SVG resource.
53         SVG_START = 10000,
54         CORRECT_SVG,
55         WRONG_SVG,
56         SEARCH_SVG,
57         CLOSE_SVG,
58         PLAY_SVG,
59         PAUSE_SVG,
60         FULLSCREEN_SVG,
61         QUIT_FULLSCREEN_SVG,
62         UP_ARROW_SVG,
63         WATCH_UP_ARROW_SVG,
64         DOWN_ARROW_SVG,
65         WATCH_DOWN_ARROW_SVG,
66         SHOW_PASSWORD_SVG,
67         HIDE_PASSWORD_SVG,
68         SEMI_MODAL_BAR_MIDDLE_SVG,
69         SEMI_MODAL_BAR_DOWN_SVG,
70         LEFT_ARROW_SVG,
71         RIGHT_ARROW_SVG,
72         STEPPER_BACK_ARROW,
73         STEPPER_NEXT_ARROW,
74         PIECE_DELETE_SVG,
75         RATE_STAR_BIG_OFF_SVG,
76         RATE_STAR_BIG_ON_SVG,
77         RATE_STAR_SMALL_OFF_SVG,
78         RATE_STAR_SMALL_ON_SVG,
79         TV_RATE_STAR_BIG_OFF_SVG,
80         TV_RATE_STAR_BIG_ON_SVG,
81         TV_RATE_STAR_SMALL_OFF_SVG,
82         TV_RATE_STAR_SMALL_ON_SVG,
83         IC_BACK,
84         IC_MORE,
85         IC_MORE_DARK,
86         IC_MORE_TRANSPARENT,
87         IC_WINDOW_CLOSE,
88         IC_WINDOW_MAX,
89         IC_WINDOW_MENU_FULLSCREEN,
90         IC_WINDOW_MENU_MAXIMIZE,
91         IC_WINDOW_MENU_OK,
92         IC_WINDOW_MENU_SCREEN_L,
93         IC_WINDOW_MENU_SCREEN_N,
94         IC_WINDOW_MIN,
95         IC_WINDOW_RESTORES,
96         TRANSLATE_C2E_SVG,
97         SHARE_SVG,
98         SIDE_BAR,
99         SPINNER,
100         INPUT_SEARCH_SVG,
101         APP_BAR_BACK_SVG,
102         APP_BAR_FA_SVG,
103         MENU_OK_SVG,
104         SPINNER_DISABLE,
105         LOCATION_BUTTON_FILLED_SVG,
106         LOCATION_BUTTON_LINE_SVG,
107         PASTE_BUTTON_LINE_SVG,
108         SAVE_BUTTON_FILLED_SVG,
109         SAVE_BUTTON_LINE_SVG,
110         IC_PUBLIC_ARROW_LEFT_SVG,
111         IC_PUBLIC_ARROW_RIGHT_SVG,
112         IC_PUBLIC_ARROW_UP_SVG,
113         IC_PUBLIC_ARROW_DOWN_SVG,
114         IC_PUBLIC_DOUBLE_ARROW_LEFT_SVG,
115         IC_PUBLIC_DOUBLE_ARROW_RIGHT_SVG,
116         IC_CUT_SVG,
117         IC_COPY_SVG,
118         IC_PASTE_SVG,
119         IC_SELECT_ALL_SVG,
120         IC_SHARE_SVG,
121         IC_TRANSLATE_SVG,
122         IC_SEARCH_SVG,
123         IC_BOTTOMSHEET_CLOSE_SVG,
124         SVG_END = 20000,
125 
126         // 20001 - 30000 is reserved for i18n resource.
127         I18N_START = 20001,
128         INDEXLETTER_BAR_JSON,
129         ERRORINFO_JSON,
130         ENTRY_JSON,
131         I18N_END = 30000,
132     };
133 
134     const uint8_t* GetResource(const ResourceId id, size_t& size) const;
135 };
136 
137 } // namespace OHOS::Ace
138 
139 #endif // FOUNDATION_ACE_FRAMEWORKS_BASE_RESOURCE_INTERNAL_RESOURCE_H
140