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 24namespace OHOS::Ace { 25 26class InternalResource final : public Singleton<InternalResource> { 27 DECLARE_SINGLETON(InternalResource); 28 29public: 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 CONTAINER_MODAL_WINDOW_CLOSE, 126 CONTAINER_MODAL_WINDOW_MAXIMIZE, 127 CONTAINER_MODAL_WINDOW_MINIMIZE, 128 CONTAINER_MODAL_WINDOW_RECOVER, 129 SVG_END = 20000, 130 131 // 20001 - 30000 is reserved for i18n resource. 132 I18N_START = 20001, 133 INDEXLETTER_BAR_JSON, 134 ERRORINFO_JSON, 135 ENTRY_JSON, 136 I18N_END = 30000, 137 }; 138 139 const uint8_t* GetResource(const ResourceId id, size_t& size) const; 140}; 141 142} // namespace OHOS::Ace 143 144#endif // FOUNDATION_ACE_FRAMEWORKS_BASE_RESOURCE_INTERNAL_RESOURCE_H 145