AllocARGBCursor and AllocGlyphCursor

This commit is contained in:
Enrico Weigelt, metux IT consult
2025-08-08 17:44:45 +02:00
parent ec8f6b7a26
commit 148be494d8
2 changed files with 22 additions and 23 deletions

View File

@@ -230,8 +230,8 @@ RealizeCursorAllScreens(CursorPtr pCurs)
int
AllocARGBCursor(unsigned char *psrcbits, unsigned char *pmaskbits,
CARD32 *argb, CursorMetricPtr cm,
unsigned foreRed, unsigned foreGreen, unsigned foreBlue,
unsigned backRed, unsigned backGreen, unsigned backBlue,
unsigned short foreRed, unsigned short foreGreen, unsigned short foreBlue,
unsigned short backRed, unsigned short backGreen, unsigned short backBlue,
CursorPtr *ppCurs, ClientPtr client, XID cid)
{
CursorBitsPtr bits;
@@ -315,9 +315,9 @@ AllocARGBCursor(unsigned char *psrcbits, unsigned char *pmaskbits,
}
int
AllocGlyphCursor(Font source, unsigned sourceChar, Font mask, unsigned maskChar,
unsigned foreRed, unsigned foreGreen, unsigned foreBlue,
unsigned backRed, unsigned backGreen, unsigned backBlue,
AllocGlyphCursor(Font source, unsigned short sourceChar, Font mask, unsigned short maskChar,
unsigned short foreRed, unsigned short foreGreen, unsigned short foreBlue,
unsigned short backRed, unsigned short backGreen, unsigned short backBlue,
CursorPtr *ppCurs, ClientPtr client, XID cid)
{
FontPtr sourcefont, maskfont;
@@ -364,15 +364,14 @@ AllocGlyphCursor(Font source, unsigned sourceChar, Font mask, unsigned maskChar,
return BadValue;
}
if (!maskfont) {
long n;
unsigned char *mskptr;
n = BitmapBytePad(cm.width) * (long) cm.height;
size_t n = BitmapBytePad(cm.width) * (long) cm.height;
mskptr = mskbits = calloc(1, n);
if (!mskptr)
return BadAlloc;
while (--n >= 0)
*mskptr++ = ~0;
*mskptr++ = 0xFF;
}
else {
if (!CursorMetricsFromGlyph(maskfont, maskChar, &cm)) {
@@ -499,7 +498,7 @@ CreateRootCursor(void)
serverClient, DixReadAccess);
if (err != Success)
return NullCursor;
if (AllocGlyphCursor(fontID, 0, fontID, 1, 0, 0, 0, ~0, ~0, ~0,
if (AllocGlyphCursor(fontID, 0, fontID, 1, 0, 0, 0, 0xFFFF, 0xFFFF, 0xFFFF,
&curs, serverClient, (XID) 0) != Success)
return NullCursor;

View File

@@ -27,26 +27,26 @@ int AllocARGBCursor(unsigned char *psrcbits,
unsigned char *pmaskbits,
CARD32 *argb,
CursorMetricPtr cm,
unsigned foreRed,
unsigned foreGreen,
unsigned foreBlue,
unsigned backRed,
unsigned backGreen,
unsigned backBlue,
unsigned short foreRed,
unsigned short foreGreen,
unsigned short foreBlue,
unsigned short backRed,
unsigned short backGreen,
unsigned short backBlue,
CursorPtr *ppCurs,
ClientPtr client,
XID cid);
int AllocGlyphCursor(Font source,
unsigned int sourceChar,
unsigned short sourceChar,
Font mask,
unsigned int maskChar,
unsigned foreRed,
unsigned foreGreen,
unsigned foreBlue,
unsigned backRed,
unsigned backGreen,
unsigned backBlue,
unsigned short maskChar,
unsigned short foreRed,
unsigned short foreGreen,
unsigned short foreBlue,
unsigned short backRed,
unsigned short backGreen,
unsigned short backBlue,
CursorPtr *ppCurs,
ClientPtr client,
XID cid);