diff --git a/VSLinux/Amiberry.vcxproj b/VSLinux/Amiberry.vcxproj index b7c29555..ac2764b0 100644 --- a/VSLinux/Amiberry.vcxproj +++ b/VSLinux/Amiberry.vcxproj @@ -90,6 +90,9 @@ true + + true + true @@ -134,6 +137,9 @@ true + + true + diff --git a/VSLinux/Amiberry.vcxproj.filters b/VSLinux/Amiberry.vcxproj.filters index e8a68f59..8249e4b3 100644 --- a/VSLinux/Amiberry.vcxproj.filters +++ b/VSLinux/Amiberry.vcxproj.filters @@ -128,11 +128,17 @@ data + + data + data + + data + diff --git a/VisualGDB/Amiberry/Amiberry.vcxproj b/VisualGDB/Amiberry/Amiberry.vcxproj index 5cdeacd0..0696669c 100644 --- a/VisualGDB/Amiberry/Amiberry.vcxproj +++ b/VisualGDB/Amiberry/Amiberry.vcxproj @@ -272,6 +272,9 @@ true + + true + true @@ -316,6 +319,9 @@ true + + true + diff --git a/VisualGDB/Amiberry/Amiberry.vcxproj.filters b/VisualGDB/Amiberry/Amiberry.vcxproj.filters index 34e973e1..175c6a34 100644 --- a/VisualGDB/Amiberry/Amiberry.vcxproj.filters +++ b/VisualGDB/Amiberry/Amiberry.vcxproj.filters @@ -599,11 +599,17 @@ Resource files\data + + Resource files\data + Resource files\data + + Resource files\data + diff --git a/data/Topaznew.ttf b/data/Topaznew.ttf new file mode 100644 index 00000000..84627763 Binary files /dev/null and b/data/Topaznew.ttf differ diff --git a/data/cursor.bmp b/data/cursor.bmp new file mode 100644 index 00000000..2cc3aba2 Binary files /dev/null and b/data/cursor.bmp differ diff --git a/src/main.cpp b/src/main.cpp index b6120f5a..79538a92 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1079,6 +1079,8 @@ static int real_main2 (int argc, TCHAR **argv) if (SDL_SetHint(SDL_HINT_GRAB_KEYBOARD, "1") != SDL_TRUE) SDL_Log("SDL could not grab the keyboard"); + + SDL_ShowCursor(SDL_DISABLE); set_config_changed(); if (restart_config[0]) { diff --git a/src/osdep/amiberry_gfx.cpp b/src/osdep/amiberry_gfx.cpp index 313aa862..43d80218 100644 --- a/src/osdep/amiberry_gfx.cpp +++ b/src/osdep/amiberry_gfx.cpp @@ -176,8 +176,8 @@ static void open_screen(struct uae_prefs* p) void update_display(struct uae_prefs* p) { - open_screen(p); SDL_ShowCursor(SDL_DISABLE); + open_screen(p); framecnt = 1; // Don't draw frame before reset done } diff --git a/src/osdep/amiberry_gfx.h b/src/osdep/amiberry_gfx.h index d7f7f3ea..e68ea83f 100644 --- a/src/osdep/amiberry_gfx.h +++ b/src/osdep/amiberry_gfx.h @@ -4,6 +4,7 @@ extern SDL_Window* sdlWindow; extern SDL_Renderer* renderer; extern SDL_Texture* texture; extern SDL_Surface* screen; +extern SDL_Cursor* cursor; extern SDL_Surface* gui_screen; extern SDL_Texture* gui_texture; @@ -12,4 +13,4 @@ extern SDL_DisplayMode sdlMode; extern void check_error_sdl(bool check, const char* message); extern void updatedisplayarea(); -void DX_Fill(int dstx, int dsty, int width, int height, uae_u32 color); \ No newline at end of file +void DX_Fill(int dstx, int dsty, int width, int height, uae_u32 color); diff --git a/src/osdep/gui/main_window.cpp b/src/osdep/gui/main_window.cpp index cafb2492..b6fb6257 100644 --- a/src/osdep/gui/main_window.cpp +++ b/src/osdep/gui/main_window.cpp @@ -12,7 +12,6 @@ #include "uae.h" #include "gui.h" #include "gui_handling.h" -#include "memory.h" #include "amiberry_gfx.h" bool gui_running = false; @@ -62,6 +61,7 @@ enum SDL_Surface* gui_screen; SDL_Texture* gui_texture; SDL_Event gui_event; +SDL_Cursor* cursor; /* * Guisan SDL stuff we need @@ -157,6 +157,13 @@ namespace sdl // Create new screen for GUI //------------------------------------------------- + SDL_Surface *cursorSurface = SDL_LoadBMP("data/cursor.bmp"); + if (cursorSurface) + { + cursor = SDL_CreateColorCursor(cursorSurface, 0, 0); + SDL_SetCursor(cursor); + } + // make the scaled rendering look smoother (linear scaling). SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "linear"); @@ -194,9 +201,12 @@ namespace sdl delete gui_imageLoader; delete gui_input; delete gui_graphics; - + SDL_FreeSurface(gui_screen); SDL_DestroyTexture(gui_texture); + if (cursor) { + SDL_FreeCursor(cursor); + } gui_screen = nullptr; } @@ -462,7 +472,7 @@ namespace widgets // Initialize fonts //------------------------------------------------- TTF_Init(); - gui_font = new gcn::SDLTrueTypeFont("data/FreeSans.ttf", 14); + gui_font = new gcn::SDLTrueTypeFont("data/Topaznew.ttf", 14); gcn::Widget::setGlobalFont(gui_font); //--------------------------------------------------