1 /* RetroArch - A frontend for libretro. 2 * Copyright (C) 2011-2017 - Daniel De Matteis 3 * Copyright (C) 2014-2017 - Jean-André Santoni 4 * Copyright (C) 2016-2019 - Brad Parker 5 * Copyright (C) 2018 - Alfredo Monclús 6 * Copyright (C) 2018 - natinusala 7 * 8 * RetroArch is free software: you can redistribute it and/or modify it under the terms 9 * of the GNU General Public License as published by the Free Software Found- 10 * ation, either version 3 of the License, or (at your option) any later version. 11 * 12 * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 14 * PURPOSE. See the GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License along with RetroArch. 17 * If not, see <http://www.gnu.org/licenses/>. 18 */ 19 20 #ifndef _OZONE_TEXTURE_H 21 #define _OZONE_TEXTURE_H 22 23 #include "ozone.h" 24 25 #include "../../menu_driver.h" 26 27 enum OZONE_TEXTURE 28 { 29 OZONE_TEXTURE_RETROARCH = 0, 30 OZONE_TEXTURE_CURSOR_BORDER, 31 #if 0 32 OZONE_TEXTURE_DISCORD_OWN_AVATAR, 33 #endif 34 OZONE_TEXTURE_LAST 35 }; 36 37 enum OZONE_THEME_TEXTURES 38 { 39 OZONE_THEME_TEXTURE_SWITCH = 0, 40 OZONE_THEME_TEXTURE_CHECK, 41 42 OZONE_THEME_TEXTURE_CURSOR_NO_BORDER, 43 OZONE_THEME_TEXTURE_CURSOR_STATIC, 44 45 OZONE_THEME_TEXTURE_LAST 46 }; 47 48 enum OZONE_TAB_TEXTURES 49 { 50 OZONE_TAB_TEXTURE_MAIN_MENU = 0, 51 OZONE_TAB_TEXTURE_SETTINGS, 52 OZONE_TAB_TEXTURE_HISTORY, 53 OZONE_TAB_TEXTURE_FAVORITES, 54 OZONE_TAB_TEXTURE_MUSIC, 55 OZONE_TAB_TEXTURE_VIDEO, 56 OZONE_TAB_TEXTURE_IMAGE, 57 OZONE_TAB_TEXTURE_NETWORK, 58 OZONE_TAB_TEXTURE_SCAN_CONTENT, 59 60 OZONE_TAB_TEXTURE_LAST 61 }; 62 63 enum 64 { 65 OZONE_ENTRIES_ICONS_TEXTURE_MAIN_MENU = 0, 66 OZONE_ENTRIES_ICONS_TEXTURE_SETTINGS, 67 OZONE_ENTRIES_ICONS_TEXTURE_HISTORY, 68 OZONE_ENTRIES_ICONS_TEXTURE_FAVORITES, 69 OZONE_ENTRIES_ICONS_TEXTURE_MUSICS, 70 #if defined(HAVE_FFMPEG) || defined(HAVE_MPV) 71 OZONE_ENTRIES_ICONS_TEXTURE_MOVIES, 72 #endif 73 #ifdef HAVE_NETWORKING 74 OZONE_ENTRIES_ICONS_TEXTURE_NETPLAY, 75 OZONE_ENTRIES_ICONS_TEXTURE_ROOM, 76 OZONE_ENTRIES_ICONS_TEXTURE_ROOM_LAN, 77 OZONE_ENTRIES_ICONS_TEXTURE_ROOM_RELAY, 78 #endif 79 #ifdef HAVE_IMAGEVIEWER 80 OZONE_ENTRIES_ICONS_TEXTURE_IMAGES, 81 #endif 82 OZONE_ENTRIES_ICONS_TEXTURE_SETTING, 83 OZONE_ENTRIES_ICONS_TEXTURE_SUBSETTING, 84 OZONE_ENTRIES_ICONS_TEXTURE_ARROW, 85 OZONE_ENTRIES_ICONS_TEXTURE_RUN, 86 OZONE_ENTRIES_ICONS_TEXTURE_CLOSE, 87 OZONE_ENTRIES_ICONS_TEXTURE_RESUME, 88 OZONE_ENTRIES_ICONS_TEXTURE_SAVESTATE, 89 OZONE_ENTRIES_ICONS_TEXTURE_LOADSTATE, 90 OZONE_ENTRIES_ICONS_TEXTURE_UNDO, 91 OZONE_ENTRIES_ICONS_TEXTURE_CORE_INFO, 92 OZONE_ENTRIES_ICONS_TEXTURE_BLUETOOTH, 93 OZONE_ENTRIES_ICONS_TEXTURE_WIFI, 94 OZONE_ENTRIES_ICONS_TEXTURE_CORE_OPTIONS, 95 OZONE_ENTRIES_ICONS_TEXTURE_INPUT_REMAPPING_OPTIONS, 96 OZONE_ENTRIES_ICONS_TEXTURE_CHEAT_OPTIONS, 97 OZONE_ENTRIES_ICONS_TEXTURE_DISK_OPTIONS, 98 OZONE_ENTRIES_ICONS_TEXTURE_SHADER_OPTIONS, 99 OZONE_ENTRIES_ICONS_TEXTURE_ACHIEVEMENT_LIST, 100 OZONE_ENTRIES_ICONS_TEXTURE_SCREENSHOT, 101 OZONE_ENTRIES_ICONS_TEXTURE_RELOAD, 102 OZONE_ENTRIES_ICONS_TEXTURE_RENAME, 103 OZONE_ENTRIES_ICONS_TEXTURE_FILE, 104 OZONE_ENTRIES_ICONS_TEXTURE_FOLDER, 105 OZONE_ENTRIES_ICONS_TEXTURE_ZIP, 106 OZONE_ENTRIES_ICONS_TEXTURE_FAVORITE, 107 OZONE_ENTRIES_ICONS_TEXTURE_ADD_FAVORITE, 108 OZONE_ENTRIES_ICONS_TEXTURE_MUSIC, 109 OZONE_ENTRIES_ICONS_TEXTURE_IMAGE, 110 OZONE_ENTRIES_ICONS_TEXTURE_MOVIE, 111 OZONE_ENTRIES_ICONS_TEXTURE_CORE, 112 OZONE_ENTRIES_ICONS_TEXTURE_RDB, 113 OZONE_ENTRIES_ICONS_TEXTURE_CURSOR, 114 OZONE_ENTRIES_ICONS_TEXTURE_SWITCH_ON, 115 OZONE_ENTRIES_ICONS_TEXTURE_SWITCH_OFF, 116 OZONE_ENTRIES_ICONS_TEXTURE_CLOCK, 117 OZONE_ENTRIES_ICONS_TEXTURE_BATTERY_FULL, 118 OZONE_ENTRIES_ICONS_TEXTURE_BATTERY_CHARGING, 119 OZONE_ENTRIES_ICONS_TEXTURE_BATTERY_80, 120 OZONE_ENTRIES_ICONS_TEXTURE_BATTERY_60, 121 OZONE_ENTRIES_ICONS_TEXTURE_BATTERY_40, 122 OZONE_ENTRIES_ICONS_TEXTURE_BATTERY_20, 123 OZONE_ENTRIES_ICONS_TEXTURE_POINTER, 124 OZONE_ENTRIES_ICONS_TEXTURE_ADD, 125 OZONE_ENTRIES_ICONS_TEXTURE_DISC, 126 OZONE_ENTRIES_ICONS_TEXTURE_KEY, 127 OZONE_ENTRIES_ICONS_TEXTURE_KEY_HOVER, 128 OZONE_ENTRIES_ICONS_TEXTURE_DIALOG_SLICE, 129 OZONE_ENTRIES_ICONS_TEXTURE_ACHIEVEMENTS, 130 OZONE_ENTRIES_ICONS_TEXTURE_AUDIO, 131 OZONE_ENTRIES_ICONS_TEXTURE_EXIT, 132 OZONE_ENTRIES_ICONS_TEXTURE_FRAMESKIP, 133 OZONE_ENTRIES_ICONS_TEXTURE_INFO, 134 OZONE_ENTRIES_ICONS_TEXTURE_HELP, 135 OZONE_ENTRIES_ICONS_TEXTURE_NETWORK, 136 OZONE_ENTRIES_ICONS_TEXTURE_POWER, 137 OZONE_ENTRIES_ICONS_TEXTURE_SAVING, 138 OZONE_ENTRIES_ICONS_TEXTURE_UPDATER, 139 OZONE_ENTRIES_ICONS_TEXTURE_VIDEO, 140 OZONE_ENTRIES_ICONS_TEXTURE_RECORD, 141 OZONE_ENTRIES_ICONS_TEXTURE_INPUT_SETTINGS, 142 OZONE_ENTRIES_ICONS_TEXTURE_MIXER, 143 OZONE_ENTRIES_ICONS_TEXTURE_LOG, 144 OZONE_ENTRIES_ICONS_TEXTURE_OSD, 145 OZONE_ENTRIES_ICONS_TEXTURE_UI, 146 OZONE_ENTRIES_ICONS_TEXTURE_USER, 147 OZONE_ENTRIES_ICONS_TEXTURE_PRIVACY, 148 OZONE_ENTRIES_ICONS_TEXTURE_LATENCY, 149 OZONE_ENTRIES_ICONS_TEXTURE_DRIVERS, 150 OZONE_ENTRIES_ICONS_TEXTURE_PLAYLIST, 151 OZONE_ENTRIES_ICONS_TEXTURE_QUICKMENU, 152 OZONE_ENTRIES_ICONS_TEXTURE_REWIND, 153 OZONE_ENTRIES_ICONS_TEXTURE_OVERLAY, 154 OZONE_ENTRIES_ICONS_TEXTURE_OVERRIDE, 155 OZONE_ENTRIES_ICONS_TEXTURE_NOTIFICATIONS, 156 OZONE_ENTRIES_ICONS_TEXTURE_STREAM, 157 OZONE_ENTRIES_ICONS_TEXTURE_SHUTDOWN, 158 OZONE_ENTRIES_ICONS_TEXTURE_INPUT_DPAD_U, 159 OZONE_ENTRIES_ICONS_TEXTURE_INPUT_DPAD_D, 160 OZONE_ENTRIES_ICONS_TEXTURE_INPUT_DPAD_L, 161 OZONE_ENTRIES_ICONS_TEXTURE_INPUT_DPAD_R, 162 OZONE_ENTRIES_ICONS_TEXTURE_INPUT_STCK_U, 163 OZONE_ENTRIES_ICONS_TEXTURE_INPUT_STCK_D, 164 OZONE_ENTRIES_ICONS_TEXTURE_INPUT_STCK_L, 165 OZONE_ENTRIES_ICONS_TEXTURE_INPUT_STCK_R, 166 OZONE_ENTRIES_ICONS_TEXTURE_INPUT_STCK_P, 167 OZONE_ENTRIES_ICONS_TEXTURE_INPUT_SELECT, 168 OZONE_ENTRIES_ICONS_TEXTURE_INPUT_START, 169 OZONE_ENTRIES_ICONS_TEXTURE_INPUT_BTN_U, 170 OZONE_ENTRIES_ICONS_TEXTURE_INPUT_BTN_D, 171 OZONE_ENTRIES_ICONS_TEXTURE_INPUT_BTN_L, 172 OZONE_ENTRIES_ICONS_TEXTURE_INPUT_BTN_R, 173 OZONE_ENTRIES_ICONS_TEXTURE_INPUT_LB, 174 OZONE_ENTRIES_ICONS_TEXTURE_INPUT_RB, 175 OZONE_ENTRIES_ICONS_TEXTURE_INPUT_LT, 176 OZONE_ENTRIES_ICONS_TEXTURE_INPUT_RT, 177 OZONE_ENTRIES_ICONS_TEXTURE_CHECKMARK, 178 OZONE_ENTRIES_ICONS_TEXTURE_MENU_ADD, 179 OZONE_ENTRIES_ICONS_TEXTURE_BRIGHTNESS, 180 OZONE_ENTRIES_ICONS_TEXTURE_PAUSE, 181 OZONE_ENTRIES_ICONS_TEXTURE_MENU_APPLY_TOGGLE, 182 OZONE_ENTRIES_ICONS_TEXTURE_MENU_APPLY_COG, 183 OZONE_ENTRIES_ICONS_TEXTURE_INPUT_ADC, 184 OZONE_ENTRIES_ICONS_TEXTURE_INPUT_BIND_ALL, 185 OZONE_ENTRIES_ICONS_TEXTURE_INPUT_MOUSE, 186 OZONE_ENTRIES_ICONS_TEXTURE_INPUT_LGUN, 187 OZONE_ENTRIES_ICONS_TEXTURE_INPUT_TURBO, 188 OZONE_ENTRIES_ICONS_TEXTURE_LAST 189 }; 190 191 const char *ozone_entries_icon_texture_path(unsigned id); 192 193 uintptr_t ozone_entries_icon_get_texture(ozone_handle_t *ozone, 194 enum msg_hash_enums enum_idx, unsigned type, bool active); 195 196 bool ozone_reset_theme_textures(ozone_handle_t *ozone); 197 void ozone_unload_theme_textures(ozone_handle_t *ozone); 198 199 #endif 200