Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
uwmf.h
Go to the documentation of this file.
1
37/*
38File: uwmf.h
39Version: 0.0.13
40Date: 26-JAN-2016
41Author: David Mathog, Biology Division, Caltech
42email: mathog@caltech.edu
43Copyright: 2016 David Mathog and California Institute of Technology (Caltech)
44*/
45
46#ifndef _UWMF_
47#define _UWMF_
48
49#ifdef __cplusplus
50extern "C" {
51#endif
52
53#include <stdlib.h>
54#include <stdio.h>
55#include <stdint.h>
56#include <stdbool.h>
57#include <string.h>
58#include "uemf.h" /* many structures/defs in common, pull in the EMF ones as a basis */
59#include "uemf_utf.h"
60#include "uwmf_endian.h"
61
62
66#define U_HIGHWATER_READ 0x00000000
67#define U_HIGHWATER_CLEAR 0xFFFFFFFF
73// ***********************************************************************************
74// Value Enumerations and other predefined constants, alphabetical order by group
75
76/* RecordType Enumeration WMF manual 2.1.1.1 */
337};
338#define U_WMR_MIN 0
339#define U_WMR_MAX 255
340#define U_WMR_MASK 0xFF
341#define U_WMR_INVALID 0xFFFFFFFF
342
343
353#define BI_BITCOUNT_0 U_BCBM_EXPLICIT
354#define BI_BITCOUNT_1 U_BCBM_MONOCHROME
355#define BI_BITCOUNT_2 U_BCBM_COLOR4
356#define BI_BITCOUNT_3 U_BCBM_COLOR8
357#define BI_BITCOUNT_4 U_BCBM_COLOR16
358#define BI_BITCOUNT_5 U_BCBM_COLOR24
359#define BI_BITCOUNT_6 U_BCBM_COLOR32
362/* BrushStyle Enumeration WMF manual 2.1.1.4
363 Same as "EMF LB_Style Enumeration" in uemf.h
364*/
365
366/* CharacterSet Enumeration WMF manual 2.1.1.5
367 Same as "EMF LF_CharSet Enumeration" in uemf.h
368*/
369
377#define U_DIB_PAL_INDICES 2
385#define U_BI_CMYK 0x000B
386#define U_BI_CMYKRLE8 0x000C
387#define U_BI_CMYKRLE4 = 0x000D
390/* FamilyFont Enumeration WMF manual 2.1.1.8
391 Only used in a PitchAndFamily object, defined there
392*/
393
394/* FloodFill Enumeration WMF manual 2.1.1.9
395 Same as "EMF FloodFill Enumeration" in uemf.h
396*/
397
398/* FontQuality Enumeration WMF manual 2.1.1.10
399 Same as "EMF LF_Quality Enumeration" in uemf.h
400*/
401
402/* GamutMappingIntent Enumeration WMF manual 2.1.1.11
403 Same as "EMF LCS_Intent Enumeration" in uemf.h
404*/
405
406/* HatchStyle Enumeration WMF manual 2.1.1.12
407 Same as "EMF HatchStyle Enumeration" in uemf.h
408*/
409
410/* Layout Enumeration WMF manual 2.1.1.13
411 Same as "EMF Mirroring Enumeration" in uemf.h
412*/
413
418/* U_LCS_CALIBRATED_RGB is defined in uemf.h under LCS_CSType Enumeration, WMF manual also defines it, but do not replicate define.
419#define U_LCS_CALIBRATED_RGB 0x00000000 //!< calibrated RGB
420*/
421#define U_LCS_sRGB 0x73524742
422#define U_LCS_WINDOWS_COLOR_SPACE 0x57696E20
425/* LogicalColorSpaceV5 Enumeration WMF manual 2.1.1.15
426 Same as "EMF Profile Enumeration" in uemf.h
427*/
428
429/* MapMode Enumeration WMF manual 2.1.1.16
430 Same as "EMF MapMode Enumeration" in uemf.h
431*/
432
438#define U_MFE_NEWFRAME 0x0001
439#define U_MFE_ABORTDOC 0x0002
440#define U_MFE_NEXTBAND 0x0003
441#define U_MFE_SETCOLORTABLE 0x0004
442#define U_MFE_GETCOLORTABLE 0x0005
443#define U_MFE_FLUSHOUT 0x0006
444#define U_MFE_DRAFTMODE 0x0007
445#define U_MFE_QUERYESCSUPPORT 0x0008
446#define U_MFE_SETABORTPROC 0x0009
447#define U_MFE_STARTDOC 0x000A
448#define U_MFE_ENDDOC 0x000B
449#define U_MFE_GETPHYSPAGESIZE 0x000C
450#define U_MFE_GETPRINTINGOFFSET 0x000D
451#define U_MFE_GETSCALINGFACTOR 0x000E
452#define U_MFE_META_ESCAPE_ENHANCED_METAFILE 0x000F
453#define U_MFE_SETPENWIDTH 0x0010
454#define U_MFE_SETCOPYCOUNT 0x0011
455#define U_MFE_SETPAPERSOURCE 0x0012
456#define U_MFE_PASSTHROUGH 0x0013
457#define U_MFE_GETTECHNOLOGY 0x0014
458#define U_MFE_SETLINECAP 0x0015
459#define U_MFE_SETLINEJOIN 0x0016
460#define U_MFE_SETMITERLIMIT 0x0017
461#define U_MFE_BANDINFO 0x0018
462#define U_MFE_DRAWPATTERNRECT 0x0019
463#define U_MFE_GETVECTORPENSIZE 0x001A
464#define U_MFE_GETVECTORBRUSHSIZE 0x001B
465#define U_MFE_ENABLEDUPLEX 0x001C
466#define U_MFE_GETSETPAPERBINS 0x001D
467#define U_MFE_GETSETPRINTORIENT 0x001E
468#define U_MFE_ENUMPAPERBINS 0x001F
469#define U_MFE_SETDIBSCALING 0x0020
470#define U_MFE_EPSPRINTING 0x0021
471#define U_MFE_ENUMPAPERMETRICS 0x0022
472#define U_MFE_GETSETPAPERMETRICS 0x0023
473#define U_MFE_POSTSCRIPT_DATA 0x0025
474#define U_MFE_POSTSCRIPT_IGNORE 0x0026
475#define U_MFE_GETDEVICEUNITS 0x002A
476#define U_MFE_GETEXTENDEDTEXTMETRICS 0x0100
477#define U_MFE_GETPAIRKERNTABLE 0x0102
478#define U_MFE_EXTTEXTOUT 0x0200
479#define U_MFE_GETFACENAME 0x0201
480#define U_MFE_DOWNLOADFACE 0x0202
481#define U_MFE_METAFILE_DRIVER 0x0801
482#define U_MFE_QUERYDIBSUPPORT 0x0C01
483#define U_MFE_BEGIN_PATH 0x1000
484#define U_MFE_CLIP_TO_PATH 0x1001
485#define U_MFE_END_PATH 0x1002
486#define U_MFE_OPEN_CHANNEL 0x100E
487#define U_MFE_DOWNLOADHEADER 0x100F
488#define U_MFE_CLOSE_CHANNEL 0x1010
489#define U_MFE_POSTSCRIPT_PASSTHROUGH 0x1013
490#define U_MFE_ENCAPSULATED_POSTSCRIPT 0x1014
491#define U_MFE_POSTSCRIPT_IDENTIFY 0x1015
492#define U_MFE_POSTSCRIPT_INJECTION 0x1016
493#define U_MFE_CHECKJPEGFORMAT 0x1017
494#define U_MFE_CHECKPNGFORMAT 0x1018
495#define U_MFE_GET_PS_FEATURESETTING 0x1019
496#define U_MFE_MXDC_ESCAPE 0x101A
497#define U_MFE_SPCLPASSTHROUGH2 0x11D8
503#define U_MEMORYMETAFILE 0x0001
504#define U_DISKMETAFILE 0x0002
511#define U_METAVERSION100 0x0100
512#define U_METAVERSION300 0x0300
515/* MixMode Enumeration WMF manual 2.1.1.20
516 Same as "EMF BackgroundMode Enumeration" in uemf.h
517*/
518
519/* OutPrecision Enumeration WMF manual 2.1.1.21
520 Same as "EMF LF_OutPrecision Enumeration" in uemf.h
521*/
522
526#define U_PC_RESERVED 0x01
527#define U_PC_EXPLICIT 0x02
528#define U_PC_NOCOLLAPSE 0x04
540/* PitchFont Enumeration WMF manual 2.1.1.24
541 These are only used in PitchAndFamily object, defined there.
542*/
543
544/* PolyFillMode Enumeration WMF manual 2.1.1.25
545 These are the first two emtries in "EMF PolygonFillMode Enumeration" in uemf.h
546
547*/
548
553#define U_WPS_CAP_NOTSET -2
554#define U_WPS_CAP_FLAT 0
555#define U_WPS_CAP_ROUND 1
556#define U_WPS_CAP_SQUARE 2
559/* PostScriptClipping Enumeration WMF manual 2.1.1.27
560 PostFeatureSetting Enumeration WMF manual 2.1.1.28
561
562 These are used by postscript drivers, not supported by libUWEMF.
563*/
564
569#define U_WPS_JOIN_NOTSET -2
570#define U_WPS_JOIN_MITER 0
571#define U_WPS_JOIN_ROUND 1
572#define U_WPS_JOIN_BEVEL 2
575/* StretchMode Enumeration WMF manual 2.1.1.30
576 Same as "EMF StretchMode Enumeration" in uemf.h
577
578*/
579
580/* TernaryRasterOperation Enumeration WMF manual 2.1.1.31
581 Same as "EMF Ternary Raster Operation Enumeration" in uemf.h
582 Only partially supported in libUWMF.h
583*/
584
585/* ClipPrecision Flags WMF manual 2.1.2.1
586 Same as "EMF LF_ClipPrecision Enumeration" in uemf.h
587*/
588
589/* ExtTextOutOptions Flags WMF manual 2.1.2.2
590 These are a subset of "EMF ExtTextOutOptions Enumeration" in uemf.h
591
592 Not defined for WMF: U_ETO_NONE, U_ETO_GRAYED, U_ETO_NORECT,
593 U_ETO_SMALL_CHARS,U_ETO_IGNORELANGUAGE,U_ETO_REVERSE_INDEX_MAP
594
595 Defined for WMF: U_ETO_OPAQUE, U_ETO_CLIPPED, U_ETO_GLYPH_INDEX,
596 U_ETO_RTLREADING,_ETO_NUMERICSLOCAL,U_ETO_NUMERICSLATIN,
597 U_ETO_PDY
598*/
599
600/* TextAlignment Enumeration WMF manual 2.1.2.3
601 VertialTextAlignment Enumeration WMF manual 2.1.2.4
602 These are both in "EMF TextAlignment Enumeration" in uemf.h
603*/
604
605
606
607// ***************************************************************************
608// Miscellaneous Values
609/* TextAlignmentMode Flags WMF manual 2.1.2.3
610 VerticalTextAlignmentMode Flags WMF manual 2.1.2.4
611 Same as "EMF TextAlignment Enumeration" in uemf.h
612*/
613
633#define U_SIZE_PAIRF 8
634#define U_SIZE_COLORREF 4
635#define U_SIZE_BRUSH 8
636#define U_SIZE_FONT 19
637#define U_SIZE_FONT_CORE 18
638#define U_SIZE_PLTNTRY 4
639#define U_SIZE_PALETTE 8
640#define U_SIZE_PEN 10
641#define U_SIZE_POINT16 4
642#define U_SIZE_RECT16 8
643#define U_SIZE_REGION 20
644#define U_SIZE_BITMAP16 10
645#define U_SIZE_BITMAPCOREHEADER 12
646// also defined in uemf.h, avoid redefining. Same value in both places, of course.
647// # define U_SIZE_BITMAPINFOHEADER 40 /**< + 40 */
648#define U_SIZE_BITMAPV4HEADER 108
649#define U_SIZE_BITMAPV5HEADER 124
650#define U_SIZE_WLOGBRUSH 8
651#define U_SIZE_POLYPOLYGON 4
652#define U_SIZE_SCAN 8
653#define U_SIZE_METARECORD 6
654#define U_SIZE_WMRPLACEABLE 22
655#define U_SIZE_WMRHEADER 18
656#define U_SIZE_WMREOF 6
657#define U_SIZE_WMRSETRELABS 6
658#define U_SIZE_WMRSAVEDC 6
659#define U_SIZE_WMRRESTOREDC 8
660#define U_SIZE_WMRREALIZEPALETTE 6
661#define U_SIZE_WMRSETBKCOLOR 10
662#define U_SIZE_WMRSETTEXTCOLOR 10
663#define U_SIZE_WMRSETBKMODE 8
664#define U_SIZE_WMRSETROP2 8
665#define U_SIZE_WMRSETPOLYFILLMODE 8
666#define U_SIZE_WMRSETSTRETCHBLTMODE 8
667#define U_SIZE_WMRSETTEXTALIGN 8
668#define U_SIZE_WMRSETMAPMODE 8
669#define U_SIZE_WMRSETTEXTCHAREXTRA 8
670#define U_SIZE_WMRSETTEXTJUSTIFICATION 10
671#define U_SIZE_WMRSETWINDOWORG 10
672#define U_SIZE_WMRSETWINDOWEXT 10
673#define U_SIZE_WMRSETVIEWPORTORG 10
674#define U_SIZE_WMRSETVIEWPORTEXT 10
675#define U_SIZE_WMROFFSETWINDOWORG 10
676#define U_SIZE_WMROFFSETVIEWPORTORG 10
677#define U_SIZE_WMRLINETO 10
678#define U_SIZE_WMRMOVETO 10
679#define U_SIZE_WMROFFSETCLIPRGN 10
680#define U_SIZE_WMRSCALEWINDOWEXT 14
681#define U_SIZE_WMRSCALEVIEWPORTEXT 14
682#define U_SIZE_WMREXCLUDECLIPRECT 14
683#define U_SIZE_WMRINTERSECTCLIPRECT 14
684#define U_SIZE_WMRARC 22
685#define U_SIZE_WMRELLIPSE 14
686#define U_SIZE_WMRRECTANGLE 14
687#define U_SIZE_WMRFLOODFILL 16
688#define U_SIZE_WMREXTFLOODFILL 16
689#define U_SIZE_WMRSETPIXEL 14
690#define U_SIZE_WMRPIE 22
691#define U_SIZE_WMRCHORD 22
692#define U_SIZE_WMRROUNDRECT 18
693#define U_SIZE_WMRPATBLT 18
694#define U_SIZE_WMRTEXTOUT 8
695#define U_SIZE_WMRBITBLT_NOPX 24
696#define U_SIZE_WMRBITBLT_PX 22
697#define U_SIZE_WMRSTRETCHBLT_NOPX 28
698#define U_SIZE_WMRSTRETCHBLT_PX 26
699#define U_SIZE_WMRPOLYGON 10
700#define U_SIZE_WMRPOLYLINE 10
701#define U_SIZE_WMRESCAPE 10
702#define U_SIZE_WMRFILLREGION 10
703#define U_SIZE_WMRFRAMEREGION 14
704#define U_SIZE_WMRINVERTREGION 8
705#define U_SIZE_WMRPAINTREGION 8
706#define U_SIZE_WMRSELECTCLIPREGION 8
707#define U_SIZE_WMRSELECTOBJECT 8
708#define U_SIZE_WMRSELECTPALETTE 8
709#define U_SIZE_WMRRESIZEPALETTE 8
710#define U_SIZE_WMRDELETEOBJECT 8
711#define U_SIZE_WMRDRAWTEXT 6
712#define U_SIZE_WMRCREATEBITMAPINDIRECT 6
713#define U_SIZE_WMRCREATEBITMAP 6
714#define U_SIZE_WMRSETMAPPERFLAGS 10
715#define U_SIZE_WMREXTTEXTOUT 14
716#define U_SIZE_WMRSETDIBTODEV 22
717#define U_SIZE_WMRANIMATEPALETTE 14
718#define U_SIZE_WMRSETPALENTRIES 14
719#define U_SIZE_WMRCREATEPALETTE 14
720#define U_SIZE_WMRPOLYPOLYGON 10
721#define U_SIZE_WMRDIBBITBLT_NOPX 24
722#define U_SIZE_WMRDIBBITBLT_PX 22
723#define U_SIZE_WMRDIBSTRETCHBLT_NOPX 28
724#define U_SIZE_WMRDIBSTRETCHBLT_PX 26
725#define U_SIZE_WMRDIBCREATEPATTERNBRUSH 10
726#define U_SIZE_WMRSTRETCHDIB 28
727#define U_SIZE_WMRCREATEPATTERNBRUSH 6
728#define U_SIZE_WMRCREATEPENINDIRECT 16
729#define U_SIZE_WMRCREATEFONTINDIRECT 26
730#define U_SIZE_WMRCREATEBRUSHINDIRECT 14
731#define U_SIZE_WMRCREATEREGION 26
732#define U_SIZE_WMRCREATEREGION_CORE 24
736// ***************************************************************************
737// Macros
738
745#define U_TEST_NOPX2(A,B) (A == (uint32_t) (B + 3))
746#define U_TEST_NOPXB(A,B) (A/2 == (uint32_t) (B + 3))
747#define U_WMRTYPE(A) (((U_METARECORD *)A)->iType)
748#define U_WMRXB(A) (((U_METARECORD *)A)->xb)
749#define U_WMR_XB_FROM_TYPE(A) ((uint8_t) (U_wmr_values(A)>>8))
750#define U_U16(A) (*(uint16_t *)&A)
751#define U_P16(A) ( (uint16_t *)&A)
752#define U_PP16(A) ( (uint16_t *) A)
753
756/* ************************************************************
757 WMF structures OTHER than those corresponding to complete U_WMR_* records
758 ************************************************************ */
759
773typedef struct {
774 uint16_t Style;
776 uint8_t Data[1];
777} U_BRUSH;
778
779
783typedef struct {
784 int16_t Height;
785 int16_t Width;
786 int16_t Escapement;
787 int16_t Orientation;
788 int16_t Weight;
789 uint8_t Italic;
790 uint8_t Underline;
791 uint8_t StrikeOut;
792 uint8_t CharSet;
793 uint8_t OutPrecision;
795 uint8_t Quality;
797 uint8_t FaceName[1];
798} U_FONT;
799
804typedef struct {
805 uint8_t Value;
806 uint8_t Blue;
807 uint8_t Green;
808 uint8_t Red;
809} U_PLTNTRY;
810
818typedef struct {
819 uint16_t Start;
820 uint16_t NumEntries;
821 U_PLTNTRY PalEntries[1];
822} U_PALETTE;
823
826typedef struct {
827 uint16_t Style;
828 uint16_t Widthw[2];
830} U_PEN;
831
840typedef struct {
841 int16_t left;
842 int16_t top;
843 int16_t right;
844 int16_t bottom;
845} U_RECT16;
846
847#define U_RCL16_DEF (U_RECT16){0,0,-1,-1}
848
851typedef struct {
852 uint16_t ignore1;
853 uint16_t Type;
854 uint16_t ignore2;
855 int16_t Size;
856 int16_t sCount;
857 int16_t sMax;
859 uint16_t aScans[1];
860} U_REGION;
861
869typedef struct {
870 int16_t Type;
871 int16_t Width;
872 int16_t Height;
873 int16_t WidthBytes;
874 uint8_t Planes;
875 uint8_t BitsPixel;
876} U_BITMAP16;
877
880typedef struct {
881 uint16_t Size_4[2];
882 uint16_t Width;
883 uint16_t Height;
884 uint16_t Planes;
885 uint16_t BitCount;
887
888
895
897typedef struct {
898 uint32_t bV4Size;
899 int32_t bV4Width;
900 int32_t bV4Height;
901 uint16_t bV4Planes;
902 uint16_t bV4BitCount;
903 uint32_t bV4Compression;
904 uint32_t bV4SizeImage;
905 int32_t bV4XPelsPerMeter;
906 int32_t bV4YPelsPerMeter;
907 uint32_t bV4ClrUsed;
908 uint32_t bV4ClrImportant;
909 uint32_t bV4RedMask;
910 uint32_t bV4GreenMask;
911 uint32_t bV4BlueMask;
912 uint32_t bV4AlphaMask;
913 uint32_t bV4CSType;
914 U_CIEXYZTRIPLE bV4EndPoints;
915 uint32_t bV4GammaRed;
916 uint32_t bV4GammaGreen;
917 uint32_t bV4GammaBlue;
918} U_BITMAPV4HEADER;
919
920
923typedef struct {
924 uint32_t bV5Size;
925 int32_t bV5Width;
926 int32_t bV5Height;
927 uint16_t bV5Planes;
928 uint16_t bV5BitCount;
929 uint32_t bV5Compression;
930 uint32_t bV5SizeImage;
931 int32_t bV5XPelsPerMeter;
932 int32_t bV5YPelsPerMeter;
933 uint32_t bV5ClrUsed;
934 uint32_t bV5ClrImportant;
935 uint32_t bV5RedMask;
936 uint32_t bV5GreenMask;
937 uint32_t bV5BlueMask;
938 uint32_t bV5AlphaMask;
939 uint32_t bV5CSType;
940 U_CIEXYZTRIPLE bV5Endpoints;
941 uint32_t bV5GammaRed;
942 uint32_t bV5GammaGreen;
943 uint32_t bV5GammaBlue;
944 uint32_t bV5Intent;
945 uint32_t bV5ProfileData;
946 uint32_t bV5ProfileSize;
947 uint32_t bV5Reserved;
948} U_BITMAPV5HEADER;
950
951
952
986typedef struct {
987 uint16_t Style;
989 uint16_t Hatch;
991
992/* LogColorSpace Object WMF manual 2.2.2.11
993 Same as "EMF LOGCOLORSPACEA Object" in uemf.h
994 use U_LOGCOLORSPACEA
995*/
996
997/* LogColorSpaceW Object WMF manual 2.2.2.12
998 Same as "EMF LOGCOLORSPACEW Object" in uemf.h
999 use U_LOGCOLORSPACEW
1000*/
1001
1002
1003/* PaletteEntry Object WMF manual 2.2.2.13
1004 moved up before Palette Object */
1005
1006/* PitchAndFamily Enumerations WMF manual 2.2.2.14
1007 Same as "EMF LF_PitchAndFamily Enumeration" in uemf.h
1008*/
1009
1010/* PointL Object WMF manual 2.2.2.15
1011 Same as "EMF Point Object" in uemf.h
1012*/
1013
1014/* PointS Object WMF manual 2.2.2.16
1015 Same as "EMF POINTS Object" in uemf.h
1016*/
1017
1018/* PolyPolygon Object WMF manual 2.2.2.17 */
1028typedef struct {
1029 uint16_t nPolys;
1030 uint16_t aPolyCounts[1];
1032
1033/* Rect Object WMF manual 2.2.2.18
1034 This one is out of order, had to be created much earlier than this
1035*/
1036
1037/* RectL Object WMF manual 2.2.2.19
1038 Same as "EMF RECT Object" in uemf.h
1039*/
1040
1041/* RGBQuad Object WMF manual 2.2.2.20
1042 Same as "EMF RGBQUAD Object" in uemf.h
1043*/
1044
1052typedef struct {
1053 uint16_t count;
1054 uint16_t top;
1055 uint16_t bottom;
1056 uint16_t ScanLines[1];
1057} U_SCAN;
1058
1070typedef struct {
1071 uint16_t Size16_4[2];
1072 uint8_t iType;
1073 uint8_t xb;
1074} U_METARECORD;
1075
1081typedef struct {
1082 uint32_t Key;
1083 uint16_t HWmf;
1085 uint16_t Inch;
1086 uint32_t Reserved;
1087 uint16_t Checksum;
1089
1092typedef struct {
1093 uint8_t iType;
1094 uint8_t xb;
1095 uint16_t Size16w;
1096 uint16_t version;
1097 uint16_t Sizew[2];
1098 uint16_t nObjects;
1099 uint32_t maxSize;
1100 uint16_t nMembers;
1101} U_WMRHEADER;
1102
1103
1104// ***********************************************************************************
1105// The following structures correspond to U_WMR_# records
1106
1107/* Index 00 U_WMREOF WMF manual 2.3.2.1 META_EOF */
1110typedef struct {
1111 uint16_t Size16_4[2];
1112 uint8_t iType;
1113 uint8_t xb;
1114} U_WMREOF,
1118
1119/* Index 01 U_WMRSETBKCOLOR WMF manual 2.3.5.14 */
1122typedef struct {
1123 uint16_t Size16_4[2];
1124 uint8_t iType;
1125 uint8_t xb;
1129
1130/* Index 02 U_WMRSETBKMODE WMF manual 2.3.5.15 */
1134typedef struct {
1135 uint16_t Size16_4[2];
1136 uint8_t iType;
1137 uint8_t xb;
1138 uint16_t Mode;
1139 uint16_t Reserved;
1145
1146/* Index 03 U_WMRSETMAPMODE WMF manual 2.3.5.17 */
1150typedef struct {
1151 uint16_t Size16_4[2];
1152 uint8_t iType;
1153 uint8_t xb;
1154 uint16_t Mode;
1157
1158/* Index 04 U_WMRSETROP2 WMF manual 2.3.5.22 See Index 02 */
1159
1160/* Index 05 U_WMRSETRELABS WMF manual 2.3.5.21 See Index 00*/
1161
1162/* Index 06 U_WMRSETPOLYFILLMODE WMF manual 2.3.5.20 See Index 02
1163 Index 07 U_WMRSETSTRETCHBLTMODE WMF manual 2.3.5.23 */
1164
1165/* Index 08 U_WMRSETTEXTCHAREXTRA WMF manual 2.3.5.25 See Index 03*/
1166
1167/* Index 09 U_WMRSETTEXTCOLOR WMF manual 2.3.5.26 see Index 01 */
1168
1169/* Index 0A U_WMRSETTEXTJUSTIFICATION WMF manual 2.3.5.27 */
1172typedef struct {
1173 uint16_t Size16_4[2];
1174 uint8_t iType;
1175 uint8_t xb;
1176 uint16_t Count;
1177 uint16_t Extra;
1179
1180/* Index 0B U_WMRSETWINDOWORG WMF manual 2.3.5.31
1181 Index 0C U_WMRSETWINDOWEXT WMF manual 2.3.5.30
1182 Index 0D U_WMRSETVIEWPORTORG WMF manual 2.3.5.29
1183 Index 0E U_WMRSETVIEWPORTEXT WMF manual 2.3.5.28
1184 Index 0F U_WMROFFSETWINDOWORG WMF manual 2.3.5.7
1185 Index 0F U_WMROFFSETVIEWPORTORG WMF manual 2.3.5.6
1186 Index 13 U_WMRLINETO WMF manual 2.3.3.10
1187 Index 14 U_WMRMOVETO WMF manual 2.3.3.4
1188 Index 20 U_WMROFFSETCLIPRGN WMF manual 2.3.5.5
1189*/
1193typedef struct {
1194 uint16_t Size16_4[2];
1195 uint8_t iType;
1196 uint8_t xb;
1197 int16_t y;
1198 int16_t x;
1208
1209/* Index 10 U_WMRSCALEWINDOWEXT WMF manual 2.3.5.13
1210 Index 12 U_WMRSCALEVIEWPORTEXT WMF manual 2.3.5.12
1211*/
1214typedef struct {
1215 uint16_t Size16_4[2];
1216 uint8_t iType;
1217 uint8_t xb;
1218 int16_t yDenom;
1219 int16_t yNum;
1220 int16_t xDenom;
1221 int16_t xNum;
1224
1225/* Index 11 U_WMROFFSETVIEWPORTORG WMF manual 2.3.5.6 see Index 0B */
1226
1227/* Index 12 U_WMRSCALEVIEWPORTEXT WMF manual 2.3.5.12 see Index 10 */
1228
1229/* Index 13 U_WMRLINETO WMF manual 2.3.3.10 see index 0B
1230 Index 14 U_WMRMOVETO WMF manual 2.3.5.4 */
1231
1232/* Index 15 U_WMREXCLUDECLIPRECT WMF manual 2.3.5.2
1233 Index 16 U_WMRINTERSECTCLIPRECT WMF manual 2.3.5.3
1234*/
1237typedef struct {
1238 uint16_t Size16_4[2];
1239 uint8_t iType;
1240 uint8_t xb;
1241 int16_t Bottom;
1242 int16_t Right;
1243 int16_t Top;
1244 int16_t Left;
1247
1248/* Index 17 U_WMRARC WMF manual 2.3.3.1 */
1251typedef struct {
1252 uint16_t Size16_4[2];
1253 uint8_t iType;
1254 uint8_t xb;
1255 int16_t yEndArc;
1256 int16_t xEndArc;
1257 int16_t yStartArc;
1258 int16_t xStartArc;
1259 int16_t Bottom;
1260 int16_t Right;
1261 int16_t Top;
1262 int16_t Left;
1263} U_WMRARC;
1264
1265/* Index 18 U_WMRELLIPSE WMF manual 2.3.3.3
1266 Index 1B U_WMRRECTANGLE WMF manual 2.3.3.17
1267*/
1270typedef struct {
1271 uint16_t Size16_4[2];
1272 uint8_t iType;
1273 uint8_t xb;
1274 int16_t Bottom;
1275 int16_t Right;
1276 int16_t Top;
1277 int16_t Left;
1278} U_WMRELLIPSE,
1280
1281/* Index 19 U_WMRFLOODFILL WMF manual 2.3.3.7
1282 Index 48 U_WMREXTFLOODFILL WMF manual 2.3.3.4
1283*/
1286typedef struct {
1287 uint16_t Size16_4[2];
1288 uint8_t iType;
1289 uint8_t xb;
1290 int16_t Mode;
1292 int16_t y;
1293 int16_t x;
1296
1297/* Index 1A U_WMRPIE WMF manual 2.3.3.13
1298 Index 30 U_WMRCHORD WMF manual 2.3.3.2
1299*/
1302typedef struct {
1303 uint16_t Size16_4[2];
1304 uint8_t iType;
1305 uint8_t xb;
1306 int16_t yRadial2;
1307 int16_t xRadial2;
1308 int16_t yRadial1;
1309 int16_t xRadial1;
1310 int16_t Bottom;
1311 int16_t Right;
1312 int16_t Top;
1313 int16_t Left;
1314} U_WMRPIE,
1316
1317/* Index 1B U_WMRRECTANGLE WMF manual 2.3.3.17 See Index 18 */
1318
1319/* Index 1C U_WMRROUNDRECT WMF manual 2.3.3.18 */
1322typedef struct {
1323 uint16_t Size16_4[2];
1324 uint8_t iType;
1325 uint8_t xb;
1326 int16_t Height;
1327 int16_t Width;
1328 int16_t Bottom;
1329 int16_t Right;
1330 int16_t Top;
1331 int16_t Left;
1333
1334/* Index 1D U_WMRPATBLT WMF manual 2.3.3.12
1335*/
1338typedef struct {
1339 uint16_t Size16_4[2];
1340 uint8_t iType;
1341 uint8_t xb;
1342 uint16_t rop3w[2];
1343 int16_t Height;
1344 int16_t Width;
1345 int16_t yDst;
1346 int16_t xDst;
1347} U_WMRPATBLT;
1348
1349/* Index 1E U_WMRSAVEDC WMF manual 2.3.5.11 See Index 00*/
1350
1351/* Index 1F U_WMRSETPIXEL WMF manual 2.3.3.19 */
1354typedef struct {
1355 uint16_t Size16_4[2];
1356 uint8_t iType;
1357 uint8_t xb;
1359 int16_t y;
1360 int16_t x;
1362
1363/* Index 20 U_WMROFFSETCLIPRGN WMF manual 2.3.5.5 See Index 0B*/
1364
1365/* Index 21 U_WMRTEXTOUT WMF manual 2.3.3.20
1366*/
1374typedef struct {
1375 uint16_t Size16_4[2];
1376 uint8_t iType;
1377 uint8_t xb;
1378 int16_t Length;
1379 uint8_t String;
1380} U_WMRTEXTOUT;
1381
1382/* Index 22 U_WMRBITBLT WMF manual 2.3.1.1
1383*/
1392typedef struct {
1393 uint16_t Size16_4[2];
1394 uint8_t iType;
1395 uint8_t xb;
1396 uint16_t rop3w[2];
1397 int16_t ySrc;
1398 int16_t xSrc;
1399 int16_t ignore;
1400 int16_t Height;
1401 int16_t Width;
1402 int16_t yDst;
1403 int16_t xDst;
1405
1414typedef struct {
1415 uint16_t Size16_4[2];
1416 uint8_t iType;
1417 uint8_t xb;
1418 uint16_t rop3w[2];
1419 int16_t ySrc;
1420 int16_t xSrc;
1421 int16_t Height;
1422 int16_t Width;
1423 int16_t yDst;
1424 int16_t xDst;
1427
1428
1429/* Index 23 U_WMRSTRETCHBLT WMF manual 2.3.1.5 */
1438typedef struct {
1439 uint16_t Size16_4[2];
1440 uint8_t iType;
1441 uint8_t xb;
1442 uint16_t rop3w[2];
1443 int16_t hSrc;
1444 int16_t wSrc;
1445 int16_t ySrc;
1446 int16_t xSrc;
1447 int16_t ignore;
1448 int16_t hDst;
1449 int16_t wDst;
1450 int16_t yDst;
1451 int16_t xDst;
1453
1454
1455/* Index 23 U_WMRSTRETCHBLT WMF manual 2.3.1.5 */
1463typedef struct {
1464 uint16_t Size16_4[2];
1465 uint8_t iType;
1466 uint8_t xb;
1467 uint16_t rop3w[2];
1468 int16_t hSrc;
1469 int16_t wSrc;
1470 int16_t ySrc;
1471 int16_t xSrc;
1472 int16_t hDst;
1473 int16_t wDst;
1474 int16_t yDst;
1475 int16_t xDst;
1478
1479/* Index 24 U_WMRPOLYGON WMF manual 2.3.3.15
1480 Index 25 U_WMRPOLYLINE WMF manual 2.3.3.14
1481*/
1484typedef struct {
1485 uint16_t Size16_4[2];
1486 uint8_t iType;
1487 uint8_t xb;
1488 int16_t nPoints;
1489 U_POINT16 aPoints[1];
1490} U_WMRPOLYGON,
1492
1493/* Index 26 U_WMRESCAPE WMF manual 2.3.6.1 */
1496typedef struct {
1497 uint16_t Size16_4[2];
1498 uint8_t iType;
1499 uint8_t xb;
1500 uint16_t eFunc;
1501 uint16_t nBytes;
1502 uint8_t Data[1];
1503} U_WMRESCAPE;
1504
1505/* Index 27 U_WMRRESTOREDC WMF manual 2.3.5.10 */
1508typedef struct {
1509 uint16_t Size16_4[2];
1510 uint8_t iType;
1511 uint8_t xb;
1512 int16_t DC;
1514
1515/* Index 28 U_WMRFILLREGION WMF manual 2.3.3.6 */
1518typedef struct {
1519 uint16_t Size16_4[2];
1520 uint8_t iType;
1521 uint8_t xb;
1522 uint16_t Region;
1523 uint16_t Brush;
1525
1526/* Index 29 U_WMRFRAMEREGION WMF manual 2.3.3.8 */
1529typedef struct {
1530 uint16_t Size16_4[2];
1531 uint8_t iType;
1532 uint8_t xb;
1533 uint16_t Region;
1534 uint16_t Brush;
1535 int16_t Height;
1536 int16_t Width;
1538
1539/* Index 2A U_WMRINVERTREGION WMF manual 2.3.3.9
1540 Index 2B U_WMRPAINTREGION WMF manual 2.3.3.11
1541 Index 2C U_WMRSELECTCLIPREGION WMF manual 2.3.4.9
1542 Index 2D U_WMRSELECTOBJECT WMF manual 2.3.4.10
1543 Index 34 U_WMRSELECTPALETTE WMF manual 2.3.4.11
1544 Index 39 U_WMRRESIZEPALETTE WMF manual 2.3.5.9
1545 Index F0 U_WMRDELETEOBJECT WMF manual 2.3.4.7
1546*/
1550typedef struct {
1551 uint16_t Size16_4[2];
1552 uint8_t iType;
1553 uint8_t xb;
1554 uint16_t index;
1562
1563/* Index 2E U_WMRSETTEXTALIGN WMF manual 2.3.5.24 See Index 02 */
1564
1565/* Index 2F U_WMRDRAWTEXT in GDI and Wine, not documented in WMF manual.
1566 Index FE U_WMRCREATEBITMAP in GDI and Wine, not documented in WMF manual.
1567 Index FD U_WMRCREATEBITMAPINDIRECT in GDI and Wine, not documented in WMF manual.
1568
1569 no documentation found, this part of these records, at least, must be correct */
1572typedef struct {
1573 uint16_t Size16_4[2];
1574 uint8_t iType;
1575 uint8_t xb;
1579
1580/* Index 30 U_WMRCHORD WMF manual 2.3.3.2 See Index 1A */
1581
1582/* Index 31 U_WMRSETMAPPERFLAGS WMF manual 2.3.5.18 */
1585typedef struct {
1586 uint16_t Size16_4[2];
1587 uint8_t iType;
1588 uint8_t xb;
1589 uint16_t valuew[2];
1591
1592/* Index 32 U_WMREXTTEXTOUT WMF manual 2.3.3.5
1593*/
1604typedef struct {
1605 uint16_t Size16_4[2];
1606 uint8_t iType;
1607 uint8_t xb;
1608 int16_t y;
1609 int16_t x;
1610 int16_t Length;
1611 uint16_t Opts;
1613
1614/* Index 33 U_WMRSETDIBTODEV WMF manual 2.3.1.4 */
1619typedef struct {
1620 uint16_t Size16_4[2];
1621 uint8_t iType;
1622 uint8_t xb;
1623 uint16_t cUsage;
1624 uint16_t ScanCount;
1625 uint16_t StartScan;
1626 int16_t ySrc;
1627 int16_t xSrc;
1628 int16_t Height;
1629 int16_t Width;
1630 int16_t yDst;
1631 int16_t xDst;
1632 uint8_t dib[1];
1634
1635/* Index 34 U_WMRSELECTPALETTE WMF manual 2.3.4.11 See Index 2A */
1636
1637/* Index 35 U_WMRREALIZEPALETTE WMF manual 2.3.5.8 See Index 00 */
1638
1639/* Index 36 U_WMRANIMATEPALETTE WMF manual 2.3.5.1
1640 Index 37 U_WMRSETPALENTRIES WMF manual 2.3.5.19
1641 Index F7 U_WMRCREATEPALETTE WMF manual 2.3.4.3
1642*/
1645typedef struct {
1646 uint16_t Size16_4[2];
1647 uint8_t iType;
1648 uint8_t xb;
1653
1654/* Index 38 U_WMRPOLYPOLYGON WMF manual 2.3.3.16 */
1657typedef struct {
1658 uint16_t Size16_4[2];
1659 uint8_t iType;
1660 uint8_t xb;
1663
1664/* Index 39 U_WMRRESIZEPALETTE WMF manual 2.3.5.9 See Index 2A */
1665
1666/* Index 40 U_WMRDIBBITBLT WMF manual 2.3.1.2
1667*/
1677typedef struct {
1678 uint16_t Size16_4[2];
1679 uint8_t iType;
1680 uint8_t xb;
1681 uint16_t rop3w[2];
1682 int16_t ySrc;
1683 int16_t xSrc;
1684 uint16_t ignore;
1685 int16_t Height;
1686 int16_t Width;
1687 int16_t yDst;
1688 int16_t xDst;
1690
1700typedef struct {
1701 uint16_t Size16_4[2];
1702 uint8_t iType;
1703 uint8_t xb;
1704 uint16_t rop3w[2];
1705 int16_t ySrc;
1706 int16_t xSrc;
1707 int16_t Height;
1708 int16_t Width;
1709 int16_t yDst;
1710 int16_t xDst;
1711 uint8_t dib[1];
1713
1714/* Index 41 U_WMRDIBSTRETCHBLT WMF manual 2.3.1.3 */
1724typedef struct {
1725 uint16_t Size16_4[2];
1726 uint8_t iType;
1727 uint8_t xb;
1728 uint16_t rop3w[2];
1729 int16_t hSrc;
1730 int16_t wSrc;
1731 int16_t ySrc;
1732 int16_t xSrc;
1733 uint16_t ignore;
1734 int16_t hDst;
1735 int16_t wDst;
1736 int16_t yDst;
1737 int16_t xDst;
1739
1749typedef struct {
1750 uint16_t Size16_4[2];
1751 uint8_t iType;
1752 uint8_t xb;
1753 uint16_t rop3w[2];
1754 int16_t hSrc;
1755 int16_t wSrc;
1756 int16_t ySrc;
1757 int16_t xSrc;
1758 int16_t hDst;
1759 int16_t wDst;
1760 int16_t yDst;
1761 int16_t xDst;
1762 uint8_t dib[1];
1764
1765
1766/* Index 42 U_WMRDIBCREATEPATTERNBRUSH WMF manual 2.3.4.8
1767*/
1777typedef struct {
1778 uint16_t Size16_4[2];
1779 uint8_t iType;
1780 uint8_t xb;
1781 uint16_t Style;
1782 uint16_t cUsage;
1783 uint8_t Src[1];
1785
1786/* Index 43 U_WMRSTRETCHDIB WMF manual 2.3.1.6 */
1789typedef struct {
1790 uint16_t Size16_4[2];
1791 uint8_t iType;
1792 uint8_t xb;
1793 uint16_t rop3w[2];
1794 uint16_t cUsage;
1795 int16_t hSrc;
1796 int16_t wSrc;
1797 int16_t ySrc;
1798 int16_t xSrc;
1799 int16_t hDst;
1800 int16_t wDst;
1801 int16_t yDst;
1802 int16_t xDst;
1803 uint8_t dib[1];
1805
1806/* Index 48 U_WMREXTFLOODFILL WMF manual 2.3.3.4 See Index 19*/
1807/* Index 4C U_WMR4C */
1808/* Index 4D U_WMR4D */
1809/* Index 4F U_WMR4F */
1810/* Index 50 U_WMR50 */
1811/* Index 52 U_WMR52 */
1812/* Index 5E U_WMR5E */
1813/* Index 5F U_WMR5F */
1814/* Index 60 U_WMR60 */
1815/* Index 61 U_WMR61 */
1816/* Index 62 U_WMR62 */
1817/* Index 63 U_WMR63 */
1818/* Index 64 U_WMR64 */
1819/* Index 65 U_WMR65 */
1820/* Index 66 U_WMR66 */
1821/* Index 67 U_WMR67 */
1822/* Index 68 U_WMR68 */
1823/* Index 69 U_WMR69 */
1824/* Index 6A U_WMR6A */
1825/* Index 6B U_WMR6B */
1826/* Index 6C U_WMR6C */
1827/* Index 6D U_WMR6D */
1828/* Index 6E U_WMR6E */
1829/* Index 6F U_WMR6F */
1830/* Index 70 U_WMR70 */
1831/* Index 71 U_WMR71 */
1832/* Index 72 U_WMR72 */
1833/* Index 73 U_WMR73 */
1834/* Index 74 U_WMR74 */
1835/* Index 75 U_WMR75 */
1836/* Index 76 U_WMR76 */
1837/* Index 77 U_WMR77 */
1838/* Index 78 U_WMR78 */
1839/* Index 79 U_WMR79 */
1840/* Index 7A U_WMR7A */
1841/* Index 7B U_WMR7B */
1842/* Index 7C U_WMR7C */
1843/* Index 7D U_WMR7D */
1844/* Index 7E U_WMR7E */
1845/* Index 7F U_WMR7F */
1846/* Index 80 U_WMR80 */
1847/* Index 81 U_WMR81 */
1848/* Index 82 U_WMR82 */
1849/* Index 83 U_WMR83 */
1850/* Index 84 U_WMR84 */
1851/* Index 85 U_WMR85 */
1852/* Index 86 U_WMR86 */
1853/* Index 87 U_WMR87 */
1854/* Index 88 U_WMR88 */
1855/* Index 89 U_WMR89 */
1856/* Index 8A U_WMR8A */
1857/* Index 8B U_WMR8B */
1858/* Index 8C U_WMR8C */
1859/* Index 8D U_WMR8D */
1860/* Index 8E U_WMR8E */
1861/* Index 8F U_WMR8F */
1862/* Index 90 U_WMR90 */
1863/* Index 91 U_WMR91 */
1864/* Index 92 U_WMR92 */
1865/* Index 93 U_WMR93 */
1866/* Index 94 U_WMR94 */
1867/* Index 95 U_WMR95 */
1868/* Index 96 U_WMR96 */
1869/* Index 97 U_WMR97 */
1870/* Index 98 U_WMR98 */
1871/* Index 99 U_WMR99 */
1872/* Index 9A U_WMR9A */
1873/* Index 9B U_WMR9B */
1874/* Index 9C U_WMR9C */
1875/* Index 9D U_WMR9D */
1876/* Index 9E U_WMR9E */
1877/* Index 9F U_WMR9F */
1878/* Index A0 U_WMRA0 */
1879/* Index A1 U_WMRA1 */
1880/* Index A2 U_WMRA2 */
1881/* Index A3 U_WMRA3 */
1882/* Index A4 U_WMRA4 */
1883/* Index A5 U_WMRA5 */
1884/* Index A6 U_WMRA6 */
1885/* Index A7 U_WMRA7 */
1886/* Index A8 U_WMRA8 */
1887/* Index A9 U_WMRA9 */
1888/* Index AA U_WMRAA */
1889/* Index AB U_WMRAB */
1890/* Index AC U_WMRAC */
1891/* Index AD U_WMRAD */
1892/* Index AE U_WMRAE */
1893/* Index AF U_WMRAF */
1894/* Index B0 U_WMRB0 */
1895/* Index B1 U_WMRB1 */
1896/* Index B2 U_WMRB2 */
1897/* Index B3 U_WMRB3 */
1898/* Index B4 U_WMRB4 */
1899/* Index B5 U_WMRB5 */
1900/* Index B6 U_WMRB6 */
1901/* Index B7 U_WMRB7 */
1902/* Index B8 U_WMRB8 */
1903/* Index B9 U_WMRB9 */
1904/* Index BA U_WMRBA */
1905/* Index BB U_WMRBB */
1906/* Index BC U_WMRBC */
1907/* Index BD U_WMRBD */
1908/* Index BE U_WMRBE */
1909/* Index BF U_WMRBF */
1910/* Index C0 U_WMRC0 */
1911/* Index C1 U_WMRC1 */
1912/* Index C2 U_WMRC2 */
1913/* Index C3 U_WMRC3 */
1914/* Index C4 U_WMRC4 */
1915/* Index C5 U_WMRC5 */
1916/* Index C6 U_WMRC6 */
1917/* Index C7 U_WMRC7 */
1918/* Index C8 U_WMRC8 */
1919/* Index C9 U_WMRC9 */
1920/* Index CA U_WMRCA */
1921/* Index CB U_WMRCB */
1922/* Index CC U_WMRCC */
1923/* Index CD U_WMRCD */
1924/* Index CE U_WMRCE */
1925/* Index CF U_WMRCF */
1926/* Index D0 U_WMRD0 */
1927/* Index D1 U_WMRD1 */
1928/* Index D2 U_WMRD2 */
1929/* Index D3 U_WMRD3 */
1930/* Index D4 U_WMRD4 */
1931/* Index D5 U_WMRD5 */
1932/* Index D6 U_WMRD6 */
1933/* Index D7 U_WMRD7 */
1934/* Index D8 U_WMRD8 */
1935/* Index D9 U_WMRD9 */
1936/* Index DA U_WMRDA */
1937/* Index DB U_WMRDB */
1938/* Index DC U_WMRDC */
1939/* Index DD U_WMRDD */
1940/* Index DE U_WMRDE */
1941/* Index DF U_WMRDF */
1942/* Index E0 U_WMRE0 */
1943/* Index E1 U_WMRE1 */
1944/* Index E2 U_WMRE2 */
1945/* Index E3 U_WMRE3 */
1946/* Index E4 U_WMRE4 */
1947/* Index E5 U_WMRE5 */
1948/* Index E6 U_WMRE6 */
1949/* Index E7 U_WMRE7 */
1950/* Index E8 U_WMRE8 */
1951/* Index E9 U_WMRE9 */
1952/* Index EA U_WMREA */
1953/* Index EB U_WMREB */
1954/* Index EC U_WMREC */
1955/* Index ED U_WMRED */
1956/* Index EE U_WMREE */
1957/* Index EF U_WMREF */
1958/* Index F0 U_WMRDELETEOBJECT WMF manual 2.3.4.7 See Index 2A */
1959/* Index F1 U_WMRF1 */
1960/* Index F2 U_WMRF2 */
1961/* Index F3 U_WMRF3 */
1962/* Index F4 U_WMRF4 */
1963/* Index F5 U_WMRF5 */
1964
1965/* Index F7 U_WMRCREATEPALETTE WMF manual 2.3.4.3 See Index 36*/
1966
1967/* Index F8 U_WMRF8 */
1968/* Index F9 U_WMRCREATEPATTERNBRUSH WMF manual 2.3.4.4 */
1987typedef struct {
1988 uint16_t Size16_4[2];
1989 uint8_t iType;
1990 uint8_t xb;
1992
1993/* Index FA U_WMRCREATEPENINDIRECT WMF manual 2.3.4.5 */
1996typedef struct {
1997 uint16_t Size16_4[2];
1998 uint8_t iType;
1999 uint8_t xb;
2002
2003/* Index FB U_WMRCREATEFONTINDIRECT WMF manual 2.3.4.2 */
2006typedef struct {
2007 uint16_t Size16_4[2];
2008 uint8_t iType;
2009 uint8_t xb;
2012
2013/* Index FC U_WMRCREATEBRUSHINDIRECT WMF manual 2.3.4.1 */
2016typedef struct {
2017 uint16_t Size16_4[2];
2018 uint8_t iType;
2019 uint8_t xb;
2022
2023/* Index FD U_WMRCREATEBITMAPINDIRECT in GDI and Wine, not in WMF manual, see index 2F */
2024
2025/* Index FE U_WMRCREATEBITMAP in GDI and Wine, not in WMF manual, see index 2F */
2026
2027/* Index FF U_WMRCREATEREGION WMF manual 2.3.4.6 */
2030typedef struct {
2031 uint16_t Size16_4[2];
2032 uint8_t iType;
2033 uint8_t xb;
2036
2037
2038
2039// ************************************************************************************************
2040// Utility function structures
2041
2045typedef struct {
2046 FILE *fp;
2047 size_t allocated;
2048 size_t used;
2049 uint32_t records;
2050 uint16_t ignore;
2051 uint32_t PalEntries;
2052 uint32_t chunk;
2053 char *buf;
2054 uint32_t largest;
2055 uint32_t sumObjects;
2056} WMFTRACK;
2057
2067typedef struct {
2068 uint32_t *table;
2069 size_t allocated;
2070 size_t chunk;
2071 uint32_t lolimit;
2072 uint32_t hilimit;
2073 uint32_t peak;
2074} WMFHANDLES;
2075
2077// ************************************************************************************************
2078// Prototypes (_set first, then _get)
2079char *wmr_dup(const char *wmr);
2080int wmf_start(const char *name, uint32_t initsize, uint32_t chunksize, WMFTRACK **wt);
2081int uwmf_free(WMFTRACK **wt);
2082int wmf_finish(WMFTRACK *wt);
2083int wmf_append(U_METARECORD *rec, WMFTRACK *wt, int freerec);
2084int wmf_header_append(U_METARECORD *rec,WMFTRACK *et, int freerec);
2085int wmf_readdata(const char *filename, char **contents, size_t*length);
2086#define wmf_fopen emf_fopen
2087int wmf_highwater(uint32_t setval);
2088int wmf_htable_create(uint32_t initsize, uint32_t chunksize, WMFHANDLES **wht);
2089int wmf_htable_delete(uint32_t *ih, WMFHANDLES *wht);
2090int wmf_htable_insert(uint32_t *ih, WMFHANDLES *wht);
2091int wmf_htable_free(WMFHANDLES **wht);
2092int16_t U_16_checksum(int16_t *buf, int count);
2093int16_t *dx16_set( int32_t height, uint32_t weight, uint32_t members);
2094uint32_t U_wmr_properties(uint32_t type);
2095
2096uint32_t U_wmr_size(const U_METARECORD *record);
2097uint32_t U_wmr_values(int idx);
2098const char *U_wmr_names(int idx);
2099const char *U_wmr_escnames(int idx);
2100
2101void U_sanerect16(U_RECT16 rc, double *left, double *top, double *right, double *bottom);
2102
2103
2104U_FONT *U_FONT_set(int16_t Height, int16_t Width, int16_t Escapement, int16_t Orientation,
2105 int16_t Weight, uint8_t Italic, uint8_t Underline, uint8_t StrikeOut,
2106 uint8_t CharSet, uint8_t OutPrecision, uint8_t ClipPrecision,
2107 uint8_t Quality, uint8_t PitchAndFamily, char *FaceName);
2108U_PLTNTRY U_PLTNTRY_set(U_COLORREF Color);
2109U_PALETTE *U_PLTENTRY_set(uint16_t Start, uint16_t NumEntries, U_PLTNTRY *Entries);
2110U_PEN U_PEN_set(uint16_t Style, uint16_t Width, U_COLORREF Color);
2111U_RECT16 U_RECT16_set(U_POINT16 ul,U_POINT16 lr);
2112U_BITMAP16 *U_BITMAP16_set(const int16_t Type, const int16_t Width, const int16_t Height,
2113 const int16_t LineN, const uint8_t BitsPixel, const char *Bits);
2114U_SCAN *U_SCAN_set(uint16_t count, uint16_t top, uint16_t bottom, uint16_t *ScanLines);
2115U_REGION *U_REGION_set(int16_t Size, int16_t sCount, int16_t sMax, U_RECT16 sRect, uint16_t *aScans);
2116U_WLOGBRUSH U_WLOGBRUSH_set(uint16_t Style, U_COLORREF Color, uint16_t Hatch);
2117U_PAIRF *U_PAIRF_set(float x, float y);
2118
2119char *wdeleteobject_set(uint32_t *ihObject, WMFHANDLES *wht);
2120char *wselectobject_set(uint32_t ihObject, WMFHANDLES *wht );
2121char *wcreatepenindirect_set(uint32_t *ihPen, WMFHANDLES *wht, U_PEN pen);
2122char *wcreatebrushindirect_set(uint32_t *ihBrush, WMFHANDLES *wht, U_WLOGBRUSH lb);
2123char *wcreatedibpatternbrush_srcdib_set(uint32_t *ihBrush, WMFHANDLES *wht,
2124 uint32_t iUsage, const U_BITMAPINFO *Bmi, uint32_t cbPx, const char *Px);
2125char *wcreatedibpatternbrush_srcbm16_set(uint32_t *ihBrush, WMFHANDLES *wht,
2126 uint32_t iUsage, const U_BITMAP16 *Bm16);
2127char *wcreatepatternbrush_set(uint32_t *ihBrush, WMFHANDLES *wht, U_BITMAP16 *Bm16, char *Pattern);
2128char *wcreatefontindirect_set(uint32_t *ihFont, WMFHANDLES *wht, U_FONT *uf);
2129char *wcreatepalette_set(uint32_t *ihPal, WMFHANDLES *wht, U_PALETTE *up);
2130char *wsetpaletteentries_set(uint32_t *ihPal, WMFHANDLES *wht, const U_PALETTE *Palletes);
2131char *wcreateregion_set(uint32_t *ihReg, WMFHANDLES *wht, const U_REGION *Region);
2132char *wbegin_path_set(void);
2133char *wend_path_set(void);
2134char *wlinecap_set(int32_t Type);
2135char *wlinejoin_set(int32_t Type);
2136char *wmiterlimit_set(int32_t limit);
2137
2138
2139char *U_WMRHEADER_set(U_PAIRF *size,unsigned int dpi);
2140char *U_WMREOF_set(void);
2141char *U_WMRSETBKCOLOR_set(U_COLORREF Color);
2142char *U_WMRSETBKMODE_set(uint16_t Mode);
2143char *U_WMRSETMAPMODE_set(uint16_t Mode);
2144char *U_WMRSETROP2_set(uint16_t Mode);
2145char *U_WMRSETRELABS_set(void);
2146char *U_WMRSETPOLYFILLMODE_set(uint16_t Mode);
2147char *U_WMRSETSTRETCHBLTMODE_set(uint16_t Mode);
2148char *U_WMRSETTEXTCHAREXTRA_set(uint16_t Mode);
2149char *U_WMRSETTEXTCOLOR_set(U_COLORREF Color);
2150char *U_WMRSETTEXTJUSTIFICATION_set(uint16_t Count, uint16_t Extra);
2151char *U_WMRSETWINDOWORG_set(U_POINT16 coord);
2152char *U_WMRSETWINDOWEXT_set(U_POINT16 extent);
2153char *U_WMRSETVIEWPORTORG_set(U_POINT16 coord);
2154char *U_WMRSETVIEWPORTEXT_set(U_POINT16 extent);
2155char *U_WMROFFSETWINDOWORG_set(U_POINT16 offset);
2156char *U_WMRSCALEWINDOWEXT_set(U_POINT16 Denom, U_POINT16 Num);
2157char *U_WMROFFSETVIEWPORTORG_set(U_POINT16 offset);
2158char *U_WMRSCALEVIEWPORTEXT_set(U_POINT16 Denom, U_POINT16 Num);
2159char *U_WMRLINETO_set(U_POINT16 coord);
2160char *U_WMRMOVETO_set(U_POINT16 coord);
2161char *U_WMREXCLUDECLIPRECT_set(U_RECT16 rect);
2162char *U_WMRINTERSECTCLIPRECT_set(U_RECT16 rect);
2163char *U_WMRARC_set(U_POINT16 StartArc, U_POINT16 EndArc, U_RECT16 rect);
2164char *U_WMRELLIPSE_set(U_RECT16 rect);
2165char *U_WMRFLOODFILL_set(uint16_t Mode, U_COLORREF Color, U_POINT16 coord);
2166char *U_WMRPIE_set(U_POINT16 Radial1, U_POINT16 Radial2, U_RECT16 rect);
2167char *U_WMRRECTANGLE_set(U_RECT16 rect);
2168char *U_WMRROUNDRECT_set(int16_t Width, int16_t Height, U_RECT16 rect);
2169char *U_WMRPATBLT_set(U_POINT16 Dst, U_POINT16 cwh, uint32_t dwRop3);
2170char *U_WMRSAVEDC_set(void);
2171char *U_WMRSETPIXEL_set(U_COLORREF Color, U_POINT16 coord);
2172char *U_WMROFFSETCLIPRGN_set(U_POINT16 offset);
2173char *U_WMRTEXTOUT_set(U_POINT16 Dst, char *string);
2174char *U_WMRBITBLT_set(U_POINT16 Dst, U_POINT16 cwh, U_POINT16 Src,
2175 uint32_t dwRop3, const U_BITMAP16 *Bm16);
2176char *U_WMRSTRETCHBLT_set(U_POINT16 Dst, U_POINT16 cDst, U_POINT16 Src,
2177 U_POINT16 cSrc, uint32_t dwRop3, const U_BITMAP16 *Bm16);
2178char *U_WMRPOLYGON_set(uint16_t Length, const U_POINT16 * Data);
2179char *U_WMRPOLYLINE_set(uint16_t Length, const U_POINT16 * Data);
2180char *U_WMRESCAPE_set(uint16_t Escape, uint16_t Length, const void *Data);
2181char *U_WMRRESTOREDC_set(int16_t DC);
2182char *U_WMRFILLREGION_set(uint16_t Region, uint16_t Brush);
2183char *U_WMRFRAMEREGION_set(uint16_t Region, uint16_t Brush, int16_t Height, int16_t Width);
2184char *U_WMRINVERTREGION_set(uint16_t Region);
2185char *U_WMRPAINTREGION_set(uint16_t Region);
2186char *U_WMRSELECTCLIPREGION_set(uint16_t Region);
2187char *U_WMRSELECTOBJECT_set(uint16_t object);
2188char *U_WMRSETTEXTALIGN_set(uint16_t Mode);
2189char *U_WMRDRAWTEXT_set(void); /* in GDI and Wine, not in WMF manual. */
2190char *U_WMRCHORD_set(U_POINT16 Radial1, U_POINT16 Radial2, U_RECT16 rect);
2191char *U_WMRSETMAPPERFLAGS_set(uint32_t Mode);
2192char *U_WMREXTTEXTOUT_set(U_POINT16 Dst, int16_t Length, uint16_t Opts, const char *string, int16_t *dx, U_RECT16 rect);
2193char *U_WMRSETDIBTODEV_set(void);
2194char *U_WMRSELECTPALETTE_set(uint16_t Palette);
2195char *U_WMRREALIZEPALETTE_set(void);
2196char *U_WMRANIMATEPALETTE_set(U_PALETTE *Palette);
2197char *U_WMRSETPALENTRIES_set(const U_PALETTE *Palette);
2198char *U_WMRPOLYPOLYGON_set(const uint16_t, const uint16_t *aPolyCounts, const U_POINT16 * points);
2199char *U_WMRRESIZEPALETTE_set(uint16_t Palette);
2200char *U_WMR3A_set(void);
2201char *U_WMR3B_set(void);
2202char *U_WMR3C_set(void);
2203char *U_WMR3D_set(void);
2204char *U_WMR3E_set(void);
2205char *U_WMR3F_set(void);
2206char *U_WMRDIBBITBLT_set(U_POINT16 Dst, U_POINT16 cwh, U_POINT16 Src,
2207 uint32_t dwRop3, const U_BITMAPINFO * Bmi, uint32_t cbPx, const char *Px);
2208char *U_WMRDIBSTRETCHBLT_set(U_POINT16 Dst, U_POINT16 cDst, U_POINT16 Src,
2209 U_POINT16 cSrc, uint32_t dwRop3, const U_BITMAPINFO *Bmi, uint32_t cbPx, const char *Px);
2210char *U_WMRDIBCREATEPATTERNBRUSH_set(const uint16_t Style, const uint16_t iUsage,
2211 const U_BITMAPINFO *Bmi, uint32_t cbPx, const char *Px, const U_BITMAP16 *Bm16);
2212char *U_WMRSTRETCHDIB_set(U_POINT16 Dest, U_POINT16 cDest, U_POINT16 Src, U_POINT16 cSrc,
2213 const uint16_t cUsage, uint32_t dwRop3, const U_BITMAPINFO *Bmi, uint32_t cbPx, const char *Px);
2214char *U_WMR44_set(void);
2215char *U_WMR45_set(void);
2216char *U_WMR46_set(void);
2217char *U_WMR47_set(void);
2218char *U_WMREXTFLOODFILL_set(uint16_t Mode, U_COLORREF Color, U_POINT16 coord);
2219char *U_WMR49_set(void);
2220char *U_WMR4A_set(void);
2221char *U_WMR4B_set(void);
2222char *U_WMR4C_set(void);
2223char *U_WMR4D_set(void);
2224char *U_WMR4E_set(void);
2225char *U_WMR4F_set(void);
2226char *U_WMR50_set(void);
2227char *U_WMR51_set(void);
2228char *U_WMRABORTDOC_set(void);
2229char *U_WMR53_set(void);
2230char *U_WMR54_set(void);
2231char *U_WMR55_set(void);
2232char *U_WMR56_set(void);
2233char *U_WMR57_set(void);
2234char *U_WMR58_set(void);
2235char *U_WMR59_set(void);
2236char *U_WMR5A_set(void);
2237char *U_WMR5B_set(void);
2238char *U_WMR5C_set(void);
2239char *U_WMR5D_set(void);
2240char *U_WMR5E_set(void);
2241char *U_WMR5F_set(void);
2242char *U_WMR60_set(void);
2243char *U_WMR61_set(void);
2244char *U_WMR62_set(void);
2245char *U_WMR63_set(void);
2246char *U_WMR64_set(void);
2247char *U_WMR65_set(void);
2248char *U_WMR66_set(void);
2249char *U_WMR67_set(void);
2250char *U_WMR68_set(void);
2251char *U_WMR69_set(void);
2252char *U_WMR6A_set(void);
2253char *U_WMR6B_set(void);
2254char *U_WMR6C_set(void);
2255char *U_WMR6D_set(void);
2256char *U_WMR6E_set(void);
2257char *U_WMR6F_set(void);
2258char *U_WMR70_set(void);
2259char *U_WMR71_set(void);
2260char *U_WMR72_set(void);
2261char *U_WMR73_set(void);
2262char *U_WMR74_set(void);
2263char *U_WMR75_set(void);
2264char *U_WMR76_set(void);
2265char *U_WMR77_set(void);
2266char *U_WMR78_set(void);
2267char *U_WMR79_set(void);
2268char *U_WMR7A_set(void);
2269char *U_WMR7B_set(void);
2270char *U_WMR7C_set(void);
2271char *U_WMR7D_set(void);
2272char *U_WMR7E_set(void);
2273char *U_WMR7F_set(void);
2274char *U_WMR80_set(void);
2275char *U_WMR81_set(void);
2276char *U_WMR82_set(void);
2277char *U_WMR83_set(void);
2278char *U_WMR84_set(void);
2279char *U_WMR85_set(void);
2280char *U_WMR86_set(void);
2281char *U_WMR87_set(void);
2282char *U_WMR88_set(void);
2283char *U_WMR89_set(void);
2284char *U_WMR8A_set(void);
2285char *U_WMR8B_set(void);
2286char *U_WMR8C_set(void);
2287char *U_WMR8D_set(void);
2288char *U_WMR8E_set(void);
2289char *U_WMR8F_set(void);
2290char *U_WMR90_set(void);
2291char *U_WMR91_set(void);
2292char *U_WMR92_set(void);
2293char *U_WMR93_set(void);
2294char *U_WMR94_set(void);
2295char *U_WMR95_set(void);
2296char *U_WMR96_set(void);
2297char *U_WMR97_set(void);
2298char *U_WMR98_set(void);
2299char *U_WMR99_set(void);
2300char *U_WMR9A_set(void);
2301char *U_WMR9B_set(void);
2302char *U_WMR9C_set(void);
2303char *U_WMR9D_set(void);
2304char *U_WMR9E_set(void);
2305char *U_WMR9F_set(void);
2306char *U_WMRA0_set(void);
2307char *U_WMRA1_set(void);
2308char *U_WMRA2_set(void);
2309char *U_WMRA3_set(void);
2310char *U_WMRA4_set(void);
2311char *U_WMRA5_set(void);
2312char *U_WMRA6_set(void);
2313char *U_WMRA7_set(void);
2314char *U_WMRA8_set(void);
2315char *U_WMRA9_set(void);
2316char *U_WMRAA_set(void);
2317char *U_WMRAB_set(void);
2318char *U_WMRAC_set(void);
2319char *U_WMRAD_set(void);
2320char *U_WMRAE_set(void);
2321char *U_WMRAF_set(void);
2322char *U_WMRB0_set(void);
2323char *U_WMRB1_set(void);
2324char *U_WMRB2_set(void);
2325char *U_WMRB3_set(void);
2326char *U_WMRB4_set(void);
2327char *U_WMRB5_set(void);
2328char *U_WMRB6_set(void);
2329char *U_WMRB7_set(void);
2330char *U_WMRB8_set(void);
2331char *U_WMRB9_set(void);
2332char *U_WMRBA_set(void);
2333char *U_WMRBB_set(void);
2334char *U_WMRBC_set(void);
2335char *U_WMRBD_set(void);
2336char *U_WMRBE_set(void);
2337char *U_WMRBF_set(void);
2338char *U_WMRC0_set(void);
2339char *U_WMRC1_set(void);
2340char *U_WMRC2_set(void);
2341char *U_WMRC3_set(void);
2342char *U_WMRC4_set(void);
2343char *U_WMRC5_set(void);
2344char *U_WMRC6_set(void);
2345char *U_WMRC7_set(void);
2346char *U_WMRC8_set(void);
2347char *U_WMRC9_set(void);
2348char *U_WMRCA_set(void);
2349char *U_WMRCB_set(void);
2350char *U_WMRCC_set(void);
2351char *U_WMRCD_set(void);
2352char *U_WMRCE_set(void);
2353char *U_WMRCF_set(void);
2354char *U_WMRD0_set(void);
2355char *U_WMRD1_set(void);
2356char *U_WMRD2_set(void);
2357char *U_WMRD3_set(void);
2358char *U_WMRD4_set(void);
2359char *U_WMRD5_set(void);
2360char *U_WMRD6_set(void);
2361char *U_WMRD7_set(void);
2362char *U_WMRD8_set(void);
2363char *U_WMRD9_set(void);
2364char *U_WMRDA_set(void);
2365char *U_WMRDB_set(void);
2366char *U_WMRDC_set(void);
2367char *U_WMRDD_set(void);
2368char *U_WMRDE_set(void);
2369char *U_WMRDF_set(void);
2370char *U_WMRE0_set(void);
2371char *U_WMRE1_set(void);
2372char *U_WMRE2_set(void);
2373char *U_WMRE3_set(void);
2374char *U_WMRE4_set(void);
2375char *U_WMRE5_set(void);
2376char *U_WMRE6_set(void);
2377char *U_WMRE7_set(void);
2378char *U_WMRE8_set(void);
2379char *U_WMRE9_set(void);
2380char *U_WMREA_set(void);
2381char *U_WMREB_set(void);
2382char *U_WMREC_set(void);
2383char *U_WMRED_set(void);
2384char *U_WMREE_set(void);
2385char *U_WMREF_set(void);
2386char *U_WMRDELETEOBJECT_set(uint16_t object);
2387char *U_WMRF1_set(void);
2388char *U_WMRF2_set(void);
2389char *U_WMRF3_set(void);
2390char *U_WMRF4_set(void);
2391char *U_WMRF5_set(void);
2392char *U_WMRF6_set(void);
2393char *U_WMRCREATEPALETTE_set(U_PALETTE *Palette);
2394char *U_WMRF8_set(void);
2395char *U_WMRCREATEPATTERNBRUSH_set(U_BITMAP16 *Bm16, char *Pattern);
2396char *U_WMRCREATEPENINDIRECT_set(U_PEN pen);
2397char *U_WMRCREATEFONTINDIRECT_set(U_FONT *font);
2398char *U_WMRCREATEBRUSHINDIRECT_set(U_WLOGBRUSH brush);
2399char *U_WMRCREATEBITMAPINDIRECT_set(void); /* in GDI and Wine, not in WMF manual. */
2400char *U_WMRCREATEBITMAP_set(void); /* in GDI and Wine, not in WMF manual. */
2401char *U_WMRCREATEREGION_set(const U_REGION *region);
2402
2403int16_t *dx16_get( int32_t height, uint32_t weight, uint32_t members);
2404size_t U_WMRRECSAFE_get(const char *contents, const char *blimit);
2405int wmfheader_get(const char *contents, const char *blimit, U_WMRPLACEABLE *Placeable, U_WMRHEADER *Header);
2406int wmr_arc_points(U_RECT16 rclBox, U_POINT16 ArcStart, U_POINT16 ArcEnd,
2407 int *f1, int f2, U_PAIRF *center, U_PAIRF *start, U_PAIRF *end, U_PAIRF *size );
2408void U_BITMAPINFOHEADER_get(const char *Bmih, uint32_t *Size, int32_t *Width, int32_t *Height,
2409 uint32_t *Planes, uint32_t *BitCount, uint32_t *Compression, uint32_t *SizeImage,
2410 int32_t *XPelsPerMeter, int32_t *YPelsPerMeter, uint32_t *ClrUsed, uint32_t *ClrImportant);
2411void U_BITMAPCOREHEADER_get(const char *BmiCh, uint32_t *Size, int32_t *Width, int32_t *Height, int32_t *BitCount);
2412int wget_DIB_params(const char *dib, const char **px, const U_RGBQUAD **ct, uint32_t *numCt,
2413 int32_t *width, int32_t *height, int32_t *colortype, int32_t *invert);
2414int U_WMREOF_get(const char *contents);
2415int U_WMRSETBKCOLOR_get(const char *contents, U_COLORREF *Color);
2416int U_WMRSETBKMODE_get(const char *contents, uint16_t *Mode);
2417int U_WMRSETMAPMODE_get(const char *contents, uint16_t *Mode);
2418int U_WMRSETROP2_get(const char *contents, uint16_t *Mode);
2419int U_WMRSETRELABS_get(const char *contents);
2420int U_WMRSETPOLYFILLMODE_get(const char *contents, uint16_t *Mode);
2421int U_WMRSETSTRETCHBLTMODE_get(const char *contents, uint16_t *Mode);
2422int U_WMRSETTEXTCHAREXTRA_get(const char *contents, uint16_t *Mode);
2423int U_WMRSETTEXTCOLOR_get(const char *contents, U_COLORREF *Color);
2424int U_WMRSETTEXTJUSTIFICATION_get(const char *contents, uint16_t *Count, uint16_t *Extra);
2425int U_WMRSETWINDOWORG_get(const char *contents, U_POINT16 * coord);
2426int U_WMRSETWINDOWEXT_get(const char *contents, U_POINT16 * extent);
2427int U_WMRSETVIEWPORTORG_get(const char *contents, U_POINT16 * coord);
2428int U_WMRSETVIEWPORTEXT_get(const char *contents, U_POINT16 * extent);
2429int U_WMROFFSETWINDOWORG_get(const char *contents, U_POINT16 * offset);
2430int U_WMRSCALEWINDOWEXT_get(const char *contents, U_POINT16 * Denom, U_POINT16 * Num);
2431int U_WMROFFSETVIEWPORTORG_get(const char *contents, U_POINT16 * offset);
2432int U_WMRSCALEVIEWPORTEXT_get(const char *contents, U_POINT16 * Denom, U_POINT16 * Num);
2433int U_WMRLINETO_get(const char *contents, U_POINT16 * coord);
2434int U_WMRMOVETO_get(const char *contents, U_POINT16 * coord);
2435int U_WMREXCLUDECLIPRECT_get(const char *contents, U_RECT16 * rect);
2436int U_WMRINTERSECTCLIPRECT_get(const char *contents, U_RECT16 * rect);
2437int U_WMRARC_get(const char *contents, U_POINT16 * StartArc, U_POINT16 * EndArc, U_RECT16 * rect);
2438int U_WMRELLIPSE_get(const char *contents, U_RECT16 * rect);
2439int U_WMRFLOODFILL_get(const char *contents, uint16_t *Mode, U_COLORREF *Color, U_POINT16 * coord);
2440int U_WMRPIE_get(const char *contents, U_POINT16 * Radial1, U_POINT16 * Radial2, U_RECT16 * rect);
2441int U_WMRRECTANGLE_get(const char *contents, U_RECT16 * rect);
2442int U_WMRROUNDRECT_get(const char *contents, int16_t *Width, int16_t *Height, U_RECT16 * rect);
2443int U_WMRPATBLT_get(const char *contents, U_POINT16 * Dst, U_POINT16 * cwh, uint32_t *dwRop3);
2444int U_WMRSAVEDC_get(const char *contents);
2445int U_WMRSETPIXEL_get(const char *contents, U_COLORREF *Color, U_POINT16 * coord);
2446int U_WMROFFSETCLIPRGN_get(const char *contents, U_POINT16 * offset);
2447int U_WMRTEXTOUT_get(const char *contents, U_POINT16 * Dst, int16_t *Length, const char **string);
2448int U_WMRBITBLT_get(const char *contents, U_POINT16 * Dst, U_POINT16 * cwh, U_POINT16 * Src, uint32_t *dwRop3, U_BITMAP16 *Bm16, const char **px);
2449int U_WMRSTRETCHBLT_get(const char *contents, U_POINT16 * Dst, U_POINT16 * cDst, U_POINT16 * Src, U_POINT16 * cSrc, uint32_t *dwRop3, U_BITMAP16 *Bm16, const char **px);
2450int U_WMRPOLYGON_get(const char *contents, uint16_t *Length, const char **Data);
2451int U_WMRPOLYLINE_get(const char *contents, uint16_t *Length, const char **Data);
2452int U_WMRESCAPE_get(const char *contents, uint16_t *Escape, uint16_t *Length, const char **Data);
2453int U_WMRRESTOREDC_get(const char *contents, int16_t *DC);
2454int U_WMRFILLREGION_get(const char *contents, uint16_t *Region, uint16_t *Brush);
2455int U_WMRFRAMEREGION_get(const char *contents, uint16_t *Region, uint16_t *Brush, int16_t *Height, int16_t *Width);
2456int U_WMRINVERTREGION_get(const char *contents, uint16_t *Region);
2457int U_WMRPAINTREGION_get(const char *contents, uint16_t *Region);
2458int U_WMRSELECTCLIPREGION_get(const char *contents, uint16_t *Region);
2459int U_WMRSELECTOBJECT_get(const char *contents, uint16_t *Object);
2460int U_WMRSETTEXTALIGN_get(const char *contents, uint16_t *Mode);
2461int U_WMRDRAWTEXT_get(void); /* in GDI and Wine, not in WMF manual. */
2462int U_WMRCHORD_get(const char *contents, U_POINT16 * Radial1, U_POINT16 * Radial2, U_RECT16 * rect);
2463int U_WMRSETMAPPERFLAGS_get(const char *contents, uint32_t *Mode);
2464int U_WMREXTTEXTOUT_get(const char *contents, U_POINT16 * Dst, int16_t *Length, uint16_t *Opts, const char **string, const int16_t **dx, U_RECT16 * rect);
2465int U_WMRSETDIBTODEV_get(const char *contents, U_POINT16 * Dst, U_POINT16 * cwh, U_POINT16 * Src, uint16_t *cUsage, uint16_t *ScanCount, uint16_t *StartScan, const char **dib);
2466int U_WMRSELECTPALETTE_get(const char *contents, uint16_t *Palette);
2467int U_WMRREALIZEPALETTE_get(const char *contents);
2468int U_WMRANIMATEPALETTE_get(const char *contents, U_PALETTE *Palette, const char **PalEntries);
2469int U_WMRSETPALENTRIES_get(const char *contents, U_PALETTE *Palette, const char **PalEntries);
2470int U_WMRPOLYPOLYGON_get(const char *contents, uint16_t *nPolys, const uint16_t **aPolyCounts, const char **Points);
2471int U_WMRRESIZEPALETTE_get(const char *contents, uint16_t *Palette);
2472int U_WMR3A_get(void);
2473int U_WMR3B_get(void);
2474int U_WMR3C_get(void);
2475int U_WMR3D_get(void);
2476int U_WMR3E_get(void);
2477int U_WMR3F_get(void);
2478int U_WMRDIBBITBLT_get(const char *contents, U_POINT16 * Dst, U_POINT16 * cwh, U_POINT16 * Src, uint32_t *dwRop3, const char **dib);
2479int U_WMRDIBSTRETCHBLT_get(const char *contents, U_POINT16 * Dst, U_POINT16 * cDst, U_POINT16 * Src, U_POINT16 * cSrc, uint32_t *dwRop3, const char **dib);
2480int U_WMRDIBCREATEPATTERNBRUSH_get(const char *contents, uint16_t *Style, uint16_t *cUsage, const char **Bm16, const char **dib);
2481int U_WMRSTRETCHDIB_get(const char *contents, U_POINT16 * Dst, U_POINT16 * cDst, U_POINT16 * Src, U_POINT16 * cSrc, uint16_t *cUsage, uint32_t *dwRop3, const char **dib);
2482int U_WMR44_get(void);
2483int U_WMR45_get(void);
2484int U_WMR46_get(void);
2485int U_WMR47_get(void);
2486int U_WMREXTFLOODFILL_get(const char *contents, uint16_t *Mode, U_COLORREF *Color, U_POINT16 * coord);
2487int U_WMR49_get(void);
2488int U_WMR4A_get(void);
2489int U_WMR4B_get(void);
2490int U_WMR4C_get(void);
2491int U_WMR4D_get(void);
2492int U_WMR4E_get(void);
2493int U_WMR4F_get(void);
2494int U_WMR50_get(void);
2495int U_WMR51_get(void);
2496int U_WMRABORTDOC_get(void);
2497int U_WMR53_get(void);
2498int U_WMR54_get(void);
2499int U_WMR55_get(void);
2500int U_WMR56_get(void);
2501int U_WMR57_get(void);
2502int U_WMR58_get(void);
2503int U_WMR59_get(void);
2504int U_WMR5A_get(void);
2505int U_WMR5B_get(void);
2506int U_WMR5C_get(void);
2507int U_WMR5D_get(void);
2508int U_WMR5E_get(void);
2509int U_WMR5F_get(void);
2510int U_WMR60_get(void);
2511int U_WMR61_get(void);
2512int U_WMR62_get(void);
2513int U_WMR63_get(void);
2514int U_WMR64_get(void);
2515int U_WMR65_get(void);
2516int U_WMR66_get(void);
2517int U_WMR67_get(void);
2518int U_WMR68_get(void);
2519int U_WMR69_get(void);
2520int U_WMR6A_get(void);
2521int U_WMR6B_get(void);
2522int U_WMR6C_get(void);
2523int U_WMR6D_get(void);
2524int U_WMR6E_get(void);
2525int U_WMR6F_get(void);
2526int U_WMR70_get(void);
2527int U_WMR71_get(void);
2528int U_WMR72_get(void);
2529int U_WMR73_get(void);
2530int U_WMR74_get(void);
2531int U_WMR75_get(void);
2532int U_WMR76_get(void);
2533int U_WMR77_get(void);
2534int U_WMR78_get(void);
2535int U_WMR79_get(void);
2536int U_WMR7A_get(void);
2537int U_WMR7B_get(void);
2538int U_WMR7C_get(void);
2539int U_WMR7D_get(void);
2540int U_WMR7E_get(void);
2541int U_WMR7F_get(void);
2542int U_WMR80_get(void);
2543int U_WMR81_get(void);
2544int U_WMR82_get(void);
2545int U_WMR83_get(void);
2546int U_WMR84_get(void);
2547int U_WMR85_get(void);
2548int U_WMR86_get(void);
2549int U_WMR87_get(void);
2550int U_WMR88_get(void);
2551int U_WMR89_get(void);
2552int U_WMR8A_get(void);
2553int U_WMR8B_get(void);
2554int U_WMR8C_get(void);
2555int U_WMR8D_get(void);
2556int U_WMR8E_get(void);
2557int U_WMR8F_get(void);
2558int U_WMR90_get(void);
2559int U_WMR91_get(void);
2560int U_WMR92_get(void);
2561int U_WMR93_get(void);
2562int U_WMR94_get(void);
2563int U_WMR95_get(void);
2564int U_WMR96_get(void);
2565int U_WMR97_get(void);
2566int U_WMR98_get(void);
2567int U_WMR99_get(void);
2568int U_WMR9A_get(void);
2569int U_WMR9B_get(void);
2570int U_WMR9C_get(void);
2571int U_WMR9D_get(void);
2572int U_WMR9E_get(void);
2573int U_WMR9F_get(void);
2574int U_WMRA0_get(void);
2575int U_WMRA1_get(void);
2576int U_WMRA2_get(void);
2577int U_WMRA3_get(void);
2578int U_WMRA4_get(void);
2579int U_WMRA5_get(void);
2580int U_WMRA6_get(void);
2581int U_WMRA7_get(void);
2582int U_WMRA8_get(void);
2583int U_WMRA9_get(void);
2584int U_WMRAA_get(void);
2585int U_WMRAB_get(void);
2586int U_WMRAC_get(void);
2587int U_WMRAD_get(void);
2588int U_WMRAE_get(void);
2589int U_WMRAF_get(void);
2590int U_WMRB0_get(void);
2591int U_WMRB1_get(void);
2592int U_WMRB2_get(void);
2593int U_WMRB3_get(void);
2594int U_WMRB4_get(void);
2595int U_WMRB5_get(void);
2596int U_WMRB6_get(void);
2597int U_WMRB7_get(void);
2598int U_WMRB8_get(void);
2599int U_WMRB9_get(void);
2600int U_WMRBA_get(void);
2601int U_WMRBB_get(void);
2602int U_WMRBC_get(void);
2603int U_WMRBD_get(void);
2604int U_WMRBE_get(void);
2605int U_WMRBF_get(void);
2606int U_WMRC0_get(void);
2607int U_WMRC1_get(void);
2608int U_WMRC2_get(void);
2609int U_WMRC3_get(void);
2610int U_WMRC4_get(void);
2611int U_WMRC5_get(void);
2612int U_WMRC6_get(void);
2613int U_WMRC7_get(void);
2614int U_WMRC8_get(void);
2615int U_WMRC9_get(void);
2616int U_WMRCA_get(void);
2617int U_WMRCB_get(void);
2618int U_WMRCC_get(void);
2619int U_WMRCD_get(void);
2620int U_WMRCE_get(void);
2621int U_WMRCF_get(void);
2622int U_WMRD0_get(void);
2623int U_WMRD1_get(void);
2624int U_WMRD2_get(void);
2625int U_WMRD3_get(void);
2626int U_WMRD4_get(void);
2627int U_WMRD5_get(void);
2628int U_WMRD6_get(void);
2629int U_WMRD7_get(void);
2630int U_WMRD8_get(void);
2631int U_WMRD9_get(void);
2632int U_WMRDA_get(void);
2633int U_WMRDB_get(void);
2634int U_WMRDC_get(void);
2635int U_WMRDD_get(void);
2636int U_WMRDE_get(void);
2637int U_WMRDF_get(void);
2638int U_WMRE0_get(void);
2639int U_WMRE1_get(void);
2640int U_WMRE2_get(void);
2641int U_WMRE3_get(void);
2642int U_WMRE4_get(void);
2643int U_WMRE5_get(void);
2644int U_WMRE6_get(void);
2645int U_WMRE7_get(void);
2646int U_WMRE8_get(void);
2647int U_WMRE9_get(void);
2648int U_WMREA_get(void);
2649int U_WMREB_get(void);
2650int U_WMREC_get(void);
2651int U_WMRED_get(void);
2652int U_WMREE_get(void);
2653int U_WMREF_get(void);
2654int U_WMRDELETEOBJECT_get(const char *contents, uint16_t *Object);
2655int U_WMRF1_get(void);
2656int U_WMRF2_get(void);
2657int U_WMRF3_get(void);
2658int U_WMRF4_get(void);
2659int U_WMRF5_get(void);
2660int U_WMRF6_get(void);
2661int U_WMRCREATEPALETTE_get(const char *contents, U_PALETTE *Palette, const char **PalEntries);
2662int U_WMRF8_get(void);
2663int U_WMRCREATEPATTERNBRUSH_get(const char *contents, U_BITMAP16 *Bm16, int *pasize, const char **Pattern);
2664int U_WMRCREATEPENINDIRECT_get(const char *contents, U_PEN *pen);
2665int U_WMRCREATEFONTINDIRECT_get(const char *contents, const char **font);
2666int U_WMRCREATEBRUSHINDIRECT_get(const char *contents, const char **brush);
2667int U_WMRCREATEBITMAPINDIRECT_get(void);
2668int U_WMRCREATEBITMAP_get(void);
2669int U_WMRCREATEREGION_get(const char *contents, const char **Region);
2671
2672
2673#ifdef __cplusplus
2674}
2675#endif
2676
2677#endif /* _UWMF_ */
uint32_t Color
RectangularCluster rc
double offset
Geom::Point start
Geom::Point end
int size
int buf
unsigned long weight
Definition quantize.cpp:37
void invert(const double v[16], double alpha[16])
Bitmap16 Object WMF manual 2.2.2.1.
Definition uwmf.h:869
uint8_t Planes
must be 1.
Definition uwmf.h:874
int16_t Height
bitmap height in scan lines.
Definition uwmf.h:872
int16_t Type
"bitmap type" MS PDF does not define this field beyond this.
Definition uwmf.h:870
int16_t WidthBytes
bytes per scan line.
Definition uwmf.h:873
uint8_t BitsPixel
number of adjacent color bits on each plane (R bits + G bits + B bits ????)
Definition uwmf.h:875
int16_t Width
bitmap width in pixels.
Definition uwmf.h:871
BitmapCoreHeader Object WMF manual 2.2.2.2.
Definition uwmf.h:880
uint16_t BitCount
Pixel Format (BitCount Enumeration)
Definition uwmf.h:885
uint16_t Height
DIB height in pixels.
Definition uwmf.h:883
uint16_t Width
DIB width in pixels.
Definition uwmf.h:882
uint16_t Planes
must be 1
Definition uwmf.h:884
For U_EMR_* OffBmi* fields.
Definition uemf.h:2045
Brush Object WMF manual 2.2.1.1.
Definition uwmf.h:773
U_COLORREF Color
Brush Color value, 32 bit value is not aligned.
Definition uwmf.h:775
uint16_t Style
BrushStyle Enumeration.
Definition uwmf.h:774
WMF manual 2.2.2.7.
Definition uemf.h:461
WMF manual 2.2.2.8.
Definition uemf.h:474
Font Object WMF manual 2.2.1.2 Warning, only pass by pointer, passing by value will will truncate in ...
Definition uwmf.h:783
int16_t Weight
LF_Weight Enumeration.
Definition uwmf.h:788
int16_t Escapement
Angle in 0.1 degrees betweem escapement vector and X axis.
Definition uwmf.h:786
uint8_t OutPrecision
LF_OutPrecision Enumeration.
Definition uwmf.h:793
uint8_t ClipPrecision
LF_ClipPrecision Enumeration.
Definition uwmf.h:794
int16_t Width
Average Width in Logical units.
Definition uwmf.h:785
uint8_t Italic
LF_Italic Enumeration.
Definition uwmf.h:789
int16_t Orientation
Angle in 0.1 degrees between baseline and X axis.
Definition uwmf.h:787
uint8_t CharSet
LF_CharSet Enumeration.
Definition uwmf.h:792
int16_t Height
Height in Logical units.
Definition uwmf.h:784
uint8_t StrikeOut
LF_StrikeOut Enumeration.
Definition uwmf.h:791
uint8_t PitchAndFamily
LF_PitchAndFamily Enumeration.
Definition uwmf.h:796
uint8_t Underline
LF_Underline Enumeration.
Definition uwmf.h:790
uint8_t Quality
LF_Quality Enumeration.
Definition uwmf.h:795
SizeL Object WMF manual 2.2.2.22 Same as "EMF SIZEL Object" in uemf.h.
Definition uwmf.h:1070
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1072
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1073
Any generic pair of floats.
Definition uemf.h:1637
Palette Object WMF manual 2.2.1.3 NOT Same as "EMF LogPalette Object" in uemf.h because Palette Entri...
Definition uwmf.h:818
uint16_t Start
Either 0x0300 or an offset into the Palette table.
Definition uwmf.h:819
uint16_t NumEntries
Number of U_LOGPLTNTRY objects.
Definition uwmf.h:820
Pen Object WMF manual 2.2.1.4.
Definition uwmf.h:826
U_COLORREF Color
Pen Color, the 32 bit value is not aligned.
Definition uwmf.h:829
uint16_t Style
PenStyle Enumeration.
Definition uwmf.h:827
PaletteEntry Object WMF manual 2.2.2.13 Note, NOT compatiable with U_LOGPLTNTRY Out of PDF order beca...
Definition uwmf.h:804
uint8_t Blue
Palette entry Blue Intensity.
Definition uwmf.h:806
uint8_t Green
Palette entry Green Intensity.
Definition uwmf.h:807
uint8_t Value
0 or PaletteEntryFlag Enumeration
Definition uwmf.h:805
uint8_t Red
Palette entry Red Intensity.
Definition uwmf.h:808
WMF manual 2.2.2.16.
Definition uemf.h:563
WMF manual 2.2.2.17.
Definition uwmf.h:1028
uint16_t nPolys
Number of polygons.
Definition uwmf.h:1029
Rect Object WMF manual 2.2.2.18.
Definition uwmf.h:840
int16_t bottom
bottom coordinate
Definition uwmf.h:844
int16_t right
right coordinate
Definition uwmf.h:843
int16_t top
top coordinate
Definition uwmf.h:842
int16_t left
left coordinate
Definition uwmf.h:841
Region Object WMF manual 2.2.1.5.
Definition uwmf.h:851
uint16_t Type
must be 0x0006.
Definition uwmf.h:853
uint16_t ignore2
unused value
Definition uwmf.h:854
int16_t sMax
largest number of points in any scan
Definition uwmf.h:857
U_RECT16 sRect
bounding rectangle
Definition uwmf.h:858
int16_t Size
aScans in bytes + regions size in bytes (size of this header plus all U_SCAN objects?...
Definition uwmf.h:855
int16_t sCount
number of scanlines in region
Definition uwmf.h:856
uint16_t ignore1
unused value
Definition uwmf.h:852
WMF manual 2.2.2.20.
Definition uemf.h:592
Scan Object WMF manual 2.2.2.21.
Definition uwmf.h:1052
uint16_t bottom
Y coordinate of the bottom scanline.
Definition uwmf.h:1055
uint16_t top
Y coordinate of the top scanline.
Definition uwmf.h:1054
uint16_t count
Number of entries in the ScanLines array.
Definition uwmf.h:1053
BitmapInfoHeader Object WMF manual 2.2.2.3 Same as "EMF BITMAPINFOHEADER Object" in uemf....
Definition uwmf.h:986
uint16_t Style
BrushStyle Enumeration.
Definition uwmf.h:987
U_COLORREF Color
Brush Color value, 32 bit value is not aligned.
Definition uwmf.h:988
uint16_t Hatch
HatchStyle Enumeration.
Definition uwmf.h:989
WMF manual 2.3.5.1.
Definition uwmf.h:1645
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1647
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1648
U_PALETTE Palette
Palette object.
Definition uwmf.h:1649
WMF manual 2.3.3.1.
Definition uwmf.h:1251
int16_t xStartArc
Coordinates in logical units.
Definition uwmf.h:1258
int16_t yStartArc
Coordinates in logical units.
Definition uwmf.h:1257
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1254
int16_t Right
Coordinates in logical units.
Definition uwmf.h:1260
int16_t Bottom
Coordinates in logical units.
Definition uwmf.h:1259
int16_t yEndArc
Coordinates in logical units.
Definition uwmf.h:1255
int16_t xEndArc
Coordinates in logical units.
Definition uwmf.h:1256
int16_t Left
Coordinates in logical units.
Definition uwmf.h:1262
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1253
int16_t Top
Coordinates in logical units.
Definition uwmf.h:1261
WMF manual 2.3.1.1.
Definition uwmf.h:1392
int16_t xSrc
in logical units (UL corner of Src rect)
Definition uwmf.h:1398
int16_t ySrc
in logical units (UL corner of Src rect)
Definition uwmf.h:1397
int16_t Height
in logical units (of Src and Dst rects)
Definition uwmf.h:1400
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1395
int16_t xDst
in logical units (UL corner of Dst rect)
Definition uwmf.h:1403
int16_t ignore
ignore
Definition uwmf.h:1399
int16_t yDst
in logical units (UL corner of Dst rect)
Definition uwmf.h:1402
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1394
int16_t Width
in logical units (of Src and Dst rects)
Definition uwmf.h:1401
WMF manual 2.3.1.1.
Definition uwmf.h:1414
int16_t Width
in logical units (of Src and Dst rects)
Definition uwmf.h:1422
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1416
int16_t ySrc
in logical units (UL corner of Src rect)
Definition uwmf.h:1419
U_BITMAP16 bitmap
Src bitmap.
Definition uwmf.h:1425
int16_t Height
in logical units (of Src and Dst rects)
Definition uwmf.h:1421
int16_t xSrc
in logical units (UL corner of Src rect)
Definition uwmf.h:1420
int16_t yDst
in logical units (UL corner of Dst rect)
Definition uwmf.h:1423
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1417
int16_t xDst
in logical units (UL corner of Dst rect)
Definition uwmf.h:1424
WMF manual 2.3.4.1.
Definition uwmf.h:2016
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:2018
U_WLOGBRUSH brush
WLogBrush Object.
Definition uwmf.h:2020
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:2019
WMF manual 2.3.4.2.
Definition uwmf.h:2006
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:2009
U_FONT font
Font Object.
Definition uwmf.h:2010
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:2008
WMF manual 2.3.4.4.
Definition uwmf.h:1987
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1989
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1990
WMF manual 2.3.4.5.
Definition uwmf.h:1996
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1998
U_PEN pen
Pen Object.
Definition uwmf.h:2000
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1999
WMF manual 2.3.4.6.
Definition uwmf.h:2030
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:2032
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:2033
U_REGION region
Region Object.
Definition uwmf.h:2034
WMF manual 2.3.1.2.
Definition uwmf.h:1677
int16_t xSrc
in logical units (UL corner of Src rect)
Definition uwmf.h:1683
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1679
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1680
int16_t yDst
in logical units (UL corner of Dst rect)
Definition uwmf.h:1687
int16_t Height
in logical units (of Src and Dst)
Definition uwmf.h:1685
int16_t ySrc
in logical units (UL corner of Src rect)
Definition uwmf.h:1682
uint16_t ignore
ignore
Definition uwmf.h:1684
int16_t Width
in logical units (of Src and Dst)
Definition uwmf.h:1686
int16_t xDst
in logical units (UL corner of Dst rect)
Definition uwmf.h:1688
WMF manual 2.3.1.2.
Definition uwmf.h:1700
int16_t Width
in logical units (of Src and Dst)
Definition uwmf.h:1708
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1702
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1703
int16_t Height
in logical units (of Src and Dst)
Definition uwmf.h:1707
int16_t xSrc
in logical units (UL corner of Src rect)
Definition uwmf.h:1706
int16_t xDst
in logical units (UL corner of Dst rect)
Definition uwmf.h:1710
int16_t ySrc
in logical units (UL corner of Src rect)
Definition uwmf.h:1705
int16_t yDst
in logical units (UL corner of Dst rect)
Definition uwmf.h:1709
WMF manual 2.3.4.8.
Definition uwmf.h:1777
uint16_t cUsage
See table above.
Definition uwmf.h:1782
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1779
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1780
uint16_t Style
BrushStyle Enumeration.
Definition uwmf.h:1781
WMF manual 2.3.1.3.
Definition uwmf.h:1724
int16_t ySrc
in logical units (UL corner of Src rect)
Definition uwmf.h:1731
int16_t hSrc
in logical units (of Src)
Definition uwmf.h:1729
int16_t yDst
in logical units (UL corner of Dst rect)
Definition uwmf.h:1736
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1726
int16_t xSrc
in logical units (UL corner of Src rect)
Definition uwmf.h:1732
int16_t wDst
in logical units (of Dst)
Definition uwmf.h:1735
int16_t wSrc
in logical units (of Src)
Definition uwmf.h:1730
int16_t xDst
in logical units (UL corner of Dst rect)
Definition uwmf.h:1737
uint16_t ignore
ignore
Definition uwmf.h:1733
int16_t hDst
in logical units (of Dst)
Definition uwmf.h:1734
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1727
WMF manual 2.3.1.3.
Definition uwmf.h:1749
int16_t wDst
in logical units (of Dst)
Definition uwmf.h:1759
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1751
int16_t ySrc
in logical units (UL corner of Src rect)
Definition uwmf.h:1756
int16_t xSrc
in logical units (UL corner of Src rect)
Definition uwmf.h:1757
int16_t hDst
in logical units (of Dst)
Definition uwmf.h:1758
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1752
int16_t wSrc
in logical units (of Src)
Definition uwmf.h:1755
int16_t xDst
in logical units (UL corner of Dst rect)
Definition uwmf.h:1761
int16_t yDst
in logical units (UL corner of Dst rect)
Definition uwmf.h:1760
int16_t hSrc
in logical units (of Src)
Definition uwmf.h:1754
in GDI and Wine, not documented in WMF manual.
Definition uwmf.h:1572
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1575
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1574
WMF manual 2.3.3.3.
Definition uwmf.h:1270
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1273
int16_t Right
Coordinates in logical units.
Definition uwmf.h:1275
int16_t Bottom
Coordinates in logical units.
Definition uwmf.h:1274
int16_t Top
Coordinates in logical units.
Definition uwmf.h:1276
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1272
int16_t Left
Coordinates in logical units.
Definition uwmf.h:1277
WMF manual 2.3.2.1 META_EOF.
Definition uwmf.h:1110
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1112
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1113
WMF manual 2.3.6.1.
Definition uwmf.h:1496
uint16_t nBytes
bytes in the data array
Definition uwmf.h:1501
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1499
uint16_t eFunc
Escape function.
Definition uwmf.h:1500
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1498
WMF manual 2.3.5.2.
Definition uwmf.h:1237
int16_t Right
Coordinates in logical units.
Definition uwmf.h:1242
int16_t Bottom
Coordinates in logical units.
Definition uwmf.h:1241
int16_t Top
Coordinates in logical units.
Definition uwmf.h:1243
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1240
int16_t Left
Coordinates in logical units.
Definition uwmf.h:1244
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1239
WMF manual 2.3.3.5.
Definition uwmf.h:1604
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1607
int16_t Length
Stringlength in bytes.
Definition uwmf.h:1610
int16_t y
in logical units (draw point)
Definition uwmf.h:1608
uint16_t Opts
ExtTextOutOptions Flags.
Definition uwmf.h:1611
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1606
int16_t x
in logical units (draw point)
Definition uwmf.h:1609
WMF manual 2.3.3.6.
Definition uwmf.h:1518
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1521
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1520
uint16_t Brush
Index of brush to use in object table.
Definition uwmf.h:1523
uint16_t Region
Index of region to fill in object table.
Definition uwmf.h:1522
WMF manual 2.3.3.7.
Definition uwmf.h:1286
int16_t Mode
FloodFill Enumeration.
Definition uwmf.h:1290
U_COLORREF Color
Color.
Definition uwmf.h:1291
int16_t y
Y.
Definition uwmf.h:1292
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1289
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1288
int16_t x
X.
Definition uwmf.h:1293
WMF manual 2.3.3.8.
Definition uwmf.h:1529
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1531
uint16_t Brush
Index of brush to use in frame in object table.
Definition uwmf.h:1534
int16_t Height
in logical units (of frame)
Definition uwmf.h:1535
uint16_t Region
Index of region to frame in object table.
Definition uwmf.h:1533
int16_t Width
in logical units (of frame)
Definition uwmf.h:1536
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1532
WMF manual 2.3.2.2 META_HEADER.
Definition uwmf.h:1092
uint16_t nObjects
Total number of brushes, pens, and other graphics objects defined in this file.
Definition uwmf.h:1098
uint16_t Size16w
Total number of 16bit words in record.
Definition uwmf.h:1095
uint16_t nMembers
Unused, should be 0.
Definition uwmf.h:1100
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1094
uint32_t maxSize
Largest record in file, in number of 16bit words (This uint32_t is aligned)
Definition uwmf.h:1099
uint16_t version
Metafile version Enumeration.
Definition uwmf.h:1096
uint8_t iType
RecordType Enumeration, must be 1.
Definition uwmf.h:1093
WMF manual 2.3.3.9 invert region.
Definition uwmf.h:1550
uint16_t index
(usually) index of region/object in object table
Definition uwmf.h:1554
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1553
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1552
WMF manual 2.3.3.12.
Definition uwmf.h:1338
int16_t yDst
in logical units (UL corner to fill)
Definition uwmf.h:1345
int16_t Height
in logical units (of Rect to Fill)
Definition uwmf.h:1343
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1340
int16_t xDst
in logical units (UL corner to fill)
Definition uwmf.h:1346
int16_t Width
in logical units (of Rect to Fill)
Definition uwmf.h:1344
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1341
WMF manual 2.3.3.13.
Definition uwmf.h:1302
int16_t xRadial2
in logical units
Definition uwmf.h:1307
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1305
int16_t Bottom
in logical units
Definition uwmf.h:1310
int16_t Top
in logical units
Definition uwmf.h:1312
int16_t xRadial1
in logical units
Definition uwmf.h:1309
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1304
int16_t Left
in logical units
Definition uwmf.h:1313
int16_t yRadial1
in logical units
Definition uwmf.h:1308
int16_t yRadial2
in logical units
Definition uwmf.h:1306
int16_t Right
in logical units
Definition uwmf.h:1311
WMF manual 2.3.2.3 META_PLACEABLE If present this must immediately precede the header.
Definition uwmf.h:1081
uint16_t Checksum
Checksum of preceding 10 16 bit values.
Definition uwmf.h:1087
uint16_t HWmf
0. (Always. Manual says total number of 16bit words in record, but no examples found like that)
Definition uwmf.h:1083
uint32_t Key
MUST be 0x9AC6CDD7.
Definition uwmf.h:1082
uint32_t Reserved
must be 0
Definition uwmf.h:1086
uint16_t Inch
Logical units/inch (convention if not specified: 1440 logical units/inch)
Definition uwmf.h:1085
U_RECT16 Dst
Destination bounding box in logical units.
Definition uwmf.h:1084
WMF manual 2.3.3.15.
Definition uwmf.h:1484
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1486
int16_t nPoints
Number of points in aPoints.
Definition uwmf.h:1488
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1487
WMF manual 2.3.3.16.
Definition uwmf.h:1657
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1659
U_POLYPOLYGON PPolygon
PolyPolygon object (size is variable!)
Definition uwmf.h:1661
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1660
WMF manual 2.3.5.10.
Definition uwmf.h:1508
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1510
int16_t DC
DC to restore (negative is relative to current, positive is absolute)
Definition uwmf.h:1512
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1511
WMF manual 2.3.3.18.
Definition uwmf.h:1322
int16_t Left
in logical units
Definition uwmf.h:1331
int16_t Bottom
in logical units
Definition uwmf.h:1328
int16_t Height
in logical units (rounded corner)
Definition uwmf.h:1326
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1325
int16_t Width
in logical units (rounded corner)
Definition uwmf.h:1327
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1324
int16_t Top
in logical units
Definition uwmf.h:1330
int16_t Right
in logical units
Definition uwmf.h:1329
WMF manual 2.3.5.13.
Definition uwmf.h:1214
int16_t xNum
X numerator.
Definition uwmf.h:1221
int16_t yNum
Y numerator.
Definition uwmf.h:1219
int16_t xDenom
X denominator.
Definition uwmf.h:1220
int16_t yDenom
Y denominator.
Definition uwmf.h:1218
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1216
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1217
WMF manual 2.3.5.14.
Definition uwmf.h:1122
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1125
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1124
U_COLORREF Color
Color value, the 32 bit value is not aligned.
Definition uwmf.h:1126
WMF manual 2.3.5.15 mode = MixMode Enumeration.
Definition uwmf.h:1134
uint16_t Mode
Various Enumeraton.
Definition uwmf.h:1138
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1136
uint16_t Reserved
Ignore (ALSO OPTIONAL - FIELD MAY NOT BE PRESENT!!!!)
Definition uwmf.h:1139
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1137
WMF manual 2.3.1.4.
Definition uwmf.h:1619
uint16_t ScanCount
Number of scan lines in Src.
Definition uwmf.h:1624
uint16_t cUsage
ColorUsage Enumeration.
Definition uwmf.h:1623
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1622
int16_t Width
in logical units (of Src and Dst)
Definition uwmf.h:1629
int16_t xSrc
in logical units (UL corner of Src rect)
Definition uwmf.h:1627
uint16_t StartScan
First Scan line in Src.
Definition uwmf.h:1625
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1621
int16_t xDst
in logical units (UL corner of Dst rect)
Definition uwmf.h:1631
int16_t ySrc
in logical units (UL corner of Src rect)
Definition uwmf.h:1626
int16_t Height
in logical units (of Src and Dst)
Definition uwmf.h:1628
int16_t yDst
in logical units (UL corner of Dst rect)
Definition uwmf.h:1630
WMF manual 2.3.5.17 Mode = MapMode Enumeration.
Definition uwmf.h:1150
uint16_t Mode
Various Enumeraton and other.
Definition uwmf.h:1154
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1153
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1152
WMF manual 2.3.5.18.
Definition uwmf.h:1585
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1587
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1588
WMF manual 2.3.3.19.
Definition uwmf.h:1354
int16_t y
Y.
Definition uwmf.h:1359
int16_t x
X.
Definition uwmf.h:1360
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1356
U_COLORREF Color
Color.
Definition uwmf.h:1358
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1357
WMF manual 2.3.5.27.
Definition uwmf.h:1172
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1175
uint16_t Count
Number of space characters in the line.
Definition uwmf.h:1176
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1174
uint16_t Extra
Number of extra space characters to add to the line.
Definition uwmf.h:1177
WMF manual 2.3.5.31 Window X,Y origin.
Definition uwmf.h:1193
int16_t x
X value.
Definition uwmf.h:1198
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1196
int16_t y
Y value (note order!)
Definition uwmf.h:1197
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1195
WMF manual 2.3.1.5.
Definition uwmf.h:1438
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1440
int16_t ignore
ignored
Definition uwmf.h:1447
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1441
int16_t ySrc
in logical units (UL corner of Src rect)
Definition uwmf.h:1445
int16_t wSrc
Wdith in logical units of Dst rect.
Definition uwmf.h:1444
int16_t yDst
in logical units (UL corner of Dst rect)
Definition uwmf.h:1450
int16_t xSrc
in logical units (UL corner of Src rect)
Definition uwmf.h:1446
int16_t hDst
Height in logical units of Dst rect.
Definition uwmf.h:1448
int16_t hSrc
Height in logical units of Src rect.
Definition uwmf.h:1443
int16_t xDst
in logical units (UL corner of Dst rect)
Definition uwmf.h:1451
int16_t wDst
Wdith in logical units of Dst rect.
Definition uwmf.h:1449
WMF manual 2.3.1.5.
Definition uwmf.h:1463
int16_t xSrc
in logical units (UL corner of Src rect)
Definition uwmf.h:1471
int16_t wDst
Wdith in logical units of Dst rect.
Definition uwmf.h:1473
int16_t wSrc
Wdith in logical units of Dst rect.
Definition uwmf.h:1469
int16_t ySrc
in logical units (UL corner of Src rect)
Definition uwmf.h:1470
int16_t hSrc
Height in logical units of Src rect.
Definition uwmf.h:1468
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1465
int16_t hDst
Height in logical units of Dst rect.
Definition uwmf.h:1472
int16_t yDst
in logical units (UL corner of Dst rect)
Definition uwmf.h:1474
int16_t xDst
in logical units (UL corner of Dst rect)
Definition uwmf.h:1475
U_BITMAP16 bitmap
Src bitmap.
Definition uwmf.h:1476
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1466
WMF manual 2.3.1.6.
Definition uwmf.h:1789
int16_t xSrc
in logical units (UL corner of Src rect)
Definition uwmf.h:1798
int16_t yDst
in logical units (UL corner of Dst rect)
Definition uwmf.h:1801
int16_t wDst
in logical units (of Dst)
Definition uwmf.h:1800
uint16_t cUsage
ColorUsage Enumeration.
Definition uwmf.h:1794
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1792
int16_t xDst
in logical units (UL corner of Dst rect)
Definition uwmf.h:1802
int16_t wSrc
in logical units (of Src)
Definition uwmf.h:1796
int16_t ySrc
in logical units (UL corner of Src rect)
Definition uwmf.h:1797
int16_t hDst
in logical units (of Dst)
Definition uwmf.h:1799
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1791
int16_t hSrc
in logical units (of Src)
Definition uwmf.h:1795
WMF manual 2.3.3.20 Also part of the record, following String, and so at variable positions:
Definition uwmf.h:1374
uint8_t String
String to write, storage area must be 2n bytes.
Definition uwmf.h:1379
uint8_t xb
Extra high order byte associated with record type.
Definition uwmf.h:1377
uint8_t iType
RecordType Enumeration.
Definition uwmf.h:1376
int16_t Length
Stringlength in bytes.
Definition uwmf.h:1378
The various create functions need a place to put their handles, these are stored in the table below.
Definition uwmf.h:2067
uint32_t hilimit
Highest table slot occupied (currently)
Definition uwmf.h:2072
uint32_t * table
Array Buffer for constructing the WMF in memory.
Definition uwmf.h:2068
size_t chunk
Number to add if a realloc is required.
Definition uwmf.h:2070
size_t allocated
Slots in the buffer.
Definition uwmf.h:2069
uint32_t peak
Highest table slot occupied (ever)
Definition uwmf.h:2073
uint32_t lolimit
Lowest unoccupied table slot, may be a hole created by a deleteobject.
Definition uwmf.h:2071
Storage for keeping track of properties of the growing WMF file as records are added.
Definition uwmf.h:2045
char * buf
Buffer for constructing the EMF in memory.
Definition uwmf.h:2053
uint32_t sumObjects
Number of objects appended (used by WMF, not by EMF) [ also see wmf_highwater() ].
Definition uwmf.h:2055
uint32_t chunk
Number of bytes to add when more space is needed.
Definition uwmf.h:2052
uint32_t records
Number of records already contained.
Definition uwmf.h:2049
uint32_t PalEntries
Number of PalEntries (set from U_EMREOF)
Definition uwmf.h:2051
uint16_t ignore
size padding,not used
Definition uwmf.h:2050
uint32_t largest
Largest record size, in bytes (used by WMF, not by EMF)
Definition uwmf.h:2054
size_t allocated
Size of the buffer.
Definition uwmf.h:2047
FILE * fp
Open file.
Definition uwmf.h:2046
size_t used
Amount consumed.
Definition uwmf.h:2048
double height
double width
Glib::ustring name
Definition toolbars.cpp:55
Structures, definitions, and function prototypes for EMF files.
Prototypes for functions that manipulate UTF and various types of text.
struct U_WMRSETWINDOWORG U_WMRSETVIEWPORTEXT
WMF manual 2.3.5.28, Viewport X,Y extent.
struct U_WMRSETBKMODE U_WMRSETSTRETCHBLTMODE
WMF manual 2.3.5.23 Mode = StretchMode Enumeration.
struct U_WMRDRAWTEXT U_WMRCREATEBITMAP
in GDI and Wine, not documented in WMF manual.
struct U_WMRINVERTREGION U_WMRSELECTOBJECT
WMF manual 2.3.4.10, select object.
struct U_WMRSETWINDOWORG U_WMRSETWINDOWEXT
WMF manual 2.3.5.30, Window X,Y extent.
struct U_WMRINVERTREGION U_WMRSELECTCLIPREGION
WMF manual 2.3.4.9, select as clip region.
struct U_WMREXCLUDECLIPRECT U_WMRINTERSECTCLIPRECT
WMF manual 2.3.5.3.
struct U_WMRSETBKMODE U_WMRSETPOLYFILLMODE
WMF manual 2.3.5.20 Mode = PolyFillMode Enumeration.
struct U_WMRSETWINDOWORG U_WMRSETVIEWPORTORG
WMF manual 2.3.5.29, Viewport X,Y origin.
struct U_WMRINVERTREGION U_WMRPAINTREGION
WMF manual 2.3.3.11, paint region.
struct U_WMREOF U_WMRSAVEDC
WMF manual 2.3.5.11.
struct U_WMRINVERTREGION U_WMRRESIZEPALETTE
WMF manual 2.3.5.9, resize the system palette to "index".
struct U_WMRDRAWTEXT U_WMRCREATEBITMAPINDIRECT
in GDI and Wine, not documented in WMF manual.
struct U_WMRSETBKMODE U_WMRSETROP2
WMF manual 2.3.5.22 Binary Raster Operation Enumeration.
struct U_WMRFLOODFILL U_WMREXTFLOODFILL
WMF manual 2.3.3.7.
struct U_WMRINVERTREGION U_WMRDELETEOBJECT
WMF manual 2.3.4.7, delete object.
struct U_WMRANIMATEPALETTE U_WMRSETPALENTRIES
WMF manual 2.3.5.19.
struct U_WMRSETWINDOWORG U_WMROFFSETWINDOWORG
WMF manual 2.3.5.7, Window X,Y offset in device units.
U_WMR_TYPES
WMF manual 2.1.1.1.
Definition uwmf.h:80
@ U_WMR_PAINTREGION
0x012B U_WMRPAINTREGION record
Definition uwmf.h:124
@ U_WMR_CREATEPATTERNBRUSH
0x01F9 U_WMRCREATEPATTERNBRUSH record
Definition uwmf.h:330
@ U_WMR_C1
0x00C1 U_WMRC1 record
Definition uwmf.h:274
@ U_WMR_POLYGON
0x0324 U_WMRPOLYGON record
Definition uwmf.h:117
@ U_WMR_4F
0x004F U_WMR4F record
Definition uwmf.h:160
@ U_WMR_ED
0x00ED U_WMRED record
Definition uwmf.h:318
@ U_WMR_59
0x0059 U_WMR59 record
Definition uwmf.h:170
@ U_WMR_47
0x0047 U_WMR47 record
Definition uwmf.h:152
@ U_WMR_86
0x0086 U_WMR86 record
Definition uwmf.h:215
@ U_WMR_80
0x0080 U_WMR80 record
Definition uwmf.h:209
@ U_WMR_D4
0x00D4 U_WMRD4 record
Definition uwmf.h:293
@ U_WMR_RECTANGLE
0x041B U_WMRRECTANGLE record
Definition uwmf.h:108
@ U_WMR_INTERSECTCLIPRECT
0x0416 U_WMRINTERSECTCLIPRECT record
Definition uwmf.h:103
@ U_WMR_SETROP2
0x0104 U_WMRSETROP2 record
Definition uwmf.h:85
@ U_WMR_OFFSETCLIPRGN
0x0220 U_WMROFFSETCLIPRGN record
Definition uwmf.h:113
@ U_WMR_AD
0x00AD U_WMRAD record
Definition uwmf.h:254
@ U_WMR_EOF
0x0000 U_WMREOF record
Definition uwmf.h:81
@ U_WMR_91
0x0091 U_WMR91 record
Definition uwmf.h:226
@ U_WMR_3E
0x003E U_WMR3E record
Definition uwmf.h:143
@ U_WMR_DB
0x00DB U_WMRDB record
Definition uwmf.h:300
@ U_WMR_92
0x0092 U_WMR92 record
Definition uwmf.h:227
@ U_WMR_AF
0x00AF U_WMRAF record
Definition uwmf.h:256
@ U_WMR_84
0x0084 U_WMR84 record
Definition uwmf.h:213
@ U_WMR_SCALEVIEWPORTEXT
0x0412 U_WMRSCALEVIEWPORTEXT record
Definition uwmf.h:99
@ U_WMR_B2
0x00B2 U_WMRB2 record
Definition uwmf.h:259
@ U_WMR_DA
0x00DA U_WMRDA record
Definition uwmf.h:299
@ U_WMR_6E
0x006E U_WMR6E record
Definition uwmf.h:191
@ U_WMR_7C
0x007C U_WMR7C record
Definition uwmf.h:205
@ U_WMR_64
0x0064 U_WMR64 record
Definition uwmf.h:181
@ U_WMR_87
0x0087 U_WMR87 record
Definition uwmf.h:216
@ U_WMR_E8
0x00E8 U_WMRE8 record
Definition uwmf.h:313
@ U_WMR_FRAMEREGION
0x0429 U_WMRFRAMEREGION record
Definition uwmf.h:122
@ U_WMR_PATBLT
0x061D U_WMRPATBLT record
Definition uwmf.h:110
@ U_WMR_A2
0x00A2 U_WMRA2 record
Definition uwmf.h:243
@ U_WMR_C8
0x00C8 U_WMRC8 record
Definition uwmf.h:281
@ U_WMR_72
0x0072 U_WMR72 record
Definition uwmf.h:195
@ U_WMR_3A
0x003A U_WMR3A record
Definition uwmf.h:139
@ U_WMR_DIBCREATEPATTERNBRUSH
0x0142 U_WMRDIBCREATEPATTERNBRUSH record
Definition uwmf.h:147
@ U_WMR_F2
0x00F2 U_WMRF2 record
Definition uwmf.h:323
@ U_WMR_C5
0x00C5 U_WMRC5 record
Definition uwmf.h:278
@ U_WMR_9E
0x009E U_WMR9E record
Definition uwmf.h:239
@ U_WMR_53
0x0053 U_WMR53 record
Definition uwmf.h:164
@ U_WMR_67
0x0067 U_WMR67 record
Definition uwmf.h:184
@ U_WMR_A8
0x00A8 U_WMRA8 record
Definition uwmf.h:249
@ U_WMR_51
0x0051 U_WMR51 record
Definition uwmf.h:162
@ U_WMR_EB
0x00EB U_WMREB record
Definition uwmf.h:316
@ U_WMR_SELECTPALETTE
0x0234 U_WMRSELECTPALETTE record
Definition uwmf.h:133
@ U_WMR_6F
0x006F U_WMR6F record
Definition uwmf.h:192
@ U_WMR_7F
0x007F U_WMR7F record
Definition uwmf.h:208
@ U_WMR_C6
0x00C6 U_WMRC6 record
Definition uwmf.h:279
@ U_WMR_55
0x0055 U_WMR55 record
Definition uwmf.h:166
@ U_WMR_F6
0x00F6 U_WMRF6 record
Definition uwmf.h:327
@ U_WMR_5B
0x005B U_WMR5B record
Definition uwmf.h:172
@ U_WMR_AB
0x00AB U_WMRAB record
Definition uwmf.h:252
@ U_WMR_63
0x0063 U_WMR63 record
Definition uwmf.h:180
@ U_WMR_D9
0x00D9 U_WMRD9 record
Definition uwmf.h:298
@ U_WMR_SETMAPPERFLAGS
0x0231 U_WMRSETMAPPERFLAGS record
Definition uwmf.h:130
@ U_WMR_E6
0x00E6 U_WMRE6 record
Definition uwmf.h:311
@ U_WMR_3D
0x003D U_WMR3D record
Definition uwmf.h:142
@ U_WMR_76
0x0076 U_WMR76 record
Definition uwmf.h:199
@ U_WMR_DIBBITBLT
0x0940 U_WMRDIBBITBLT record
Definition uwmf.h:145
@ U_WMR_CE
0x00CE U_WMRCE record
Definition uwmf.h:287
@ U_WMR_9A
0x009A U_WMR9A record
Definition uwmf.h:235
@ U_WMR_EE
0x00EE U_WMREE record
Definition uwmf.h:319
@ U_WMR_44
0x0044 U_WMR44 record
Definition uwmf.h:149
@ U_WMR_7A
0x007A U_WMR7A record
Definition uwmf.h:203
@ U_WMR_70
0x0070 U_WMR70 record
Definition uwmf.h:193
@ U_WMR_4A
0x004A U_WMR4A record
Definition uwmf.h:155
@ U_WMR_B4
0x00B4 U_WMRB4 record
Definition uwmf.h:261
@ U_WMR_D1
0x00D1 U_WMRD1 record
Definition uwmf.h:290
@ U_WMR_E9
0x00E9 U_WMRE9 record
Definition uwmf.h:314
@ U_WMR_56
0x0056 U_WMR56 record
Definition uwmf.h:167
@ U_WMR_8A
0x008A U_WMR8A record
Definition uwmf.h:219
@ U_WMR_A5
0x00A5 U_WMRA5 record
Definition uwmf.h:246
@ U_WMR_EXTTEXTOUT
0x0A32 U_WMREXTTEXTOUT record
Definition uwmf.h:131
@ U_WMR_61
0x0061 U_WMR61 record
Definition uwmf.h:178
@ U_WMR_SETTEXTCOLOR
0x0209 U_WMRSETTEXTCOLOR record
Definition uwmf.h:90
@ U_WMR_8E
0x008E U_WMR8E record
Definition uwmf.h:223
@ U_WMR_71
0x0071 U_WMR71 record
Definition uwmf.h:194
@ U_WMR_88
0x0088 U_WMR88 record
Definition uwmf.h:217
@ U_WMR_6B
0x006B U_WMR6B record
Definition uwmf.h:188
@ U_WMR_8D
0x008D U_WMR8D record
Definition uwmf.h:222
@ U_WMR_C7
0x00C7 U_WMRC7 record
Definition uwmf.h:280
@ U_WMR_83
0x0083 U_WMR83 record
Definition uwmf.h:212
@ U_WMR_SETWINDOWEXT
0x020C U_WMRSETWINDOWEXT record
Definition uwmf.h:93
@ U_WMR_90
0x0090 U_WMR90 record
Definition uwmf.h:225
@ U_WMR_A1
0x00A1 U_WMRA1 record
Definition uwmf.h:242
@ U_WMR_INVERTREGION
0x012A U_WMRINVERTREGION record
Definition uwmf.h:123
@ U_WMR_B9
0x00B9 U_WMRB9 record
Definition uwmf.h:266
@ U_WMR_C3
0x00C3 U_WMRC3 record
Definition uwmf.h:276
@ U_WMR_SETDIBTODEV
0x0D33 U_WMRSETDIBTODEV record
Definition uwmf.h:132
@ U_WMR_D8
0x00D8 U_WMRD8 record
Definition uwmf.h:297
@ U_WMR_SETBKCOLOR
0x0201 U_WMRSETBKCOLOR record
Definition uwmf.h:82
@ U_WMR_ANIMATEPALETTE
0x0436 U_WMRANIMATEPALETTE record
Definition uwmf.h:135
@ U_WMR_3F
0x003F U_WMR3F record
Definition uwmf.h:144
@ U_WMR_SETWINDOWORG
0x020B U_WMRSETWINDOWORG record
Definition uwmf.h:92
@ U_WMR_BF
0x00BF U_WMRBF record
Definition uwmf.h:272
@ U_WMR_SETBKMODE
0x0102 U_WMRSETBKMODE record
Definition uwmf.h:83
@ U_WMR_POLYLINE
0x0325 U_WMRPOLYLINE record
Definition uwmf.h:118
@ U_WMR_9C
0x009C U_WMR9C record
Definition uwmf.h:237
@ U_WMR_SETTEXTALIGN
0x012E U_WMRSETTEXTALIGN record
Definition uwmf.h:127
@ U_WMR_F3
0x00F3 U_WMRF3 record
Definition uwmf.h:324
@ U_WMR_A9
0x00A9 U_WMRA9 record
Definition uwmf.h:250
@ U_WMR_AA
0x00AA U_WMRAA record
Definition uwmf.h:251
@ U_WMR_B6
0x00B6 U_WMRB6 record
Definition uwmf.h:263
@ U_WMR_BA
0x00BA U_WMRBA record
Definition uwmf.h:267
@ U_WMR_SETSTRETCHBLTMODE
0x0107 U_WMRSETSTRETCHBLTMODE record
Definition uwmf.h:88
@ U_WMR_68
0x0068 U_WMR68 record
Definition uwmf.h:185
@ U_WMR_77
0x0077 U_WMR77 record
Definition uwmf.h:200
@ U_WMR_5F
0x005F U_WMR5F record
Definition uwmf.h:176
@ U_WMR_9D
0x009D U_WMR9D record
Definition uwmf.h:238
@ U_WMR_BB
0x00BB U_WMRBB record
Definition uwmf.h:268
@ U_WMR_SETTEXTCHAREXTRA
0x0108 U_WMRSETTEXTCHAREXTRA record
Definition uwmf.h:89
@ U_WMR_E5
0x00E5 U_WMRE5 record
Definition uwmf.h:310
@ U_WMR_58
0x0058 U_WMR58 record
Definition uwmf.h:169
@ U_WMR_CREATEPALETTE
0x00F7 U_WMRCREATEPALETTE record
Definition uwmf.h:328
@ U_WMR_8F
0x008F U_WMR8F record
Definition uwmf.h:224
@ U_WMR_EF
0x00EF U_WMREF record
Definition uwmf.h:320
@ U_WMR_D7
0x00D7 U_WMRD7 record
Definition uwmf.h:296
@ U_WMR_MOVETO
0x0214 U_WMRMOVETO record
Definition uwmf.h:101
@ U_WMR_89
0x0089 U_WMR89 record
Definition uwmf.h:218
@ U_WMR_DF
0x00DF U_WMRDF record
Definition uwmf.h:304
@ U_WMR_6D
0x006D U_WMR6D record
Definition uwmf.h:190
@ U_WMR_STRETCHBLT
0x0B23 U_WMRSTRETCHBLT record
Definition uwmf.h:116
@ U_WMR_CREATEBITMAP
0x06FE U_WMRCREATEBITMAP record
Definition uwmf.h:335
@ U_WMR_E2
0x00E2 U_WMRE2 record
Definition uwmf.h:307
@ U_WMR_SETPOLYFILLMODE
0x0106 U_WMRSETPOLYFILLMODE record
Definition uwmf.h:87
@ U_WMR_85
0x0085 U_WMR85 record
Definition uwmf.h:214
@ U_WMR_4D
0x014D U_WMR4D record
Definition uwmf.h:158
@ U_WMR_4E
0x004E U_WMR4E record
Definition uwmf.h:159
@ U_WMR_FLOODFILL
0x0419 U_WMRFLOODFILL record
Definition uwmf.h:106
@ U_WMR_6C
0x006C U_WMR6C record
Definition uwmf.h:189
@ U_WMR_SETPIXEL
0x041F U_WMRSETPIXEL record
Definition uwmf.h:112
@ U_WMR_D3
0x00D3 U_WMRD3 record
Definition uwmf.h:292
@ U_WMR_5A
0x005A U_WMR5A record
Definition uwmf.h:171
@ U_WMR_79
0x0079 U_WMR79 record
Definition uwmf.h:202
@ U_WMR_49
0x0049 U_WMR49 record
Definition uwmf.h:154
@ U_WMR_DRAWTEXT
0x062F U_WMRDRAWTEXT record
Definition uwmf.h:128
@ U_WMR_OFFSETVIEWPORTORG
0x0211 U_WMROFFSETVIEWPORTORG record
Definition uwmf.h:98
@ U_WMR_C0
0x00C0 U_WMRC0 record
Definition uwmf.h:273
@ U_WMR_D0
0x00D0 U_WMRD0 record
Definition uwmf.h:289
@ U_WMR_AE
0x00AE U_WMRAE record
Definition uwmf.h:255
@ U_WMR_ESCAPE
0x0626 U_WMRESCAPE record
Definition uwmf.h:119
@ U_WMR_DE
0x00DE U_WMRDE record
Definition uwmf.h:303
@ U_WMR_PIE
0x081A U_WMRPIE record
Definition uwmf.h:107
@ U_WMR_TEXTOUT
0x0521 U_WMRTEXTOUT record
Definition uwmf.h:114
@ U_WMR_DELETEOBJECT
0x01F0 U_WMRDELETEOBJECT record
Definition uwmf.h:321
@ U_WMR_SELECTCLIPREGION
0x012C U_WMRSELECTCLIPREGION record
Definition uwmf.h:125
@ U_WMR_E7
0x00E7 U_WMRE7 record
Definition uwmf.h:312
@ U_WMR_EXTFLOODFILL
0x0548 U_WMREXTFLOODFILL record
Definition uwmf.h:153
@ U_WMR_BITBLT
0x0922 U_WMRBITBLT record
Definition uwmf.h:115
@ U_WMR_93
0x0093 U_WMR93 record
Definition uwmf.h:228
@ U_WMR_50
0x0050 U_WMR50 record
Definition uwmf.h:161
@ U_WMR_9F
0x009F U_WMR9F record
Definition uwmf.h:240
@ U_WMR_CF
0x00CF U_WMRCF record
Definition uwmf.h:288
@ U_WMR_DIBSTRETCHBLT
0x0B41 U_WMRDIBSTRETCHBLT record
Definition uwmf.h:146
@ U_WMR_RESTOREDC
0x0127 U_WMRRESTOREDC record
Definition uwmf.h:120
@ U_WMR_95
0x0095 U_WMR95 record
Definition uwmf.h:230
@ U_WMR_STRETCHDIB
0x0F43 U_WMRSTRETCHDIB record
Definition uwmf.h:148
@ U_WMR_5C
0x005C U_WMR5C record
Definition uwmf.h:173
@ U_WMR_SELECTOBJECT
0x012D U_WMRSELECTOBJECT record
Definition uwmf.h:126
@ U_WMR_SETMAPMODE
0x0103 U_WMRSETMAPMODE record
Definition uwmf.h:84
@ U_WMR_99
0x0099 U_WMR99 record
Definition uwmf.h:234
@ U_WMR_DC
0x00DC U_WMRDC record
Definition uwmf.h:301
@ U_WMR_7E
0x007E U_WMR7E record
Definition uwmf.h:207
@ U_WMR_D6
0x00D6 U_WMRD6 record
Definition uwmf.h:295
@ U_WMR_CREATEREGION
0x06FF U_WMRCREATEREGION record
Definition uwmf.h:336
@ U_WMR_7B
0x007B U_WMR7B record
Definition uwmf.h:204
@ U_WMR_BD
0x00BD U_WMRBD record
Definition uwmf.h:270
@ U_WMR_8C
0x008C U_WMR8C record
Definition uwmf.h:221
@ U_WMR_96
0x0096 U_WMR96 record
Definition uwmf.h:231
@ U_WMR_45
0x0045 U_WMR45 record
Definition uwmf.h:150
@ U_WMR_F4
0x00F4 U_WMRF4 record
Definition uwmf.h:325
@ U_WMR_57
0x0057 U_WMR57 record
Definition uwmf.h:168
@ U_WMR_82
0x0082 U_WMR82 record
Definition uwmf.h:211
@ U_WMR_ROUNDRECT
0x061C U_WMRROUNDRECT record
Definition uwmf.h:109
@ U_WMR_5D
0x005D U_WMR5D record
Definition uwmf.h:174
@ U_WMR_97
0x0097 U_WMR97 record
Definition uwmf.h:232
@ U_WMR_D5
0x00D5 U_WMRD5 record
Definition uwmf.h:294
@ U_WMR_6A
0x006A U_WMR6A record
Definition uwmf.h:187
@ U_WMR_CA
0x00CA U_WMRCA record
Definition uwmf.h:283
@ U_WMR_CHORD
0x0830 U_WMRCHORD record
Definition uwmf.h:129
@ U_WMR_60
0x0060 U_WMR60 record
Definition uwmf.h:177
@ U_WMR_A3
0x00A3 U_WMRA3 record
Definition uwmf.h:244
@ U_WMR_C9
0x00C9 U_WMRC9 record
Definition uwmf.h:282
@ U_WMR_SETRELABS
0x0105 U_WMRSETRELABS record
Definition uwmf.h:86
@ U_WMR_A7
0x00A7 U_WMRA7 record
Definition uwmf.h:248
@ U_WMR_73
0x0073 U_WMR73 record
Definition uwmf.h:196
@ U_WMR_POLYPOLYGON
0x0538 U_WMRPOLYPOLYGON record
Definition uwmf.h:137
@ U_WMR_C2
0x00C2 U_WMRC2 record
Definition uwmf.h:275
@ U_WMR_EXCLUDECLIPRECT
0x0415 U_WMREXCLUDECLIPRECT record
Definition uwmf.h:102
@ U_WMR_C4
0x00C4 U_WMRC4 record
Definition uwmf.h:277
@ U_WMR_8B
0x008B U_WMR8B record
Definition uwmf.h:220
@ U_WMR_F5
0x00F5 U_WMRF5 record
Definition uwmf.h:326
@ U_WMR_A4
0x00A4 U_WMRA4 record
Definition uwmf.h:245
@ U_WMR_E4
0x00E4 U_WMRE4 record
Definition uwmf.h:309
@ U_WMR_F8
0x00F8 U_WMRF8 record
Definition uwmf.h:329
@ U_WMR_E3
0x00E3 U_WMRE3 record
Definition uwmf.h:308
@ U_WMR_F1
0x00F1 U_WMRF1 record
Definition uwmf.h:322
@ U_WMR_E1
0x00E1 U_WMRE1 record
Definition uwmf.h:306
@ U_WMR_B0
0x00B0 U_WMRB0 record
Definition uwmf.h:257
@ U_WMR_BE
0x00BE U_WMRBE record
Definition uwmf.h:271
@ U_WMR_SCALEWINDOWEXT
0x0410 U_WMRSCALEWINDOWEXT record
Definition uwmf.h:97
@ U_WMR_D2
0x00D2 U_WMRD2 record
Definition uwmf.h:291
@ U_WMR_CREATEBITMAPINDIRECT
0x02FD U_WMRCREATEBITMAPINDIRECT record
Definition uwmf.h:334
@ U_WMR_DD
0x00DD U_WMRDD record
Definition uwmf.h:302
@ U_WMR_EC
0x00EC U_WMREC record
Definition uwmf.h:317
@ U_WMR_3B
0x003B U_WMR3B record
Definition uwmf.h:140
@ U_WMR_81
0x0081 U_WMR81 record
Definition uwmf.h:210
@ U_WMR_CC
0x00CC U_WMRCC record
Definition uwmf.h:285
@ U_WMR_62
0x0062 U_WMR62 record
Definition uwmf.h:179
@ U_WMR_74
0x0074 U_WMR74 record
Definition uwmf.h:197
@ U_WMR_SETVIEWPORTORG
0x020D U_WMRSETVIEWPORTORG record
Definition uwmf.h:94
@ U_WMR_SETVIEWPORTEXT
0x020E U_WMRSETVIEWPORTEXT record
Definition uwmf.h:95
@ U_WMR_A0
0x00A0 U_WMRA0 record
Definition uwmf.h:241
@ U_WMR_65
0x0065 U_WMR65 record
Definition uwmf.h:182
@ U_WMR_54
0x0054 U_WMR54 record
Definition uwmf.h:165
@ U_WMR_EA
0x00EA U_WMREA record
Definition uwmf.h:315
@ U_WMR_B1
0x00B1 U_WMRB1 record
Definition uwmf.h:258
@ U_WMR_B5
0x00B5 U_WMRB5 record
Definition uwmf.h:262
@ U_WMR_B7
0x00B7 U_WMRB7 record
Definition uwmf.h:264
@ U_WMR_LINETO
0x0213 U_WMRLINETO record
Definition uwmf.h:100
@ U_WMR_98
0x0098 U_WMR98 record
Definition uwmf.h:233
@ U_WMR_SETPALENTRIES
0x0037 U_WMRSETPALENTRIES record
Definition uwmf.h:136
@ U_WMR_BC
0x00BC U_WMRBC record
Definition uwmf.h:269
@ U_WMR_CD
0x00CD U_WMRCD record
Definition uwmf.h:286
@ U_WMR_SAVEDC
0x001E U_WMRSAVEDC record
Definition uwmf.h:111
@ U_WMR_94
0x0094 U_WMR94 record
Definition uwmf.h:229
@ U_WMR_AC
0x00AC U_WMRAC record
Definition uwmf.h:253
@ U_WMR_3C
0x003C U_WMR3C record
Definition uwmf.h:141
@ U_WMR_RESIZEPALETTE
0x0139 U_WMRRESIZEPALETTE record
Definition uwmf.h:138
@ U_WMR_69
0x0069 U_WMR69 record
Definition uwmf.h:186
@ U_WMR_ARC
0x0817 U_WMRARC record
Definition uwmf.h:104
@ U_WMR_52
0x0052 U_WMR52 record
Definition uwmf.h:163
@ U_WMR_75
0x0075 U_WMR75 record
Definition uwmf.h:198
@ U_WMR_7D
0x007D U_WMR7D record
Definition uwmf.h:206
@ U_WMR_9B
0x009B U_WMR9B record
Definition uwmf.h:236
@ U_WMR_CREATEFONTINDIRECT
0x02FB U_WMRCREATEFONTINDIRECT record
Definition uwmf.h:332
@ U_WMR_FILLREGION
0x0228 U_WMRFILLREGION record
Definition uwmf.h:121
@ U_WMR_CREATEBRUSHINDIRECT
0x02FC U_WMRCREATEBRUSHINDIRECT record
Definition uwmf.h:333
@ U_WMR_REALIZEPALETTE
0x0035 U_WMRREALIZEPALETTE record
Definition uwmf.h:134
@ U_WMR_CREATEPENINDIRECT
0x02FA U_WMRCREATEPENINDIRECT record
Definition uwmf.h:331
@ U_WMR_46
0x0046 U_WMR46 record
Definition uwmf.h:151
@ U_WMR_B3
0x00B3 U_WMRB3 record
Definition uwmf.h:260
@ U_WMR_5E
0x005E U_WMR5E record
Definition uwmf.h:175
@ U_WMR_78
0x0078 U_WMR78 record
Definition uwmf.h:201
@ U_WMR_4B
0x004B U_WMR4B record
Definition uwmf.h:156
@ U_WMR_SETTEXTJUSTIFICATION
0x020A U_WMRSETTEXTJUSTIFICATION record
Definition uwmf.h:91
@ U_WMR_ELLIPSE
0x0418 U_WMRELLIPSE record
Definition uwmf.h:105
@ U_WMR_A6
0x00A6 U_WMRA6 record
Definition uwmf.h:247
@ U_WMR_4C
0x014C U_WMR4C record
Definition uwmf.h:157
@ U_WMR_66
0x0066 U_WMR66 record
Definition uwmf.h:183
@ U_WMR_OFFSETWINDOWORG
0x020F U_WMROFFSETWINDOWORG record
Definition uwmf.h:96
@ U_WMR_E0
0x00E0 U_WMRE0 record
Definition uwmf.h:305
@ U_WMR_B8
0x00B8 U_WMRB8 record
Definition uwmf.h:265
@ U_WMR_CB
0x00CB U_WMRCB record
Definition uwmf.h:284
struct U_WMRSETBKMODE U_WMRSETTEXTALIGN
WMF manual 2.3.5.24 Mode = TextAlignment Enumeration.
struct U_WMRINVERTREGION U_WMRSELECTPALETTE
WMF manual 2.3.4.11, select palette object.
struct U_WMRPIE U_WMRCHORD
WMF manual 2.3.3.2.
struct U_WMRSETMAPMODE U_WMRSETTEXTCHAREXTRA
WMF manual 2.3.5.25, Mode = Extra space in logical units to add to each character.
struct U_WMRSETBKCOLOR U_WMRSETTEXTCOLOR
WMF manual 2.3.5.26.
struct U_WMRSETWINDOWORG U_WMRLINETO
WMF manual 2.3.3.10, Endpoint X,Y in logical units.
struct U_WMRPOLYGON U_WMRPOLYLINE
WMF manual 2.3.3.14.
struct U_WMRELLIPSE U_WMRRECTANGLE
WMF manual 2.3.3.17.
struct U_WMREOF U_WMRSETRELABS
WMF manual 2.3.5.21.
struct U_WMRSETWINDOWORG U_WMROFFSETCLIPRGN
WMF manual 2.3.5.5, Y offset in logical units.
struct U_WMRSCALEWINDOWEXT U_WMRSCALEVIEWPORTEXT
WMF manual 2.3.5.12.
struct U_WMRSETWINDOWORG U_WMROFFSETVIEWPORTORG
WMF manual 2.3.5.6, Viewport X,Y offset in device units.
struct U_WMRANIMATEPALETTE U_WMRCREATEPALETTE
WMF manual 2.3.4.3.
struct U_WMRSETWINDOWORG U_WMRMOVETO
WMF manual 2.3.3.4, Destination X,Y in logical units.
struct U_WMREOF U_WMRREALIZEPALETTE
WMF manual 2.3.5.8.
Prototypes for functions for converting WMF records between Big Endian and Little Endian.