1 { Declarations for Windows meta files
2
3 Infos taken from
4 - http://msdn.microsoft.com/en-us/library/cc250370.aspx
5 - http://wvware.sourceforge.net/caolan/ora-wmf.html
6 - http://www.symantec.com/avcenter/reference/inside.the.windows.meta.file.format.pdf
7 }
8
9 unit fpvWMF;
10
11 interface
12
13 type
14 TWMFHeader = packed record
15 FileType: Word; // Type of metafile (0=memory, 1=disk)
16 HeaderSize: Word; // Size of header in WORDS (always 9)
17 Version: Word; // Version of Microsoft Windows used
18 FileSize: DWord; // Total size of the metafile in WORDs
19 NumOfObjects: Word; // Number of objects in the file
20 MaxRecordSize: DWord; // The size of largest record in WORDs
21 NumOfParams: Word; // Not Used (always 0)
22 end;
23 PWMFHeader = ^TWMFHeader;
24
25 { Placeable Metafiles (file extension .APM) were created by Aldus Corporation
26 as a non-standard way of specifying how a metafile is mapped and scaled on an
27 output device. Placeable metafiles are quite wide-spread, but not directly
28 supported by the Windows API.
29 Placeable Metafiles are limited to 64K in length.
30 Each placeable metafile begins with a 22-byte header followed by a standard
31 metafile. }
32 TPlaceableMetaHeader = packed record
33 Key: DWord; // Magic number (always 9AC6CDD7h)
34 Handle: Word; // Metafile HANDLE number (always 0)
35 Left: SmallInt; // Left coordinate in metafile units
36 Top: SmallInt; // Top coordinate in metafile units
37 Right: SmallInt; // Right coordinate in metafile units
38 Bottom: SmallInt; // Bottom coordinate in metafile units
39 Inch: Word; // Number of metafile units per inch
40 Reserved: DWord; // Reserved (always 0)
41 Checksum: Word; // Checksum value for previous 10 WORDs
42 end;
43 PPlaceableMetaHeader = ^TPlaceableMetaHeader;
44
45 TEnhancedMetaHeader = packed record // 80 bytes
46 RecordType: DWord; // Record type, must be 00000001h for EMF
47 RecordSize: DWord; // Size of the record in bytes
48 BoundsLeft: LongInt; // Left inclusive bounds
49 BoundsRight: LongInt; // Right inclusive bounds
50 BoundsTop: LongInt; // Top inclusive bounds
51 BoundsBottom: LongInt; // Bottom inclusive bounds
52 FrameLeft: LongInt; // Left side of inclusive picture frame
53 FrameRight: LongInt; // Right side of inclusive picture frame
54 FrameTop: LongInt; // Top side of inclusive picture frame
55 FrameBottom: LongInt; // Bottom side of inclusive picture frame
56 Signature: DWord; // Signature ID (always $464D4520)
57 Version: DWord; // Version of the metafile, always $00000100
58 Size: DWord; // Size of the metafile in bytes
59 NumOfRecords: DWord; // Number of records in the metafile
60 NumOfHandles: Word; // Number of handles in the handle table
61 Reserved: Word; // Not used (always 0)
62 SizeOfDescrip: DWord; // Length of description string (16-bit chars) in WORDs, incl zero
63 OffsOfDescrip: DWord; // Offset of description string in metafile (from beginning)
64 NumPalEntries: DWord; // Number of color palette entries
65 WidthDevPixels: LongInt; // Width of display device in pixels
66 HeightDevPixels: LongInt; // Height of display device in pixels
67 WidthDevMM: LongInt; // Width of display device in millimeters
68 HeightDevMM: LongInt; // Height of display device in millimeters
69 end;
70
71 {Clipboard metafiles are also based on the standard metafile format, but are
72 preceded by an additional 8- or 16-byte header that allows the position of
73 the metafile on the Clipboard viewer. If the Clipboard metafile was created
74 using a 16-bit version of Windows (Windows and Windows for Workgroups) this
75 header will contain 2-byte fields arranged in the following structure. If the
76 clipboard metafile was created under a 32-bit Windows environment (Windows NT
77 and Windows 95) this header will contain the same fields as the Win16 WMF
78 header, but the fields are 32 bytes in length. }
79 TWMFClipboard16MetaHeader = packed record
80 MappingMode: SmallInt; // see MM_XXXX constants
81 Width: SmallInt; // Width in units of MappingMode
82 Height: SmallInt; // Height in units of MappingMode
83 Handle: Word; // Handle to the metafile in memory
84 end;
85
86 TWMFClipboard32MetaHeader = packed record
87 MappingMode: LongInt; // see MM_XXXX constants
88 Width: LongInt; // Width in units of MappingMode
89 Height: LongInt; // Height in units of MappingMode
90 Handle: DWord; // Handle to the metafile in memory
91 end;
92
93 TWMFRecord = packed record
94 Size: DWord; // Total size of the record in WORDs
numbernull95 Func: Word; // Function number (defined in WINDOWS.H)
96 // Parameters[]: Word; // Parameter values passed to function - will be read separately
97 end;
98
99 TWMFArcRecord = packed record
100 YEndArc: SmallInt; // y coordinate of end pt of radial line to arc end point
101 XEndArc: SmallInt; // x coordinate of end pt of radial line to arc end point
102 YStartArc: SmallInt; // y coordinate of end pt of radial line to arc start point
103 XStartArc: SmallInt; // x coordinate of end pt of radial line to arc start point
104 Bottom: SmallInt; // y coordinate of bottom of bounding rectangle
105 Right: SmallInt; // x coordinate of right edge of bounding rectangle
106 Top: SmallInt; // y coordinate of top of bounding rectangle
107 Left: SmallInt; // x coordinate of left of bounding rectangle
108 end;
109 PWMFArcRecord = ^TWMFArcRecord;
110
111 TWMFBrushRecord = packed record
112 Style: Word;
113 ColorRED: Byte;
114 ColorGREEN: Byte;
115 ColorBLUE: Byte;
116 Reserved: Byte;
117 // Brush hatch/pattern data of variable length follow
118 case integer of
119 0: (Hatch: Word);
120 // pattern not yet implemented here...
121 end;
122 PWMFBrushRecord = ^TWMFBrushRecord;
123
124 TWMFColorRecord = packed record
125 ColorRED: Byte;
126 ColorGREEN: Byte;
127 ColorBLUE: Byte;
128 Reserved: Byte;
129 end;
130 PWMFColorRecord = ^TWMFColorRecord;
131
132 TWMFPaletteColorRecord = packed record
133 Values: Byte; // NOTE: reverse order!
134 ColorBLUE: Byte;
135 ColorGREEN: Byte;
136 ColorRED: Byte;
137 end;
138 PWMFPaletteColorRecord = ^TWMFPaletteColorRecord;
139
140 TWMFRectRecord = packed record
141 Bottom: SmallInt;
142 Right: SmallInt;
143 Top: SmallInt;
144 Left: SmallInt;
145 end;
146 PWMFRectRecord = ^TWMFRectRecord;
147
148 TWMFExtTextRecord = packed record
149 Y: SmallInt;
150 X: SmallInt;
151 Len: SmallInt;
152 Options: Word;
153 // Optional bounding rect and text follow
154 end;
155 PWMFExtTextRecord = ^TWMFExtTextRecord;
156
157 TWMFFontRecord = packed record
158 Height: SmallInt; // signed int!
159 Width: SmallInt;
160 Escapement: SmallInt;
161 Orientation: SmallInt;
162 Weight: SmallInt;
163 Italic: Byte;
164 UnderLine: Byte;
165 Strikeout: Byte;
166 CharSet: Byte;
167 OutPrecision: Byte;
168 ClipPrecision: Byte;
169 Quality: Byte;
170 PitchAndFamily: byte;
171 // FaceName will be handled separately
172 end;
173 PWMFFontRecord = ^TWMFFontRecord;
174
175 TWMFPenRecord = packed record
176 Style: Word;
177 Width: Word;
178 Ignored1: Word;
179 ColorRED: Byte;
180 ColorGREEN: Byte;
181 ColorBLUE: Byte;
182 Ignored2: Byte;
183 end;
184 PWMFPenRecord = ^TWMFPenRecord;
185
186 TWMFPointRecord = packed record
187 Y, X: SmallInt; // reverse order as through-out wmf
188 end;
189 PWMFPointRecord = ^TWMFPointRecord;
190
191 TWMFPointXYRecord = packed record
192 X, Y: SmallInt; // Regular order (x,y) as needed by polygons
193 end;
194 PWMFPointXYRecord = ^TWMFPointXYRecord;
195
196 TWMFStretchDIBRecord = packed record
197 RasterOperation: DWord;
198 ColorUsage: Word;
199 SrcHeight: SmallInt;
200 SrcWidth: SmallInt;
201 SrcY: SmallInt;
202 SrcX: SmallInt;
203 DestHeight: SmallInt;
204 DestWidth: SmallInt;
205 DestX: SmallInt;
206 DestY: SmallInt;
207 // the remainder is handled separately:
208 // - TWMFBitmapCoreHeader or TWMFBitmapInfoHeader
209 // - optional: Colors
210 // - BitmapBuffer
211 //
212 end;
213 PWMFStretchDIBRecord = ^TWMFStretchDIBRecord;
214
215 TWMFBitmapCoreHeader = packed record
216 HeaderSize: DWord;
217 Width: Word;
218 Height: Word;
219 Planes: Word;
220 BitCount: Word;
221 end;
222 PWMFBitmapCoreHeader = ^TWMFBitmapCoreHeader;
223
224 TWMFBitmapInfoHeader = packed record
225 HeaderSize: DWord;
226 Width: LongInt;
227 Height: LongInt;
228 Planes: Word;
229 BitCount: Word;
230 Compression: DWord;
231 ImageSize: DWord;
232 XPelsPerMeter: DWord;
233 YPelsPerMeter: DWord;
234 ColorsUsed: DWord;
235 ColorImporant: DWord;
236 end;
237 PWMFBitmapInfoHeader = ^TWMFBitmapInfoHeader;
238
239 const
240 // WMF Magic number in Placeable Meta Header
241 WMF_MAGIC_NUMBER = $9AC6CDD7;
242
243 // WMF Record types
244 META_EOF = $0000;
245 META_REALIZEPALETTE = $0035;
246 META_SETPALENTRIES = $0037;
247 META_SETBKMODE = $0102;
248 META_SETMAPMODE = $0103;
249 META_SETROP2 = $0104;
250 META_SETRELABS = $0105;
251 META_SETPOLYFILLMODE = $0106;
252 META_SETSTRETCHBLTMODE = $0107;
253 META_SETTEXTCHAREXTRA = $0108;
254 META_RESTOREDC = $0127;
255 META_RESIZEPALETTE = $0139;
256 META_DIBCREATEPATTERNBRUSH = $0142;
257 META_SETLAYOUT = $0149;
258 META_SETBKCOLOR = $0201;
259 META_SETTEXTCOLOR = $0209;
260 META_OFFSETVIEWPORTORG = $0211;
261 META_LINETO = $0213;
262 META_MOVETO = $0214;
263 META_OFFSETCLIPRGN = $0220;
264 META_FILLREGION = $0228;
265 META_SETMAPPERFLAGS = $0231;
266 META_SELECTPALETTE = $0234;
267 META_POLYGON = $0324;
268 META_POLYLINE = $0325;
269 META_SETTEXTJUSTIFICATION = $020A;
270 META_SETWINDOWORG = $020B;
271 META_SETWINDOWEXT = $020C;
272 META_SETVIEWPORTORG = $020D;
273 META_SETVIEWPORTEXT = $020E;
274 META_OFFSETWINDOWORG = $020F;
275 META_SCALEWINDOWEXT = $0410;
276 META_SCALEVIEWPORTEXT = $0412;
277 META_EXCLUDECLIPRECT = $0415;
278 META_INTERSECTCLIPRECT = $0416;
279 META_ELLIPSE = $0418;
280 META_FLOODFILL = $0419;
281 META_FRAMEREGION = $0429;
282 META_ANIMATEPALETTE = $0436;
283 META_TEXTOUT = $0521;
284 META_POLYPOLYGON = $0538;
285 META_EXTFLOODFILL = $0548;
286 META_RECTANGLE = $041B;
287 META_SETPIXEL = $041F;
288 META_ROUNDRECT = $061C;
289 META_PATBLT = $061D;
290
291 META_SAVEDC = $001E;
292 META_PIE = $081A;
293 META_STRETCHBLT = $0B23;
294 META_ESCAPE = $0626;
295 META_INVERTREGION = $012A;
296 META_PAINTREGION = $012B;
297 META_SELECTCLIPREGION = $012C;
298 META_SELECTOBJECT = $012D;
299 META_SETTEXTALIGN = $012E;
300 META_ARC = $0817;
301 META_CHORD = $0830;
302 META_BITBLT = $0922;
303 META_EXTTEXTOUT = $0a32;
304 META_SETDIBTODEV = $0d33;
305 META_DIBBITBLT = $0940;
306 META_DIBSTRETCHBLT = $0b41;
307 META_STRETCHDIB = $0f43;
308 META_DELETEOBJECT = $01f0;
309 META_CREATEPALETTE = $00f7;
310 META_CREATEPATTERNBRUSH = $01F9;
311 META_CREATEPENINDIRECT = $02FA;
312 META_CREATEFONTINDIRECT = $02FB;
313 META_CREATEBRUSHINDIRECT = $02FC;
314 META_CREATEREGION = $06FF;
315
316 // Brush styles
317 BS_SOLID = $0000;
318 BS_NULL = $0001;
319 BS_HATCHED = $0002;
320 BS_PATTERN = $0003;
321 BS_INDEXED = $0004;
322 BS_DIBPATTERN = $0005;
323 BS_DIBPATTERNPT = $0006;
324 BS_PATTERN8X8 = $0007;
325 BS_DIBPATTERN8X8 = $0008;
326 BS_MONOPATTERN = $0009;
327
328 // Character sets
329 ANSI_CHARSET = $00000000;
330 DEFAULT_CHARSET = $00000001;
331 SYMBOL_CHARSET = $00000002;
332 MAC_CHARSET = $0000004D;
333 SHIFTJIS_CHARSET = $00000080;
334 HANGUL_CHARSET = $00000081;
335 JOHAB_CHARSET = $00000082;
336 GB2312_CHARSET = $00000086;
337 CHINESEBIG5_CHARSET = $00000088;
338 GREEK_CHARSET = $000000A1;
339 TURKISH_CHARSET = $000000A2;
340 VIETNAMESE_CHARSET = $000000A3;
341 HEBREW_CHARSET = $000000B1;
342 ARABIC_CHARSET = $000000B2;
343 BALTIC_CHARSET = $000000BA;
344 RUSSIAN_CHARSET = $000000CC;
345 THAI_CHARSET = $000000DE;
346 EASTEUROPE_CHARSET = $000000EE;
347 OEM_CHARSET = $000000FF;
348
349 // ExtTextOutOptions flags
350 ETO_OPAQUE = $0002;
351 ETO_CLIPPED = $0004;
352 ETO_GLYPHINDEX = $0010;
353 ETO_RTLREADING = $0080;
354 ETO_NUMERICSLOCAL = $0400;
355 ETO_NUMERICSLATIN = $0800;
356 ETO_PDY = $2000;
357
358 // Family font
359 FF_DONTCARE = $00;
360 FF_ROMAN = $01;
361 FF_SWISS = $02;
362 FF_MODERN = $03;
363 FF_SCRIPT = $04;
364 FF_DECORATIVE = $05;
365
366 // Flood fill
367 FLOODFILLBORDER = $0000;
368 FLOODFILLSURFACE = $0001;
369
370 // Font quality
371 DEFAULT_QUALITY = $00;
372 DRAFT_QUALITY = $01;
373 PROOF_QUALITY = $02;
374 NONANTIALIASED_QUALITY = $03;
375 ANTIALIASED_QUALITY = $04;
376 CLEARTYPE_QUALITY = $05;
377
378 // Hatch style
379 HS_HORIZONTAL = $0000;
380 HS_VERTICAL = $0001;
381 HS_FDIAGONAL = $0002; // \\\
382 HS_BDIAGONAL = $0003; // ///
383 HS_CROSS = $0004; // +++
384 HS_DIAGCROSS = $0005; // xxxx
385
386 // Map mode
387 MM_TEXT = $0001; // 1 logical unit = 1 device pixel. +x right, +y down
388 MM_LOMETRIC = $0002; // 1 logical unit = 0.1 mm. +x right, +y up
389 MM_HIMETRIC = $0003; // 1 logical unit = 0.01 mm. +x right, +y up
390 MM_LOENGLISH = $0004; // 1 logical unit = 0.01 inch. +x right, +y up
391 MM_HIENGLISH = $0005; // 1 logical unit = 0.001 inch. +x right, +y up
392 MM_TWIPS = $0006; // 1 logical unit = 1/20 point = 1/1440 inch (twip). +x right, +y up
393 MM_ISOTROPIC = $0007; // arbitrary units, equally scaled axes. --> META_SETWINDOWEXT, META_SETWINDOWORG
394 MM_ANISOTROPIC = $0008; // arbitrary units, arbitrarily scaled axes.
395
396 // Metafile enumeration
397 MEMORYMETAFILE = $0001; // Metafile is stored in memory
398 DISKMETAFILE = $0002; // ... on disk.
399
400 // Background MixMode for text, hatched brushes and other nonsolid pen styles
401 BM_TRANSPARENT = $0001;
402 BM_OPAQUE = $0002;
403
404 // Pen styles
405 PS_COSMETIC = $0000;
406 PS_ENDCAP_ROUND = $0000;
407 PS_JOIN_ROUND = $0000;
408 PS_SOLID = $0000;
409 PS_DASH = $0001;
410 PS_DOT = $0002;
411 PS_DASHDOT = $0003;
412 PS_DASHDOTDOT = $0004;
413 PS_NULL = $0005;
414 PS_INSIDEFRAME = $0006;
415 PS_USERSTYLE = $0007;
416 PS_ALTERNATE = $0008;
417 PS_ENDCAP_SQUARE = $0100;
418 PS_ENDCAP_FLAT = $0200;
419 PS_JOIN_BEVEL = $1000;
420 PS_JOIN_MITER = $2000;
421
422 // PitchFont
423 DEFAULT_PITCH = 0;
424 FIXED_PITCH = 1;
425 VARIABLE_PITCH = 2;
426
427 // PolyFillMode
428 ALTERNATE = $0001;
429 WINDING = $0002;
430
431 // TextAlignment flags
432 TA_NOUPDATECP = $0000;
433 TA_LEFT = $0000;
434 TA_TOP = $0000;
435 TA_UPDATECP = $0001;
436 TA_RIGHT = $0002;
437 TA_CENTER = $0006; // Value is correct ($0004 looks more reasonable, though)
438 TA_BOTTOM = $0008;
439 TA_BASELINE = $0018;
440 TA_RTLREADING = $0100;
441
442 // Vertical text alignment flags
443 // Used if font has vertical baseline, such as Kanji.
444 VTA_TOP = $0000;
445 VTA_RIGHT = $0000;
446 VTA_BOTTOM = $0002;
447 VTA_CENTER = $0006; // why not $0004?
448 VTA_BASELINE = $0018;
449
450 // Ternary Raster Operations
451 BLACKNESS = $00;
452 NOTSRCERASE = $11;
453 NOTSRCCOPY = $33;
454 SRCERASE = $44;
455 DSTINVERT = $55;
456 SRCINVERT = $66;
457 MERGEPAINT = $BB;
458 MERGECOPY = $C0;
459 SRCCOPY = $CC;
460 SRCPAINT = $FF;
461 PATCOPY = $F0;
462 PATPAINT = $FB;
463 WHITENESS = $FF;
464 // ... plus many more...
465
466 // Color usage
467 DIB_RGB_COLORS = $0000;
468 DIB_PAL_COLORS = $0001;
469 DIB_PAL_INDICES = $0002;
470
471 // Compression
472 BI_RGB = $0000;
473 BI_RLE8 = $0001;
474 BI_RLE4 = $0002;
475 BI_BITFIELDS = $0003;
476 BI_JPEG = $0004;
477 BI_PNG = $0005;
478 BI_CMYK = $000B;
479 BI_CMYKRLE8 = $000C;
480 BI_CMYKRLE4 = $000D;
481
WMF_GetRecordTypeNamenull482 function WMF_GetRecordTypeName(ARecordType: Word): String;
483
484 implementation
485
WMF_GetRecordTypeNamenull486 function WMF_GetRecordTypeName(ARecordType: Word): String;
487 begin
488 Result := '';
489 case ARecordType of
490 META_EOF : Result := 'META_EOF';
491 META_REALIZEPALETTE: Result := 'META_REALIZEPALETTE';
492 META_SETPALENTRIES: Result := 'META_SETPALENTRIES';
493 META_SETBKMODE: Result := 'META_SETBKMODE';
494 META_SETMAPMODE: Result := 'META_SETMAPMODE';
495 META_SETROP2: Result := 'META_SETROP2';
496 META_SETRELABS: Result := 'META_SETRELABS';
497 META_SETPOLYFILLMODE: Result := 'META_SETPOLYFILLMODE';
498 META_SETSTRETCHBLTMODE: Result := 'META_SETSTRETCHBLTMODE';
499 META_SETTEXTCHAREXTRA: Result := 'META_SETTEXTCHAREXTRA';
500 META_RESTOREDC: Result := 'META_RESTOREDC';
501 META_RESIZEPALETTE: Result := 'META_RESIZEPALETTE';
502 META_DIBCREATEPATTERNBRUSH: Result := 'META_DIBCREATEPATTERNBRUSH';
503 META_SETLAYOUT: Result := 'META_SETLAYOUT';
504 META_SETBKCOLOR: Result := 'META_SETBKCOLOR';
505 META_SETTEXTCOLOR: Result := 'META_SETTEXTCOLOR';
506 META_OFFSETVIEWPORTORG: Result := 'META_OFFSETVIEWPORTORG';
507 META_LINETO: Result := 'META_LINETO';
508 META_MOVETO: Result := 'META_MOVETO';
509 META_OFFSETCLIPRGN: Result := 'META_OFFSETCLIPRGN';
510 META_FILLREGION: Result := 'META_FILLREGION';
511 META_SETMAPPERFLAGS: Result := 'META_SETMAPPERFLAGS';
512 META_SELECTPALETTE: Result := 'META_SELECTPALETTE';
513 META_POLYGON: Result := 'META_POLYGON';
514 META_POLYLINE: Result := 'META_POLYLINE';
515 META_SETTEXTJUSTIFICATION: Result := 'META_SETTEXTJUSTIFICATION';
516 META_SETWINDOWORG: Result := 'META_SETWINDOWORG';
517 META_SETWINDOWEXT: Result := 'META_SETWINDOWEXT';
518 META_SETVIEWPORTORG: Result := 'META_SETVIEWPORTORG';
519 META_SETVIEWPORTEXT: Result := 'META_SETVIEWPORTEXT';
520 META_OFFSETWINDOWORG: Result := 'META_OFFSETWINDOWORG';
521 META_SCALEWINDOWEXT: Result := 'META_SCALEWINDOWEXT';
522 META_SCALEVIEWPORTEXT: Result := 'META_SCALEVIEWPORTEXT';
523 META_EXCLUDECLIPRECT: Result := 'META_EXCLUDECLIPRECT';
524 META_INTERSECTCLIPRECT: Result := 'META_INTERSECTCLIPRECT';
525 META_ELLIPSE: Result := 'META_ELLIPSE';
526 META_FLOODFILL: Result := 'META_FLOODFILL';
527 META_FRAMEREGION: Result := 'META_FRAMEREGION';
528 META_ANIMATEPALETTE: Result := 'META_ANIMATEPALETTE';
529 META_TEXTOUT: Result := 'META_TEXTOUT';
530 META_POLYPOLYGON: Result := 'META_POLYPOLYGON';
531 META_EXTFLOODFILL: Result := 'META_EXTFLOODFILL';
532 META_RECTANGLE: Result := 'META_RECTANGLE';
533 META_SETPIXEL: Result := 'META_SETPIXEL';
534 META_ROUNDRECT: Result := 'META_ROUNDRECT';
535 META_PATBLT: Result := 'META_PATBLT';
536 META_SAVEDC: Result := 'META_SAVEDC';
537 META_PIE: Result := 'META_PIE';
538 META_STRETCHBLT: Result := 'META_STRETCHBLT';
539 META_ESCAPE: Result := 'META_ESCAPE';
540 META_INVERTREGION: Result := 'META_INVERTREGION';
541 META_PAINTREGION: Result := 'META_PAINTREGION';
542 META_SELECTCLIPREGION: Result := 'META_SELECTCLIPREGION';
543 META_SELECTOBJECT: Result := 'META_SELECTOBJECT';
544 META_SETTEXTALIGN: Result := 'META_SETTEXTALIGN';
545 META_ARC: Result := 'META_ARC';
546 META_CHORD: Result := 'META_CHORD';
547 META_BITBLT: Result := 'META_BITBLT';
548 META_EXTTEXTOUT: Result := 'META_EXTTEXTOUT';
549 META_SETDIBTODEV: Result := 'META_SETDIBTODEV';
550 META_DIBBITBLT: Result := 'META_DIBBITBLT';
551 META_DIBSTRETCHBLT: Result := 'META_DIBSTRETCHBLT';
552 META_STRETCHDIB: Result := 'META_STRETCHDIB';
553 META_DELETEOBJECT: Result := 'META_DELETEOBJECT';
554 META_CREATEPALETTE: Result := 'META_CREATEPALETTE';
555 META_CREATEPATTERNBRUSH: Result := 'META_CREATEPATTERNBRUSH';
556 META_CREATEPENINDIRECT: Result := 'META_CREATEPENINDIRECT';
557 META_CREATEFONTINDIRECT: Result := 'META_CREATEFONTINDIRECT';
558 META_CREATEBRUSHINDIRECT: Result := 'META_CREATEBRUSHINDIRECT';
559 META_CREATEREGION: Result := 'META_CREATEREGION';
560 end;
561 end;
562
563 end.
564