2 * MetaFile driver DC value functions
4 * Copyright 1999 Huw D M Davies
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 #include "mfdrv/metafiledrv.h"
23 INT
MFDRV_SaveDC( PHYSDEV dev
)
25 return MFDRV_MetaParam0( dev
, META_SAVEDC
);
28 BOOL
MFDRV_RestoreDC( PHYSDEV dev
, INT level
)
30 return MFDRV_MetaParam1( dev
, META_RESTOREDC
, level
);
33 UINT
MFDRV_SetTextAlign( PHYSDEV dev
, UINT align
)
35 return MFDRV_MetaParam2( dev
, META_SETTEXTALIGN
, HIWORD(align
), LOWORD(align
)) ? align
: GDI_ERROR
;
38 INT
MFDRV_SetBkMode( PHYSDEV dev
, INT mode
)
40 return MFDRV_MetaParam1( dev
, META_SETBKMODE
, (WORD
)mode
) ? mode
: 0;
43 COLORREF
MFDRV_SetBkColor( PHYSDEV dev
, COLORREF color
)
45 return MFDRV_MetaParam2(dev
, META_SETBKCOLOR
, HIWORD(color
), LOWORD(color
)) ? color
: CLR_INVALID
;
48 COLORREF
MFDRV_SetTextColor( PHYSDEV dev
, COLORREF color
)
50 return MFDRV_MetaParam2(dev
, META_SETTEXTCOLOR
, HIWORD(color
), LOWORD(color
)) ? color
: CLR_INVALID
;
53 INT
MFDRV_SetROP2( PHYSDEV dev
, INT rop
)
55 return MFDRV_MetaParam1( dev
, META_SETROP2
, (WORD
)rop
) ? rop
: 0;
58 INT
MFDRV_SetRelAbs( PHYSDEV dev
, INT mode
)
60 return MFDRV_MetaParam1( dev
, META_SETRELABS
, (WORD
)mode
) ? mode
: 0;
63 INT
MFDRV_SetPolyFillMode( PHYSDEV dev
, INT mode
)
65 return MFDRV_MetaParam1( dev
, META_SETPOLYFILLMODE
, (WORD
)mode
) ? mode
: 0;
68 INT
MFDRV_SetStretchBltMode( PHYSDEV dev
, INT mode
)
70 return MFDRV_MetaParam1( dev
, META_SETSTRETCHBLTMODE
, (WORD
)mode
) ? mode
: 0;
73 INT
MFDRV_IntersectClipRect( PHYSDEV dev
, INT left
, INT top
, INT right
, INT bottom
)
75 return MFDRV_MetaParam4( dev
, META_INTERSECTCLIPRECT
, left
, top
, right
, bottom
);
78 INT
MFDRV_ExcludeClipRect( PHYSDEV dev
, INT left
, INT top
, INT right
, INT bottom
)
80 return MFDRV_MetaParam4( dev
, META_EXCLUDECLIPRECT
, left
, top
, right
, bottom
);
83 INT
MFDRV_OffsetClipRgn( PHYSDEV dev
, INT x
, INT y
)
85 return MFDRV_MetaParam2( dev
, META_OFFSETCLIPRGN
, x
, y
);
88 INT
MFDRV_SetMapMode( PHYSDEV dev
, INT mode
)
90 return MFDRV_MetaParam1( dev
, META_SETMAPMODE
, mode
);
93 BOOL
MFDRV_SetViewportExtEx( PHYSDEV dev
, INT x
, INT y
, SIZE
*size
)
95 return MFDRV_MetaParam2( dev
, META_SETVIEWPORTEXT
, x
, y
);
98 BOOL
MFDRV_SetViewportOrgEx( PHYSDEV dev
, INT x
, INT y
, POINT
*pt
)
100 return MFDRV_MetaParam2( dev
, META_SETVIEWPORTORG
, x
, y
);
103 BOOL
MFDRV_SetWindowExtEx( PHYSDEV dev
, INT x
, INT y
, SIZE
*size
)
105 return MFDRV_MetaParam2( dev
, META_SETWINDOWEXT
, x
, y
);
108 BOOL
MFDRV_SetWindowOrgEx( PHYSDEV dev
, INT x
, INT y
, POINT
*pt
)
110 return MFDRV_MetaParam2( dev
, META_SETWINDOWORG
, x
, y
);
113 BOOL
MFDRV_OffsetViewportOrgEx( PHYSDEV dev
, INT x
, INT y
, POINT
*pt
)
115 return MFDRV_MetaParam2( dev
, META_OFFSETVIEWPORTORG
, x
, y
);
118 BOOL
MFDRV_OffsetWindowOrgEx( PHYSDEV dev
, INT x
, INT y
, POINT
*pt
)
120 return MFDRV_MetaParam2( dev
, META_OFFSETWINDOWORG
, x
, y
);
123 BOOL
MFDRV_ScaleViewportExtEx( PHYSDEV dev
, INT xNum
, INT xDenom
, INT yNum
, INT yDenom
, SIZE
*size
)
125 return MFDRV_MetaParam4( dev
, META_SCALEVIEWPORTEXT
, xNum
, xDenom
, yNum
, yDenom
);
128 BOOL
MFDRV_ScaleWindowExtEx( PHYSDEV dev
, INT xNum
, INT xDenom
, INT yNum
, INT yDenom
, SIZE
*size
)
130 return MFDRV_MetaParam4( dev
, META_SCALEWINDOWEXT
, xNum
, xDenom
, yNum
, yDenom
);
133 BOOL
MFDRV_SetTextJustification( PHYSDEV dev
, INT extra
, INT breaks
)
135 return MFDRV_MetaParam2( dev
, META_SETTEXTJUSTIFICATION
, extra
, breaks
);
138 INT
MFDRV_SetTextCharacterExtra( PHYSDEV dev
, INT extra
)
140 return MFDRV_MetaParam1( dev
, META_SETTEXTCHAREXTRA
, extra
) ? extra
: 0x80000000;
143 DWORD
MFDRV_SetMapperFlags( PHYSDEV dev
, DWORD flags
)
145 return MFDRV_MetaParam2( dev
, META_SETMAPPERFLAGS
, HIWORD(flags
), LOWORD(flags
) ) ? flags
: GDI_ERROR
;
148 BOOL
MFDRV_AbortPath( PHYSDEV dev
)
153 BOOL
MFDRV_BeginPath( PHYSDEV dev
)
158 BOOL
MFDRV_CloseFigure( PHYSDEV dev
)
163 BOOL
MFDRV_EndPath( PHYSDEV dev
)
168 BOOL
MFDRV_FillPath( PHYSDEV dev
)
173 BOOL
MFDRV_FlattenPath( PHYSDEV dev
)
178 BOOL
MFDRV_SelectClipPath( PHYSDEV dev
, INT iMode
)
183 BOOL
MFDRV_StrokeAndFillPath( PHYSDEV dev
)
188 BOOL
MFDRV_StrokePath( PHYSDEV dev
)
193 BOOL
MFDRV_WidenPath( PHYSDEV dev
)
198 COLORREF
MFDRV_SetDCBrushColor( PHYSDEV dev
, COLORREF color
)
203 COLORREF
MFDRV_SetDCPenColor( PHYSDEV dev
, COLORREF color
)