diff options
Diffstat (limited to 'src/yuzu_cmd/emu_window/emu_window_sdl2.cpp')
| -rw-r--r-- | src/yuzu_cmd/emu_window/emu_window_sdl2.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/yuzu_cmd/emu_window/emu_window_sdl2.cpp b/src/yuzu_cmd/emu_window/emu_window_sdl2.cpp index 39841aa28..7e391ab89 100644 --- a/src/yuzu_cmd/emu_window/emu_window_sdl2.cpp +++ b/src/yuzu_cmd/emu_window/emu_window_sdl2.cpp | |||
| @@ -12,6 +12,7 @@ | |||
| 12 | #include "input_common/mouse/mouse_input.h" | 12 | #include "input_common/mouse/mouse_input.h" |
| 13 | #include "input_common/sdl/sdl.h" | 13 | #include "input_common/sdl/sdl.h" |
| 14 | #include "yuzu_cmd/emu_window/emu_window_sdl2.h" | 14 | #include "yuzu_cmd/emu_window/emu_window_sdl2.h" |
| 15 | #include "yuzu_cmd/yuzu_icon.h" | ||
| 15 | 16 | ||
| 16 | EmuWindow_SDL2::EmuWindow_SDL2(InputCommon::InputSubsystem* input_subsystem_) | 17 | EmuWindow_SDL2::EmuWindow_SDL2(InputCommon::InputSubsystem* input_subsystem_) |
| 17 | : input_subsystem{input_subsystem_} { | 18 | : input_subsystem{input_subsystem_} { |
| @@ -194,6 +195,22 @@ void EmuWindow_SDL2::WaitEvent() { | |||
| 194 | } | 195 | } |
| 195 | } | 196 | } |
| 196 | 197 | ||
| 198 | void EmuWindow_SDL2::SetWindowIcon() { | ||
| 199 | SDL_RWops* const yuzu_icon_stream = SDL_RWFromConstMem((void*)yuzu_icon, yuzu_icon_size); | ||
| 200 | if (yuzu_icon_stream == nullptr) { | ||
| 201 | LOG_WARNING(Frontend, "Failed to create yuzu icon stream."); | ||
| 202 | return; | ||
| 203 | } | ||
| 204 | SDL_Surface* const window_icon = SDL_LoadBMP_RW(yuzu_icon_stream, 1); | ||
| 205 | if (window_icon == nullptr) { | ||
| 206 | LOG_WARNING(Frontend, "Failed to read BMP from stream."); | ||
| 207 | return; | ||
| 208 | } | ||
| 209 | // The icon is attached to the window pointer | ||
| 210 | SDL_SetWindowIcon(render_window, window_icon); | ||
| 211 | SDL_FreeSurface(window_icon); | ||
| 212 | } | ||
| 213 | |||
| 197 | void EmuWindow_SDL2::OnMinimalClientAreaChangeRequest(std::pair<unsigned, unsigned> minimal_size) { | 214 | void EmuWindow_SDL2::OnMinimalClientAreaChangeRequest(std::pair<unsigned, unsigned> minimal_size) { |
| 198 | SDL_SetWindowMinimumSize(render_window, minimal_size.first, minimal_size.second); | 215 | SDL_SetWindowMinimumSize(render_window, minimal_size.first, minimal_size.second); |
| 199 | } | 216 | } |