Added initial NtGdiStretchBlt() implementation

svn path=/trunk/; revision=6911
This commit is contained in:
Aleksey Bragin 2003-12-08 11:10:02 +00:00
parent 5d1f3e4b20
commit d4638a1fd5

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/ */
/* $Id: bitmaps.c,v 1.46 2003/12/04 21:35:11 fireball Exp $ */ /* $Id: bitmaps.c,v 1.47 2003/12/08 11:10:02 fireball Exp $ */
#undef WIN32_LEAN_AND_MEAN #undef WIN32_LEAN_AND_MEAN
#include <windows.h> #include <windows.h>
#include <stdlib.h> #include <stdlib.h>
@ -32,7 +32,7 @@
#include <include/surface.h> #include <include/surface.h>
#include <include/palette.h> #include <include/palette.h>
#define NDEBUG //#define NDEBUG
#include <win32k/debug1.h> #include <win32k/debug1.h>
BOOL STDCALL NtGdiBitBlt(HDC hDCDest, BOOL STDCALL NtGdiBitBlt(HDC hDCDest,
@ -798,7 +798,7 @@ BOOL STDCALL NtGdiStretchBlt(HDC hDCDest,
PSURFOBJ SurfDest, SurfSrc; PSURFOBJ SurfDest, SurfSrc;
PSURFGDI SurfGDIDest, SurfGDISrc; PSURFGDI SurfGDIDest, SurfGDISrc;
RECTL DestRect; RECTL DestRect;
POINTL SourcePoint; RECTL SourceRect;
BOOL Status; BOOL Status;
PPALGDI PalDestGDI, PalSourceGDI; PPALGDI PalDestGDI, PalSourceGDI;
PXLATEOBJ XlateObj = NULL; PXLATEOBJ XlateObj = NULL;
@ -853,8 +853,10 @@ BOOL STDCALL NtGdiStretchBlt(HDC hDCDest,
DestRect.right = XOriginDest+WidthDest; DestRect.right = XOriginDest+WidthDest;
DestRect.bottom = YOriginDest+HeightDest; DestRect.bottom = YOriginDest+HeightDest;
SourcePoint.x = XOriginSrc; SourceRect.left = XOriginSrc;
SourcePoint.y = YOriginSrc; SourceRect.top = YOriginSrc;
SourceRect.right = XOriginSrc+WidthSrc;
SourceRect.bottom = YOriginSrc+HeightSrc;
/* Determine surfaces to be used in the bitblt */ /* Determine surfaces to be used in the bitblt */
SurfDest = (PSURFOBJ)AccessUserObject((ULONG)DCDest->Surface); SurfDest = (PSURFOBJ)AccessUserObject((ULONG)DCDest->Surface);
@ -955,13 +957,8 @@ BOOL STDCALL NtGdiStretchBlt(HDC hDCDest,
} }
/* Perform the bitblt operation */ /* Perform the bitblt operation */
// Status = IntEngBitBlt(SurfDest, SurfSrc, NULL, DCDest->CombinedClip, XlateObj, Status = IntEngStretchBlt(SurfDest, SurfSrc, NULL, DCDest->CombinedClip,
// &DestRect, &SourcePoint, NULL, BrushObj, NULL, ROP); XlateObj, &DestRect, &SourceRect, NULL, NULL, NULL, COLORONCOLOR);
//Status = IntEngStretchBlt(SurfDest, SurfSrc, NULL, DCDest->CombinedClip,
// XlateObj, &DestRect, &SourceRect, NULL, NULL, NULL, ROP);
Status = FALSE;
EngDeleteXlate(XlateObj); EngDeleteXlate(XlateObj);
if (UsesPattern) if (UsesPattern)