Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Latest commit

 

History

History
95 lines (70 loc) · 2.64 KB

SDL_mouse_c.h

File metadata and controls

95 lines (70 loc) · 2.64 KB
 
1
2
/*
SDL - Simple DirectMedia Layer
Feb 12, 2011
Feb 12, 2011
3
Copyright (C) 1997-2011 Sam Lantinga
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Sam Lantinga
slouken@libsdl.org
*/
#include "SDL_config.h"
#ifndef _SDL_mouse_c_h
#define _SDL_mouse_c_h
Feb 21, 2011
Feb 21, 2011
27
28
#include "SDL_mouse.h"
29
30
struct SDL_Cursor
{
Jan 14, 2011
Jan 14, 2011
31
struct SDL_Cursor *next;
32
33
34
void *driverdata;
};
Feb 21, 2011
Feb 21, 2011
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
typedef struct
{
/* Create a cursor from a surface */
SDL_Cursor *(*CreateCursor) (SDL_Surface * surface, int hot_x, int hot_y);
/* Show the specified cursor, or hide if cursor is NULL */
int (*ShowCursor) (SDL_Cursor * cursor);
/* This is called when a mouse motion event occurs */
void (*MoveCursor) (SDL_Cursor * cursor);
/* Free a window manager cursor */
void (*FreeCursor) (SDL_Cursor * cursor);
/* Warp the mouse to (x,y) */
void (*WarpMouse) (SDL_Window * window, int x, int y);
/* Data common to all mice */
SDL_Window *focus;
int x;
int y;
int xdelta;
int ydelta;
int last_x, last_y; /* the last reported x and y coordinates */
Uint8 buttonstate;
SDL_bool relative_mode;
SDL_Cursor *cursors;
SDL_Cursor *def_cursor;
SDL_Cursor *cur_cursor;
SDL_bool cursor_shown;
} SDL_Mouse;
69
70
71
/* Initialize the mouse subsystem */
extern int SDL_MouseInit(void);
Feb 21, 2011
Feb 21, 2011
72
73
74
/* Get the mouse state structure */
SDL_Mouse *SDL_GetMouse(void);
Feb 28, 2011
Feb 28, 2011
75
76
77
/* Set the default mouse cursor */
extern void SDL_SetDefaultCursor(SDL_Cursor * cursor);
78
/* Set the mouse focus window */
May 10, 2010
May 10, 2010
79
extern void SDL_SetMouseFocus(SDL_Window * window);
May 10, 2010
May 10, 2010
81
/* Send a mouse motion event */
Jul 6, 2010
Jul 6, 2010
82
extern int SDL_SendMouseMotion(SDL_Window * window, int relative, int x, int y);
May 10, 2010
May 10, 2010
84
/* Send a mouse button event */
Jul 6, 2010
Jul 6, 2010
85
extern int SDL_SendMouseButton(SDL_Window * window, Uint8 state, Uint8 button);
May 10, 2010
May 10, 2010
87
/* Send a mouse wheel event */
Jul 6, 2010
Jul 6, 2010
88
extern int SDL_SendMouseWheel(SDL_Window * window, int x, int y);
Aug 26, 2008
Aug 26, 2008
89
90
91
92
93
94
95
/* Shutdown the mouse subsystem */
extern void SDL_MouseQuit(void);
#endif /* _SDL_mouse_c_h */
/* vi: set ts=4 sw=4 expandtab: */