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 TITLEBAR_BACK, 84 IC_BACK, 85 IC_MORE, 86 IC_MORE_DARK, 87 IC_MORE_TRANSPARENT, 88 IC_WINDOW_CLOSE, 89 IC_WINDOW_MAX, 90 IC_WINDOW_MENU_FULLSCREEN, 91 IC_WINDOW_MENU_MAXIMIZE, 92 IC_WINDOW_MENU_OK, 93 IC_WINDOW_MENU_SCREEN_L, 94 IC_WINDOW_MENU_SCREEN_N, 95 IC_WINDOW_MIN, 96 IC_WINDOW_RESTORES, 97 TRANSLATE_C2E_SVG, 98 SHARE_SVG, 99 SIDE_BAR, 100 SPINNER, 101 INPUT_SEARCH_SVG, 102 APP_BAR_BACK_SVG, 103 APP_BAR_FA_SVG, 104 APP_BAR_MENU_SVG, 105 APP_BAR_CLOSE_SVG, 106 MENU_OK_SVG, 107 SPINNER_DISABLE, 108 LOCATION_BUTTON_FILLED_SVG, 109 LOCATION_BUTTON_LINE_SVG, 110 PASTE_BUTTON_LINE_SVG, 111 SAVE_BUTTON_FILLED_SVG, 112 SAVE_BUTTON_LINE_SVG, 113 SAVE_BUTTON_PICTURE_SVG, 114 IC_PUBLIC_ARROW_LEFT_SVG, 115 IC_PUBLIC_ARROW_RIGHT_SVG, 116 IC_PUBLIC_ARROW_UP_SVG, 117 IC_PUBLIC_ARROW_DOWN_SVG, 118 IC_PUBLIC_DOUBLE_ARROW_LEFT_SVG, 119 IC_PUBLIC_DOUBLE_ARROW_RIGHT_SVG, 120 IC_CUT_SVG, 121 IC_COPY_SVG, 122 IC_PASTE_SVG, 123 IC_SELECT_ALL_SVG, 124 IC_SHARE_SVG, 125 IC_TRANSLATE_SVG, 126 IC_SEARCH_SVG, 127 IC_AI_WRITE_SVG, 128 IC_BOTTOMSHEET_CLOSE_SVG, 129 IC_CANCEL_SVG, 130 RADIO_TICK_SVG, 131 RADIO_DOT_SVG, 132 IC_TAKEPHOTO_SVG, 133 SVG_END = 20000, 134 135 // 20001 - 30000 is reserved for i18n resource. 136 I18N_START = 20001, 137 INDEXLETTER_BAR_JSON, 138 ERRORINFO_JSON, 139 ENTRY_JSON, 140 I18N_END = 30000, 141 }; 142 143 const uint8_t* GetResource(const ResourceId id, size_t& size) const; 144 }; 145 146 } // namespace OHOS::Ace 147 148 #endif // FOUNDATION_ACE_FRAMEWORKS_BASE_RESOURCE_INTERNAL_RESOURCE_H 149