Refactor misprite a bit.

No variable declarations in header files, please.
This commit is contained in:
Adam Jackson 2008-08-19 14:47:10 -04:00
parent 41b68e0dea
commit af5125968a
2 changed files with 38 additions and 26 deletions

View File

@ -4,7 +4,6 @@
* machine independent software sprite routines * machine independent software sprite routines
*/ */
/* /*
Copyright 1989, 1998 The Open Group Copyright 1989, 1998 The Open Group
@ -72,6 +71,39 @@ in this Software without prior written authorization from The Open Group.
(miCursorInfoPtr)dixLookupPrivate(&dev->devPrivates, miSpriteDevPrivatesKey) : \ (miCursorInfoPtr)dixLookupPrivate(&dev->devPrivates, miSpriteDevPrivatesKey) : \
(miCursorInfoPtr)dixLookupPrivate(&dev->u.master->devPrivates, miSpriteDevPrivatesKey)) (miCursorInfoPtr)dixLookupPrivate(&dev->u.master->devPrivates, miSpriteDevPrivatesKey))
static int damageRegister = 0;
static void
miSpriteDisableDamage(ScreenPtr pScreen, miSpriteScreenPtr pScreenPriv)
{
if (damageRegister) {
DamageUnregister (&(pScreen->GetScreenPixmap(pScreen)->drawable),
pScreenPriv->pDamage);
damageRegister = 0;
}
}
static void
miSpriteEnableDamage(ScreenPtr pScreen, miSpriteScreenPtr pScreenPriv)
{
if (!damageRegister) {
damageRegister = 1;
DamageRegister (&(pScreen->GetScreenPixmap(pScreen)->drawable),
pScreenPriv->pDamage);
}
}
static void
miSpriteIsUp(miCursorInfoPtr pDevCursor)
{
pDevCursor->isUp = TRUE;
}
static void
miSpriteIsDown(miCursorInfoPtr pDevCursor)
{
pDevCursor->isUp = FALSE;
}
/* /*
* screen wrappers * screen wrappers
@ -749,7 +781,7 @@ miSpriteSetCursor (DeviceIntPtr pDev, ScreenPtr pScreen,
) )
{ {
DamageDrawInternal (pScreen, TRUE); DamageDrawInternal (pScreen, TRUE);
miSpriteIsUpFALSE (pScreen, pScreenPriv); miSpriteIsDown(pCursorInfo);
if (!(sx >= pointer->saved.x1 && if (!(sx >= pointer->saved.x1 &&
sx + (int)pCursor->bits->width < pointer->saved.x2 sx + (int)pCursor->bits->width < pointer->saved.x2
&& sy >= pointer->saved.y1 && && sy >= pointer->saved.y1 &&
@ -786,7 +818,7 @@ miSpriteSetCursor (DeviceIntPtr pDev, ScreenPtr pScreen,
sy - pointer->saved.y1, sy - pointer->saved.y1,
pointer->colors[SOURCE_COLOR].pixel, pointer->colors[SOURCE_COLOR].pixel,
pointer->colors[MASK_COLOR].pixel); pointer->colors[MASK_COLOR].pixel);
miSpriteIsUpTRUE (pScreen, pScreenPriv); miSpriteIsUp(pCursorInfo);
DamageDrawInternal (pScreen, FALSE); DamageDrawInternal (pScreen, FALSE);
} }
else else
@ -893,7 +925,7 @@ miSpriteRemoveCursor (DeviceIntPtr pDev, ScreenPtr pScreen)
miSpriteScreenKey); miSpriteScreenKey);
pCursorInfo = MISPRITE(pDev); pCursorInfo = MISPRITE(pDev);
miSpriteIsUpFALSE (pCursorInfo, pScreen, pScreenPriv); miSpriteIsDown(pCursorInfo);
pCursorInfo->pCacheWin = NullWindow; pCursorInfo->pCacheWin = NullWindow;
miSpriteDisableDamage(pScreen, pScreenPriv); miSpriteDisableDamage(pScreen, pScreenPriv);
if (!(*pScreenPriv->funcs->RestoreUnderCursor) (pDev, if (!(*pScreenPriv->funcs->RestoreUnderCursor) (pDev,
@ -905,7 +937,7 @@ miSpriteRemoveCursor (DeviceIntPtr pDev, ScreenPtr pScreen)
pCursorInfo->saved.y2 - pCursorInfo->saved.y2 -
pCursorInfo->saved.y1)) pCursorInfo->saved.y1))
{ {
miSpriteIsUpTRUE (pCursorInfo, pScreen, pScreenPriv); miSpriteIsUp(pCursorInfo);
} }
miSpriteEnableDamage(pScreen, pScreenPriv); miSpriteEnableDamage(pScreen, pScreenPriv);
DamageDrawInternal (pScreen, FALSE); DamageDrawInternal (pScreen, FALSE);
@ -993,7 +1025,7 @@ miSpriteRestoreCursor (DeviceIntPtr pDev, ScreenPtr pScreen)
pScreenPriv->colors[SOURCE_COLOR].pixel, pScreenPriv->colors[SOURCE_COLOR].pixel,
pScreenPriv->colors[MASK_COLOR].pixel)) pScreenPriv->colors[MASK_COLOR].pixel))
{ {
miSpriteIsUpTRUE (pCursorInfo, pScreen, pScreenPriv); miSpriteIsUp(pCursorInfo);
pCursorInfo->pScreen = pScreen; pCursorInfo->pScreen = pScreen;
} }
miSpriteEnableDamage(pScreen, pScreenPriv); miSpriteEnableDamage(pScreen, pScreenPriv);

View File

@ -92,26 +92,6 @@ typedef struct {
#define SOURCE_COLOR 0 #define SOURCE_COLOR 0
#define MASK_COLOR 1 #define MASK_COLOR 1
static int damageRegister = 0;
#define miSpriteDisableDamage(pScreen, pScreenPriv) \
if (damageRegister) { \
DamageUnregister (&(*pScreen->GetScreenPixmap) (pScreen)->drawable, pScreenPriv->pDamage); \
damageRegister = 0; \
}
#define miSpriteEnableDamage(pScreen, pScreenPriv) \
if (!damageRegister) {\
damageRegister = 1; \
DamageRegister (&(*pScreen->GetScreenPixmap) (pScreen)->drawable, pScreenPriv->pDamage); \
}
#define miSpriteIsUpTRUE(pDevCursor, pScreen, pScreenPriv) if (!pDevCursor->isUp) \
pDevCursor->isUp = TRUE;
#define miSpriteIsUpFALSE(pDevCursor, pScreen, pScreenPriv) if (pDevCursor->isUp) \
pDevCursor->isUp = FALSE;
/* /*
* Overlap BoxPtr and Box elements * Overlap BoxPtr and Box elements
*/ */