Sorry I was errm a bit...dizzy Modified: trunk/reactos/subsys/win32k/dib/dib.h Modified: trunk/reactos/subsys/win32k/dib/dib32bpp.c _____
Modified: trunk/reactos/subsys/win32k/dib/dib.h --- trunk/reactos/subsys/win32k/dib/dib.h 2005-06-04 13:24:50 UTC (rev 15770) +++ trunk/reactos/subsys/win32k/dib/dib.h 2005-06-04 13:38:48 UTC (rev 15771) @@ -120,7 +120,7 @@
BOOLEAN DIB_32BPP_StretchBlt(SURFOBJ*,SURFOBJ*,RECTL*,RECTL*,POINTL*,POINTL,CLIP OBJ*,XLATEOBJ*,ULONG); BOOLEAN DIB_32BPP_TransparentBlt(SURFOBJ*,SURFOBJ*,RECTL*,POINTL*,XLATEOBJ*,ULON G);
-VOID FASTCALL DIB_32DstInvert(PBLTINFO BltInfo); +BOOLEAN FASTCALL DIB_32DstInvert(PBLTINFO BltInfo); BOOLEAN DIB32_Srccopy(PBLTINFO BltInfo); BOOLEAN DIB32_ColorFill(PBLTINFO BltInfo, ULONG); BOOLEAN DIB32_SrcPaint(PBLTINFO BltInfo); _____
Modified: trunk/reactos/subsys/win32k/dib/dib32bpp.c --- trunk/reactos/subsys/win32k/dib/dib32bpp.c 2005-06-04 13:24:50 UTC (rev 15770) +++ trunk/reactos/subsys/win32k/dib/dib32bpp.c 2005-06-04 13:38:48 UTC (rev 15771) @@ -398,24 +398,24 @@
}
/* optimze functions for bitblt */ -VOID +BOOLEAN FASTCALL DIB_32DstInvert(PBLTINFO BltInfo) { PULONG DestBits; ULONG top = BltInfo->DestRect.top; - ULONG bottom = BltInfo->DestRect.left; + ULONG left = BltInfo->DestRect.left; ULONG DestX = BltInfo->DestRect.right - left; ULONG DestY = BltInfo->DestRect.bottom - top; - ULONG delta = BltInfo->DestSurface->lDelta - (DestX << 2); + ULONG delta = BltInfo->DestSurface->lDelta - (DestX << 2);
/* Calculate the Initial Destination */ DestBits = (PULONG)(BltInfo->DestSurface->pvScan0 + (left << 2) + top * BltInfo->DestSurface->lDelta);
- do while (DestY > 0) + while (DestY > 0) { - do while (DestX > 0) + while (DestX > 0) { /* Invert bits */ *DestBits =~ *DestBits; @@ -433,6 +433,9 @@ /* Decrease distance to do */ DestY--; } + + /* Return TRUE */ + return TRUE; }
BOOLEAN