Home | History | Annotate | Download | only in cybergfx
      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