• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #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         TRANSLATE_C2E_SVG,
88         SHARE_SVG,
89         SIDE_BAR,
90         SPINNER,
91         INPUT_SEARCH_SVG,
92         APP_BAR_BACK_SVG,
93         APP_BAR_FA_SVG,
94         MENU_OK_SVG,
95         SPINNER_DISABLE,
96         SVG_END = 20000,
97 
98         // 20001 - 30000 is reserved for i18n resource.
99         I18N_START = 20001,
100         INDEXLETTER_BAR_JSON,
101         ERRORINFO_JSON,
102         ENTRY_JSON,
103         I18N_END = 30000,
104     };
105 
106     const uint8_t* GetResource(const ResourceId id, size_t& size) const;
107 };
108 
109 } // namespace OHOS::Ace
110 
111 #endif // FOUNDATION_ACE_FRAMEWORKS_BASE_RESOURCE_INTERNAL_RESOURCE_H
112