1 /* 2 SDL - Simple DirectMedia Layer 3 Copyright (C) 1997-2006 Sam Lantinga 4 5 This library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public 7 License as published by the Free Software Foundation; either 8 version 2.1 of the License, or (at your option) any later version. 9 10 This library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public 16 License along with this library; if not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 19 Sam Lantinga 20 slouken (at) libsdl.org 21 */ 22 #include "SDL_config.h" 23 24 #include "SDL_mouse.h" 25 #include "../../events/SDL_events_c.h" 26 #include "../SDL_cursor_c.h" 27 #include "SDL_amigamouse_c.h" 28 29 30 /* The implementation dependent data for the window manager cursor */ 31 32 typedef void * WMCursor; 33 34 void amiga_FreeWMCursor(_THIS, WMcursor *cursor) 35 { 36 } 37 38 WMcursor *amiga_CreateWMCursor(_THIS, 39 Uint8 *data, Uint8 *mask, int w, int h, int hot_x, int hot_y) 40 { 41 return (WMcursor *)1; // Amiga has an Hardware cursor, so it's ok to return something unuseful but true 42 } 43 44 int amiga_ShowWMCursor(_THIS, WMcursor *cursor) 45 { 46 /* Don't do anything if the display is gone */ 47 if ( SDL_Display == NULL) { 48 return(0); 49 } 50 51 /* Set the Amiga prefs cursor cursor, or blank if cursor is NULL */ 52 53 if ( SDL_Window ) { 54 SDL_Lock_EventThread(); 55 if ( cursor == NULL ) { 56 if ( SDL_BlankCursor != NULL ) { 57 // Hide cursor HERE 58 SetPointer(SDL_Window,(UWORD *)SDL_BlankCursor,1,1,0,0); 59 } 60 } else { 61 // Show cursor 62 ClearPointer(SDL_Window); 63 } 64 SDL_Unlock_EventThread(); 65 } 66 return(1); 67 } 68 69 void amiga_WarpWMCursor(_THIS, Uint16 x, Uint16 y) 70 { 71 /* FIXME: Not implemented */ 72 } 73 74 /* Check to see if we need to enter or leave mouse relative mode */ 75 void amiga_CheckMouseMode(_THIS) 76 { 77 } 78