• 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_SPLIT_LEFT,
42         CONTAINER_MODAL_WINDOW_DEFOCUS_CLOSE,
43         CONTAINER_MODAL_WINDOW_DEFOCUS_MAXIMIZE,
44         CONTAINER_MODAL_WINDOW_DEFOCUS_MINIMIZE,
45         CONTAINER_MODAL_WINDOW_DEFOCUS_RECOVER,
46         CONTAINER_MODAL_WINDOW_DEFOCUS_SPLIT_LEFT,
47 
48         // 10000 - 20000 is reserved for SVG resource.
49         SVG_START = 10000,
50         CORRECT_SVG,
51         WRONG_SVG,
52         SEARCH_SVG,
53         CLOSE_SVG,
54         PLAY_SVG,
55         PAUSE_SVG,
56         FULLSCREEN_SVG,
57         QUIT_FULLSCREEN_SVG,
58         UP_ARROW_SVG,
59         WATCH_UP_ARROW_SVG,
60         DOWN_ARROW_SVG,
61         WATCH_DOWN_ARROW_SVG,
62         SHOW_PASSWORD_SVG,
63         HIDE_PASSWORD_SVG,
64         SEMI_MODAL_BAR_MIDDLE_SVG,
65         SEMI_MODAL_BAR_DOWN_SVG,
66         LEFT_ARROW_SVG,
67         RIGHT_ARROW_SVG,
68         STEPPER_BACK_ARROW,
69         STEPPER_NEXT_ARROW,
70         PIECE_DELETE_SVG,
71         RATE_STAR_BIG_OFF_SVG,
72         RATE_STAR_BIG_ON_SVG,
73         RATE_STAR_SMALL_OFF_SVG,
74         RATE_STAR_SMALL_ON_SVG,
75         TV_RATE_STAR_BIG_OFF_SVG,
76         TV_RATE_STAR_BIG_ON_SVG,
77         TV_RATE_STAR_SMALL_OFF_SVG,
78         TV_RATE_STAR_SMALL_ON_SVG,
79         TITLEBAR_BACK,
80         IC_BACK,
81         IC_MORE,
82         IC_MORE_DARK,
83         IC_MORE_TRANSPARENT,
84         IC_WINDOW_MENU_FULLSCREEN,
85         IC_WINDOW_MENU_MAXIMIZE,
86         IC_WINDOW_MENU_OK,
87         IC_WINDOW_MENU_SCREEN_L,
88         IC_WINDOW_MENU_SCREEN_N,
89         TRANSLATE_C2E_SVG,
90         SHARE_SVG,
91         SIDE_BAR,
92         SPINNER,
93         INPUT_SEARCH_SVG,
94         APP_BAR_BACK_SVG,
95         APP_BAR_FA_SVG,
96         APP_BAR_MENU_SVG,
97         APP_BAR_CLOSE_SVG,
98         MENU_OK_SVG,
99         SPINNER_DISABLE,
100         LOCATION_BUTTON_FILLED_SVG,
101         LOCATION_BUTTON_LINE_SVG,
102         PASTE_BUTTON_LINE_SVG,
103         SAVE_BUTTON_FILLED_SVG,
104         SAVE_BUTTON_LINE_SVG,
105         SAVE_BUTTON_PICTURE_SVG,
106         IC_PUBLIC_ARROW_LEFT_SVG,
107         IC_PUBLIC_ARROW_RIGHT_SVG,
108         IC_PUBLIC_ARROW_UP_SVG,
109         IC_PUBLIC_ARROW_DOWN_SVG,
110         IC_PUBLIC_DOUBLE_ARROW_LEFT_SVG,
111         IC_PUBLIC_DOUBLE_ARROW_RIGHT_SVG,
112         IC_CUT_SVG,
113         IC_COPY_SVG,
114         IC_PASTE_SVG,
115         IC_SELECT_ALL_SVG,
116         IC_SHARE_SVG,
117         IC_TRANSLATE_SVG,
118         IC_SEARCH_SVG,
119         IC_AI_WRITE_SVG,
120         IC_BOTTOMSHEET_CLOSE_SVG,
121         IC_CANCEL_SVG,
122         RADIO_TICK_SVG,
123         RADIO_DOT_SVG,
124         IC_TAKEPHOTO_SVG,
125         APP_LOCK_SVG,
126         CONTAINER_MODAL_WINDOW_CLOSE,
127         CONTAINER_MODAL_WINDOW_MAXIMIZE,
128         CONTAINER_MODAL_WINDOW_MINIMIZE,
129         CONTAINER_MODAL_WINDOW_RECOVER,
130         SVG_END = 20000,
131 
132         // 20001 - 30000 is reserved for i18n resource.
133         I18N_START = 20001,
134         INDEXLETTER_BAR_JSON,
135         ERRORINFO_JSON,
136         ENTRY_JSON,
137         I18N_END = 30000,
138     };
139 
140     const uint8_t* GetResource(const ResourceId id, size_t& size) const;
141 };
142 
143 } // namespace OHOS::Ace
144 
145 #endif // FOUNDATION_ACE_FRAMEWORKS_BASE_RESOURCE_INTERNAL_RESOURCE_H
146