xref: /reactos/win32ss/gdi/gdi32/wine/mfdrv/dc.c (revision 69931a4a)
1 /*
2  * MetaFile driver DC value functions
3  *
4  * Copyright 1999 Huw D M Davies
5  *
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.
10  *
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.
15  *
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
19  */
20 
21 #include "mfdrv/metafiledrv.h"
22 
23 INT MFDRV_SaveDC( PHYSDEV dev )
24 {
25     return MFDRV_MetaParam0( dev, META_SAVEDC );
26 }
27 
28 BOOL MFDRV_RestoreDC( PHYSDEV dev, INT level )
29 {
30     return MFDRV_MetaParam1( dev, META_RESTOREDC, level );
31 }
32 
33 UINT MFDRV_SetTextAlign( PHYSDEV dev, UINT align )
34 {
35     return MFDRV_MetaParam2( dev, META_SETTEXTALIGN, HIWORD(align), LOWORD(align)) ? align : GDI_ERROR;
36 }
37 
38 INT MFDRV_SetBkMode( PHYSDEV dev, INT mode )
39 {
40     return MFDRV_MetaParam1( dev, META_SETBKMODE, (WORD)mode) ? mode : 0;
41 }
42 
43 COLORREF MFDRV_SetBkColor( PHYSDEV dev, COLORREF color )
44 {
45     return MFDRV_MetaParam2(dev, META_SETBKCOLOR, HIWORD(color), LOWORD(color)) ? color : CLR_INVALID;
46 }
47 
48 COLORREF MFDRV_SetTextColor( PHYSDEV dev, COLORREF color )
49 {
50     return MFDRV_MetaParam2(dev, META_SETTEXTCOLOR, HIWORD(color), LOWORD(color)) ? color : CLR_INVALID;
51 }
52 
53 INT MFDRV_SetROP2( PHYSDEV dev, INT rop )
54 {
55     return MFDRV_MetaParam1( dev, META_SETROP2, (WORD)rop) ? rop : 0;
56 }
57 
58 INT MFDRV_SetRelAbs( PHYSDEV dev, INT mode )
59 {
60     return MFDRV_MetaParam1( dev, META_SETRELABS, (WORD)mode) ? mode : 0;
61 }
62 
63 INT MFDRV_SetPolyFillMode( PHYSDEV dev, INT mode )
64 {
65     return MFDRV_MetaParam1( dev, META_SETPOLYFILLMODE, (WORD)mode) ? mode : 0;
66 }
67 
68 INT MFDRV_SetStretchBltMode( PHYSDEV dev, INT mode )
69 {
70     return MFDRV_MetaParam1( dev, META_SETSTRETCHBLTMODE, (WORD)mode) ? mode : 0;
71 }
72 
73 INT MFDRV_IntersectClipRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom )
74 {
75     return MFDRV_MetaParam4( dev, META_INTERSECTCLIPRECT, left, top, right, bottom );
76 }
77 
78 INT MFDRV_ExcludeClipRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom )
79 {
80     return MFDRV_MetaParam4( dev, META_EXCLUDECLIPRECT, left, top, right, bottom );
81 }
82 
83 INT MFDRV_OffsetClipRgn( PHYSDEV dev, INT x, INT y )
84 {
85     return MFDRV_MetaParam2( dev, META_OFFSETCLIPRGN, x, y );
86 }
87 
88 INT MFDRV_SetMapMode( PHYSDEV dev, INT mode )
89 {
90     return MFDRV_MetaParam1( dev, META_SETMAPMODE, mode );
91 }
92 
93 BOOL MFDRV_SetViewportExtEx( PHYSDEV dev, INT x, INT y, SIZE *size )
94 {
95     return MFDRV_MetaParam2( dev, META_SETVIEWPORTEXT, x, y );
96 }
97 
98 BOOL MFDRV_SetViewportOrgEx( PHYSDEV dev, INT x, INT y, POINT *pt )
99 {
100     return MFDRV_MetaParam2( dev, META_SETVIEWPORTORG, x, y );
101 }
102 
103 BOOL MFDRV_SetWindowExtEx( PHYSDEV dev, INT x, INT y, SIZE *size )
104 {
105     return MFDRV_MetaParam2( dev, META_SETWINDOWEXT, x, y );
106 }
107 
108 BOOL MFDRV_SetWindowOrgEx( PHYSDEV dev, INT x, INT y, POINT *pt )
109 {
110     return MFDRV_MetaParam2( dev, META_SETWINDOWORG, x, y );
111 }
112 
113 BOOL MFDRV_OffsetViewportOrgEx( PHYSDEV dev, INT x, INT y, POINT *pt )
114 {
115     return MFDRV_MetaParam2( dev, META_OFFSETVIEWPORTORG, x, y );
116 }
117 
118 BOOL MFDRV_OffsetWindowOrgEx( PHYSDEV dev, INT x, INT y, POINT *pt )
119 {
120     return MFDRV_MetaParam2( dev, META_OFFSETWINDOWORG, x, y );
121 }
122 
123 BOOL MFDRV_ScaleViewportExtEx( PHYSDEV dev, INT xNum, INT xDenom, INT yNum, INT yDenom, SIZE *size )
124 {
125     return MFDRV_MetaParam4( dev, META_SCALEVIEWPORTEXT, xNum, xDenom, yNum, yDenom );
126 }
127 
128 BOOL MFDRV_ScaleWindowExtEx( PHYSDEV dev, INT xNum, INT xDenom, INT yNum, INT yDenom, SIZE *size )
129 {
130     return MFDRV_MetaParam4( dev, META_SCALEWINDOWEXT, xNum, xDenom, yNum, yDenom );
131 }
132 
133 BOOL MFDRV_SetTextJustification( PHYSDEV dev, INT extra, INT breaks )
134 {
135     return MFDRV_MetaParam2( dev, META_SETTEXTJUSTIFICATION, extra, breaks );
136 }
137 
138 INT MFDRV_SetTextCharacterExtra( PHYSDEV dev, INT extra )
139 {
140     return MFDRV_MetaParam1( dev, META_SETTEXTCHAREXTRA, extra ) ? extra : 0x80000000;
141 }
142 
143 DWORD MFDRV_SetMapperFlags( PHYSDEV dev, DWORD flags )
144 {
145     return MFDRV_MetaParam2( dev, META_SETMAPPERFLAGS, HIWORD(flags), LOWORD(flags) ) ? flags : GDI_ERROR;
146 }
147 
148 BOOL MFDRV_AbortPath( PHYSDEV dev )
149 {
150     return FALSE;
151 }
152 
153 BOOL MFDRV_BeginPath( PHYSDEV dev )
154 {
155     return FALSE;
156 }
157 
158 BOOL MFDRV_CloseFigure( PHYSDEV dev )
159 {
160     return FALSE;
161 }
162 
163 BOOL MFDRV_EndPath( PHYSDEV dev )
164 {
165     return FALSE;
166 }
167 
168 BOOL MFDRV_FillPath( PHYSDEV dev )
169 {
170     return FALSE;
171 }
172 
173 BOOL MFDRV_FlattenPath( PHYSDEV dev )
174 {
175     return FALSE;
176 }
177 
178 BOOL MFDRV_SelectClipPath( PHYSDEV dev, INT iMode )
179 {
180     return FALSE;
181 }
182 
183 BOOL MFDRV_StrokeAndFillPath( PHYSDEV dev )
184 {
185     return FALSE;
186 }
187 
188 BOOL MFDRV_StrokePath( PHYSDEV dev )
189 {
190     return FALSE;
191 }
192 
193 BOOL MFDRV_WidenPath( PHYSDEV dev )
194 {
195     return FALSE;
196 }
197 
198 COLORREF MFDRV_SetDCBrushColor( PHYSDEV dev, COLORREF color )
199 {
200     return CLR_INVALID;
201 }
202 
203 COLORREF MFDRV_SetDCPenColor( PHYSDEV dev, COLORREF color )
204 {
205     return CLR_INVALID;
206 }
207