SDL_SystemCursor: rename enum items to match CSS.

Fixes #9079.
This commit is contained in:
Ryan C. Gordon 2024-05-26 00:28:17 -04:00
parent 49b6c24722
commit 9a9a3d1a33
13 changed files with 332 additions and 201 deletions

View File

@ -3210,3 +3210,75 @@ typedef SDL_Colour, SDL_Color;
- SDL_BlitScaled
+ SDL_BlitSurfaceScaled
(...)
@@
@@
- SDL_SYSTEM_CURSOR_ARROW
+ SDL_SYSTEM_CURSOR_DEFAULT
@@
@@
- SDL_SYSTEM_CURSOR_IBEAM
+ SDL_SYSTEM_CURSOR_TEXT
@@
@@
- SDL_SYSTEM_CURSOR_WAITARROW
+ SDL_SYSTEM_CURSOR_PROGRESS
@@
@@
- SDL_SYSTEM_CURSOR_SIZENWSE
+ SDL_SYSTEM_CURSOR_NWSE_RESIZE
@@
@@
- SDL_SYSTEM_CURSOR_SIZENESW
+ SDL_SYSTEM_CURSOR_NESW_RESIZE
@@
@@
- SDL_SYSTEM_CURSOR_SIZEWE
+ SDL_SYSTEM_CURSOR_EW_RESIZE
@@
@@
- SDL_SYSTEM_CURSOR_SIZENS
+ SDL_SYSTEM_CURSOR_NS_RESIZE
@@
@@
- SDL_SYSTEM_CURSOR_SIZEALL
+ SDL_SYSTEM_CURSOR_MOVE
@@
@@
- SDL_SYSTEM_CURSOR_NO
+ SDL_SYSTEM_CURSOR_NOT_ALLOWED
@@
@@
- SDL_SYSTEM_CURSOR_HAND
+ SDL_SYSTEM_CURSOR_POINTER
@@
@@
- SDL_SYSTEM_CURSOR_WINDOW_TOPLEFT
+ SDL_SYSTEM_CURSOR_NW_RESIZE
@@
@@
- SDL_SYSTEM_CURSOR_WINDOW_TOP
+ SDL_SYSTEM_CURSOR_N_RESIZE
@@
@@
- SDL_SYSTEM_CURSOR_WINDOW_TOPRIGHT
+ SDL_SYSTEM_CURSOR_NE_RESIZE
@@
@@
- SDL_SYSTEM_CURSOR_WINDOW_RIGHT
+ SDL_SYSTEM_CURSOR_E_RESIZE
@@
@@
- SDL_SYSTEM_CURSOR_WINDOW_BOTTOMRIGHT
+ SDL_SYSTEM_CURSOR_SE_RESIZE
@@
@@
- SDL_SYSTEM_CURSOR_WINDOW_BOTTOM
+ SDL_SYSTEM_CURSOR_S_RESIZE
@@
@@
- SDL_SYSTEM_CURSOR_WINDOW_BOTTOMLEFT
+ SDL_SYSTEM_CURSOR_SW_RESIZE
@@
@@
- SDL_SYSTEM_CURSOR_WINDOW_LEFT
+ SDL_SYSTEM_CURSOR_W_RESIZE

View File

@ -961,9 +961,31 @@ SDL_ShowCursor() has been split into three functions: SDL_ShowCursor(), SDL_Hide
SDL_GetMouseState(), SDL_GetGlobalMouseState(), SDL_GetRelativeMouseState(), SDL_WarpMouseInWindow(), and SDL_WarpMouseGlobal() all use floating point mouse positions, to provide sub-pixel precision on platforms that support it.
SDL_SystemCursor's items from SDL2 have been renamed to match CSS cursor names.
The following functions have been renamed:
* SDL_FreeCursor() => SDL_DestroyCursor()
The following symbols have been renamed:
* SDL_SYSTEM_CURSOR_ARROW => SDL_SYSTEM_CURSOR_DEFAULT
* SDL_SYSTEM_CURSOR_HAND => SDL_SYSTEM_CURSOR_POINTER
* SDL_SYSTEM_CURSOR_IBEAM => SDL_SYSTEM_CURSOR_TEXT
* SDL_SYSTEM_CURSOR_NO => SDL_SYSTEM_CURSOR_NOT_ALLOWED
* SDL_SYSTEM_CURSOR_SIZEALL => SDL_SYSTEM_CURSOR_MOVE
* SDL_SYSTEM_CURSOR_SIZENESW => SDL_SYSTEM_CURSOR_NESW_RESIZE
* SDL_SYSTEM_CURSOR_SIZENS => SDL_SYSTEM_CURSOR_NS_RESIZE
* SDL_SYSTEM_CURSOR_SIZENWSE => SDL_SYSTEM_CURSOR_NWSE_RESIZE
* SDL_SYSTEM_CURSOR_SIZEWE => SDL_SYSTEM_CURSOR_EW_RESIZE
* SDL_SYSTEM_CURSOR_WAITARROW => SDL_SYSTEM_CURSOR_PROGRESS
* SDL_SYSTEM_CURSOR_WINDOW_BOTTOM => SDL_SYSTEM_CURSOR_S_RESIZE
* SDL_SYSTEM_CURSOR_WINDOW_BOTTOMLEFT => SDL_SYSTEM_CURSOR_SW_RESIZE
* SDL_SYSTEM_CURSOR_WINDOW_BOTTOMRIGHT => SDL_SYSTEM_CURSOR_SE_RESIZE
* SDL_SYSTEM_CURSOR_WINDOW_LEFT => SDL_SYSTEM_CURSOR_W_RESIZE
* SDL_SYSTEM_CURSOR_WINDOW_RIGHT => SDL_SYSTEM_CURSOR_E_RESIZE
* SDL_SYSTEM_CURSOR_WINDOW_TOP => SDL_SYSTEM_CURSOR_N_RESIZE
* SDL_SYSTEM_CURSOR_WINDOW_TOPLEFT => SDL_SYSTEM_CURSOR_NW_RESIZE
* SDL_SYSTEM_CURSOR_WINDOW_TOPRIGHT => SDL_SYSTEM_CURSOR_NE_RESIZE
## SDL_mutex.h
SDL_MUTEX_MAXWAIT has been removed; it suggested there was a maximum timeout one could outlive, instead of an infinite wait. Instead, pass a -1 to functions that accepted this symbol.

View File

@ -49,26 +49,26 @@ typedef struct SDL_Cursor SDL_Cursor; /**< Implementation dependent */
*/
typedef enum SDL_SystemCursor
{
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_WINDOW_TOPLEFT, /**< Window resize top-left (or SIZENWSE) */
SDL_SYSTEM_CURSOR_WINDOW_TOP, /**< Window resize top (or SIZENS) */
SDL_SYSTEM_CURSOR_WINDOW_TOPRIGHT, /**< Window resize top-right (or SIZENESW) */
SDL_SYSTEM_CURSOR_WINDOW_RIGHT, /**< Window resize right (or SIZEWE) */
SDL_SYSTEM_CURSOR_WINDOW_BOTTOMRIGHT, /**< Window resize bottom-right (or SIZENWSE) */
SDL_SYSTEM_CURSOR_WINDOW_BOTTOM, /**< Window resize bottom (or SIZENS) */
SDL_SYSTEM_CURSOR_WINDOW_BOTTOMLEFT, /**< Window resize bottom-left (or SIZENESW) */
SDL_SYSTEM_CURSOR_WINDOW_LEFT, /**< Window resize left (or SIZEWE) */
SDL_SYSTEM_CURSOR_DEFAULT, /**< Default cursor. Usually an arrow */
SDL_SYSTEM_CURSOR_TEXT, /**< Text selection. Usually an I-beam */
SDL_SYSTEM_CURSOR_WAIT, /**< Wait. Usually an hourglass or watch or spinning ball. */
SDL_SYSTEM_CURSOR_CROSSHAIR, /**< Crosshair. */
SDL_SYSTEM_CURSOR_PROGRESS, /**< Program is busy but still interactive. Usually it's WAIT with an arrow. */
SDL_SYSTEM_CURSOR_NWSE_RESIZE, /**< Double arrow pointing northwest and southeast. */
SDL_SYSTEM_CURSOR_NESW_RESIZE, /**< Double arrow pointing northeast and southwest. */
SDL_SYSTEM_CURSOR_EW_RESIZE, /**< Double arrow pointing west and east. */
SDL_SYSTEM_CURSOR_NS_RESIZE, /**< Double arrow pointing north and south. */
SDL_SYSTEM_CURSOR_MOVE, /**< Four pointed arrow pointing north, south, east, and west. */
SDL_SYSTEM_CURSOR_NOT_ALLOWED, /**< Not permitted. Usually a slashed circle or crossbones. */
SDL_SYSTEM_CURSOR_POINTER, /**< Pointer that indicates a link. Usually a pointing hand. */
SDL_SYSTEM_CURSOR_NW_RESIZE, /**< Window resize top-left (or SIZENWSE) */
SDL_SYSTEM_CURSOR_N_RESIZE, /**< Window resize top (or SIZENS) */
SDL_SYSTEM_CURSOR_NE_RESIZE, /**< Window resize top-right (or SIZENESW) */
SDL_SYSTEM_CURSOR_E_RESIZE, /**< Window resize right (or SIZEWE) */
SDL_SYSTEM_CURSOR_SE_RESIZE, /**< Window resize bottom-right (or SIZENWSE) */
SDL_SYSTEM_CURSOR_S_RESIZE, /**< Window resize bottom (or SIZENS) */
SDL_SYSTEM_CURSOR_SW_RESIZE, /**< Window resize bottom-left (or SIZENESW) */
SDL_SYSTEM_CURSOR_W_RESIZE, /**< Window resize left (or SIZEWE) */
SDL_NUM_SYSTEM_CURSORS
} SDL_SystemCursor;

View File

@ -372,6 +372,24 @@
/* ##SDL_mouse.h */
#define SDL_FreeCursor SDL_DestroyCursor
#define SDL_SYSTEM_CURSOR_ARROW SDL_SYSTEM_CURSOR_DEFAULT
#define SDL_SYSTEM_CURSOR_HAND SDL_SYSTEM_CURSOR_POINTER
#define SDL_SYSTEM_CURSOR_IBEAM SDL_SYSTEM_CURSOR_TEXT
#define SDL_SYSTEM_CURSOR_NO SDL_SYSTEM_CURSOR_NOT_ALLOWED
#define SDL_SYSTEM_CURSOR_SIZEALL SDL_SYSTEM_CURSOR_MOVE
#define SDL_SYSTEM_CURSOR_SIZENESW SDL_SYSTEM_CURSOR_NESW_RESIZE
#define SDL_SYSTEM_CURSOR_SIZENS SDL_SYSTEM_CURSOR_NS_RESIZE
#define SDL_SYSTEM_CURSOR_SIZENWSE SDL_SYSTEM_CURSOR_NWSE_RESIZE
#define SDL_SYSTEM_CURSOR_SIZEWE SDL_SYSTEM_CURSOR_EW_RESIZE
#define SDL_SYSTEM_CURSOR_WAITARROW SDL_SYSTEM_CURSOR_PROGRESS
#define SDL_SYSTEM_CURSOR_WINDOW_BOTTOM SDL_SYSTEM_CURSOR_S_RESIZE
#define SDL_SYSTEM_CURSOR_WINDOW_BOTTOMLEFT SDL_SYSTEM_CURSOR_SW_RESIZE
#define SDL_SYSTEM_CURSOR_WINDOW_BOTTOMRIGHT SDL_SYSTEM_CURSOR_SE_RESIZE
#define SDL_SYSTEM_CURSOR_WINDOW_LEFT SDL_SYSTEM_CURSOR_W_RESIZE
#define SDL_SYSTEM_CURSOR_WINDOW_RIGHT SDL_SYSTEM_CURSOR_E_RESIZE
#define SDL_SYSTEM_CURSOR_WINDOW_TOP SDL_SYSTEM_CURSOR_N_RESIZE
#define SDL_SYSTEM_CURSOR_WINDOW_TOPLEFT SDL_SYSTEM_CURSOR_NW_RESIZE
#define SDL_SYSTEM_CURSOR_WINDOW_TOPRIGHT SDL_SYSTEM_CURSOR_NE_RESIZE
/* ##SDL_mutex.h */
#define SDL_CondBroadcast SDL_BroadcastCondition
@ -895,6 +913,24 @@
/* ##SDL_mouse.h */
#define SDL_FreeCursor SDL_FreeCursor_renamed_SDL_DestroyCursor
#define SDL_SYSTEM_CURSOR_ARROW SDL_SYSTEM_CURSOR_ARROW_renamed_SDL_SYSTEM_CURSOR_DEFAULT
#define SDL_SYSTEM_CURSOR_HAND SDL_SYSTEM_CURSOR_HAND_renamed_SDL_SYSTEM_CURSOR_POINTER
#define SDL_SYSTEM_CURSOR_IBEAM SDL_SYSTEM_CURSOR_IBEAM_renamed_SDL_SYSTEM_CURSOR_TEXT
#define SDL_SYSTEM_CURSOR_NO SDL_SYSTEM_CURSOR_NO_renamed_SDL_SYSTEM_CURSOR_NOT_ALLOWED
#define SDL_SYSTEM_CURSOR_SIZEALL SDL_SYSTEM_CURSOR_SIZEALL_renamed_SDL_SYSTEM_CURSOR_MOVE
#define SDL_SYSTEM_CURSOR_SIZENESW SDL_SYSTEM_CURSOR_SIZENESW_renamed_SDL_SYSTEM_CURSOR_NESW_RESIZE
#define SDL_SYSTEM_CURSOR_SIZENS SDL_SYSTEM_CURSOR_SIZENS_renamed_SDL_SYSTEM_CURSOR_NS_RESIZE
#define SDL_SYSTEM_CURSOR_SIZENWSE SDL_SYSTEM_CURSOR_SIZENWSE_renamed_SDL_SYSTEM_CURSOR_NWSE_RESIZE
#define SDL_SYSTEM_CURSOR_SIZEWE SDL_SYSTEM_CURSOR_SIZEWE_renamed_SDL_SYSTEM_CURSOR_EW_RESIZE
#define SDL_SYSTEM_CURSOR_WAITARROW SDL_SYSTEM_CURSOR_WAITARROW_renamed_SDL_SYSTEM_CURSOR_PROGRESS
#define SDL_SYSTEM_CURSOR_WINDOW_BOTTOM SDL_SYSTEM_CURSOR_WINDOW_BOTTOM_renamed_SDL_SYSTEM_CURSOR_S_RESIZE
#define SDL_SYSTEM_CURSOR_WINDOW_BOTTOMLEFT SDL_SYSTEM_CURSOR_WINDOW_BOTTOMLEFT_renamed_SDL_SYSTEM_CURSOR_SW_RESIZE
#define SDL_SYSTEM_CURSOR_WINDOW_BOTTOMRIGHT SDL_SYSTEM_CURSOR_WINDOW_BOTTOMRIGHT_renamed_SDL_SYSTEM_CURSOR_SE_RESIZE
#define SDL_SYSTEM_CURSOR_WINDOW_LEFT SDL_SYSTEM_CURSOR_WINDOW_LEFT_renamed_SDL_SYSTEM_CURSOR_W_RESIZE
#define SDL_SYSTEM_CURSOR_WINDOW_RIGHT SDL_SYSTEM_CURSOR_WINDOW_RIGHT_renamed_SDL_SYSTEM_CURSOR_E_RESIZE
#define SDL_SYSTEM_CURSOR_WINDOW_TOP SDL_SYSTEM_CURSOR_WINDOW_TOP_renamed_SDL_SYSTEM_CURSOR_N_RESIZE
#define SDL_SYSTEM_CURSOR_WINDOW_TOPLEFT SDL_SYSTEM_CURSOR_WINDOW_TOPLEFT_renamed_SDL_SYSTEM_CURSOR_NW_RESIZE
#define SDL_SYSTEM_CURSOR_WINDOW_TOPRIGHT SDL_SYSTEM_CURSOR_WINDOW_TOPRIGHT_renamed_SDL_SYSTEM_CURSOR_NE_RESIZE
/* ##SDL_mutex.h */
#define SDL_CondBroadcast SDL_CondBroadcast_renamed_SDL_BroadcastCondition

View File

@ -5498,10 +5498,10 @@ const char *SDL_GetCSSCursorName(SDL_SystemCursor id, const char **fallback_name
/* Reference: https://www.w3.org/TR/css-ui-4/#cursor */
/* Also in: https://www.freedesktop.org/wiki/Specifications/cursor-spec/ */
switch (id) {
case SDL_SYSTEM_CURSOR_ARROW:
case SDL_SYSTEM_CURSOR_DEFAULT:
return "default";
case SDL_SYSTEM_CURSOR_IBEAM:
case SDL_SYSTEM_CURSOR_TEXT:
return "text";
case SDL_SYSTEM_CURSOR_WAIT:
@ -5510,66 +5510,66 @@ const char *SDL_GetCSSCursorName(SDL_SystemCursor id, const char **fallback_name
case SDL_SYSTEM_CURSOR_CROSSHAIR:
return "crosshair";
case SDL_SYSTEM_CURSOR_WAITARROW:
case SDL_SYSTEM_CURSOR_PROGRESS:
return "progress";
case SDL_SYSTEM_CURSOR_SIZENWSE:
case SDL_SYSTEM_CURSOR_NWSE_RESIZE:
if (fallback_name) {
/* only a single arrow */
*fallback_name = "nw-resize";
}
return "nwse-resize";
case SDL_SYSTEM_CURSOR_SIZENESW:
case SDL_SYSTEM_CURSOR_NESW_RESIZE:
if (fallback_name) {
/* only a single arrow */
*fallback_name = "ne-resize";
}
return "nesw-resize";
case SDL_SYSTEM_CURSOR_SIZEWE:
case SDL_SYSTEM_CURSOR_EW_RESIZE:
if (fallback_name) {
*fallback_name = "col-resize";
}
return "ew-resize";
case SDL_SYSTEM_CURSOR_SIZENS:
case SDL_SYSTEM_CURSOR_NS_RESIZE:
if (fallback_name) {
*fallback_name = "row-resize";
}
return "ns-resize";
case SDL_SYSTEM_CURSOR_SIZEALL:
case SDL_SYSTEM_CURSOR_MOVE:
return "all-scroll";
case SDL_SYSTEM_CURSOR_NO:
case SDL_SYSTEM_CURSOR_NOT_ALLOWED:
return "not-allowed";
case SDL_SYSTEM_CURSOR_HAND:
case SDL_SYSTEM_CURSOR_POINTER:
return "pointer";
case SDL_SYSTEM_CURSOR_WINDOW_TOPLEFT:
case SDL_SYSTEM_CURSOR_NW_RESIZE:
return "nw-resize";
case SDL_SYSTEM_CURSOR_WINDOW_TOP:
case SDL_SYSTEM_CURSOR_N_RESIZE:
return "n-resize";
case SDL_SYSTEM_CURSOR_WINDOW_TOPRIGHT:
case SDL_SYSTEM_CURSOR_NE_RESIZE:
return "ne-resize";
case SDL_SYSTEM_CURSOR_WINDOW_RIGHT:
case SDL_SYSTEM_CURSOR_E_RESIZE:
return "e-resize";
case SDL_SYSTEM_CURSOR_WINDOW_BOTTOMRIGHT:
case SDL_SYSTEM_CURSOR_SE_RESIZE:
return "se-resize";
case SDL_SYSTEM_CURSOR_WINDOW_BOTTOM:
case SDL_SYSTEM_CURSOR_S_RESIZE:
return "s-resize";
case SDL_SYSTEM_CURSOR_WINDOW_BOTTOMLEFT:
case SDL_SYSTEM_CURSOR_SW_RESIZE:
return "sw-resize";
case SDL_SYSTEM_CURSOR_WINDOW_LEFT:
case SDL_SYSTEM_CURSOR_W_RESIZE:
return "w-resize";
default:

View File

@ -76,7 +76,7 @@ static SDL_Cursor *Android_WrapCursor(int custom_cursor, int system_cursor)
static SDL_Cursor *Android_CreateDefaultCursor()
{
return Android_WrapCursor(0, SDL_SYSTEM_CURSOR_ARROW);
return Android_WrapCursor(0, SDL_SYSTEM_CURSOR_DEFAULT);
}
static SDL_Cursor *Android_CreateCursor(SDL_Surface *surface, int hot_x, int hot_y)

View File

@ -152,10 +152,10 @@ static SDL_Cursor *Cocoa_CreateSystemCursor(SDL_SystemCursor id)
SDL_Cursor *cursor = NULL;
switch (id) {
case SDL_SYSTEM_CURSOR_ARROW:
case SDL_SYSTEM_CURSOR_DEFAULT:
nscursor = [NSCursor arrowCursor];
break;
case SDL_SYSTEM_CURSOR_IBEAM:
case SDL_SYSTEM_CURSOR_TEXT:
nscursor = [NSCursor IBeamCursor];
break;
case SDL_SYSTEM_CURSOR_CROSSHAIR:
@ -164,52 +164,52 @@ static SDL_Cursor *Cocoa_CreateSystemCursor(SDL_SystemCursor id)
case SDL_SYSTEM_CURSOR_WAIT: /* !!! FIXME: this is more like WAITARROW */
nscursor = LoadHiddenSystemCursor(@"busybutclickable", @selector(arrowCursor));
break;
case SDL_SYSTEM_CURSOR_WAITARROW: /* !!! FIXME: this is meant to be animated */
case SDL_SYSTEM_CURSOR_PROGRESS: /* !!! FIXME: this is meant to be animated */
nscursor = LoadHiddenSystemCursor(@"busybutclickable", @selector(arrowCursor));
break;
case SDL_SYSTEM_CURSOR_SIZENWSE:
case SDL_SYSTEM_CURSOR_NWSE_RESIZE:
nscursor = LoadHiddenSystemCursor(@"resizenorthwestsoutheast", @selector(closedHandCursor));
break;
case SDL_SYSTEM_CURSOR_SIZENESW:
case SDL_SYSTEM_CURSOR_NESW_RESIZE:
nscursor = LoadHiddenSystemCursor(@"resizenortheastsouthwest", @selector(closedHandCursor));
break;
case SDL_SYSTEM_CURSOR_SIZEWE:
case SDL_SYSTEM_CURSOR_EW_RESIZE:
nscursor = LoadHiddenSystemCursor(@"resizeeastwest", @selector(resizeLeftRightCursor));
break;
case SDL_SYSTEM_CURSOR_SIZENS:
case SDL_SYSTEM_CURSOR_NS_RESIZE:
nscursor = LoadHiddenSystemCursor(@"resizenorthsouth", @selector(resizeUpDownCursor));
break;
case SDL_SYSTEM_CURSOR_SIZEALL:
case SDL_SYSTEM_CURSOR_MOVE:
nscursor = LoadHiddenSystemCursor(@"move", @selector(closedHandCursor));
break;
case SDL_SYSTEM_CURSOR_NO:
case SDL_SYSTEM_CURSOR_NOT_ALLOWED:
nscursor = [NSCursor operationNotAllowedCursor];
break;
case SDL_SYSTEM_CURSOR_HAND:
case SDL_SYSTEM_CURSOR_POINTER:
nscursor = [NSCursor pointingHandCursor];
break;
case SDL_SYSTEM_CURSOR_WINDOW_TOPLEFT:
case SDL_SYSTEM_CURSOR_NW_RESIZE:
nscursor = LoadHiddenSystemCursor(@"resizenorthwestsoutheast", @selector(closedHandCursor));
break;
case SDL_SYSTEM_CURSOR_WINDOW_TOP:
case SDL_SYSTEM_CURSOR_N_RESIZE:
nscursor = LoadHiddenSystemCursor(@"resizenorthsouth", @selector(resizeUpDownCursor));
break;
case SDL_SYSTEM_CURSOR_WINDOW_TOPRIGHT:
case SDL_SYSTEM_CURSOR_NE_RESIZE:
nscursor = LoadHiddenSystemCursor(@"resizenortheastsouthwest", @selector(closedHandCursor));
break;
case SDL_SYSTEM_CURSOR_WINDOW_RIGHT:
case SDL_SYSTEM_CURSOR_E_RESIZE:
nscursor = LoadHiddenSystemCursor(@"resizeeastwest", @selector(resizeLeftRightCursor));
break;
case SDL_SYSTEM_CURSOR_WINDOW_BOTTOMRIGHT:
case SDL_SYSTEM_CURSOR_SE_RESIZE:
nscursor = LoadHiddenSystemCursor(@"resizenorthwestsoutheast", @selector(closedHandCursor));
break;
case SDL_SYSTEM_CURSOR_WINDOW_BOTTOM:
case SDL_SYSTEM_CURSOR_S_RESIZE:
nscursor = LoadHiddenSystemCursor(@"resizenorthsouth", @selector(resizeUpDownCursor));
break;
case SDL_SYSTEM_CURSOR_WINDOW_BOTTOMLEFT:
case SDL_SYSTEM_CURSOR_SW_RESIZE:
nscursor = LoadHiddenSystemCursor(@"resizenortheastsouthwest", @selector(closedHandCursor));
break;
case SDL_SYSTEM_CURSOR_WINDOW_LEFT:
case SDL_SYSTEM_CURSOR_W_RESIZE:
nscursor = LoadHiddenSystemCursor(@"resizeeastwest", @selector(resizeLeftRightCursor));
break;
default:

View File

@ -136,37 +136,38 @@ void HAIKU_DeleteDevice(SDL_VideoDevice * device)
static SDL_Cursor * HAIKU_CreateSystemCursor(SDL_SystemCursor id)
{
SDL_Cursor *cursor;
BCursorID cursorId = B_CURSOR_ID_SYSTEM_DEFAULT;
switch(id)
{
default:
SDL_assert(0);
return NULL;
case SDL_SYSTEM_CURSOR_ARROW: cursorId = B_CURSOR_ID_SYSTEM_DEFAULT; break;
case SDL_SYSTEM_CURSOR_IBEAM: cursorId = B_CURSOR_ID_I_BEAM; break;
case SDL_SYSTEM_CURSOR_WAIT: cursorId = B_CURSOR_ID_PROGRESS; break;
case SDL_SYSTEM_CURSOR_CROSSHAIR: cursorId = B_CURSOR_ID_CROSS_HAIR; break;
case SDL_SYSTEM_CURSOR_WAITARROW: cursorId = B_CURSOR_ID_PROGRESS; break;
case SDL_SYSTEM_CURSOR_SIZENWSE: cursorId = B_CURSOR_ID_RESIZE_NORTH_WEST_SOUTH_EAST; break;
case SDL_SYSTEM_CURSOR_SIZENESW: cursorId = B_CURSOR_ID_RESIZE_NORTH_EAST_SOUTH_WEST; break;
case SDL_SYSTEM_CURSOR_SIZEWE: cursorId = B_CURSOR_ID_RESIZE_EAST_WEST; break;
case SDL_SYSTEM_CURSOR_SIZENS: cursorId = B_CURSOR_ID_RESIZE_NORTH_SOUTH; break;
case SDL_SYSTEM_CURSOR_SIZEALL: cursorId = B_CURSOR_ID_MOVE; break;
case SDL_SYSTEM_CURSOR_NO: cursorId = B_CURSOR_ID_NOT_ALLOWED; break;
case SDL_SYSTEM_CURSOR_HAND: cursorId = B_CURSOR_ID_FOLLOW_LINK; break;
case SDL_SYSTEM_CURSOR_WINDOW_TOPLEFT: cursorId = B_CURSOR_ID_RESIZE_NORTH_WEST_SOUTH_EAST; break;
case SDL_SYSTEM_CURSOR_WINDOW_TOP: cursorId = B_CURSOR_ID_RESIZE_NORTH_SOUTH; break;
case SDL_SYSTEM_CURSOR_WINDOW_TOPRIGHT: cursorId = B_CURSOR_ID_RESIZE_NORTH_EAST_SOUTH_WEST; break;
case SDL_SYSTEM_CURSOR_WINDOW_RIGHT: cursorId = B_CURSOR_ID_RESIZE_EAST_WEST; break;
case SDL_SYSTEM_CURSOR_WINDOW_BOTTOMRIGHT: cursorId = B_CURSOR_ID_RESIZE_NORTH_WEST_SOUTH_EAST; break;
case SDL_SYSTEM_CURSOR_WINDOW_BOTTOM: cursorId = B_CURSOR_ID_RESIZE_NORTH_SOUTH; break;
case SDL_SYSTEM_CURSOR_WINDOW_BOTTOMLEFT: cursorId = B_CURSOR_ID_RESIZE_NORTH_EAST_SOUTH_WEST; break;
case SDL_SYSTEM_CURSOR_WINDOW_LEFT: cursorId = B_CURSOR_ID_RESIZE_EAST_WEST; break;
#define CURSORCASE(sdlname, bname) case SDL_SYSTEM_CURSOR_##sdlname: cursorId = B_CURSOR_ID_##bname; break
CURSORCASE(DEFAULT, SYSTEM_DEFAULT);
CURSORCASE(TEXT, I_BEAM);
CURSORCASE(WAIT, PROGRESS);
CURSORCASE(CROSSHAIR, CROSS_HAIR);
CURSORCASE(PROGRESS, PROGRESS);
CURSORCASE(NWSE_RESIZE, RESIZE_NORTH_WEST_SOUTH_EAST);
CURSORCASE(NESW_RESIZE, RESIZE_NORTH_EAST_SOUTH_WEST);
CURSORCASE(EW_RESIZE, RESIZE_EAST_WEST);
CURSORCASE(NS_RESIZE, RESIZE_NORTH_SOUTH);
CURSORCASE(MOVE, MOVE);
CURSORCASE(NOT_ALLOWED, NOT_ALLOWED);
CURSORCASE(POINTER, FOLLOW_LINK);
CURSORCASE(NW_RESIZE, RESIZE_NORTH_WEST_SOUTH_EAST);
CURSORCASE(N_RESIZE, RESIZE_NORTH_SOUTH);
CURSORCASE(NE_RESIZE, RESIZE_NORTH_EAST_SOUTH_WEST);
CURSORCASE(E_RESIZE, RESIZE_EAST_WEST);
CURSORCASE(SE_RESIZE, RESIZE_NORTH_WEST_SOUTH_EAST);
CURSORCASE(S_RESIZE, RESIZE_NORTH_SOUTH);
CURSORCASE(SW_RESIZE, RESIZE_NORTH_EAST_SOUTH_WEST);
CURSORCASE(W_RESIZE, RESIZE_EAST_WEST);
#undef CURSORCASE
default:
SDL_assert(0);
return NULL;
}
cursor = (SDL_Cursor *) SDL_calloc(1, sizeof(*cursor));
SDL_Cursor *cursor = (SDL_Cursor *) SDL_calloc(1, sizeof(*cursor));
if (cursor) {
cursor->driverdata = (void *)new BCursor(cursorId);
}
@ -176,7 +177,7 @@ static SDL_Cursor * HAIKU_CreateSystemCursor(SDL_SystemCursor id)
static SDL_Cursor * HAIKU_CreateDefaultCursor()
{
return HAIKU_CreateSystemCursor(SDL_SYSTEM_CURSOR_ARROW);
return HAIKU_CreateSystemCursor(SDL_SYSTEM_CURSOR_DEFAULT);
}
static void HAIKU_FreeCursor(SDL_Cursor * cursor)

View File

@ -486,7 +486,7 @@ static SDL_Cursor *Wayland_CreateSystemCursor(SDL_SystemCursor id)
static SDL_Cursor *Wayland_CreateDefaultCursor(void)
{
return Wayland_CreateSystemCursor(SDL_SYSTEM_CURSOR_ARROW);
return Wayland_CreateSystemCursor(SDL_SYSTEM_CURSOR_DEFAULT);
}
static void Wayland_FreeCursorData(struct Wayland_CursorData *d)
@ -529,10 +529,10 @@ static void Wayland_SetSystemCursorShape(struct SDL_WaylandInput *input, SDL_Sys
Uint32 shape;
switch (id) {
case SDL_SYSTEM_CURSOR_ARROW:
case SDL_SYSTEM_CURSOR_DEFAULT:
shape = WP_CURSOR_SHAPE_DEVICE_V1_SHAPE_DEFAULT;
break;
case SDL_SYSTEM_CURSOR_IBEAM:
case SDL_SYSTEM_CURSOR_TEXT:
shape = WP_CURSOR_SHAPE_DEVICE_V1_SHAPE_TEXT;
break;
case SDL_SYSTEM_CURSOR_WAIT:
@ -541,52 +541,52 @@ static void Wayland_SetSystemCursorShape(struct SDL_WaylandInput *input, SDL_Sys
case SDL_SYSTEM_CURSOR_CROSSHAIR:
shape = WP_CURSOR_SHAPE_DEVICE_V1_SHAPE_CROSSHAIR;
break;
case SDL_SYSTEM_CURSOR_WAITARROW:
case SDL_SYSTEM_CURSOR_PROGRESS:
shape = WP_CURSOR_SHAPE_DEVICE_V1_SHAPE_PROGRESS;
break;
case SDL_SYSTEM_CURSOR_SIZENWSE:
case SDL_SYSTEM_CURSOR_NWSE_RESIZE:
shape = WP_CURSOR_SHAPE_DEVICE_V1_SHAPE_NWSE_RESIZE;
break;
case SDL_SYSTEM_CURSOR_SIZENESW:
case SDL_SYSTEM_CURSOR_NESW_RESIZE:
shape = WP_CURSOR_SHAPE_DEVICE_V1_SHAPE_NESW_RESIZE;
break;
case SDL_SYSTEM_CURSOR_SIZEWE:
case SDL_SYSTEM_CURSOR_EW_RESIZE:
shape = WP_CURSOR_SHAPE_DEVICE_V1_SHAPE_EW_RESIZE;
break;
case SDL_SYSTEM_CURSOR_SIZENS:
case SDL_SYSTEM_CURSOR_NS_RESIZE:
shape = WP_CURSOR_SHAPE_DEVICE_V1_SHAPE_NS_RESIZE;
break;
case SDL_SYSTEM_CURSOR_SIZEALL:
case SDL_SYSTEM_CURSOR_MOVE:
shape = WP_CURSOR_SHAPE_DEVICE_V1_SHAPE_ALL_SCROLL;
break;
case SDL_SYSTEM_CURSOR_NO:
case SDL_SYSTEM_CURSOR_NOT_ALLOWED:
shape = WP_CURSOR_SHAPE_DEVICE_V1_SHAPE_NOT_ALLOWED;
break;
case SDL_SYSTEM_CURSOR_HAND:
case SDL_SYSTEM_CURSOR_POINTER:
shape = WP_CURSOR_SHAPE_DEVICE_V1_SHAPE_POINTER;
break;
case SDL_SYSTEM_CURSOR_WINDOW_TOPLEFT:
case SDL_SYSTEM_CURSOR_NW_RESIZE:
shape = WP_CURSOR_SHAPE_DEVICE_V1_SHAPE_NW_RESIZE;
break;
case SDL_SYSTEM_CURSOR_WINDOW_TOP:
case SDL_SYSTEM_CURSOR_N_RESIZE:
shape = WP_CURSOR_SHAPE_DEVICE_V1_SHAPE_N_RESIZE;
break;
case SDL_SYSTEM_CURSOR_WINDOW_TOPRIGHT:
case SDL_SYSTEM_CURSOR_NE_RESIZE:
shape = WP_CURSOR_SHAPE_DEVICE_V1_SHAPE_NE_RESIZE;
break;
case SDL_SYSTEM_CURSOR_WINDOW_RIGHT:
case SDL_SYSTEM_CURSOR_E_RESIZE:
shape = WP_CURSOR_SHAPE_DEVICE_V1_SHAPE_E_RESIZE;
break;
case SDL_SYSTEM_CURSOR_WINDOW_BOTTOMRIGHT:
case SDL_SYSTEM_CURSOR_SE_RESIZE:
shape = WP_CURSOR_SHAPE_DEVICE_V1_SHAPE_SE_RESIZE;
break;
case SDL_SYSTEM_CURSOR_WINDOW_BOTTOM:
case SDL_SYSTEM_CURSOR_S_RESIZE:
shape = WP_CURSOR_SHAPE_DEVICE_V1_SHAPE_S_RESIZE;
break;
case SDL_SYSTEM_CURSOR_WINDOW_BOTTOMLEFT:
case SDL_SYSTEM_CURSOR_SW_RESIZE:
shape = WP_CURSOR_SHAPE_DEVICE_V1_SHAPE_SW_RESIZE;
break;
case SDL_SYSTEM_CURSOR_WINDOW_LEFT:
case SDL_SYSTEM_CURSOR_W_RESIZE:
shape = WP_CURSOR_SHAPE_DEVICE_V1_SHAPE_W_RESIZE;
break;
default:
@ -880,34 +880,34 @@ void Wayland_InitMouse(void)
while (r <= SDL_HITTEST_RESIZE_LEFT) {
switch (r) {
case SDL_HITTEST_NORMAL:
sys_cursors[r] = Wayland_CreateSystemCursor(SDL_SYSTEM_CURSOR_ARROW);
sys_cursors[r] = Wayland_CreateSystemCursor(SDL_SYSTEM_CURSOR_DEFAULT);
break;
case SDL_HITTEST_DRAGGABLE:
sys_cursors[r] = Wayland_CreateSystemCursor(SDL_SYSTEM_CURSOR_ARROW);
sys_cursors[r] = Wayland_CreateSystemCursor(SDL_SYSTEM_CURSOR_DEFAULT);
break;
case SDL_HITTEST_RESIZE_TOPLEFT:
sys_cursors[r] = Wayland_CreateSystemCursor(SDL_SYSTEM_CURSOR_WINDOW_TOPLEFT);
sys_cursors[r] = Wayland_CreateSystemCursor(SDL_SYSTEM_CURSOR_NW_RESIZE);
break;
case SDL_HITTEST_RESIZE_TOP:
sys_cursors[r] = Wayland_CreateSystemCursor(SDL_SYSTEM_CURSOR_WINDOW_TOP);
sys_cursors[r] = Wayland_CreateSystemCursor(SDL_SYSTEM_CURSOR_N_RESIZE);
break;
case SDL_HITTEST_RESIZE_TOPRIGHT:
sys_cursors[r] = Wayland_CreateSystemCursor(SDL_SYSTEM_CURSOR_WINDOW_TOPRIGHT);
sys_cursors[r] = Wayland_CreateSystemCursor(SDL_SYSTEM_CURSOR_NE_RESIZE);
break;
case SDL_HITTEST_RESIZE_RIGHT:
sys_cursors[r] = Wayland_CreateSystemCursor(SDL_SYSTEM_CURSOR_WINDOW_RIGHT);
sys_cursors[r] = Wayland_CreateSystemCursor(SDL_SYSTEM_CURSOR_E_RESIZE);
break;
case SDL_HITTEST_RESIZE_BOTTOMRIGHT:
sys_cursors[r] = Wayland_CreateSystemCursor(SDL_SYSTEM_CURSOR_WINDOW_BOTTOMRIGHT);
sys_cursors[r] = Wayland_CreateSystemCursor(SDL_SYSTEM_CURSOR_SE_RESIZE);
break;
case SDL_HITTEST_RESIZE_BOTTOM:
sys_cursors[r] = Wayland_CreateSystemCursor(SDL_SYSTEM_CURSOR_WINDOW_BOTTOM);
sys_cursors[r] = Wayland_CreateSystemCursor(SDL_SYSTEM_CURSOR_S_RESIZE);
break;
case SDL_HITTEST_RESIZE_BOTTOMLEFT:
sys_cursors[r] = Wayland_CreateSystemCursor(SDL_SYSTEM_CURSOR_WINDOW_BOTTOMLEFT);
sys_cursors[r] = Wayland_CreateSystemCursor(SDL_SYSTEM_CURSOR_SW_RESIZE);
break;
case SDL_HITTEST_RESIZE_LEFT:
sys_cursors[r] = Wayland_CreateSystemCursor(SDL_SYSTEM_CURSOR_WINDOW_LEFT);
sys_cursors[r] = Wayland_CreateSystemCursor(SDL_SYSTEM_CURSOR_W_RESIZE);
break;
}
r++;

View File

@ -215,10 +215,10 @@ static SDL_Cursor *WIN_CreateSystemCursor(SDL_SystemCursor id)
default:
SDL_assert(0);
return NULL;
case SDL_SYSTEM_CURSOR_ARROW:
case SDL_SYSTEM_CURSOR_DEFAULT:
name = IDC_ARROW;
break;
case SDL_SYSTEM_CURSOR_IBEAM:
case SDL_SYSTEM_CURSOR_TEXT:
name = IDC_IBEAM;
break;
case SDL_SYSTEM_CURSOR_WAIT:
@ -227,52 +227,52 @@ static SDL_Cursor *WIN_CreateSystemCursor(SDL_SystemCursor id)
case SDL_SYSTEM_CURSOR_CROSSHAIR:
name = IDC_CROSS;
break;
case SDL_SYSTEM_CURSOR_WAITARROW:
case SDL_SYSTEM_CURSOR_PROGRESS:
name = IDC_WAIT;
break;
case SDL_SYSTEM_CURSOR_SIZENWSE:
case SDL_SYSTEM_CURSOR_NWSE_RESIZE:
name = IDC_SIZENWSE;
break;
case SDL_SYSTEM_CURSOR_SIZENESW:
case SDL_SYSTEM_CURSOR_NESW_RESIZE:
name = IDC_SIZENESW;
break;
case SDL_SYSTEM_CURSOR_SIZEWE:
case SDL_SYSTEM_CURSOR_EW_RESIZE:
name = IDC_SIZEWE;
break;
case SDL_SYSTEM_CURSOR_SIZENS:
case SDL_SYSTEM_CURSOR_NS_RESIZE:
name = IDC_SIZENS;
break;
case SDL_SYSTEM_CURSOR_SIZEALL:
case SDL_SYSTEM_CURSOR_MOVE:
name = IDC_SIZEALL;
break;
case SDL_SYSTEM_CURSOR_NO:
case SDL_SYSTEM_CURSOR_NOT_ALLOWED:
name = IDC_NO;
break;
case SDL_SYSTEM_CURSOR_HAND:
case SDL_SYSTEM_CURSOR_POINTER:
name = IDC_HAND;
break;
case SDL_SYSTEM_CURSOR_WINDOW_TOPLEFT:
case SDL_SYSTEM_CURSOR_NW_RESIZE:
name = IDC_SIZENWSE;
break;
case SDL_SYSTEM_CURSOR_WINDOW_TOP:
case SDL_SYSTEM_CURSOR_N_RESIZE:
name = IDC_SIZENS;
break;
case SDL_SYSTEM_CURSOR_WINDOW_TOPRIGHT:
case SDL_SYSTEM_CURSOR_NE_RESIZE:
name = IDC_SIZENESW;
break;
case SDL_SYSTEM_CURSOR_WINDOW_RIGHT:
case SDL_SYSTEM_CURSOR_E_RESIZE:
name = IDC_SIZEWE;
break;
case SDL_SYSTEM_CURSOR_WINDOW_BOTTOMRIGHT:
case SDL_SYSTEM_CURSOR_SE_RESIZE:
name = IDC_SIZENWSE;
break;
case SDL_SYSTEM_CURSOR_WINDOW_BOTTOM:
case SDL_SYSTEM_CURSOR_S_RESIZE:
name = IDC_SIZENS;
break;
case SDL_SYSTEM_CURSOR_WINDOW_BOTTOMLEFT:
case SDL_SYSTEM_CURSOR_SW_RESIZE:
name = IDC_SIZENESW;
break;
case SDL_SYSTEM_CURSOR_WINDOW_LEFT:
case SDL_SYSTEM_CURSOR_W_RESIZE:
name = IDC_SIZEWE;
break;
}

View File

@ -54,10 +54,10 @@ static SDL_Cursor *WINRT_CreateSystemCursor(SDL_SystemCursor id)
default:
SDL_assert(0);
return NULL;
case SDL_SYSTEM_CURSOR_ARROW:
case SDL_SYSTEM_CURSOR_DEFAULT:
cursorType = CoreCursorType::Arrow;
break;
case SDL_SYSTEM_CURSOR_IBEAM:
case SDL_SYSTEM_CURSOR_TEXT:
cursorType = CoreCursorType::IBeam;
break;
case SDL_SYSTEM_CURSOR_WAIT:
@ -66,52 +66,52 @@ static SDL_Cursor *WINRT_CreateSystemCursor(SDL_SystemCursor id)
case SDL_SYSTEM_CURSOR_CROSSHAIR:
cursorType = CoreCursorType::Cross;
break;
case SDL_SYSTEM_CURSOR_WAITARROW:
case SDL_SYSTEM_CURSOR_PROGRESS:
cursorType = CoreCursorType::Wait;
break;
case SDL_SYSTEM_CURSOR_SIZENWSE:
case SDL_SYSTEM_CURSOR_NWSE_RESIZE:
cursorType = CoreCursorType::SizeNorthwestSoutheast;
break;
case SDL_SYSTEM_CURSOR_SIZENESW:
case SDL_SYSTEM_CURSOR_NESW_RESIZE:
cursorType = CoreCursorType::SizeNortheastSouthwest;
break;
case SDL_SYSTEM_CURSOR_SIZEWE:
case SDL_SYSTEM_CURSOR_EW_RESIZE:
cursorType = CoreCursorType::SizeWestEast;
break;
case SDL_SYSTEM_CURSOR_SIZENS:
case SDL_SYSTEM_CURSOR_NS_RESIZE:
cursorType = CoreCursorType::SizeNorthSouth;
break;
case SDL_SYSTEM_CURSOR_SIZEALL:
case SDL_SYSTEM_CURSOR_MOVE:
cursorType = CoreCursorType::SizeAll;
break;
case SDL_SYSTEM_CURSOR_NO:
case SDL_SYSTEM_CURSOR_NOT_ALLOWED:
cursorType = CoreCursorType::UniversalNo;
break;
case SDL_SYSTEM_CURSOR_HAND:
case SDL_SYSTEM_CURSOR_POINTER:
cursorType = CoreCursorType::Hand;
break;
case SDL_SYSTEM_CURSOR_WINDOW_TOPLEFT:
case SDL_SYSTEM_CURSOR_NW_RESIZE:
cursorType = CoreCursorType::SizeNorthwestSoutheast;
break;
case SDL_SYSTEM_CURSOR_WINDOW_TOP:
case SDL_SYSTEM_CURSOR_N_RESIZE:
cursorType = CoreCursorType::SizeNorthSouth;
break;
case SDL_SYSTEM_CURSOR_WINDOW_TOPRIGHT:
case SDL_SYSTEM_CURSOR_NE_RESIZE:
cursorType = CoreCursorType::SizeNortheastSouthwest;
break;
case SDL_SYSTEM_CURSOR_WINDOW_RIGHT:
case SDL_SYSTEM_CURSOR_E_RESIZE:
cursorType = CoreCursorType::SizeWestEast;
break;
case SDL_SYSTEM_CURSOR_WINDOW_BOTTOMRIGHT:
case SDL_SYSTEM_CURSOR_SE_RESIZE:
cursorType = CoreCursorType::SizeNorthwestSoutheast;
break;
case SDL_SYSTEM_CURSOR_WINDOW_BOTTOM:
case SDL_SYSTEM_CURSOR_S_RESIZE:
cursorType = CoreCursorType::SizeNorthSouth;
break;
case SDL_SYSTEM_CURSOR_WINDOW_BOTTOMLEFT:
case SDL_SYSTEM_CURSOR_SW_RESIZE:
cursorType = CoreCursorType::SizeNortheastSouthwest;
break;
case SDL_SYSTEM_CURSOR_WINDOW_LEFT:
case SDL_SYSTEM_CURSOR_W_RESIZE:
cursorType = CoreCursorType::SizeWestEast;
break;
}
@ -133,7 +133,7 @@ static SDL_Cursor *WINRT_CreateSystemCursor(SDL_SystemCursor id)
static SDL_Cursor *WINRT_CreateDefaultCursor()
{
return WINRT_CreateSystemCursor(SDL_SYSTEM_CURSOR_ARROW);
return WINRT_CreateSystemCursor(SDL_SYSTEM_CURSOR_DEFAULT);
}
static void WINRT_FreeCursor(SDL_Cursor *cursor)

View File

@ -217,26 +217,26 @@ static unsigned int GetLegacySystemCursorShape(SDL_SystemCursor id)
switch (id) {
/* X Font Cursors reference: */
/* http://tronche.com/gui/x/xlib/appendix/b/ */
case SDL_SYSTEM_CURSOR_ARROW: return XC_left_ptr;
case SDL_SYSTEM_CURSOR_IBEAM: return XC_xterm;
case SDL_SYSTEM_CURSOR_DEFAULT: return XC_left_ptr;
case SDL_SYSTEM_CURSOR_TEXT: return XC_xterm;
case SDL_SYSTEM_CURSOR_WAIT: return XC_watch;
case SDL_SYSTEM_CURSOR_CROSSHAIR: return XC_tcross;
case SDL_SYSTEM_CURSOR_WAITARROW: return XC_watch;
case SDL_SYSTEM_CURSOR_SIZENWSE: return XC_top_left_corner;
case SDL_SYSTEM_CURSOR_SIZENESW: return XC_top_right_corner;
case SDL_SYSTEM_CURSOR_SIZEWE: return XC_sb_h_double_arrow;
case SDL_SYSTEM_CURSOR_SIZENS: return XC_sb_v_double_arrow;
case SDL_SYSTEM_CURSOR_SIZEALL: return XC_fleur;
case SDL_SYSTEM_CURSOR_NO: return XC_pirate;
case SDL_SYSTEM_CURSOR_HAND: return XC_hand2;
case SDL_SYSTEM_CURSOR_WINDOW_TOPLEFT: return XC_top_left_corner;
case SDL_SYSTEM_CURSOR_WINDOW_TOP: return XC_top_side;
case SDL_SYSTEM_CURSOR_WINDOW_TOPRIGHT: return XC_top_right_corner;
case SDL_SYSTEM_CURSOR_WINDOW_RIGHT: return XC_right_side;
case SDL_SYSTEM_CURSOR_WINDOW_BOTTOMRIGHT: return XC_bottom_right_corner;
case SDL_SYSTEM_CURSOR_WINDOW_BOTTOM: return XC_bottom_side;
case SDL_SYSTEM_CURSOR_WINDOW_BOTTOMLEFT: return XC_bottom_left_corner;
case SDL_SYSTEM_CURSOR_WINDOW_LEFT: return XC_left_side;
case SDL_SYSTEM_CURSOR_PROGRESS: return XC_watch;
case SDL_SYSTEM_CURSOR_NWSE_RESIZE: return XC_top_left_corner;
case SDL_SYSTEM_CURSOR_NESW_RESIZE: return XC_top_right_corner;
case SDL_SYSTEM_CURSOR_EW_RESIZE: return XC_sb_h_double_arrow;
case SDL_SYSTEM_CURSOR_NS_RESIZE: return XC_sb_v_double_arrow;
case SDL_SYSTEM_CURSOR_MOVE: return XC_fleur;
case SDL_SYSTEM_CURSOR_NOT_ALLOWED: return XC_pirate;
case SDL_SYSTEM_CURSOR_POINTER: return XC_hand2;
case SDL_SYSTEM_CURSOR_NW_RESIZE: return XC_top_left_corner;
case SDL_SYSTEM_CURSOR_N_RESIZE: return XC_top_side;
case SDL_SYSTEM_CURSOR_NE_RESIZE: return XC_top_right_corner;
case SDL_SYSTEM_CURSOR_E_RESIZE: return XC_right_side;
case SDL_SYSTEM_CURSOR_SE_RESIZE: return XC_bottom_right_corner;
case SDL_SYSTEM_CURSOR_S_RESIZE: return XC_bottom_side;
case SDL_SYSTEM_CURSOR_SW_RESIZE: return XC_bottom_left_corner;
case SDL_SYSTEM_CURSOR_W_RESIZE: return XC_left_side;
case SDL_NUM_SYSTEM_CURSORS: break; /* so the compiler might notice if an enum value is missing here. */
}
@ -486,16 +486,16 @@ void X11_InitMouse(SDL_VideoDevice *_this)
SDL_HitTestResult r = SDL_HITTEST_NORMAL;
while (r <= SDL_HITTEST_RESIZE_LEFT) {
switch (r) {
case SDL_HITTEST_NORMAL: sys_cursors[r] = X11_CreateSystemCursor(SDL_SYSTEM_CURSOR_ARROW); break;
case SDL_HITTEST_DRAGGABLE: sys_cursors[r] = X11_CreateSystemCursor(SDL_SYSTEM_CURSOR_ARROW); break;
case SDL_HITTEST_RESIZE_TOPLEFT: sys_cursors[r] = X11_CreateSystemCursor(SDL_SYSTEM_CURSOR_WINDOW_TOPLEFT); break;
case SDL_HITTEST_RESIZE_TOP: sys_cursors[r] = X11_CreateSystemCursor(SDL_SYSTEM_CURSOR_WINDOW_TOP); break;
case SDL_HITTEST_RESIZE_TOPRIGHT: sys_cursors[r] = X11_CreateSystemCursor(SDL_SYSTEM_CURSOR_WINDOW_TOPRIGHT); break;
case SDL_HITTEST_RESIZE_RIGHT: sys_cursors[r] = X11_CreateSystemCursor(SDL_SYSTEM_CURSOR_WINDOW_RIGHT); break;
case SDL_HITTEST_RESIZE_BOTTOMRIGHT: sys_cursors[r] = X11_CreateSystemCursor(SDL_SYSTEM_CURSOR_WINDOW_BOTTOMRIGHT); break;
case SDL_HITTEST_RESIZE_BOTTOM: sys_cursors[r] = X11_CreateSystemCursor(SDL_SYSTEM_CURSOR_WINDOW_BOTTOM); break;
case SDL_HITTEST_RESIZE_BOTTOMLEFT: sys_cursors[r] = X11_CreateSystemCursor(SDL_SYSTEM_CURSOR_WINDOW_BOTTOMLEFT); break;
case SDL_HITTEST_RESIZE_LEFT: sys_cursors[r] = X11_CreateSystemCursor(SDL_SYSTEM_CURSOR_WINDOW_LEFT); break;
case SDL_HITTEST_NORMAL: sys_cursors[r] = X11_CreateSystemCursor(SDL_SYSTEM_CURSOR_DEFAULT); break;
case SDL_HITTEST_DRAGGABLE: sys_cursors[r] = X11_CreateSystemCursor(SDL_SYSTEM_CURSOR_DEFAULT); break;
case SDL_HITTEST_RESIZE_TOPLEFT: sys_cursors[r] = X11_CreateSystemCursor(SDL_SYSTEM_CURSOR_NW_RESIZE); break;
case SDL_HITTEST_RESIZE_TOP: sys_cursors[r] = X11_CreateSystemCursor(SDL_SYSTEM_CURSOR_N_RESIZE); break;
case SDL_HITTEST_RESIZE_TOPRIGHT: sys_cursors[r] = X11_CreateSystemCursor(SDL_SYSTEM_CURSOR_NE_RESIZE); break;
case SDL_HITTEST_RESIZE_RIGHT: sys_cursors[r] = X11_CreateSystemCursor(SDL_SYSTEM_CURSOR_E_RESIZE); break;
case SDL_HITTEST_RESIZE_BOTTOMRIGHT: sys_cursors[r] = X11_CreateSystemCursor(SDL_SYSTEM_CURSOR_SE_RESIZE); break;
case SDL_HITTEST_RESIZE_BOTTOM: sys_cursors[r] = X11_CreateSystemCursor(SDL_SYSTEM_CURSOR_S_RESIZE); break;
case SDL_HITTEST_RESIZE_BOTTOMLEFT: sys_cursors[r] = X11_CreateSystemCursor(SDL_SYSTEM_CURSOR_SW_RESIZE); break;
case SDL_HITTEST_RESIZE_LEFT: sys_cursors[r] = X11_CreateSystemCursor(SDL_SYSTEM_CURSOR_W_RESIZE); break;
}
r++;
}

View File

@ -226,11 +226,11 @@ static void loop(void)
case (SDL_SystemCursor)-1:
SDL_Log("Custom cursor");
break;
case SDL_SYSTEM_CURSOR_ARROW:
SDL_Log("Arrow");
case SDL_SYSTEM_CURSOR_DEFAULT:
SDL_Log("Default");
break;
case SDL_SYSTEM_CURSOR_IBEAM:
SDL_Log("I-beam");
case SDL_SYSTEM_CURSOR_TEXT:
SDL_Log("Text");
break;
case SDL_SYSTEM_CURSOR_WAIT:
SDL_Log("Wait");
@ -238,52 +238,52 @@ static void loop(void)
case SDL_SYSTEM_CURSOR_CROSSHAIR:
SDL_Log("Crosshair");
break;
case SDL_SYSTEM_CURSOR_WAITARROW:
SDL_Log("Small wait cursor (or Wait if not available)");
case SDL_SYSTEM_CURSOR_PROGRESS:
SDL_Log("Progress: Small wait cursor (or Wait if not available)");
break;
case SDL_SYSTEM_CURSOR_SIZENWSE:
case SDL_SYSTEM_CURSOR_NWSE_RESIZE:
SDL_Log("Double arrow pointing northwest and southeast");
break;
case SDL_SYSTEM_CURSOR_SIZENESW:
case SDL_SYSTEM_CURSOR_NESW_RESIZE:
SDL_Log("Double arrow pointing northeast and southwest");
break;
case SDL_SYSTEM_CURSOR_SIZEWE:
case SDL_SYSTEM_CURSOR_EW_RESIZE:
SDL_Log("Double arrow pointing west and east");
break;
case SDL_SYSTEM_CURSOR_SIZENS:
case SDL_SYSTEM_CURSOR_NS_RESIZE:
SDL_Log("Double arrow pointing north and south");
break;
case SDL_SYSTEM_CURSOR_SIZEALL:
SDL_Log("Four pointed arrow pointing north, south, east, and west");
case SDL_SYSTEM_CURSOR_MOVE:
SDL_Log("Move: Four pointed arrow pointing north, south, east, and west");
break;
case SDL_SYSTEM_CURSOR_NO:
SDL_Log("Slashed circle or crossbones");
case SDL_SYSTEM_CURSOR_NOT_ALLOWED:
SDL_Log("Not Allowed: Slashed circle or crossbones");
break;
case SDL_SYSTEM_CURSOR_HAND:
SDL_Log("Hand");
case SDL_SYSTEM_CURSOR_POINTER:
SDL_Log("Pointer: Hand");
break;
case SDL_SYSTEM_CURSOR_WINDOW_TOPLEFT:
case SDL_SYSTEM_CURSOR_NW_RESIZE:
SDL_Log("Window resize top-left");
break;
case SDL_SYSTEM_CURSOR_WINDOW_TOP:
case SDL_SYSTEM_CURSOR_N_RESIZE:
SDL_Log("Window resize top");
break;
case SDL_SYSTEM_CURSOR_WINDOW_TOPRIGHT:
case SDL_SYSTEM_CURSOR_NE_RESIZE:
SDL_Log("Window resize top-right");
break;
case SDL_SYSTEM_CURSOR_WINDOW_RIGHT:
case SDL_SYSTEM_CURSOR_E_RESIZE:
SDL_Log("Window resize right");
break;
case SDL_SYSTEM_CURSOR_WINDOW_BOTTOMRIGHT:
case SDL_SYSTEM_CURSOR_SE_RESIZE:
SDL_Log("Window resize bottom-right");
break;
case SDL_SYSTEM_CURSOR_WINDOW_BOTTOM:
case SDL_SYSTEM_CURSOR_S_RESIZE:
SDL_Log("Window resize bottom");
break;
case SDL_SYSTEM_CURSOR_WINDOW_BOTTOMLEFT:
case SDL_SYSTEM_CURSOR_SW_RESIZE:
SDL_Log("Window resize bottom-left");
break;
case SDL_SYSTEM_CURSOR_WINDOW_LEFT:
case SDL_SYSTEM_CURSOR_W_RESIZE:
SDL_Log("Window resize left");
break;
default: