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
*/
/*
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->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
@ -749,7 +781,7 @@ miSpriteSetCursor (DeviceIntPtr pDev, ScreenPtr pScreen,
)
{
DamageDrawInternal (pScreen, TRUE);
miSpriteIsUpFALSE (pScreen, pScreenPriv);
miSpriteIsDown(pCursorInfo);
if (!(sx >= pointer->saved.x1 &&
sx + (int)pCursor->bits->width < pointer->saved.x2
&& sy >= pointer->saved.y1 &&
@ -786,7 +818,7 @@ miSpriteSetCursor (DeviceIntPtr pDev, ScreenPtr pScreen,
sy - pointer->saved.y1,
pointer->colors[SOURCE_COLOR].pixel,
pointer->colors[MASK_COLOR].pixel);
miSpriteIsUpTRUE (pScreen, pScreenPriv);
miSpriteIsUp(pCursorInfo);
DamageDrawInternal (pScreen, FALSE);
}
else
@ -893,7 +925,7 @@ miSpriteRemoveCursor (DeviceIntPtr pDev, ScreenPtr pScreen)
miSpriteScreenKey);
pCursorInfo = MISPRITE(pDev);
miSpriteIsUpFALSE (pCursorInfo, pScreen, pScreenPriv);
miSpriteIsDown(pCursorInfo);
pCursorInfo->pCacheWin = NullWindow;
miSpriteDisableDamage(pScreen, pScreenPriv);
if (!(*pScreenPriv->funcs->RestoreUnderCursor) (pDev,
@ -905,7 +937,7 @@ miSpriteRemoveCursor (DeviceIntPtr pDev, ScreenPtr pScreen)
pCursorInfo->saved.y2 -
pCursorInfo->saved.y1))
{
miSpriteIsUpTRUE (pCursorInfo, pScreen, pScreenPriv);
miSpriteIsUp(pCursorInfo);
}
miSpriteEnableDamage(pScreen, pScreenPriv);
DamageDrawInternal (pScreen, FALSE);
@ -993,7 +1025,7 @@ miSpriteRestoreCursor (DeviceIntPtr pDev, ScreenPtr pScreen)
pScreenPriv->colors[SOURCE_COLOR].pixel,
pScreenPriv->colors[MASK_COLOR].pixel))
{
miSpriteIsUpTRUE (pCursorInfo, pScreen, pScreenPriv);
miSpriteIsUp(pCursorInfo);
pCursorInfo->pScreen = pScreen;
}
miSpriteEnableDamage(pScreen, pScreenPriv);

View File

@ -92,26 +92,6 @@ typedef struct {
#define SOURCE_COLOR 0
#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
*/