summaryrefslogtreecommitdiff
path: root/src/SDL2/include/SDL_mouse.h
diff options
context:
space:
mode:
authorTim Angus <tim@ngus.net>2013-08-20 18:30:56 +0100
committerTim Angus <tim@ngus.net>2014-08-28 11:03:18 +0100
commit675c6f2daa7ba85d6e5cddbcbfdd01aaaa8c3601 (patch)
tree2ee3322d87431f3fada83cb8341b69edc38b4504 /src/SDL2/include/SDL_mouse.h
parent4780cef266bfcad933e10129544a0eb5583991b6 (diff)
Update SDL2 headers... oops
Diffstat (limited to 'src/SDL2/include/SDL_mouse.h')
-rw-r--r--src/SDL2/include/SDL_mouse.h109
1 files changed, 47 insertions, 62 deletions
diff --git a/src/SDL2/include/SDL_mouse.h b/src/SDL2/include/SDL_mouse.h
index e0cb8e62..36c29e90 100644
--- a/src/SDL2/include/SDL_mouse.h
+++ b/src/SDL2/include/SDL_mouse.h
@@ -1,6 +1,6 @@
/*
Simple DirectMedia Layer
- Copyright (C) 1997-2012 Sam Lantinga <slouken@libsdl.org>
+ Copyright (C) 1997-2013 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -21,24 +21,8 @@
/**
* \file SDL_mouse.h
- *
- * Include file for SDL mouse event handling.
- *
- * Please note that this ONLY discusses "mice" with the notion of the
- * desktop GUI. You (usually) have one system cursor, and the OS hides
- * the hardware details from you. If you plug in 10 mice, all ten move that
- * one cursor. For many applications and games, this is perfect, and this
- * API has served hundreds of SDL programs well since its birth.
- *
- * It's not the whole picture, though. If you want more lowlevel control,
- * SDL offers a different API, that gives you visibility into each input
- * device, multi-touch interfaces, etc.
*
- * Those two APIs are incompatible, and you usually should not use both
- * at the same time. But for legacy purposes, this API refers to a "mouse"
- * when it actually means the system pointer and not a physical mouse.
- *
- * The other API is in SDL_input.h
+ * Include file for SDL mouse event handling.
*/
#ifndef _SDL_mouse_h
@@ -51,9 +35,7 @@
#include "begin_code.h"
/* Set up for C function definitions, even when using C++ */
#ifdef __cplusplus
-/* *INDENT-OFF* */
extern "C" {
-/* *INDENT-ON* */
#endif
typedef struct SDL_Cursor SDL_Cursor; /* Implementation dependent */
@@ -63,18 +45,18 @@ typedef struct SDL_Cursor SDL_Cursor; /* Implementation dependent */
*/
typedef enum
{
- SDL_SYSTEM_CURSOR_ARROW, // Arrow
- SDL_SYSTEM_CURSOR_IBEAM, // I-beam
- SDL_SYSTEM_CURSOR_WAIT, // Wait
- SDL_SYSTEM_CURSOR_CROSSHAIR, // Crosshair
- SDL_SYSTEM_CURSOR_WAITARROW, // Small wait cursor (or Wait if not available)
- SDL_SYSTEM_CURSOR_SIZENWSE, // Double arrow pointing northwest and southeast
- SDL_SYSTEM_CURSOR_SIZENESW, // Double arrow pointing northeast and southwest
- SDL_SYSTEM_CURSOR_SIZEWE, // Double arrow pointing west and east
- SDL_SYSTEM_CURSOR_SIZENS, // Double arrow pointing north and south
- SDL_SYSTEM_CURSOR_SIZEALL, // Four pointed arrow pointing north, south, east, and west
- SDL_SYSTEM_CURSOR_NO, // Slashed circle or crossbones
- SDL_SYSTEM_CURSOR_HAND, // Hand
+ SDL_SYSTEM_CURSOR_ARROW, /**< Arrow */
+ SDL_SYSTEM_CURSOR_IBEAM, /**< I-beam */
+ SDL_SYSTEM_CURSOR_WAIT, /**< Wait */
+ SDL_SYSTEM_CURSOR_CROSSHAIR, /**< Crosshair */
+ SDL_SYSTEM_CURSOR_WAITARROW, /**< Small wait cursor (or Wait if not available) */
+ SDL_SYSTEM_CURSOR_SIZENWSE, /**< Double arrow pointing northwest and southeast */
+ SDL_SYSTEM_CURSOR_SIZENESW, /**< Double arrow pointing northeast and southwest */
+ SDL_SYSTEM_CURSOR_SIZEWE, /**< Double arrow pointing west and east */
+ SDL_SYSTEM_CURSOR_SIZENS, /**< Double arrow pointing north and south */
+ SDL_SYSTEM_CURSOR_SIZEALL, /**< Four pointed arrow pointing north, south, east, and west */
+ SDL_SYSTEM_CURSOR_NO, /**< Slashed circle or crossbones */
+ SDL_SYSTEM_CURSOR_HAND, /**< Hand */
SDL_NUM_SYSTEM_CURSORS
} SDL_SystemCursor;
@@ -87,7 +69,7 @@ extern DECLSPEC SDL_Window * SDLCALL SDL_GetMouseFocus(void);
/**
* \brief Retrieve the current state of the mouse.
- *
+ *
* The current button state is returned as a button bitmask, which can
* be tested using the SDL_BUTTON(X) macros, and x and y are set to the
* mouse cursor position relative to the focus window for the currently
@@ -106,11 +88,11 @@ extern DECLSPEC Uint32 SDLCALL SDL_GetRelativeMouseState(int *x, int *y);
/**
* \brief Moves the mouse to the given position within the window.
- *
+ *
* \param window The window to move the mouse into, or NULL for the current mouse focus
* \param x The x coordinate within the window
* \param y The y coordinate within the window
- *
+ *
* \note This function generates a mouse motion event
*/
extern DECLSPEC void SDLCALL SDL_WarpMouseInWindow(SDL_Window * window,
@@ -118,25 +100,25 @@ extern DECLSPEC void SDLCALL SDL_WarpMouseInWindow(SDL_Window * window,
/**
* \brief Set relative mouse mode.
- *
+ *
* \param enabled Whether or not to enable relative mode
*
* \return 0 on success, or -1 if relative mode is not supported.
- *
+ *
* While the mouse is in relative mode, the cursor is hidden, and the
* driver will try to report continuous motion in the current window.
* Only relative motion events will be delivered, the mouse position
* will not change.
- *
+ *
* \note This function will flush any pending mouse motion.
- *
+ *
* \sa SDL_GetRelativeMouseMode()
*/
extern DECLSPEC int SDLCALL SDL_SetRelativeMouseMode(SDL_bool enabled);
/**
* \brief Query whether relative mouse mode is enabled.
- *
+ *
* \sa SDL_SetRelativeMouseMode()
*/
extern DECLSPEC SDL_bool SDLCALL SDL_GetRelativeMouseMode(void);
@@ -144,19 +126,19 @@ extern DECLSPEC SDL_bool SDLCALL SDL_GetRelativeMouseMode(void);
/**
* \brief Create a cursor, using the specified bitmap data and
* mask (in MSB format).
- *
+ *
* The cursor width must be a multiple of 8 bits.
- *
+ *
* The cursor is created in black and white according to the following:
* <table>
* <tr><td> data </td><td> mask </td><td> resulting pixel on screen </td></tr>
* <tr><td> 0 </td><td> 1 </td><td> White </td></tr>
* <tr><td> 1 </td><td> 1 </td><td> Black </td></tr>
* <tr><td> 0 </td><td> 0 </td><td> Transparent </td></tr>
- * <tr><td> 1 </td><td> 0 </td><td> Inverted color if possible, black
+ * <tr><td> 1 </td><td> 0 </td><td> Inverted color if possible, black
* if not. </td></tr>
* </table>
- *
+ *
* \sa SDL_FreeCursor()
*/
extern DECLSPEC SDL_Cursor *SDLCALL SDL_CreateCursor(const Uint8 * data,
@@ -166,7 +148,7 @@ extern DECLSPEC SDL_Cursor *SDLCALL SDL_CreateCursor(const Uint8 * data,
/**
* \brief Create a color cursor.
- *
+ *
* \sa SDL_FreeCursor()
*/
extern DECLSPEC SDL_Cursor *SDLCALL SDL_CreateColorCursor(SDL_Surface *surface,
@@ -191,18 +173,23 @@ extern DECLSPEC void SDLCALL SDL_SetCursor(SDL_Cursor * cursor);
extern DECLSPEC SDL_Cursor *SDLCALL SDL_GetCursor(void);
/**
+ * \brief Return the default cursor.
+ */
+extern DECLSPEC SDL_Cursor *SDLCALL SDL_GetDefaultCursor(void);
+
+/**
* \brief Frees a cursor created with SDL_CreateCursor().
- *
+ *
* \sa SDL_CreateCursor()
*/
extern DECLSPEC void SDLCALL SDL_FreeCursor(SDL_Cursor * cursor);
/**
* \brief Toggle whether or not the cursor is shown.
- *
- * \param toggle 1 to show the cursor, 0 to hide it, -1 to query the current
+ *
+ * \param toggle 1 to show the cursor, 0 to hide it, -1 to query the current
* state.
- *
+ *
* \return 1 if the cursor is shown, or 0 if the cursor is hidden.
*/
extern DECLSPEC int SDLCALL SDL_ShowCursor(int toggle);
@@ -213,24 +200,22 @@ extern DECLSPEC int SDLCALL SDL_ShowCursor(int toggle);
* - Button 2: Middle mouse button
* - Button 3: Right mouse button
*/
-#define SDL_BUTTON(X) (1 << ((X)-1))
-#define SDL_BUTTON_LEFT 1
-#define SDL_BUTTON_MIDDLE 2
-#define SDL_BUTTON_RIGHT 3
-#define SDL_BUTTON_X1 4
-#define SDL_BUTTON_X2 5
-#define SDL_BUTTON_LMASK SDL_BUTTON(SDL_BUTTON_LEFT)
-#define SDL_BUTTON_MMASK SDL_BUTTON(SDL_BUTTON_MIDDLE)
-#define SDL_BUTTON_RMASK SDL_BUTTON(SDL_BUTTON_RIGHT)
-#define SDL_BUTTON_X1MASK SDL_BUTTON(SDL_BUTTON_X1)
-#define SDL_BUTTON_X2MASK SDL_BUTTON(SDL_BUTTON_X2)
+#define SDL_BUTTON(X) (1 << ((X)-1))
+#define SDL_BUTTON_LEFT 1
+#define SDL_BUTTON_MIDDLE 2
+#define SDL_BUTTON_RIGHT 3
+#define SDL_BUTTON_X1 4
+#define SDL_BUTTON_X2 5
+#define SDL_BUTTON_LMASK SDL_BUTTON(SDL_BUTTON_LEFT)
+#define SDL_BUTTON_MMASK SDL_BUTTON(SDL_BUTTON_MIDDLE)
+#define SDL_BUTTON_RMASK SDL_BUTTON(SDL_BUTTON_RIGHT)
+#define SDL_BUTTON_X1MASK SDL_BUTTON(SDL_BUTTON_X1)
+#define SDL_BUTTON_X2MASK SDL_BUTTON(SDL_BUTTON_X2)
/* Ends C function definitions when using C++ */
#ifdef __cplusplus
-/* *INDENT-OFF* */
}
-/* *INDENT-ON* */
#endif
#include "close_code.h"