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