Cleanup: simplify GHOST cursor API, no functional changes

This commit is contained in:
Brecht Van Lommel 2019-06-16 19:45:57 +02:00
parent 5767dcbe60
commit 087a489867
17 changed files with 159 additions and 319 deletions

View File

@ -324,20 +324,6 @@ extern GHOST_TStandardCursor GHOST_GetCursorShape(GHOST_WindowHandle windowhandl
extern GHOST_TSuccess GHOST_SetCursorShape(GHOST_WindowHandle windowhandle,
GHOST_TStandardCursor cursorshape);
/**
* Set the shape of the cursor to a custom cursor.
* \param windowhandle The handle to the window
* \param bitmap The bitmap data for the cursor.
* \param mask The mask data for the cursor.
* \param hotX The X coordinate of the cursor hotspot.
* \param hotY The Y coordinate of the cursor hotspot.
* \return Indication of success.
*/
extern GHOST_TSuccess GHOST_SetCustomCursorShape(GHOST_WindowHandle windowhandle,
GHOST_TUns8 bitmap[16][2],
GHOST_TUns8 mask[16][2],
int hotX,
int hotY);
/**
* Set the shape of the cursor to a custom cursor of specified size.
* \param windowhandle The handle to the window
@ -347,18 +333,17 @@ extern GHOST_TSuccess GHOST_SetCustomCursorShape(GHOST_WindowHandle windowhandle
* \param sizey The height of the cursor
* \param hotX The X coordinate of the cursor hotspot.
* \param hotY The Y coordinate of the cursor hotspot.
* \param fg_color, bg_color Colors of the cursor
* \param canInvertColor Let macOS invert cursor color to match platform convention.
* \return Indication of success.
*/
extern GHOST_TSuccess GHOST_SetCustomCursorShapeEx(GHOST_WindowHandle windowhandle,
GHOST_TUns8 *bitmap,
GHOST_TUns8 *mask,
int sizex,
int sizey,
int hotX,
int hotY,
int fg_color,
int bg_color);
extern GHOST_TSuccess GHOST_SetCustomCursorShape(GHOST_WindowHandle windowhandle,
GHOST_TUns8 *bitmap,
GHOST_TUns8 *mask,
int sizex,
int sizey,
int hotX,
int hotY,
GHOST_TUns8 canInvertColor);
/**
* Returns the visibility state of the cursor.

View File

@ -287,19 +287,13 @@ class GHOST_IWindow {
* \param hotY The Y coordinate of the cursor hotspot.
* \return Indication of success.
*/
virtual GHOST_TSuccess setCustomCursorShape(GHOST_TUns8 bitmap[16][2],
GHOST_TUns8 mask[16][2],
int hotX,
int hotY) = 0;
virtual GHOST_TSuccess setCustomCursorShape(GHOST_TUns8 *bitmap,
GHOST_TUns8 *mask,
int sizex,
int sizey,
int hotX,
int hotY,
int fg_color,
int bg_color) = 0;
bool canInvertColor) = 0;
/**
* Returns the visibility state of the cursor.

View File

@ -265,29 +265,17 @@ GHOST_TSuccess GHOST_SetCursorShape(GHOST_WindowHandle windowhandle,
}
GHOST_TSuccess GHOST_SetCustomCursorShape(GHOST_WindowHandle windowhandle,
GHOST_TUns8 bitmap[16][2],
GHOST_TUns8 mask[16][2],
GHOST_TUns8 *bitmap,
GHOST_TUns8 *mask,
int sizex,
int sizey,
int hotX,
int hotY)
int hotY,
GHOST_TUns8 canInvertColor)
{
GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
return window->setCustomCursorShape(bitmap, mask, hotX, hotY);
}
GHOST_TSuccess GHOST_SetCustomCursorShapeEx(GHOST_WindowHandle windowhandle,
GHOST_TUns8 *bitmap,
GHOST_TUns8 *mask,
int sizex,
int sizey,
int hotX,
int hotY,
int fg_color,
int bg_color)
{
GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
return window->setCustomCursorShape(bitmap, mask, sizex, sizey, hotX, hotY, fg_color, bg_color);
return window->setCustomCursorShape(bitmap, mask, sizex, sizey, hotX, hotY, canInvertColor);
}
int GHOST_GetCursorVisibility(GHOST_WindowHandle windowhandle)

View File

@ -192,25 +192,15 @@ GHOST_TSuccess GHOST_Window::setCursorShape(GHOST_TStandardCursor cursorShape)
}
}
GHOST_TSuccess GHOST_Window::setCustomCursorShape(GHOST_TUns8 bitmap[16][2],
GHOST_TUns8 mask[16][2],
int hotX,
int hotY)
{
return setCustomCursorShape(
(GHOST_TUns8 *)bitmap, (GHOST_TUns8 *)mask, 16, 16, hotX, hotY, 0, 1);
}
GHOST_TSuccess GHOST_Window::setCustomCursorShape(GHOST_TUns8 *bitmap,
GHOST_TUns8 *mask,
int sizex,
int sizey,
int hotX,
int hotY,
int fg_color,
int bg_color)
bool canInvertColor)
{
if (setWindowCustomCursorShape(bitmap, mask, sizex, sizey, hotX, hotY, fg_color, bg_color)) {
if (setWindowCustomCursorShape(bitmap, mask, sizex, sizey, hotX, hotY, canInvertColor)) {
m_cursorShape = GHOST_kStandardCursorCustom;
return GHOST_kSuccess;
}

View File

@ -124,19 +124,13 @@ class GHOST_Window : public GHOST_IWindow {
* \param hotY The Y coordinate of the cursor hotspot.
* \return Indication of success.
*/
GHOST_TSuccess setCustomCursorShape(GHOST_TUns8 bitmap[16][2],
GHOST_TUns8 mask[16][2],
int hotX,
int hotY);
GHOST_TSuccess setCustomCursorShape(GHOST_TUns8 *bitmap,
GHOST_TUns8 *mask,
int sizex,
int sizey,
int hotX,
int hotY,
int fg_color,
int bg_color);
bool canInvertColor);
/**
* Returns the visibility state of the cursor.
@ -347,19 +341,13 @@ class GHOST_Window : public GHOST_IWindow {
* Sets the cursor shape on the window using
* native window system calls.
*/
virtual GHOST_TSuccess setWindowCustomCursorShape(GHOST_TUns8 bitmap[16][2],
GHOST_TUns8 mask[16][2],
int hotX,
int hotY) = 0;
virtual GHOST_TSuccess setWindowCustomCursorShape(GHOST_TUns8 *bitmap,
GHOST_TUns8 *mask,
int szx,
int szy,
int hotX,
int hotY,
int fg,
int bg) = 0;
bool canInvertColor) = 0;
GHOST_TSuccess releaseNativeHandles();

View File

@ -307,13 +307,7 @@ class GHOST_WindowCocoa : public GHOST_Window {
int sizey,
int hotX,
int hotY,
int fg_color,
int bg_color);
GHOST_TSuccess setWindowCustomCursorShape(GHOST_TUns8 bitmap[16][2],
GHOST_TUns8 mask[16][2],
int hotX,
int hotY);
bool canInvertColor);
/** The window containing the view */
CocoaWindow *m_window;

View File

@ -1086,8 +1086,7 @@ GHOST_TSuccess GHOST_WindowCocoa::setWindowCustomCursorShape(GHOST_TUns8 *bitmap
int sizey,
int hotX,
int hotY,
int fg_color,
int bg_color)
bool canInvertColor)
{
int y, nbUns16;
NSPoint hotSpotPoint;
@ -1120,12 +1119,18 @@ GHOST_TSuccess GHOST_WindowCocoa::setWindowCustomCursorShape(GHOST_TUns8 *bitmap
for (y = 0; y < nbUns16; y++) {
#if !defined(__LITTLE_ENDIAN__)
cursorBitmap[y] = ~uns16ReverseBits((bitmap[2 * y] << 0) | (bitmap[2 * y + 1] << 8));
cursorBitmap[y] = uns16ReverseBits((bitmap[2 * y] << 0) | (bitmap[2 * y + 1] << 8));
cursorBitmap[nbUns16 + y] = uns16ReverseBits((mask[2 * y] << 0) | (mask[2 * y + 1] << 8));
#else
cursorBitmap[y] = ~uns16ReverseBits((bitmap[2 * y + 1] << 0) | (bitmap[2 * y] << 8));
cursorBitmap[y] = uns16ReverseBits((bitmap[2 * y + 1] << 0) | (bitmap[2 * y] << 8));
cursorBitmap[nbUns16 + y] = uns16ReverseBits((mask[2 * y + 1] << 0) | (mask[2 * y] << 8));
#endif
/* Flip white cursor with black outline to black cursor with white outline
* to match macOS platform conventions. */
if (canInvertColor) {
cursorBitmap[y] = ~cursorBitmap[y];
}
}
imSize.width = sizex;
@ -1148,12 +1153,3 @@ GHOST_TSuccess GHOST_WindowCocoa::setWindowCustomCursorShape(GHOST_TUns8 *bitmap
[pool drain];
return GHOST_kSuccess;
}
GHOST_TSuccess GHOST_WindowCocoa::setWindowCustomCursorShape(GHOST_TUns8 bitmap[16][2],
GHOST_TUns8 mask[16][2],
int hotX,
int hotY)
{
return setWindowCustomCursorShape(
(GHOST_TUns8 *)bitmap, (GHOST_TUns8 *)mask, 16, 16, hotX, hotY, 0, 1);
}

View File

@ -68,21 +68,13 @@ class GHOST_WindowNULL : public GHOST_Window {
{
return GHOST_kSuccess;
}
GHOST_TSuccess setWindowCustomCursorShape(GHOST_TUns8 bitmap[16][2],
GHOST_TUns8 mask[16][2],
int hotX,
int hotY)
{
return GHOST_kSuccess;
}
GHOST_TSuccess setWindowCustomCursorShape(GHOST_TUns8 *bitmap,
GHOST_TUns8 *mask,
int sizex,
int sizey,
int hotX,
int hotY,
int fg_color,
int bg_color)
bool canInvertColor)
{
return GHOST_kSuccess;
}

View File

@ -642,23 +642,13 @@ GHOST_TSuccess GHOST_WindowSDL::setWindowCursorShape(GHOST_TStandardCursor shape
return GHOST_kSuccess;
}
GHOST_TSuccess GHOST_WindowSDL::setWindowCustomCursorShape(GHOST_TUns8 bitmap[16][2],
GHOST_TUns8 mask[16][2],
int hotX,
int hotY)
{
return setWindowCustomCursorShape(
(GHOST_TUns8 *)bitmap, (GHOST_TUns8 *)mask, 16, 16, hotX, hotY, 0, 1);
}
GHOST_TSuccess GHOST_WindowSDL::setWindowCustomCursorShape(GHOST_TUns8 *bitmap,
GHOST_TUns8 *mask,
int sizex,
int sizey,
int hotX,
int hotY,
int fg_color,
int bg_color)
bool canInvertColor)
{
if (m_sdl_custom_cursor) {
SDL_FreeCursor(m_sdl_custom_cursor);

View File

@ -101,19 +101,13 @@ class GHOST_WindowSDL : public GHOST_Window {
GHOST_TSuccess setWindowCursorShape(GHOST_TStandardCursor shape);
GHOST_TSuccess setWindowCustomCursorShape(GHOST_TUns8 bitmap[16][2],
GHOST_TUns8 mask[16][2],
int hotX,
int hotY);
GHOST_TSuccess setWindowCustomCursorShape(GHOST_TUns8 *bitmap,
GHOST_TUns8 *mask,
int sizex,
int sizey,
int hotX,
int hotY,
int fg_color,
int bg_color);
bool canInvertColor);
GHOST_TSuccess setWindowCursorVisibility(bool visible);

View File

@ -1189,14 +1189,6 @@ static GHOST_TUns16 uns16ReverseBits(GHOST_TUns16 shrt)
return shrt;
}
#endif
GHOST_TSuccess GHOST_WindowWin32::setWindowCustomCursorShape(GHOST_TUns8 bitmap[16][2],
GHOST_TUns8 mask[16][2],
int hotX,
int hotY)
{
return setWindowCustomCursorShape(
(GHOST_TUns8 *)bitmap, (GHOST_TUns8 *)mask, 16, 16, hotX, hotY, 0, 1);
}
GHOST_TSuccess GHOST_WindowWin32::setWindowCustomCursorShape(GHOST_TUns8 *bitmap,
GHOST_TUns8 *mask,
@ -1204,8 +1196,7 @@ GHOST_TSuccess GHOST_WindowWin32::setWindowCustomCursorShape(GHOST_TUns8 *bitmap
int sizeY,
int hotX,
int hotY,
int fg_color,
int bg_color)
bool canInvertColor)
{
GHOST_TUns32 andData[32];
GHOST_TUns32 xorData[32];

View File

@ -461,19 +461,13 @@ class GHOST_WindowWin32 : public GHOST_Window {
* Sets the cursor shape on the window using
* native window system calls.
*/
GHOST_TSuccess setWindowCustomCursorShape(GHOST_TUns8 bitmap[16][2],
GHOST_TUns8 mask[16][2],
int hotX,
int hotY);
GHOST_TSuccess setWindowCustomCursorShape(GHOST_TUns8 *bitmap,
GHOST_TUns8 *mask,
int sizex,
int sizey,
int hotX,
int hotY,
int fg_color,
int bg_color);
bool canInvertColor);
/** Pointer to system */
GHOST_SystemWin32 *m_system;

View File

@ -1473,23 +1473,13 @@ GHOST_TSuccess GHOST_WindowX11::setWindowCursorShape(GHOST_TStandardCursor shape
return GHOST_kSuccess;
}
GHOST_TSuccess GHOST_WindowX11::setWindowCustomCursorShape(GHOST_TUns8 bitmap[16][2],
GHOST_TUns8 mask[16][2],
int hotX,
int hotY)
{
setWindowCustomCursorShape((GHOST_TUns8 *)bitmap, (GHOST_TUns8 *)mask, 16, 16, hotX, hotY, 0, 1);
return GHOST_kSuccess;
}
GHOST_TSuccess GHOST_WindowX11::setWindowCustomCursorShape(GHOST_TUns8 *bitmap,
GHOST_TUns8 *mask,
int sizex,
int sizey,
int hotX,
int hotY,
int /*fg_color*/,
int /*bg_color*/)
bool /*canInvertColor*/)
{
Colormap colormap = DefaultColormap(m_display, m_visualInfo->screen);
Pixmap bitmap_pix, mask_pix;

View File

@ -214,15 +214,6 @@ class GHOST_WindowX11 : public GHOST_Window {
*/
GHOST_TSuccess setWindowCursorShape(GHOST_TStandardCursor shape);
/**
* Sets the cursor shape on the window using
* native window system calls.
*/
GHOST_TSuccess setWindowCustomCursorShape(GHOST_TUns8 bitmap[16][2],
GHOST_TUns8 mask[16][2],
int hotX,
int hotY);
/**
* Sets the cursor shape on the window using
* native window system calls (Arbitrary size/color).
@ -233,8 +224,7 @@ class GHOST_WindowX11 : public GHOST_Window {
int sizey,
int hotX,
int hotY,
int fg_color,
int bg_color);
bool canInvertColor);
private:
/// Force use of public constructor.

View File

@ -736,7 +736,7 @@ static void extrawindow_spin_cursor(ExtraWindow *ew, GHOST_TUns64 time)
mask[y][x / 8] |= (1 << (x % 8));
}
GHOST_SetCustomCursorShape(ew->win, bitmap, mask, 0, 0);
GHOST_SetCustomCursorShape(ew->win, bitmap, mask, 16, 16, 0, 0, true);
}
static void extrawindow_handle(void *priv, GHOST_EventHandle evt)

View File

@ -80,32 +80,31 @@ static GHOST_TStandardCursor convert_cursor(int curs)
static void window_set_custom_cursor(
wmWindow *win, unsigned char mask[16][2], unsigned char bitmap[16][2], int hotx, int hoty)
{
GHOST_SetCustomCursorShape(win->ghostwin, bitmap, mask, hotx, hoty);
GHOST_SetCustomCursorShape(
win->ghostwin, (GHOST_TUns8 *)bitmap, (GHOST_TUns8 *)mask, 16, 16, hotx, hoty, true);
}
static void window_set_custom_cursor_ex(wmWindow *win, BCursor *cursor, int useBig)
{
if (useBig) {
GHOST_SetCustomCursorShapeEx(win->ghostwin,
(GHOST_TUns8 *)cursor->big_bm,
(GHOST_TUns8 *)cursor->big_mask,
cursor->big_sizex,
cursor->big_sizey,
cursor->big_hotx,
cursor->big_hoty,
cursor->fg_color,
cursor->bg_color);
GHOST_SetCustomCursorShape(win->ghostwin,
(GHOST_TUns8 *)cursor->big_bm,
(GHOST_TUns8 *)cursor->big_mask,
cursor->big_sizex,
cursor->big_sizey,
cursor->big_hotx,
cursor->big_hoty,
cursor->can_invert_color);
}
else {
GHOST_SetCustomCursorShapeEx(win->ghostwin,
(GHOST_TUns8 *)cursor->small_bm,
(GHOST_TUns8 *)cursor->small_mask,
cursor->small_sizex,
cursor->small_sizey,
cursor->small_hotx,
cursor->small_hoty,
cursor->fg_color,
cursor->bg_color);
GHOST_SetCustomCursorShape(win->ghostwin,
(GHOST_TUns8 *)cursor->small_bm,
(GHOST_TUns8 *)cursor->small_mask,
cursor->small_sizex,
cursor->small_sizey,
cursor->small_hotx,
cursor->small_hoty,
cursor->can_invert_color);
}
}
@ -363,7 +362,7 @@ void WM_cursor_time(wmWindow *win, int nr)
* the bits in a byte go right to left
* (ie; 0x01, 0x80 represents a line of 16 pix with the first and last pix set.)
*
* - A 0 in the bitmap = bg_color, a 1 fg_color
* - A 0 in the bitmap = white, a 1 black
* - a 0 in the mask = transparent pix.
*
* Until 32x32 cursors are supported on all platforms, the size of the
@ -420,23 +419,22 @@ void wm_init_cursor_data(void)
};
static BCursor NWArrowCursor = {
/*small*/
/* small */
nw_sbm,
nw_smsk,
16,
16,
6,
7,
/*big*/
/* big */
NULL,
NULL,
32,
32,
15,
15,
/*color*/
BC_BLACK,
BC_WHITE,
/* can invert color */
true,
};
BlenderCursor[BC_NW_ARROWCURSOR] = &NWArrowCursor;
@ -457,23 +455,22 @@ void wm_init_cursor_data(void)
};
static BCursor NSArrowCursor = {
/*small*/
/* small */
ns_sbm,
ns_smsk,
16,
16,
6,
7,
/*big*/
/* big */
NULL,
NULL,
32,
32,
15,
15,
/*color*/
BC_BLACK,
BC_WHITE,
/* can invert color */
true,
};
BlenderCursor[BC_NS_ARROWCURSOR] = &NSArrowCursor;
@ -494,23 +491,22 @@ void wm_init_cursor_data(void)
};
static BCursor EWArrowCursor = {
/*small*/
/* small */
ew_sbm,
ew_smsk,
16,
16,
7,
6,
/*big*/
/* big */
NULL,
NULL,
32,
32,
15,
15,
/*color*/
BC_BLACK,
BC_WHITE,
/* can invert color */
true,
};
BlenderCursor[BC_EW_ARROWCURSOR] = &EWArrowCursor;
@ -555,23 +551,22 @@ void wm_init_cursor_data(void)
};
static BCursor WaitCursor = {
/*small*/
/* small */
wait_sbm,
wait_smsk,
16,
16,
7,
7,
/*big*/
/* big */
wait_lbm,
wait_lmsk,
32,
32,
15,
15,
/*color*/
BC_BLACK,
BC_WHITE,
/* can invert color */
true,
};
BlenderCursor[BC_WAITCURSOR] = &WaitCursor;
@ -615,23 +610,22 @@ void wm_init_cursor_data(void)
};
static BCursor CrossCursor = {
/*small*/
/* small */
cross_sbm,
cross_smsk,
16,
16,
7,
7,
/*big*/
/* big */
cross_lbm,
cross_lmsk,
32,
32,
15,
15,
/*color*/
BC_BLACK,
BC_WHITE,
/* can invert color */
true,
};
BlenderCursor[BC_CROSSCURSOR] = &CrossCursor;
@ -652,23 +646,22 @@ void wm_init_cursor_data(void)
};
static BCursor EditCrossCursor = {
/*small*/
/* small */
editcross_sbm,
editcross_smsk,
16,
16,
9,
8,
/*big*/
/* big */
NULL,
NULL,
32,
32,
15,
15,
/*color*/
BC_BLACK,
BC_WHITE,
/* can invert color */
true,
};
BlenderCursor[BC_EDITCROSSCURSOR] = &EditCrossCursor;
@ -689,23 +682,22 @@ void wm_init_cursor_data(void)
};
static BCursor BoxSelCursor = {
/*small*/
/* small */
box_sbm,
box_smsk,
16,
16,
9,
8,
/*big*/
/* big */
NULL,
NULL,
32,
32,
15,
15,
/*color*/
BC_BLACK,
BC_WHITE,
/* can invert color */
true,
};
BlenderCursor[BC_BOXSELCURSOR] = &BoxSelCursor;
@ -750,23 +742,22 @@ void wm_init_cursor_data(void)
};
static BCursor KnifeCursor = {
/*small*/
/* small */
knife_sbm,
knife_smsk,
16,
16,
0,
15,
/*big*/
/* big */
knife_lbm,
knife_lmsk,
32,
32,
0,
31,
/*color*/
BC_BLACK,
BC_WHITE,
/* can invert color */
true,
};
BlenderCursor[BC_KNIFECURSOR] = &KnifeCursor;
@ -813,23 +804,22 @@ void wm_init_cursor_data(void)
};
static BCursor VLoopCursor = {
/*small*/
/* small */
vloop_sbm,
vloop_smsk,
16,
16,
0,
0,
/*big*/
/* big */
vloop_lbm,
vloop_lmsk,
32,
32,
0,
0,
/*color*/
BC_BLACK,
BC_WHITE,
/* can invert color */
true,
};
BlenderCursor[BC_VLOOPCURSOR] = &VLoopCursor;
@ -851,23 +841,22 @@ void wm_init_cursor_data(void)
};
static BCursor TextEditCursor = {
/*small*/
/* small */
textedit_sbm,
textedit_smsk,
16,
16,
9,
8,
/*big*/
/* big */
NULL,
NULL,
32,
32,
15,
15,
/*color*/
BC_BLACK,
BC_WHITE,
/* can invert color */
true,
};
BlenderCursor[BC_TEXTEDITCURSOR] = &TextEditCursor;
@ -889,23 +878,22 @@ void wm_init_cursor_data(void)
};
static BCursor PaintBrushCursor = {
/*small*/
/* small */
paintbrush_sbm,
paintbrush_smsk,
16,
16,
0,
15,
/*big*/
/* big */
NULL,
NULL,
32,
32,
15,
15,
/*color*/
BC_BLACK,
BC_WHITE,
/* can invert color */
true,
};
BlenderCursor[BC_PAINTBRUSHCURSOR] = &PaintBrushCursor;
@ -927,23 +915,22 @@ void wm_init_cursor_data(void)
};
static BCursor HandCursor = {
/*small*/
/* small */
hand_sbm,
hand_smsk,
16,
16,
8,
8,
/*big*/
/* big */
NULL,
NULL,
32,
32,
15,
15,
/*color*/
BC_BLACK,
BC_WHITE,
/* can invert color */
true,
};
BlenderCursor[BC_HANDCURSOR] = &HandCursor;
@ -966,23 +953,22 @@ void wm_init_cursor_data(void)
};
static BCursor NSEWScrollCursor = {
/*small*/
/* small */
nsewscroll_sbm,
nsewscroll_smsk,
16,
16,
8,
8,
/*big*/
/* big */
NULL,
NULL,
32,
32,
15,
15,
/*color*/
BC_BLACK,
BC_WHITE,
/* can invert color */
true,
};
BlenderCursor[BC_NSEW_SCROLLCURSOR] = &NSEWScrollCursor;
@ -1005,23 +991,22 @@ void wm_init_cursor_data(void)
};
static BCursor NSScrollCursor = {
/*small*/
/* small */
nsscroll_sbm,
nsscroll_smsk,
16,
16,
8,
8,
/*big*/
/* big */
NULL,
NULL,
32,
32,
15,
15,
/*color*/
BC_BLACK,
BC_WHITE,
/* can invert color */
true,
};
BlenderCursor[BC_NS_SCROLLCURSOR] = &NSScrollCursor;
@ -1044,23 +1029,22 @@ void wm_init_cursor_data(void)
};
static BCursor EWScrollCursor = {
/*small*/
/* small */
ewscroll_sbm,
ewscroll_smsk,
16,
16,
8,
8,
/*big*/
/* big */
NULL,
NULL,
32,
32,
15,
15,
/*color*/
BC_BLACK,
BC_WHITE,
/* can invert color */
true,
};
BlenderCursor[BC_EW_SCROLLCURSOR] = &EWScrollCursor;
@ -1083,23 +1067,22 @@ void wm_init_cursor_data(void)
};
static BCursor EyedropperCursor = {
/*small*/
/* small */
eyedropper_sbm,
eyedropper_smsk,
16,
16,
1,
15,
/*big*/
/* big */
NULL,
NULL,
32,
32,
15,
15,
/*color*/
BC_BLACK,
BC_WHITE,
/* can invert color */
true,
};
BlenderCursor[BC_EYEDROPPER_CURSOR] = &EyedropperCursor;
@ -1121,23 +1104,22 @@ void wm_init_cursor_data(void)
};
static BCursor SwapCursor = {
/*small*/
/* small */
swap_sbm,
swap_smsk,
16,
16,
8,
8,
/*big*/
/* big */
NULL,
NULL,
32,
32,
15,
15,
/*color*/
BC_YELLOW,
BC_BLUE,
/* can invert color */
true,
};
BlenderCursor[BC_SWAPAREA_CURSOR] = &SwapCursor;
@ -1182,23 +1164,22 @@ void wm_init_cursor_data(void)
0x00, 0xC0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00};
static BCursor HSplitCursor = {
/*small*/
/* small */
hsplit_sbm,
hsplit_smsk,
16,
16,
7,
7,
/*big*/
/* big */
hsplit_lbm,
hsplit_lmsk,
32,
32,
15,
15,
/*color*/
BC_BLACK,
BC_WHITE,
/* can invert color */
true,
};
BlenderCursor[BC_H_SPLITCURSOR] = &HSplitCursor;
@ -1243,23 +1224,22 @@ void wm_init_cursor_data(void)
0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static BCursor VSplitCursor = {
/*small*/
/* small */
vsplit_sbm,
vsplit_smsk,
16,
16,
7,
7,
/*big*/
/* big */
vsplit_lbm,
vsplit_lmsk,
32,
32,
15,
15,
/*color*/
BC_BLACK,
BC_WHITE,
/* can invert color */
true,
};
BlenderCursor[BC_V_SPLITCURSOR] = &VSplitCursor;
@ -1304,23 +1284,22 @@ void wm_init_cursor_data(void)
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static BCursor NArrowCursor = {
/*small*/
/* small */
narrow_sbm,
narrow_smsk,
16,
16,
7,
4,
/*big*/
/* big */
narrow_lbm,
narrow_lmsk,
32,
32,
15,
10,
/*color*/
BC_BLACK,
BC_WHITE,
/* can invert color */
true,
};
BlenderCursor[BC_N_ARROWCURSOR] = &NArrowCursor;
@ -1365,23 +1344,22 @@ void wm_init_cursor_data(void)
0x00, 0xC0, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00};
static BCursor SArrowCursor = {
/*small*/
/* small */
sarrow_sbm,
sarrow_smsk,
16,
16,
7,
11,
/*big*/
/* big */
sarrow_lbm,
sarrow_lmsk,
32,
32,
15,
21,
/*color*/
BC_BLACK,
BC_WHITE,
/* can invert color */
true,
};
BlenderCursor[BC_S_ARROWCURSOR] = &SArrowCursor;
@ -1426,23 +1404,22 @@ void wm_init_cursor_data(void)
0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00};
static BCursor EArrowCursor = {
/*small*/
/* small */
earrow_sbm,
earrow_smsk,
16,
16,
11,
7,
/*big*/
/* big */
earrow_lbm,
earrow_lmsk,
32,
32,
15,
22,
/*color*/
BC_BLACK,
BC_WHITE,
/* can invert color */
true,
};
BlenderCursor[BC_E_ARROWCURSOR] = &EArrowCursor;
@ -1487,23 +1464,22 @@ void wm_init_cursor_data(void)
0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static BCursor WArrowCursor = {
/*small*/
/* small */
warrow_sbm,
warrow_smsk,
16,
16,
4,
7,
/*big*/
/* big */
warrow_lbm,
warrow_lmsk,
32,
32,
15,
15,
/*color*/
BC_BLACK,
BC_WHITE,
/* can invert color */
true,
};
BlenderCursor[BC_W_ARROWCURSOR] = &WArrowCursor;
@ -1548,23 +1524,22 @@ void wm_init_cursor_data(void)
0x00, 0xFE, 0x7F, 0x00, 0x00, 0xF0, 0x0F, 0x00};
static BCursor StopCursor = {
/*small*/
/* small */
stop_sbm,
stop_smsk,
16,
16,
7,
7,
/*big*/
/* big */
stop_lbm,
stop_lmsk,
32,
32,
15,
15,
/*color*/
BC_BLACK,
BC_WHITE,
/* can invert color */
true,
};
BlenderCursor[BC_STOPCURSOR] = &StopCursor;
@ -1610,23 +1585,22 @@ void wm_init_cursor_data(void)
};
static BCursor PaintCrossCursor = {
/*small*/
/* small */
paintcross_sbm,
paintcross_smsk,
16,
16,
7,
7,
/*big*/
/* big */
paintcross_sbm_large,
paintcross_smsk_large,
32,
32,
15,
15,
/*color*/
BC_BLACK,
BC_WHITE,
/* can invert color */
true,
};
BlenderCursor[BC_PAINTCROSSCURSOR] = &PaintCrossCursor;

View File

@ -61,8 +61,7 @@ typedef struct BCursor {
char big_hotx;
char big_hoty;
char fg_color;
char bg_color;
bool can_invert_color;
} BCursor;
@ -97,15 +96,6 @@ enum {
BC_NUMCURSORS,
};
enum {
BC_BLACK = 0,
BC_WHITE,
BC_RED,
BC_BLUE,
BC_GREEN,
BC_YELLOW,
};
struct wmEvent;
struct wmWindow;