From 0bbffbfe788462569095165edc0c3f692fe9ad47 Mon Sep 17 00:00:00 2001 From: Magnus Olsen Date: Fri, 3 Jun 2005 12:30:09 +0000 Subject: [PATCH] activate 32 to 32 bitblt code svn path=/trunk/; revision=15747 --- reactos/subsys/win32k/dib/dib32bpp.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/reactos/subsys/win32k/dib/dib32bpp.c b/reactos/subsys/win32k/dib/dib32bpp.c index a8a0b9ce005..d191abfd55a 100644 --- a/reactos/subsys/win32k/dib/dib32bpp.c +++ b/reactos/subsys/win32k/dib/dib32bpp.c @@ -305,8 +305,6 @@ DIB_32BPP_BitBlt(PBLTINFO BltInfo) BOOL UsesSource; BOOL UsesPattern; PULONG DestBits; - LONG DesmaxX, DesmaxY; - LONG SrcmaxX, SrcmaxY; switch (BltInfo->Rop4) { @@ -385,9 +383,7 @@ DIB_32BPP_BitBlt(PBLTINFO BltInfo) case BMF_1BPP: break; case BMF_4BPP: - break; - case BMF_8BPP: - break; + break; case BMF_16BPP: break; case BMF_24BPP: @@ -398,19 +394,22 @@ DIB_32BPP_BitBlt(PBLTINFO BltInfo) INT Sourcedelta; register PBYTE Destaddr; register PBYTE Srcaddr; + LONG DesmaxX, DesmaxY; + LONG SrcmaxX, SrcmaxY; + SrcmaxX = BltInfo->SourceSurface->sizlBitmap.cx - BltInfo->SourcePoint.x; SrcmaxY = BltInfo->SourceSurface->sizlBitmap.cy - BltInfo->SourcePoint.y; - /* calc the dst BMP size */ + DesmaxX = BltInfo->DestRect.right - BltInfo->DestRect.left; DesmaxY = BltInfo->DestRect.bottom - BltInfo->DestRect.top; - /* calc max X and Y size to blt */ + if (DesmaxX > SrcmaxX ) DesmaxX = SrcmaxX; if (DesmaxY > SrcmaxY ) DesmaxY = SrcmaxY; - /* do blt */ + Destdelta = BltInfo->DestSurface->lDelta; Sourcedelta = BltInfo->SourceSurface->lDelta; Destaddr = BltInfo->DestSurface->pvScan0 + BltInfo->DestRect.top * Destdelta + BltInfo->DestRect.left; @@ -427,8 +426,10 @@ DIB_32BPP_BitBlt(PBLTINFO BltInfo) } while (--DesmaxY); } + return TRUE; break; } + default: break;