Added PatBlt support in enhanced metafiles.
This commit is contained in:
parent
5cd279aae4
commit
3955d1a94f
|
@ -35,6 +35,7 @@ C_SRCS = \
|
|||
$(TOPOBJDIR)/objects/text.c \
|
||||
bidi16.c \
|
||||
driver.c \
|
||||
enhmfdrv/bitblt.c \
|
||||
enhmfdrv/dc.c \
|
||||
enhmfdrv/graphics.c \
|
||||
enhmfdrv/init.c \
|
||||
|
|
|
@ -0,0 +1,67 @@
|
|||
/*
|
||||
* Enhanced MetaFile driver BitBlt functions
|
||||
*
|
||||
* Copyright 2002 Huw D M Davies for CodeWeavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include "windef.h"
|
||||
#include "wingdi.h"
|
||||
#include "gdi.h"
|
||||
#include "enhmetafiledrv.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(enhmetafile);
|
||||
|
||||
extern BOOL EMFDRV_PatBlt( PHYSDEV dev, INT left, INT top,
|
||||
INT width, INT height, DWORD rop )
|
||||
{
|
||||
EMRBITBLT emr;
|
||||
BOOL ret;
|
||||
|
||||
emr.emr.iType = EMR_BITBLT;
|
||||
emr.emr.nSize = sizeof(emr);
|
||||
emr.rclBounds.left = left;
|
||||
emr.rclBounds.top = top;
|
||||
emr.rclBounds.right = left + width - 1;
|
||||
emr.rclBounds.bottom = top + height - 1;
|
||||
emr.xDest = left;
|
||||
emr.yDest = top;
|
||||
emr.cxDest = width;
|
||||
emr.cyDest = height;
|
||||
emr.dwRop = rop;
|
||||
emr.xSrc = 0;
|
||||
emr.ySrc = 0;
|
||||
emr.xformSrc.eM11 = 1.0;
|
||||
emr.xformSrc.eM12 = 0.0;
|
||||
emr.xformSrc.eM21 = 0.0;
|
||||
emr.xformSrc.eM22 = 1.0;
|
||||
emr.xformSrc.eDx = 0.0;
|
||||
emr.xformSrc.eDy = 0.0;
|
||||
emr.crBkColorSrc = 0;
|
||||
emr.iUsageSrc = 0;
|
||||
emr.offBmiSrc = 0;
|
||||
emr.cbBmiSrc = 0;
|
||||
emr.offBitsSrc = 0;
|
||||
emr.cbBitsSrc = 0;
|
||||
|
||||
ret = EMFDRV_WriteRecord( dev, &emr.emr );
|
||||
if(ret)
|
||||
EMFDRV_UpdateBBox( dev, &emr.rclBounds );
|
||||
return ret;
|
||||
}
|
|
@ -83,7 +83,7 @@ static const DC_FUNCTIONS EMFDRV_Funcs =
|
|||
NULL, /* pOffsetViewportOrg */
|
||||
NULL, /* pOffsetWindowOrg */
|
||||
EMFDRV_PaintRgn, /* pPaintRgn */
|
||||
NULL, /* pPatBlt */
|
||||
EMFDRV_PatBlt, /* pPatBlt */
|
||||
EMFDRV_Pie, /* pPie */
|
||||
NULL, /* pPolyBezier */
|
||||
NULL, /* pPolyBezierTo */
|
||||
|
|
Loading…
Reference in New Issue