• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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@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 
amiga_FreeWMCursor(_THIS,WMcursor * cursor)34 void amiga_FreeWMCursor(_THIS, WMcursor *cursor)
35 {
36 }
37 
amiga_CreateWMCursor(_THIS,Uint8 * data,Uint8 * mask,int w,int h,int hot_x,int hot_y)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 
amiga_ShowWMCursor(_THIS,WMcursor * cursor)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 
amiga_WarpWMCursor(_THIS,Uint16 x,Uint16 y)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 */
amiga_CheckMouseMode(_THIS)75 void amiga_CheckMouseMode(_THIS)
76 {
77 }
78