Window Metafile (wmf) Reference.
Window Metafile (wmf) Reference
METAFILE OPERAND
SUPPORTED
X version
gd (gif) version
#define
SetBkColor.html
META_SETBKCOLOR
0x0201
X
X
#define
SetBkMode.html
META_SETBKMODE
0x0102
X
X
#define
SetMapMode.html
META_SETMAPMODE
0x0103
X
X
#define
SetROP2.html
META_SETROP2
0x0104
X
-
#define
SetPolyFillMode.html
META_SETPOLYFILLMODE
0x0106
X
#4
4
-
#define
SetStretchBltMode.html
META_SETSTRETCHBLTMODE
0x0107
-
#3
3
-
#3
3
#define
SetTextColor.html
META_SETTEXTCOLOR
0x0209
X
X
#define
SetTextCharacterExtra.html
META_SETTEXTCHAREXTRA
0x0108
X
#4
4
-
#define
SetWindowOrg.html
META_SETWINDOWORG
0x020B
X
X
#define
SetWindowExt.html
META_SETWINDOWEXT
0x020C
X
X
#define
SetViewportOrg.html
META_SETVIEWPORTORG
0x020D
X
#4
4
X
#4
4
#define
SetViewportExt.html
META_SETVIEWPORTEXT
0x020E
X
#4
4
X
#4
4
#define
OffsetWindowOrg.html
META_OFFSETWINDOWORG
0x020F
X
#4
4
X
#4
4
#define
ScaleWindowExt.html
META_SCALEWINDOWEXT
0x0410
X
#4
4
X
#4
4
#define
OffsetViewportOrg.html
META_OFFSETVIEWPORTORG
0x0211
X
#4
4
X
#4
4
#define
ScaleViewportExt.html
META_SCALEVIEWPORTEXT
0x0412
X
#4
4
X
#4
4
#define
LineTo.html
META_LINETO
0x0213
X
X
#define
MoveTo.html
META_MOVETO
0x0214
X
X
#define
ExcludeClipRect.html
META_EXCLUDECLIPRECT
0x0415
X
-
#define
IntersectClipRect.html
META_INTERSECTCLIPRECT
0x0416
X
-
#define
Arc.html
META_ARC
0x0817
X
X
#define
Ellipse.html
META_ELLIPSE
0x0418
X
X
#define
FloodFill.html
META_FLOODFILL
0x0419
X
#4
4
X
#4
4
#define
Pie.html
META_PIE
0x081A
X
X
#define
Rectangle.html
META_RECTANGLE
0x041B
X
X
#define
RoundRect.html
META_ROUNDRECT
0x061C
X
X
#define
PatBlt.html
META_PATBLT
0x061D
X
#4
4
#6
6
X
#4
4
#6
6
#define
SaveDC.html
META_SAVEDC
0x001E
X
X
#define
SetPixel.html
META_SETPIXEL
0x041F
X
X
#define
OffsetClipRgn.html
META_OFFSETCLIPRGN
0x0220
X
-
#define
Polygon.html
META_POLYGON
0x0324
X
X
#define
Polyline.html
META_POLYLINE
0x0325
X
X
#define
esc.html
META_ESCAPE
0x0626
-
#5
5
-
#5
5
#define
RestoreDC.html
META_RESTOREDC
0x0127
X
X
#define
FillRgn.html
META_FILLREGION
0x0228
X
X
#define
FrameRgn.html
META_FRAMEREGION
0x0429
X
-
#define
InvertRgn.html
META_INVERTREGION
0x012A
X
#4
4
-
#define
PaintRgn.html
META_PAINTREGION
0x012B
X
#4
4
X
#define
SelectClipRgn.html
META_SELECTCLIPREGION
0x012C
X
#4
4
-
#define
SelectObject.html
META_SELECTOBJECT
0x012D
X
X
#define
SetTextAlign.html
META_SETTEXTALIGN
0x012E
X
_
#define
Chord.html
META_CHORD
0x0830
X
X
#define
SetMapperFlags.html
META_SETMAPPERFLAGS
0x0231
-
#3
3
-
#3
3
#define
TextOut.html
META_TEXTOUT
0x0521
#define
ExtTextOut.html
META_EXTTEXTOUT
0x0a32
X
#define
SetDIBitsToDevice.html
META_SETDIBTODEV
0x0d33
X
#4
4
X
#4
4
#define
PolyPolygon.html
META_POLYPOLYGON
0x0538
X
X
#define
DibBitBlt.html
META_DIBBITBLT
0x0940
X
#7
7
-
#define
DibStretchBlt.html
META_DIBSTRETCHBLT
0x0b41
X
#7
7
-
#define
ExtFloodFill.html
META_EXTFLOODFILL
0x0548
X
#4
4
X
#4
4
#define
DeleteObject.html
META_DELETEOBJECT
0x01f0
X
X
#define
CreatePenIndirect.html
META_CREATEPENINDIRECT
0x02FA
X
X
#define
META_CREATEFONTINDIRECT
0x02FB
#define
CreateBrushIndirect.html
META_CREATEBRUSHINDIRECT
0x02FC
X
X
#define
CreateRegion.html
META_CREATEREGION
0x06FF
X
#4
4
X
#4
4
#define
StretchDib.html
META_STRETCHDIB
0x0f43
X
X
#define
META_SETTEXTJUSTIFICATION
0x020A
X
#4
4
-
These opcodes are not seen in the wild, so realworld instances of these are welcome, they all appear
to get translated into the equivalent that is prefixed with DIB
#define
META_BITBLT
0x0922
#define
META_STRETCHBLT
0x0B23
X
#7
7
-
#define
META_CREATEPATTERNBRUSH
0x01F9
These opcodes are all related to palettes, and i dont think they matter at all, information to the contrary is
welcome, these are only implemented to the degree that they dont mess up object counting
#define
META_SELECTPALETTE
0x0234
#define
META_REALIZEPALETTE
0x0035
#define
META_ANIMATEPALETTE
0x0436
#define
META_SETPALENTRIES
0x0037
#define
META_RESIZEPALETTE
0x0139
#define
META_CREATEPALETTE
0x00f7
These opcodes are unimplemented, for the reason that i dont know what they are, no known documentation
#define
unknown.html
META_SETRELABS
0x0105
?
#2
2
?
#2
2
2
What on earth is this ?
3
Personally considered unimportant, to be dealt with at my leisure.
4
Untested
5
Has no effect on the output of the wmf file.
6
Full support pending palette handling.
7
Uses ROP, see
rop.html
ROP SUPPORT
.
mailto:Caolan.McNamara@ul.ie
Caolan.McNamara@ul.ie
http://www.csn.ul.ie/~caolan/docs/libwmf.html
libwmf home
