332 #define U_WMR_MAX 255                 
  333 #define U_WMR_MASK  0xFF              
  334 #define U_WMR_INVALID         0xFFFFFFFF  
  346 #define  BI_BITCOUNT_0  U_BCBM_EXPLICIT    
  347 #define  BI_BITCOUNT_1  U_BCBM_MONOCHROME  
  348 #define  BI_BITCOUNT_2  U_BCBM_COLOR4      
  349 #define  BI_BITCOUNT_3  U_BCBM_COLOR8      
  350 #define  BI_BITCOUNT_4  U_BCBM_COLOR16     
  351 #define  BI_BITCOUNT_5  U_BCBM_COLOR24     
  352 #define  BI_BITCOUNT_6  U_BCBM_COLOR32     
  370 #define U_DIB_PAL_INDICES 2   
  378 #define U_BI_CMYK       0x000B  
  379 #define U_BI_CMYKRLE8   0x000C  
  380 #define U_BI_CMYKRLE4 = 0x000D  
  414 #define U_LCS_sRGB                  0x73524742     
  415 #define U_LCS_WINDOWS_COLOR_SPACE   0x57696E20     
  431 #define U_MFE_NEWFRAME                      0x0001    
  432 #define U_MFE_ABORTDOC                      0x0002    
  433 #define U_MFE_NEXTBAND                      0x0003    
  434 #define U_MFE_SETCOLORTABLE                 0x0004    
  435 #define U_MFE_GETCOLORTABLE                 0x0005    
  436 #define U_MFE_FLUSHOUT                      0x0006    
  437 #define U_MFE_DRAFTMODE                     0x0007    
  438 #define U_MFE_QUERYESCSUPPORT               0x0008    
  439 #define U_MFE_SETABORTPROC                  0x0009    
  440 #define U_MFE_STARTDOC                      0x000A    
  441 #define U_MFE_ENDDOC                        0x000B    
  442 #define U_MFE_GETPHYSPAGESIZE               0x000C    
  443 #define U_MFE_GETPRINTINGOFFSET             0x000D    
  444 #define U_MFE_GETSCALINGFACTOR              0x000E    
  445 #define U_MFE_META_ESCAPE_ENHANCED_METAFILE 0x000F    
  446 #define U_MFE_SETPENWIDTH                   0x0010    
  447 #define U_MFE_SETCOPYCOUNT                  0x0011    
  448 #define U_MFE_SETPAPERSOURCE                0x0012    
  449 #define U_MFE_PASSTHROUGH                   0x0013    
  450 #define U_MFE_GETTECHNOLOGY                 0x0014    
  451 #define U_MFE_SETLINECAP                    0x0015    
  452 #define U_MFE_SETLINEJOIN                   0x0016    
  453 #define U_MFE_SETMITERLIMIT                 0x0017    
  454 #define U_MFE_BANDINFO                      0x0018    
  455 #define U_MFE_DRAWPATTERNRECT               0x0019    
  456 #define U_MFE_GETVECTORPENSIZE              0x001A    
  457 #define U_MFE_GETVECTORBRUSHSIZE            0x001B    
  458 #define U_MFE_ENABLEDUPLEX                  0x001C    
  459 #define U_MFE_GETSETPAPERBINS               0x001D    
  460 #define U_MFE_GETSETPRINTORIENT             0x001E    
  461 #define U_MFE_ENUMPAPERBINS                 0x001F    
  462 #define U_MFE_SETDIBSCALING                 0x0020    
  463 #define U_MFE_EPSPRINTING                   0x0021    
  464 #define U_MFE_ENUMPAPERMETRICS              0x0022    
  465 #define U_MFE_GETSETPAPERMETRICS            0x0023    
  466 #define U_MFE_POSTSCRIPT_DATA               0x0025    
  467 #define U_MFE_POSTSCRIPT_IGNORE             0x0026    
  468 #define U_MFE_GETDEVICEUNITS                0x002A    
  469 #define U_MFE_GETEXTENDEDTEXTMETRICS        0x0100    
  470 #define U_MFE_GETPAIRKERNTABLE              0x0102    
  471 #define U_MFE_EXTTEXTOUT                    0x0200    
  472 #define U_MFE_GETFACENAME                   0x0201    
  473 #define U_MFE_DOWNLOADFACE                  0x0202    
  474 #define U_MFE_METAFILE_DRIVER               0x0801    
  475 #define U_MFE_QUERYDIBSUPPORT               0x0C01    
  476 #define U_MFE_BEGIN_PATH                    0x1000    
  477 #define U_MFE_CLIP_TO_PATH                  0x1001    
  478 #define U_MFE_END_PATH                      0x1002    
  479 #define U_MFE_OPEN_CHANNEL                  0x100E    
  480 #define U_MFE_DOWNLOADHEADER                0x100F    
  481 #define U_MFE_CLOSE_CHANNEL                 0x1010    
  482 #define U_MFE_POSTSCRIPT_PASSTHROUGH        0x1013    
  483 #define U_MFE_ENCAPSULATED_POSTSCRIPT       0x1014    
  484 #define U_MFE_POSTSCRIPT_IDENTIFY           0x1015    
  485 #define U_MFE_POSTSCRIPT_INJECTION          0x1016    
  486 #define U_MFE_CHECKJPEGFORMAT               0x1017    
  487 #define U_MFE_CHECKPNGFORMAT                0x1018    
  488 #define U_MFE_GET_PS_FEATURESETTING         0x1019    
  489 #define U_MFE_MXDC_ESCAPE                   0x101A    
  490 #define U_MFE_SPCLPASSTHROUGH2              0x11D8    
  496 #define U_MEMORYMETAFILE  0x0001  
  497 #define U_DISKMETAFILE    0x0002  
  504 #define U_METAVERSION100  0x0100  
  505 #define U_METAVERSION300  0x0300  
  519 #define U_PC_RESERVED    0x01  
  520 #define U_PC_EXPLICIT    0x02  
  521 #define U_PC_NOCOLLAPSE  0x04  
  546 #define U_WPS_CAP_NOTSET -2 
  547 #define U_WPS_CAP_FLAT    0 
  548 #define U_WPS_CAP_ROUND   1 
  549 #define U_WPS_CAP_SQUARE  2 
  562 #define U_WPS_JOIN_NOTSET -2 
  563 #define U_WPS_JOIN_MITER   0 
  564 #define U_WPS_JOIN_ROUND   1 
  565 #define U_WPS_JOIN_BEVEL   2 
  626 #define U_SIZE_PAIRF                                  8          
  627 #define U_SIZE_COLORREF                               4          
  628 #define U_SIZE_BRUSH                                  8          
  629 #define U_SIZE_FONT                                  19          
  630 #define U_SIZE_FONT_CORE                             18          
  631 #define U_SIZE_PLTNTRY                                4          
  632 #define U_SIZE_PALETTE                                8          
  633 #define U_SIZE_PEN                                   10          
  634 #define U_SIZE_POINT16                                4          
  635 #define U_SIZE_RECT16                                 8          
  636 #define U_SIZE_REGION                                20          
  637 #define U_SIZE_BITMAP16                              10          
  638 #define U_SIZE_BITMAPCOREHEADER                      12          
  639 #define U_SIZE_BITMAPINFOHEADER                      40          
  640 #define U_SIZE_BITMAPV4HEADER                       108          
  641 #define U_SIZE_BITMAPV5HEADER                       124          
  642 #define U_SIZE_WLOGBRUSH                              8          
  643 #define U_SIZE_POLYPOLYGON                            4          
  644 #define U_SIZE_SCAN                                   8          
  645 #define U_SIZE_METARECORD                             6          
  646 #define U_SIZE_WMRPLACEABLE                          22          
  647 #define U_SIZE_WMRHEADER                             18          
  648 #define U_SIZE_WMREOF                                 6          
  649 #define U_SIZE_WMRSETRELABS                           6          
  650 #define U_SIZE_WMRSAVEDC                              6          
  651 #define U_SIZE_WMRRESTOREDC                           8          
  652 #define U_SIZE_WMRREALIZEPALETTE                      6          
  653 #define U_SIZE_WMRSETBKCOLOR                         10          
  654 #define U_SIZE_WMRSETTEXTCOLOR                       10          
  655 #define U_SIZE_WMRSETBKMODE                           8          
  656 #define U_SIZE_WMRSETROP2                             8          
  657 #define U_SIZE_WMRSETPOLYFILLMODE                     8          
  658 #define U_SIZE_WMRSETSTRETCHBLTMODE                   8          
  659 #define U_SIZE_WMRSETTEXTALIGN                        8          
  660 #define U_SIZE_WMRSETMAPMODE                          8          
  661 #define U_SIZE_WMRSETTEXTCHAREXTRA                    8          
  662 #define U_SIZE_WMRSETTEXTJUSTIFICATION               10          
  663 #define U_SIZE_WMRSETWINDOWORG                       10          
  664 #define U_SIZE_WMRSETWINDOWEXT                       10          
  665 #define U_SIZE_WMRSETVIEWPORTORG                     10          
  666 #define U_SIZE_WMRSETVIEWPORTEXT                     10          
  667 #define U_SIZE_WMROFFSETWINDOWORG                    10          
  668 #define U_SIZE_WMROFFSETVIEWPORTORG                  10          
  669 #define U_SIZE_WMRLINETO                             10          
  670 #define U_SIZE_WMRMOVETO                             10          
  671 #define U_SIZE_WMROFFSETCLIPRGN                      10          
  672 #define U_SIZE_WMRSCALEWINDOWEXT                     14          
  673 #define U_SIZE_WMRSCALEVIEWPORTEXT                   14          
  674 #define U_SIZE_WMREXCLUDECLIPRECT                    14          
  675 #define U_SIZE_WMRINTERSECTCLIPRECT                  14          
  676 #define U_SIZE_WMRARC                                22          
  677 #define U_SIZE_WMRELLIPSE                            14          
  678 #define U_SIZE_WMRRECTANGLE                          14          
  679 #define U_SIZE_WMRFLOODFILL                          16          
  680 #define U_SIZE_WMREXTFLOODFILL                       16          
  681 #define U_SIZE_WMRSETPIXEL                           14          
  682 #define U_SIZE_WMRPIE                                22          
  683 #define U_SIZE_WMRCHORD                              22          
  684 #define U_SIZE_WMRROUNDRECT                          18          
  685 #define U_SIZE_WMRPATBLT                             18          
  686 #define U_SIZE_WMRTEXTOUT                             8          
  687 #define U_SIZE_WMRBITBLT_NOPX                        24          
  688 #define U_SIZE_WMRBITBLT_PX                          22          
  689 #define U_SIZE_WMRSTRETCHBLT_NOPX                    28          
  690 #define U_SIZE_WMRSTRETCHBLT_PX                      26          
  691 #define U_SIZE_WMRPOLYGON                            10          
  692 #define U_SIZE_WMRPOLYLINE                           10          
  693 #define U_SIZE_WMRESCAPE                             10          
  694 #define U_SIZE_WMRFILLREGION                         10          
  695 #define U_SIZE_WMRFRAMEREGION                        14          
  696 #define U_SIZE_WMRINVERTREGION                        8          
  697 #define U_SIZE_WMRPAINTREGION                         8          
  698 #define U_SIZE_WMRSELECTCLIPREGION                    8          
  699 #define U_SIZE_WMRSELECTOBJECT                        8          
  700 #define U_SIZE_WMRSELECTPALETTE                       8          
  701 #define U_SIZE_WMRRESIZEPALETTE                       8          
  702 #define U_SIZE_WMRDELETEOBJECT                        8          
  703 #define U_SIZE_WMRDRAWTEXT                            6          
  704 #define U_SIZE_WMRCREATEBITMAPINDIRECT                6          
  705 #define U_SIZE_WMRCREATEBITMAP                        6          
  706 #define U_SIZE_WMRSETMAPPERFLAGS                     10          
  707 #define U_SIZE_WMREXTTEXTOUT                         14          
  708 #define U_SIZE_WMRSETDIBTODEV                        22          
  709 #define U_SIZE_WMRANIMATEPALETTE                     14          
  710 #define U_SIZE_WMRSETPALENTRIES                      14          
  711 #define U_SIZE_WMRCREATEPALETTE                      14          
  712 #define U_SIZE_WMRPOLYPOLYGON                        10          
  713 #define U_SIZE_WMRDIBBITBLT_NOPX                     24          
  714 #define U_SIZE_WMRDIBBITBLT_PX                       22          
  715 #define U_SIZE_WMRDIBSTRETCHBLT_NOPX                 28          
  716 #define U_SIZE_WMRDIBSTRETCHBLT_PX                   26          
  717 #define U_SIZE_WMRDIBCREATEPATTERNBRUSH              10          
  718 #define U_SIZE_WMRSTRETCHDIB                         28          
  719 #define U_SIZE_WMRCREATEPATTERNBRUSH                  6          
  720 #define U_SIZE_WMRCREATEPENINDIRECT                  16          
  721 #define U_SIZE_WMRCREATEFONTINDIRECT                 26          
  722 #define U_SIZE_WMRCREATEBRUSHINDIRECT                14          
  723 #define U_SIZE_WMRCREATEREGION                       26          
  727 //  *************************************************************************** 
  736 #define U_TEST_NOPX2(A,B) (A ==   (uint32_t) (B + 3))           
  737 #define U_TEST_NOPXB(A,B) (A/2 == (uint32_t) (B + 3))           
  738 #define U_WMRTYPE(A) (((U_METARECORD *)A)->iType)               
  739 #define U_WMRXB(A)   (((U_METARECORD *)A)->xb)                  
  740 #define U_WMR_XB_FROM_TYPE(A) ((uint8_t) (U_wmr_values(A)>>8))  
  741 #define U_U16(A)  (*(uint16_t *)&A)                             
  742 #define U_P16(A)  ( (uint16_t *)&A)                             
  743 #define U_PP16(A) ( (uint16_t *) A)                             
  838 #define U_RCL16_DEF (U_RECT16){0,0,-1,-1}   
  893     uint16_t            bV4BitCount;
 
  894     uint32_t            bV4Compression;
 
  895     uint32_t            bV4SizeImage;
 
  896     int32_t             bV4XPelsPerMeter;
 
  897     int32_t             bV4YPelsPerMeter;
 
  899     uint32_t            bV4ClrImportant;
 
  901     uint32_t            bV4GreenMask;
 
  902     uint32_t            bV4BlueMask;
 
  903     uint32_t            bV4AlphaMask;
 
  906     uint32_t            bV4GammaRed;
 
  907     uint32_t            bV4GammaGreen;
 
  908     uint32_t            bV4GammaBlue;
 
  919     uint16_t            bV5BitCount;
 
  920     uint32_t            bV5Compression;
 
  921     uint32_t            bV5SizeImage;
 
  922     int32_t             bV5XPelsPerMeter;
 
  923     int32_t             bV5YPelsPerMeter;
 
  925     uint32_t            bV5ClrImportant;
 
  927     uint32_t            bV5GreenMask;
 
  928     uint32_t            bV5BlueMask;
 
  929     uint32_t            bV5AlphaMask;
 
  932     uint32_t            bV5GammaRed;
 
  933     uint32_t            bV5GammaGreen;
 
  934     uint32_t            bV5GammaBlue;
 
  936     uint32_t            bV5ProfileData;
 
  937     uint32_t            bV5ProfileSize;
 
  938     uint32_t            bV5Reserved;
 
 1021     uint16_t            aPolyCounts[1];     
 
 1047     uint16_t  ScanLines[1];                  
 
 1062     uint16_t            Size16_4[2];        
 
 1102     uint16_t            Size16_4[2];        
 
 1114     uint16_t            Size16_4[2];        
 
 1126     uint16_t            Size16_4[2];        
 
 1142     uint16_t            Size16_4[2];        
 
 1164     uint16_t            Size16_4[2];        
 
 1185     uint16_t            Size16_4[2];        
 
 1206     uint16_t            Size16_4[2];        
 
 1229     uint16_t            Size16_4[2];        
 
 1243     uint16_t            Size16_4[2];        
 
 1262     uint16_t            Size16_4[2];        
 
 1278     uint16_t            Size16_4[2];        
 
 1294     uint16_t            Size16_4[2];        
 
 1314     uint16_t            Size16_4[2];        
 
 1330     uint16_t            Size16_4[2];        
 
 1346     uint16_t            Size16_4[2];        
 
 1366     uint16_t            Size16_4[2];        
 
 1384     uint16_t            Size16_4[2];        
 
 1406     uint16_t            Size16_4[2];        
 
 1430     uint16_t            Size16_4[2];        
 
 1455     uint16_t            Size16_4[2];        
 
 1476     uint16_t            Size16_4[2];        
 
 1488     uint16_t            Size16_4[2];        
 
 1500     uint16_t            Size16_4[2];        
 
 1510     uint16_t            Size16_4[2];        
 
 1521     uint16_t            Size16_4[2];        
 
 1542     uint16_t            Size16_4[2];        
 
 1564     uint16_t            Size16_4[2];        
 
 1577     uint16_t            Size16_4[2];        
 
 1596     uint16_t            Size16_4[2];        
 
 1611     uint16_t            Size16_4[2];        
 
 1637     uint16_t            Size16_4[2];        
 
 1649     uint16_t            Size16_4[2];        
 
 1669     uint16_t            Size16_4[2];        
 
 1692     uint16_t            Size16_4[2];        
 
 1716     uint16_t            Size16_4[2];        
 
 1741     uint16_t            Size16_4[2];        
 
 1769     uint16_t            Size16_4[2];        
 
 1781     uint16_t            Size16_4[2];        
 
 1976     uint16_t            Size16_4[2];        
 
 1985     uint16_t            Size16_4[2];        
 
 1995     uint16_t            Size16_4[2];        
 
 2005     uint16_t            Size16_4[2];        
 
 2019     uint16_t            Size16_4[2];        
 
 2067 char        *
wmr_dup(
const char *wmr);
 
 2068 int          wmf_start(
const char *name, uint32_t initsize, uint32_t chunksize, 
WMFTRACK **wt);
 
 2073 int          wmf_readdata(
const char *filename, 
char **contents, 
size_t*length);
 
 2074 #define      wmf_fopen    emf_fopen 
 2080 int16_t     *
dx16_set( int32_t  height, uint32_t weight, uint32_t members);
 
 2091 U_FONT      *
U_FONT_set(int16_t Height, int16_t Width, int16_t Escapement, int16_t Orientation,
 
 2092                         int16_t Weight, uint8_t Italic, uint8_t Underline, uint8_t StrikeOut, 
 
 2093                         uint8_t CharSet, uint8_t OutPrecision, uint8_t ClipPrecision, 
 
 2094                         uint8_t Quality, uint8_t PitchAndFamily, 
char *FaceName);
 
 2100                 const int16_t LineN, 
const uint8_t BitsPixel, 
const char *Bits);
 
 2101 U_SCAN      *
U_SCAN_set(uint16_t count, uint16_t top, uint16_t bottom, uint16_t *ScanLines);
 
 2111                 uint32_t iUsage, 
const U_BITMAPINFO *Bmi, uint32_t cbPx, 
const char *Px);
 
 2167 char        *
U_WMRESCAPE_set(uint16_t Escape, uint16_t Length,  
const void *Data);
 
 2187 char        *U_WMR3A_set(
void);
 
 2188 char        *U_WMR3B_set(
void);
 
 2189 char        *U_WMR3C_set(
void);
 
 2190 char        *U_WMR3D_set(
void);
 
 2191 char        *U_WMR3E_set(
void);
 
 2192 char        *U_WMR3F_set(
void);
 
 2194                 uint32_t dwRop3, 
const U_BITMAPINFO * Bmi, uint32_t cbPx, 
const char *Px);
 
 2200               const uint16_t cUsage, uint32_t dwRop3, 
const U_BITMAPINFO *Bmi, uint32_t cbPx, 
const char *Px);
 
 2201 char        *U_WMR44_set(
void);
 
 2202 char        *U_WMR45_set(
void);
 
 2203 char        *U_WMR46_set(
void);
 
 2204 char        *U_WMR47_set(
void);
 
 2206 char        *U_WMR49_set(
void);
 
 2207 char        *U_WMR4A_set(
void);
 
 2208 char        *U_WMR4B_set(
void);
 
 2209 char        *U_WMR4C_set(
void);
 
 2210 char        *U_WMR4D_set(
void);
 
 2211 char        *U_WMR4E_set(
void);
 
 2212 char        *U_WMR4F_set(
void);
 
 2213 char        *U_WMR50_set(
void);
 
 2214 char        *U_WMR51_set(
void);
 
 2215 char        *U_WMRABORTDOC_set(
void);
 
 2216 char        *U_WMR53_set(
void);
 
 2217 char        *U_WMR54_set(
void);
 
 2218 char        *U_WMR55_set(
void);
 
 2219 char        *U_WMR56_set(
void);
 
 2220 char        *U_WMR57_set(
void);
 
 2221 char        *U_WMR58_set(
void);
 
 2222 char        *U_WMR59_set(
void);
 
 2223 char        *U_WMR5A_set(
void);
 
 2224 char        *U_WMR5B_set(
void);
 
 2225 char        *U_WMR5C_set(
void);
 
 2226 char        *U_WMR5D_set(
void);
 
 2227 char        *U_WMR5E_set(
void);
 
 2228 char        *U_WMR5F_set(
void);
 
 2229 char        *U_WMR60_set(
void);
 
 2230 char        *U_WMR61_set(
void);
 
 2231 char        *U_WMR62_set(
void);
 
 2232 char        *U_WMR63_set(
void);
 
 2233 char        *U_WMR64_set(
void);
 
 2234 char        *U_WMR65_set(
void);
 
 2235 char        *U_WMR66_set(
void);
 
 2236 char        *U_WMR67_set(
void);
 
 2237 char        *U_WMR68_set(
void);
 
 2238 char        *U_WMR69_set(
void);
 
 2239 char        *U_WMR6A_set(
void);
 
 2240 char        *U_WMR6B_set(
void);
 
 2241 char        *U_WMR6C_set(
void);
 
 2242 char        *U_WMR6D_set(
void);
 
 2243 char        *U_WMR6E_set(
void);
 
 2244 char        *U_WMR6F_set(
void);
 
 2245 char        *U_WMR70_set(
void);
 
 2246 char        *U_WMR71_set(
void);
 
 2247 char        *U_WMR72_set(
void);
 
 2248 char        *U_WMR73_set(
void);
 
 2249 char        *U_WMR74_set(
void);
 
 2250 char        *U_WMR75_set(
void);
 
 2251 char        *U_WMR76_set(
void);
 
 2252 char        *U_WMR77_set(
void);
 
 2253 char        *U_WMR78_set(
void);
 
 2254 char        *U_WMR79_set(
void);
 
 2255 char        *U_WMR7A_set(
void);
 
 2256 char        *U_WMR7B_set(
void);
 
 2257 char        *U_WMR7C_set(
void);
 
 2258 char        *U_WMR7D_set(
void);
 
 2259 char        *U_WMR7E_set(
void);
 
 2260 char        *U_WMR7F_set(
void);
 
 2261 char        *U_WMR80_set(
void);
 
 2262 char        *U_WMR81_set(
void);
 
 2263 char        *U_WMR82_set(
void);
 
 2264 char        *U_WMR83_set(
void);
 
 2265 char        *U_WMR84_set(
void);
 
 2266 char        *U_WMR85_set(
void);
 
 2267 char        *U_WMR86_set(
void);
 
 2268 char        *U_WMR87_set(
void);
 
 2269 char        *U_WMR88_set(
void);
 
 2270 char        *U_WMR89_set(
void);
 
 2271 char        *U_WMR8A_set(
void);
 
 2272 char        *U_WMR8B_set(
void);
 
 2273 char        *U_WMR8C_set(
void);
 
 2274 char        *U_WMR8D_set(
void);
 
 2275 char        *U_WMR8E_set(
void);
 
 2276 char        *U_WMR8F_set(
void);
 
 2277 char        *U_WMR90_set(
void);
 
 2278 char        *U_WMR91_set(
void);
 
 2279 char        *U_WMR92_set(
void);
 
 2280 char        *U_WMR93_set(
void);
 
 2281 char        *U_WMR94_set(
void);
 
 2282 char        *U_WMR95_set(
void);
 
 2283 char        *U_WMR96_set(
void);
 
 2284 char        *U_WMR97_set(
void);
 
 2285 char        *U_WMR98_set(
void);
 
 2286 char        *U_WMR99_set(
void);
 
 2287 char        *U_WMR9A_set(
void);
 
 2288 char        *U_WMR9B_set(
void);
 
 2289 char        *U_WMR9C_set(
void);
 
 2290 char        *U_WMR9D_set(
void);
 
 2291 char        *U_WMR9E_set(
void);
 
 2292 char        *U_WMR9F_set(
void);
 
 2293 char        *U_WMRA0_set(
void);
 
 2294 char        *U_WMRA1_set(
void);
 
 2295 char        *U_WMRA2_set(
void);
 
 2296 char        *U_WMRA3_set(
void);
 
 2297 char        *U_WMRA4_set(
void);
 
 2298 char        *U_WMRA5_set(
void);
 
 2299 char        *U_WMRA6_set(
void);
 
 2300 char        *U_WMRA7_set(
void);
 
 2301 char        *U_WMRA8_set(
void);
 
 2302 char        *U_WMRA9_set(
void);
 
 2303 char        *U_WMRAA_set(
void);
 
 2304 char        *U_WMRAB_set(
void);
 
 2305 char        *U_WMRAC_set(
void);
 
 2306 char        *U_WMRAD_set(
void);
 
 2307 char        *U_WMRAE_set(
void);
 
 2308 char        *U_WMRAF_set(
void);
 
 2309 char        *U_WMRB0_set(
void);
 
 2310 char        *U_WMRB1_set(
void);
 
 2311 char        *U_WMRB2_set(
void);
 
 2312 char        *U_WMRB3_set(
void);
 
 2313 char        *U_WMRB4_set(
void);
 
 2314 char        *U_WMRB5_set(
void);
 
 2315 char        *U_WMRB6_set(
void);
 
 2316 char        *U_WMRB7_set(
void);
 
 2317 char        *U_WMRB8_set(
void);
 
 2318 char        *U_WMRB9_set(
void);
 
 2319 char        *U_WMRBA_set(
void);
 
 2320 char        *U_WMRBB_set(
void);
 
 2321 char        *U_WMRBC_set(
void);
 
 2322 char        *U_WMRBD_set(
void);
 
 2323 char        *U_WMRBE_set(
void);
 
 2324 char        *U_WMRBF_set(
void);
 
 2325 char        *U_WMRC0_set(
void);
 
 2326 char        *U_WMRC1_set(
void);
 
 2327 char        *U_WMRC2_set(
void);
 
 2328 char        *U_WMRC3_set(
void);
 
 2329 char        *U_WMRC4_set(
void);
 
 2330 char        *U_WMRC5_set(
void);
 
 2331 char        *U_WMRC6_set(
void);
 
 2332 char        *U_WMRC7_set(
void);
 
 2333 char        *U_WMRC8_set(
void);
 
 2334 char        *U_WMRC9_set(
void);
 
 2335 char        *U_WMRCA_set(
void);
 
 2336 char        *U_WMRCB_set(
void);
 
 2337 char        *U_WMRCC_set(
void);
 
 2338 char        *U_WMRCD_set(
void);
 
 2339 char        *U_WMRCE_set(
void);
 
 2340 char        *U_WMRCF_set(
void);
 
 2341 char        *U_WMRD0_set(
void);
 
 2342 char        *U_WMRD1_set(
void);
 
 2343 char        *U_WMRD2_set(
void);
 
 2344 char        *U_WMRD3_set(
void);
 
 2345 char        *U_WMRD4_set(
void);
 
 2346 char        *U_WMRD5_set(
void);
 
 2347 char        *U_WMRD6_set(
void);
 
 2348 char        *U_WMRD7_set(
void);
 
 2349 char        *U_WMRD8_set(
void);
 
 2350 char        *U_WMRD9_set(
void);
 
 2351 char        *U_WMRDA_set(
void);
 
 2352 char        *U_WMRDB_set(
void);
 
 2353 char        *U_WMRDC_set(
void);
 
 2354 char        *U_WMRDD_set(
void);
 
 2355 char        *U_WMRDE_set(
void);
 
 2356 char        *U_WMRDF_set(
void);
 
 2357 char        *U_WMRE0_set(
void);
 
 2358 char        *U_WMRE1_set(
void);
 
 2359 char        *U_WMRE2_set(
void);
 
 2360 char        *U_WMRE3_set(
void);
 
 2361 char        *U_WMRE4_set(
void);
 
 2362 char        *U_WMRE5_set(
void);
 
 2363 char        *U_WMRE6_set(
void);
 
 2364 char        *U_WMRE7_set(
void);
 
 2365 char        *U_WMRE8_set(
void);
 
 2366 char        *U_WMRE9_set(
void);
 
 2367 char        *U_WMREA_set(
void);
 
 2368 char        *U_WMREB_set(
void);
 
 2369 char        *U_WMREC_set(
void);
 
 2370 char        *U_WMRED_set(
void);
 
 2371 char        *U_WMREE_set(
void);
 
 2372 char        *U_WMREF_set(
void);
 
 2374 char        *U_WMRF1_set(
void);
 
 2375 char        *U_WMRF2_set(
void);
 
 2376 char        *U_WMRF3_set(
void);
 
 2377 char        *U_WMRF4_set(
void);
 
 2378 char        *U_WMRF5_set(
void);
 
 2379 char        *U_WMRF6_set(
void);
 
 2381 char        *U_WMRF8_set(
void);
 
 2390 int16_t     *
dx16_get( int32_t height, uint32_t weight, uint32_t members);
 
 2396                 uint32_t *Planes, uint32_t *BitCount, uint32_t *Compression, uint32_t *SizeImage, 
 
 2397                 int32_t *XPelsPerMeter, int32_t *YPelsPerMeter, uint32_t *ClrUsed, uint32_t *ClrImportant);
 
 2398 void         U_BITMAPCOREHEADER_get(
const char *BmiCh, int32_t *Size, int32_t *Width, int32_t *Height, int32_t *BitCount);
 
 2400                 int32_t *width, int32_t *height, int32_t *colortype, int32_t *invert);
 
 2437 int          U_WMRPOLYGON_get(
const char *contents, uint16_t *Length, 
const char **Data);
 
 2438 int          U_WMRPOLYLINE_get(
const char *contents, uint16_t *Length, 
const char **Data);
 
 2439 int          U_WMRESCAPE_get(
const char *contents, uint16_t *Escape, uint16_t *Length, 
const char **Data);
 
 2442 int          U_WMRFRAMEREGION_get(
const char *contents, uint16_t *Region, uint16_t *Brush, int16_t *Height, int16_t *Width);
 
 2457 int          U_WMRPOLYPOLYGON_get(
const char *contents, uint16_t *nPolys, 
const uint16_t **aPolyCounts, 
const char **Points);
 
 2459 int          U_WMR3A_get(
void);
 
 2460 int          U_WMR3B_get(
void);
 
 2461 int          U_WMR3C_get(
void);
 
 2462 int          U_WMR3D_get(
void);
 
 2463 int          U_WMR3E_get(
void);
 
 2464 int          U_WMR3F_get(
void);
 
 2469 int          U_WMR44_get(
void);
 
 2470 int          U_WMR45_get(
void);
 
 2471 int          U_WMR46_get(
void);
 
 2472 int          U_WMR47_get(
void);
 
 2474 int          U_WMR49_get(
void);
 
 2475 int          U_WMR4A_get(
void);
 
 2476 int          U_WMR4B_get(
void);
 
 2477 int          U_WMR4C_get(
void);
 
 2478 int          U_WMR4D_get(
void);
 
 2479 int          U_WMR4E_get(
void);
 
 2480 int          U_WMR4F_get(
void);
 
 2481 int          U_WMR50_get(
void);
 
 2482 int          U_WMR51_get(
void);
 
 2483 int          U_WMRABORTDOC_get(
void);
 
 2484 int          U_WMR53_get(
void);
 
 2485 int          U_WMR54_get(
void);
 
 2486 int          U_WMR55_get(
void);
 
 2487 int          U_WMR56_get(
void);
 
 2488 int          U_WMR57_get(
void);
 
 2489 int          U_WMR58_get(
void);
 
 2490 int          U_WMR59_get(
void);
 
 2491 int          U_WMR5A_get(
void);
 
 2492 int          U_WMR5B_get(
void);
 
 2493 int          U_WMR5C_get(
void);
 
 2494 int          U_WMR5D_get(
void);
 
 2495 int          U_WMR5E_get(
void);
 
 2496 int          U_WMR5F_get(
void);
 
 2497 int          U_WMR60_get(
void);
 
 2498 int          U_WMR61_get(
void);
 
 2499 int          U_WMR62_get(
void);
 
 2500 int          U_WMR63_get(
void);
 
 2501 int          U_WMR64_get(
void);
 
 2502 int          U_WMR65_get(
void);
 
 2503 int          U_WMR66_get(
void);
 
 2504 int          U_WMR67_get(
void);
 
 2505 int          U_WMR68_get(
void);
 
 2506 int          U_WMR69_get(
void);
 
 2507 int          U_WMR6A_get(
void);
 
 2508 int          U_WMR6B_get(
void);
 
 2509 int          U_WMR6C_get(
void);
 
 2510 int          U_WMR6D_get(
void);
 
 2511 int          U_WMR6E_get(
void);
 
 2512 int          U_WMR6F_get(
void);
 
 2513 int          U_WMR70_get(
void);
 
 2514 int          U_WMR71_get(
void);
 
 2515 int          U_WMR72_get(
void);
 
 2516 int          U_WMR73_get(
void);
 
 2517 int          U_WMR74_get(
void);
 
 2518 int          U_WMR75_get(
void);
 
 2519 int          U_WMR76_get(
void);
 
 2520 int          U_WMR77_get(
void);
 
 2521 int          U_WMR78_get(
void);
 
 2522 int          U_WMR79_get(
void);
 
 2523 int          U_WMR7A_get(
void);
 
 2524 int          U_WMR7B_get(
void);
 
 2525 int          U_WMR7C_get(
void);
 
 2526 int          U_WMR7D_get(
void);
 
 2527 int          U_WMR7E_get(
void);
 
 2528 int          U_WMR7F_get(
void);
 
 2529 int          U_WMR80_get(
void);
 
 2530 int          U_WMR81_get(
void);
 
 2531 int          U_WMR82_get(
void);
 
 2532 int          U_WMR83_get(
void);
 
 2533 int          U_WMR84_get(
void);
 
 2534 int          U_WMR85_get(
void);
 
 2535 int          U_WMR86_get(
void);
 
 2536 int          U_WMR87_get(
void);
 
 2537 int          U_WMR88_get(
void);
 
 2538 int          U_WMR89_get(
void);
 
 2539 int          U_WMR8A_get(
void);
 
 2540 int          U_WMR8B_get(
void);
 
 2541 int          U_WMR8C_get(
void);
 
 2542 int          U_WMR8D_get(
void);
 
 2543 int          U_WMR8E_get(
void);
 
 2544 int          U_WMR8F_get(
void);
 
 2545 int          U_WMR90_get(
void);
 
 2546 int          U_WMR91_get(
void);
 
 2547 int          U_WMR92_get(
void);
 
 2548 int          U_WMR93_get(
void);
 
 2549 int          U_WMR94_get(
void);
 
 2550 int          U_WMR95_get(
void);
 
 2551 int          U_WMR96_get(
void);
 
 2552 int          U_WMR97_get(
void);
 
 2553 int          U_WMR98_get(
void);
 
 2554 int          U_WMR99_get(
void);
 
 2555 int          U_WMR9A_get(
void);
 
 2556 int          U_WMR9B_get(
void);
 
 2557 int          U_WMR9C_get(
void);
 
 2558 int          U_WMR9D_get(
void);
 
 2559 int          U_WMR9E_get(
void);
 
 2560 int          U_WMR9F_get(
void);
 
 2561 int          U_WMRA0_get(
void);
 
 2562 int          U_WMRA1_get(
void);
 
 2563 int          U_WMRA2_get(
void);
 
 2564 int          U_WMRA3_get(
void);
 
 2565 int          U_WMRA4_get(
void);
 
 2566 int          U_WMRA5_get(
void);
 
 2567 int          U_WMRA6_get(
void);
 
 2568 int          U_WMRA7_get(
void);
 
 2569 int          U_WMRA8_get(
void);
 
 2570 int          U_WMRA9_get(
void);
 
 2571 int          U_WMRAA_get(
void);
 
 2572 int          U_WMRAB_get(
void);
 
 2573 int          U_WMRAC_get(
void);
 
 2574 int          U_WMRAD_get(
void);
 
 2575 int          U_WMRAE_get(
void);
 
 2576 int          U_WMRAF_get(
void);
 
 2577 int          U_WMRB0_get(
void);
 
 2578 int          U_WMRB1_get(
void);
 
 2579 int          U_WMRB2_get(
void);
 
 2580 int          U_WMRB3_get(
void);
 
 2581 int          U_WMRB4_get(
void);
 
 2582 int          U_WMRB5_get(
void);
 
 2583 int          U_WMRB6_get(
void);
 
 2584 int          U_WMRB7_get(
void);
 
 2585 int          U_WMRB8_get(
void);
 
 2586 int          U_WMRB9_get(
void);
 
 2587 int          U_WMRBA_get(
void);
 
 2588 int          U_WMRBB_get(
void);
 
 2589 int          U_WMRBC_get(
void);
 
 2590 int          U_WMRBD_get(
void);
 
 2591 int          U_WMRBE_get(
void);
 
 2592 int          U_WMRBF_get(
void);
 
 2593 int          U_WMRC0_get(
void);
 
 2594 int          U_WMRC1_get(
void);
 
 2595 int          U_WMRC2_get(
void);
 
 2596 int          U_WMRC3_get(
void);
 
 2597 int          U_WMRC4_get(
void);
 
 2598 int          U_WMRC5_get(
void);
 
 2599 int          U_WMRC6_get(
void);
 
 2600 int          U_WMRC7_get(
void);
 
 2601 int          U_WMRC8_get(
void);
 
 2602 int          U_WMRC9_get(
void);
 
 2603 int          U_WMRCA_get(
void);
 
 2604 int          U_WMRCB_get(
void);
 
 2605 int          U_WMRCC_get(
void);
 
 2606 int          U_WMRCD_get(
void);
 
 2607 int          U_WMRCE_get(
void);
 
 2608 int          U_WMRCF_get(
void);
 
 2609 int          U_WMRD0_get(
void);
 
 2610 int          U_WMRD1_get(
void);
 
 2611 int          U_WMRD2_get(
void);
 
 2612 int          U_WMRD3_get(
void);
 
 2613 int          U_WMRD4_get(
void);
 
 2614 int          U_WMRD5_get(
void);
 
 2615 int          U_WMRD6_get(
void);
 
 2616 int          U_WMRD7_get(
void);
 
 2617 int          U_WMRD8_get(
void);
 
 2618 int          U_WMRD9_get(
void);
 
 2619 int          U_WMRDA_get(
void);
 
 2620 int          U_WMRDB_get(
void);
 
 2621 int          U_WMRDC_get(
void);
 
 2622 int          U_WMRDD_get(
void);
 
 2623 int          U_WMRDE_get(
void);
 
 2624 int          U_WMRDF_get(
void);
 
 2625 int          U_WMRE0_get(
void);
 
 2626 int          U_WMRE1_get(
void);
 
 2627 int          U_WMRE2_get(
void);
 
 2628 int          U_WMRE3_get(
void);
 
 2629 int          U_WMRE4_get(
void);
 
 2630 int          U_WMRE5_get(
void);
 
 2631 int          U_WMRE6_get(
void);
 
 2632 int          U_WMRE7_get(
void);
 
 2633 int          U_WMRE8_get(
void);
 
 2634 int          U_WMRE9_get(
void);
 
 2635 int          U_WMREA_get(
void);
 
 2636 int          U_WMREB_get(
void);
 
 2637 int          U_WMREC_get(
void);
 
 2638 int          U_WMRED_get(
void);
 
 2639 int          U_WMREE_get(
void);
 
 2640 int          U_WMREF_get(
void);
 
 2642 int          U_WMRF1_get(
void);
 
 2643 int          U_WMRF2_get(
void);
 
 2644 int          U_WMRF3_get(
void);
 
 2645 int          U_WMRF4_get(
void);
 
 2646 int          U_WMRF5_get(
void);
 
 2647 int          U_WMRF6_get(
void);
 
 2649 int          U_WMRF8_get(
void);
 
int U_WMROFFSETVIEWPORTORG_get(const char *contents, U_POINT16 *offset)
Retrieve values from a U_WMROFFSETVIEWPORTORG record. 
Definition: uwmf.c:5057
int16_t xSrc
in logical units (UL corner of Src rect) 
Definition: uwmf.h:1389
0x00B0 U_WMRB0 record 
Definition: uwmf.h:250
char * U_WMRPAINTREGION_set(uint16_t Region)
Allocate and construct a U_WMRPAINTREGION record. 
Definition: uwmf.c:3030
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1104
uint16_t Region
Index of region to frame in object table. 
Definition: uwmf.h:1524
uint8_t Green
Palette entry Green Intensity. 
Definition: uwmf.h:798
0x003D U_WMR3D record 
Definition: uwmf.h:135
0x0055 U_WMR55 record 
Definition: uwmf.h:159
U_FONT font
Font Object. 
Definition: uwmf.h:1998
0x0538 U_WMRPOLYPOLYGON record 
Definition: uwmf.h:130
0x0228 U_WMRFILLREGION record 
Definition: uwmf.h:114
uint16_t Style
PenStyle Enumeration. 
Definition: uwmf.h:818
uint8_t Value
0 or PaletteEntryFlag Enumeration 
Definition: uwmf.h:796
0x0211 U_WMROFFSETVIEWPORTORG record 
Definition: uwmf.h:91
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1478
struct U_WMRSETWINDOWORG U_WMRLINETO
WMF manual 2.3.3.10, Endpoint X,Y in logical units. 
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1502
int U_WMRCREATEBITMAP_get(void)
Definition: uwmf.c:6914
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1694
char * U_WMRROUNDRECT_set(int16_t Width, int16_t Height, U_RECT16 rect)
Create and return a U_WMRROUNDRECT record. 
Definition: uwmf.c:2713
char * U_WMRESCAPE_set(uint16_t Escape, uint16_t Length, const void *Data)
Allocate and construct a U_WMRESCAPE record. WARNING! Only three Escape record types are fully suppor...
Definition: uwmf.c:2981
0x00D9 U_WMRD9 record 
Definition: uwmf.h:291
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1693
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1116
int16_t Width
Average Width in Logical units. 
Definition: uwmf.h:776
0x0626 U_WMRESCAPE record 
Definition: uwmf.h:112
char * U_WMRCREATEBRUSHINDIRECT_set(U_WLOGBRUSH brush)
Allocate and construct a U_WMRCREATEBRUSHINDIRECT record. 
Definition: uwmf.c:4321
U_COLORREF Color
Color. 
Definition: uwmf.h:1349
U_WMR_TYPES
WMR Record types. 
Definition: uwmf.h:73
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1743
0x0064 U_WMR64 record 
Definition: uwmf.h:174
char * U_WMRRECTANGLE_set(U_RECT16 rect)
Create and return a U_WMRRECTANGLE record. 
Definition: uwmf.c:2696
uint8_t Italic
LF_Italic Enumeration. 
Definition: uwmf.h:780
0x0079 U_WMR79 record 
Definition: uwmf.h:195
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1544
0x00AB U_WMRAB record 
Definition: uwmf.h:245
0x0088 U_WMR88 record 
Definition: uwmf.h:210
uint32_t U_wmr_size(const U_METARECORD *record)
Get record size in bytes from U_WMR* record, which may not be aligned. 
Definition: uwmf.c:738
int U_WMRROUNDRECT_get(const char *contents, int16_t *Width, int16_t *Height, U_RECT16 *rect)
Retrieve values from a U_WMRROUNDRECT record. 
Definition: uwmf.c:5259
0x00D0 U_WMRD0 record 
Definition: uwmf.h:282
int16_t xEndArc
Coordinates in logical units. 
Definition: uwmf.h:1247
char * U_WMRSETTEXTCOLOR_set(U_COLORREF Color)
Create and return a U_WMRSETTEXTCOLOR record. 
Definition: uwmf.c:2481
struct U_WMRSCALEWINDOWEXT U_WMRSCALEVIEWPORTEXT
WMF manual 2.3.5.12. 
0x061C U_WMRROUNDRECT record 
Definition: uwmf.h:102
char * U_WMRMOVETO_set(U_POINT16 coord)
Create and return a U_WMRMOVETO record. 
Definition: uwmf.c:2583
int U_WMRRESIZEPALETTE_get(const char *contents, uint16_t *Palette)
Get data from a U_WMRRESIZEPALETTE record. 
Definition: uwmf.c:5853
char * wlinejoin_set(int32_t Type)
Allocate and construct the specified U_WMRESCAPE structure, create a handle and returns it Use this f...
Definition: uwmf.c:2318
int U_WMRDIBBITBLT_get(const char *contents, U_POINT16 *Dst, U_POINT16 *cwh, U_POINT16 *Src, uint32_t *dwRop3, const char **dib)
Get data from a U_WMRDIBITBLT record. 
Definition: uwmf.c:5897
int16_t x
X. 
Definition: uwmf.h:1351
0x00DF U_WMRDF record 
Definition: uwmf.h:297
int16_t U_16_checksum(int16_t *buf, int count)
Calculate the int16_t checksum of the buffer for the number of positions specified. This is XOR of all values. 
Definition: uwmf.c:1053
0x0415 U_WMREXCLUDECLIPRECT record 
Definition: uwmf.h:95
int16_t yDst
in logical units (UL corner to fill) 
Definition: uwmf.h:1336
0x0094 U_WMR94 record 
Definition: uwmf.h:222
char * buf
Buffer for constructing the EMF in memory. 
Definition: uwmf.h:2041
int16_t wSrc
in logical units (of Src) 
Definition: uwmf.h:1746
uint16_t Extra
Number of extra space characters to add to the line. 
Definition: uwmf.h:1168
int16_t Top
Coordinates in logical units. 
Definition: uwmf.h:1252
char * U_WMROFFSETCLIPRGN_set(U_POINT16 offset)
Allocate and construct a U_WMROFFSETCLIPRGN record. 
Definition: uwmf.c:2784
int wmf_finish(WMFTRACK *wt)
Finalize the emf in memory and write it to the file. 
Definition: uwmf.c:1491
uint16_t index
(usually) index of region/object in object table 
Definition: uwmf.h:1545
int U_WMRPOLYPOLYGON_get(const char *contents, uint16_t *nPolys, const uint16_t **aPolyCounts, const char **Points)
Get data from a U_WMR_POLYPOLYGON record. 
Definition: uwmf.c:5832
0x0096 U_WMR96 record 
Definition: uwmf.h:224
char * U_WMRCREATEBITMAP_set(void)
Definition: uwmf.c:4333
0x0093 U_WMR93 record 
Definition: uwmf.h:221
int16_t Weight
LF_Weight Enumeration. 
Definition: uwmf.h:779
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1368
int 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)
Get data from a U_WMRSETDIBTODEV record. 
Definition: uwmf.c:5745
0x00A0 U_WMRA0 record 
Definition: uwmf.h:234
int U_WMRSETRELABS_get(const char *contents)
Get data from a U_WMRSETRELABS record. 
Definition: uwmf.c:4894
uint16_t ScanCount
Number of scan lines in Src. 
Definition: uwmf.h:1615
0x00E0 U_WMRE0 record 
Definition: uwmf.h:298
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1717
int16_t Top
in logical units 
Definition: uwmf.h:1321
0x0056 U_WMR56 record 
Definition: uwmf.h:160
0x0830 U_WMRCHORD record 
Definition: uwmf.h:122
int U_WMRSETSTRETCHBLTMODE_get(const char *contents, uint16_t *Mode)
Retrieve values from a U_WMRSETSTRETCHBLTMODE record. 
Definition: uwmf.c:4919
int16_t ySrc
in logical units (UL corner of Src rect) 
Definition: uwmf.h:1696
int U_WMRMOVETO_get(const char *contents, U_POINT16 *coord)
Retrieve values from a U_WMRMOVETO record. 
Definition: uwmf.c:5098
0x007D U_WMR7D record 
Definition: uwmf.h:199
0x005E U_WMR5E record 
Definition: uwmf.h:168
0x0436 U_WMRANIMATEPALETTE record 
Definition: uwmf.h:128
int U_WMRARC_get(const char *contents, U_POINT16 *StartArc, U_POINT16 *EndArc, U_RECT16 *rect)
Retrieve values from a U_WMRARC record. 
Definition: uwmf.c:5139
char * U_WMRSELECTPALETTE_set(uint16_t Palette)
Allocate and construct a U_WMRSELECTPALETTE record. 
Definition: uwmf.c:3158
0x02FC U_WMRCREATEBRUSHINDIRECT record 
Definition: uwmf.h:326
int16_t right
right coordinate 
Definition: uwmf.h:834
0x005B U_WMR5B record 
Definition: uwmf.h:165
char * U_WMRDIBCREATEPATTERNBRUSH_set(const uint16_t Style, const uint16_t iUsage, const U_BITMAPINFO *Bmi, const uint32_t cbPx, const char *Px, const U_BITMAP16 *Bm16)
Allocate and construct a U_WMRDIBCREATEPATTERNBRUSH record. Accepts an image as either a DIB (Bmi/CbP...
Definition: uwmf.c:3404
uint16_t ignore
ignore 
Definition: uwmf.h:1675
0x00E5 U_WMRE5 record 
Definition: uwmf.h:303
char * U_WMRRESIZEPALETTE_set(uint16_t Palette)
Allocate and construct a U_WMRRESIZEPALETTE record. 
Definition: uwmf.c:3226
uint16_t Style
BrushStyle Enumeration. 
Definition: uwmf.h:1772
char * U_WMRSETMAPMODE_set(uint16_t Mode)
Create and return a U_WMRSETMAPMODE record. 
Definition: uwmf.c:2428
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1143
struct U_WMRFLOODFILL U_WMREXTFLOODFILL
WMF manual 2.3.3.7. 
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1332
0x00C4 U_WMRC4 record 
Definition: uwmf.h:270
0x0086 U_WMR86 record 
Definition: uwmf.h:208
int U_WMRBITBLT_get(const char *contents, U_POINT16 *Dst, U_POINT16 *cwh, U_POINT16 *Src, uint32_t *dwRop3, U_BITMAP16 *Bm16, const char **px)
Get data from a U_WMRBITBLT record. Note that unlike U_EMRBITBLT there is no scaling available - the ...
Definition: uwmf.c:5387
0x0104 U_WMRSETROP2 record 
Definition: uwmf.h:78
0x00EC U_WMREC record 
Definition: uwmf.h:310
int wmf_header_append(U_METARECORD *rec, WMFTRACK *wt, int freerec)
Append an WMF header to a wmf in memory. This may reallocate buf memory. WMF header is not a normal r...
Definition: uwmf.c:1624
0x00F8 U_WMRF8 record 
Definition: uwmf.h:322
0x004A U_WMR4A record 
Definition: uwmf.h:148
uint8_t String
String to write, storage area must be 2n bytes. 
Definition: uwmf.h:1370
Prototypes for functions that manipulate UTF and various types of text. 
int U_WMROFFSETWINDOWORG_get(const char *contents, U_POINT16 *offset)
Retrieve values from a U_WMROFFSETWINDOWORG record. 
Definition: uwmf.c:5029
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1477
int U_WMREXTFLOODFILL_get(const char *contents, uint16_t *Mode, U_COLORREF *Color, U_POINT16 *coord)
Retrieve values from a U_WMREXTFLOODFILL record. 
Definition: uwmf.c:6092
int16_t yDst
in logical units (UL corner of Dst rect) 
Definition: uwmf.h:1792
U_FONT * U_FONT_set(int16_t Height, int16_t Width, int16_t Escapement, int16_t Orientation, int16_t Weight, uint8_t Italic, uint8_t Underline, uint8_t StrikeOut, uint8_t CharSet, uint8_t OutPrecision, uint8_t ClipPrecision, uint8_t Quality, uint8_t PitchAndFamily, char *FaceName)
Create and return a U_FONT structure. 
Definition: uwmf.c:773
int U_WMRCREATEPATTERNBRUSH_get(const char *contents, U_BITMAP16 *Bm16, int *pasize, const char **Pattern)
Get data from a U_WMRCREATEPATTERNBRUSH record. Warning - application support for U_WMRCREATEPATTERNB...
Definition: uwmf.c:6847
0x0412 U_WMRSCALEVIEWPORTEXT record 
Definition: uwmf.h:92
0x00F4 U_WMRF4 record 
Definition: uwmf.h:318
0x008E U_WMR8E record 
Definition: uwmf.h:216
uint16_t top
Y coordinate of the top scanline. 
Definition: uwmf.h:1045
char * U_WMRLINETO_set(U_POINT16 coord)
Create and return a U_WMRLINETO record. 
Definition: uwmf.c:2574
uint16_t ignore1
unused value 
Definition: uwmf.h:843
uint16_t Hatch
HatchStyle Enumeration. 
Definition: uwmf.h:980
int U_WMREXCLUDECLIPRECT_get(const char *contents, U_RECT16 *rect)
Retrieve values from a U_WMREXCLUDECLIPRECT record. 
Definition: uwmf.c:5111
int16_t xDenom
X denominator. 
Definition: uwmf.h:1211
0x0090 U_WMR90 record 
Definition: uwmf.h:218
0x0081 U_WMR81 record 
Definition: uwmf.h:203
char * U_WMRCREATEBITMAPINDIRECT_set(void)
Definition: uwmf.c:4327
char * U_WMRREALIZEPALETTE_set(void)
Allocate and construct a U_WMRREALIZEPALETTE record. 
Definition: uwmf.c:3166
uint16_t Style
BrushStyle Enumeration. 
Definition: uwmf.h:978
char * U_WMRSETPALENTRIES_set(const U_PALETTE *Palette)
Allocate and construct a U_WMRSETPALENTRIES record. 
Definition: uwmf.c:3184
0x005F U_WMR5F record 
Definition: uwmf.h:169
0x0076 U_WMR76 record 
Definition: uwmf.h:192
0x00B1 U_WMRB1 record 
Definition: uwmf.h:251
uint16_t ignore
ignore 
Definition: uwmf.h:1724
struct U_WMRSETWINDOWORG U_WMRSETVIEWPORTORG
WMF manual 2.3.5.29, Viewport X,Y origin. 
int U_WMRLINETO_get(const char *contents, U_POINT16 *coord)
Retrieve values from a U_WMRLINETO record. 
Definition: uwmf.c:5085
int16_t Height
Height in Logical units. 
Definition: uwmf.h:775
0x00A5 U_WMRA5 record 
Definition: uwmf.h:239
0x00D4 U_WMRD4 record 
Definition: uwmf.h:286
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1407
char * U_WMRPOLYLINE_set(uint16_t Length, const U_POINT16 *Data)
Allocate and construct a U_WMRPOLYLINE record. 
Definition: uwmf.c:2964
0x006E U_WMR6E record 
Definition: uwmf.h:184
int16_t wSrc
in logical units (of Src) 
Definition: uwmf.h:1721
char * U_WMRSCALEVIEWPORTEXT_set(U_POINT16 Denom, U_POINT16 Num)
Create and return a U_WMRSCALEVIEWPORTEXT record. 
Definition: uwmf.c:2565
0x0418 U_WMRELLIPSE record 
Definition: uwmf.h:98
int16_t Bottom
Coordinates in logical units. 
Definition: uwmf.h:1232
uint16_t Checksum
Checksum of preceding 10 16 bit values. 
Definition: uwmf.h:1078
int U_WMRDRAWTEXT_get(void)
Definition: uwmf.c:5648
int U_WMRCREATEPALETTE_get(const char *contents, U_PALETTE *Palette, const char **PalEntries)
Retrieve values from a U_WMRCREATEPALETTE record. 
Definition: uwmf.c:6824
int U_WMRINTERSECTCLIPRECT_get(const char *contents, U_RECT16 *rect)
Retrieve values from a U_WMRINTERSECTCLIPRECT record. 
Definition: uwmf.c:5124
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1578
0x00CE U_WMRCE record 
Definition: uwmf.h:280
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1230
U_COLORREF Color
Pen Color, the 32 bit value is not aligned. 
Definition: uwmf.h:820
U_BITMAP16 bitmap
Src bitmap. 
Definition: uwmf.h:1416
0x009F U_WMR9F record 
Definition: uwmf.h:233
int16_t xDst
in logical units (UL corner of Dst rect) 
Definition: uwmf.h:1793
int16_t Right
in logical units 
Definition: uwmf.h:1302
struct U_WMRANIMATEPALETTE U_WMRCREATEPALETTE
WMF manual 2.3.4.3. 
0x0049 U_WMR49 record 
Definition: uwmf.h:147
char * U_WMRSETWINDOWEXT_set(U_POINT16 extent)
Create and return a U_WMRSETWINDOWEXT record. 
Definition: uwmf.c:2509
int U_WMRSETWINDOWORG_get(const char *contents, U_POINT16 *coord)
Retrieve values from a U_WMRSETWINDOWORG record. 
Definition: uwmf.c:4976
char * U_WMRSETROP2_set(uint16_t Mode)
Create and return a U_WMRSETROP2 record. 
Definition: uwmf.c:2437
int U_WMRSETBKCOLOR_get(const char *contents, U_COLORREF *Color)
Retrieve values from a U_WMRSETBKCOLOR record. 
Definition: uwmf.c:4840
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1718
int16_t xDst
in logical units (UL corner of Dst rect) 
Definition: uwmf.h:1622
0x0817 U_WMRARC record 
Definition: uwmf.h:97
uint8_t BitsPixel
number of adjacent color bits on each plane (R bits + G bits + B bits ????) 
Definition: uwmf.h:866
0x004F U_WMR4F record 
Definition: uwmf.h:153
int U_WMRTEXTOUT_get(const char *contents, U_POINT16 *Dst, int16_t *Length, const char **string)
Get data from a U_WMRTEXTOUT record. 
Definition: uwmf.c:5354
0x008F U_WMR8F record 
Definition: uwmf.h:217
char * U_WMRSELECTOBJECT_set(uint16_t object)
Allocate and construct a U_WMRSELECTOBJECT record. 
Definition: uwmf.c:3048
int U_WMRCREATEBITMAPINDIRECT_get(void)
Definition: uwmf.c:6908
int16_t hSrc
in logical units (of Src) 
Definition: uwmf.h:1745
Coordinates of the upper left, lower right corner. Note that the coordinate system is 0...
Definition: uwmf.h:831
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1367
int16_t y
Y value (note order!) 
Definition: uwmf.h:1188
struct U_WMREOF U_WMRREALIZEPALETTE
WMF manual 2.3.5.8. 
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:2007
char * U_WMRPIE_set(U_POINT16 Radial1, U_POINT16 Radial2, U_RECT16 rect)
Create and return a U_WMRPIE record. 
Definition: uwmf.c:2677
0x00CA U_WMRCA record 
Definition: uwmf.h:276
int16_t Top
Coordinates in logical units. 
Definition: uwmf.h:1267
int16_t xSrc
in logical units (UL corner of Src rect) 
Definition: uwmf.h:1618
int16_t xSrc
in logical units (UL corner of Src rect) 
Definition: uwmf.h:1674
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1064
0x061D U_WMRPATBLT record 
Definition: uwmf.h:103
int16_t Height
in logical units (of Src and Dst) 
Definition: uwmf.h:1619
U_COLORREF Color
Color. 
Definition: uwmf.h:1282
0x00C1 U_WMRC1 record 
Definition: uwmf.h:267
int16_t yDst
in logical units (UL corner of Dst rect) 
Definition: uwmf.h:1727
0x00D3 U_WMRD3 record 
Definition: uwmf.h:285
0x0103 U_WMRSETMAPMODE record 
Definition: uwmf.h:77
FILE * fp
Open file. 
Definition: uwmf.h:2034
uint32_t chunk
Number of bytes to add when more space is needed. 
Definition: uwmf.h:2040
char * U_wmr_escnames(int idx)
Text description of Escape record type. 
Definition: uwmf.c:600
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1770
int16_t Width
in logical units (of Src and Dst) 
Definition: uwmf.h:1620
char * wcreatepenindirect_set(uint32_t *ihPen, WMFHANDLES *wht, U_PEN pen)
Allocate and construct a U_WMRCREATEPENINDIRECT record, create a handle and returns it Use this funct...
Definition: uwmf.c:2105
0x00DC U_WMRDC record 
Definition: uwmf.h:294
U_WLOGBRUSH U_WLOGBRUSH_set(uint16_t Style, U_COLORREF Color, uint16_t Hatch)
Create and return a U_WLOGBRUSH structure. 
Definition: uwmf.c:1007
0x00F7 U_WMRCREATEPALETTE record 
Definition: uwmf.h:321
0x012D U_WMRSELECTOBJECT record 
Definition: uwmf.h:119
uint8_t Red
Palette entry Red Intensity. 
Definition: uwmf.h:799
uint16_t eFunc
Escape function. 
Definition: uwmf.h:1491
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1348
0x020B U_WMRSETWINDOWORG record 
Definition: uwmf.h:85
void U_BITMAPINFOHEADER_get(const char *Bmih, uint32_t *Size, int32_t *Width, int32_t *Height, uint32_t *Planes, uint32_t *BitCount, uint32_t *Compression, uint32_t *SizeImage, int32_t *XPelsPerMeter, int32_t *YPelsPerMeter, uint32_t *ClrUsed, uint32_t *ClrImportant)
Return parameters from a bitinfoheader. All are returned as 32 bit integers, regardless of their inte...
Definition: uwmf.c:4686
char * wmr_dup(const char *wmr)
Duplicate an WMR record. 
Definition: uwmf.c:1404
0x0127 U_WMRRESTOREDC record 
Definition: uwmf.h:113
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1127
uint16_t Size16w
Total number of 16bit words in record. 
Definition: uwmf.h:1086
char * U_WMRSETDIBTODEV_set(void)
Allocate and construct a U_WMRSETDIBTODEV record. 
Definition: uwmf.c:3149
For U_LOGCOLORSPACEA and U_LOGCOLORSPACEW lcsEndpints field. 
Definition: uemf.h:439
0x0051 U_WMR51 record 
Definition: uwmf.h:155
int16_t yDst
in logical units (UL corner of Dst rect) 
Definition: uwmf.h:1441
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1085
0x0099 U_WMR99 record 
Definition: uwmf.h:227
int16_t Right
in logical units 
Definition: uwmf.h:1320
int16_t Height
in logical units (of Src and Dst) 
Definition: uwmf.h:1676
int16_t Left
in logical units 
Definition: uwmf.h:1322
0x006C U_WMR6C record 
Definition: uwmf.h:182
0x06FF U_WMRCREATEREGION record 
Definition: uwmf.h:329
uint16_t nMembers
Unused, should be 0. 
Definition: uwmf.h:1091
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1296
int U_WMRSETTEXTCHAREXTRA_get(const char *contents, uint16_t *Mode)
Retrieve values from a U_WMRSETTEXTCHAREXTRA record. 
Definition: uwmf.c:4932
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1457
char * U_WMRRESTOREDC_set(int16_t DC)
Allocate and construct a U_WMRRESTOREDC record. 
Definition: uwmf.c:2990
int16_t Bottom
in logical units 
Definition: uwmf.h:1301
int16_t Bottom
in logical units 
Definition: uwmf.h:1319
0x00EF U_WMREF record 
Definition: uwmf.h:313
char * U_WMRANIMATEPALETTE_set(U_PALETTE *Palette)
Allocate and construct a U_WMRSETPALENTRIES record. 
Definition: uwmf.c:3175
struct U_WMRINVERTREGION U_WMRPAINTREGION
WMF manual 2.3.3.11, paint region. 
int16_t y
in logical units (draw point) 
Definition: uwmf.h:1599
char * wcreateregion_set(uint32_t *ihReg, WMFHANDLES *wht, const U_REGION *Region)
Allocate and construct a U_WMRCREATEREGION record, create a handle and returns it Use this function i...
Definition: uwmf.c:2266
U_RECT16 sRect
bounding rectangle 
Definition: uwmf.h:849
0x0231 U_WMRSETMAPPERFLAGS record 
Definition: uwmf.h:123
0x00E8 U_WMRE8 record 
Definition: uwmf.h:306
int16_t xSrc
in logical units (UL corner of Src rect) 
Definition: uwmf.h:1748
int16_t hSrc
in logical units (of Src) 
Definition: uwmf.h:1720
0x06FE U_WMRCREATEBITMAP record 
Definition: uwmf.h:328
int U_WMRSETPALENTRIES_get(const char *contents, U_PALETTE *Palette, const char **PalEntries)
Get data from a U_WMRSETPALENTRIES record. 
Definition: uwmf.c:5816
uint16_t count
Number of entries in the ScanLines array. 
Definition: uwmf.h:1044
int16_t Height
in logical units (of frame) 
Definition: uwmf.h:1526
0x081A U_WMRPIE record 
Definition: uwmf.h:100
void U_sanerect16(U_RECT16 rc, double *left, double *top, double *right, double *bottom)
A U_RECT16 may have its values swapped, L<->R and T<->B, this extracts the leftmost as left...
Definition: uwmf.c:722
0x0548 U_WMREXTFLOODFILL record 
Definition: uwmf.h:146
0x00DB U_WMRDB record 
Definition: uwmf.h:293
0x00B4 U_WMRB4 record 
Definition: uwmf.h:254
0x006F U_WMR6F record 
Definition: uwmf.h:185
0x00BE U_WMRBE record 
Definition: uwmf.h:264
char * wcreatepatternbrush_set(uint32_t *ihBrush, WMFHANDLES *wht, U_BITMAP16 *Bm16, char *Pattern)
Allocate and construct a U_WMRCREATEPATTERNBRUSH record, create a handle and returns it Use this func...
Definition: uwmf.c:2189
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1613
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1977
0x0059 U_WMR59 record 
Definition: uwmf.h:163
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:2020
int U_WMRSCALEVIEWPORTEXT_get(const char *contents, U_POINT16 *Denom, U_POINT16 *Num)
Retrieve values from a U_WMRSCALEVIEWPORTEXT record. 
Definition: uwmf.c:5071
int U_WMRDIBCREATEPATTERNBRUSH_get(const char *contents, uint16_t *Style, uint16_t *cUsage, const char **Bm16, const char **dib)
Get data from a U_WMRDIBCREATEPATTERNBRUSH record. Returns an image as either a DIB (Bmi/CbPx/Px defi...
Definition: uwmf.c:5993
0x00E6 U_WMRE6 record 
Definition: uwmf.h:304
U_WLOGBRUSH brush
WLogBrush Object. 
Definition: uwmf.h:2008
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1103
0x009C U_WMR9C record 
Definition: uwmf.h:230
0x020F U_WMROFFSETWINDOWORG record 
Definition: uwmf.h:89
char * wcreatedibpatternbrush_srcbm16_set(uint32_t *ihBrush, WMFHANDLES *wht, const uint32_t iUsage, const U_BITMAP16 *Bm16)
Allocate and construct a U_WMRCREATEPATTERNBRUSH record from a U_BITMAP16 object. Use this function i...
Definition: uwmf.c:2168
0x00F2 U_WMRF2 record 
Definition: uwmf.h:316
0x0058 U_WMR58 record 
Definition: uwmf.h:162
uint16_t Width
DIB width in pixels. 
Definition: uwmf.h:873
0x005A U_WMR5A record 
Definition: uwmf.h:164
0x00E9 U_WMRE9 record 
Definition: uwmf.h:307
char * U_WMRTEXTOUT_set(U_POINT16 Dst, char *string)
Allocate and construct a U_WMRTEXTOUT record. 
Definition: uwmf.c:2794
0x009A U_WMR9A record 
Definition: uwmf.h:228
0x008C U_WMR8C record 
Definition: uwmf.h:214
int16_t Width
in logical units (rounded corner) 
Definition: uwmf.h:1318
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1115
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:2006
int16_t Height
in logical units (of Src and Dst rects) 
Definition: uwmf.h:1391
0x00F3 U_WMRF3 record 
Definition: uwmf.h:317
0x00A9 U_WMRA9 record 
Definition: uwmf.h:243
U_COLORREF Color
Brush Color value, 32 bit value is not aligned. 
Definition: uwmf.h:766
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1997
uint32_t maxSize
Largest record in file, in number of 16bit words (This uint32_t is aligned) 
Definition: uwmf.h:1090
uint32_t lolimit
Lowest unoccupied table slot, may be a hole created by a deleteobject. 
Definition: uwmf.h:2059
int U_WMRSETBKMODE_get(const char *contents, uint16_t *Mode)
Retrieve values from a U_WMRSETBKMODE record. 
Definition: uwmf.c:4856
0x0078 U_WMR78 record 
Definition: uwmf.h:194
int wmf_start(const char *name, const uint32_t initsize, const uint32_t chunksize, WMFTRACK **wt)
Start constructing an wmf in memory. Supply the file name and initial size. 
Definition: uwmf.c:1431
int16_t Width
in logical units (of frame) 
Definition: uwmf.h:1527
0x00B6 U_WMRB6 record 
Definition: uwmf.h:256
int16_t y
Y. 
Definition: uwmf.h:1350
char * U_WMREXTTEXTOUT_set(U_POINT16 Dst, int16_t Length, uint16_t Opts, const char *string, int16_t *dx, U_RECT16 rect)
Allocate and construct a U_WMREXTTEXTOUT record. 
Definition: uwmf.c:3107
uint8_t Blue
Palette entry Blue Intensity. 
Definition: uwmf.h:797
U_REGION region
Region Object. 
Definition: uwmf.h:2022
0x00A7 U_WMRA7 record 
Definition: uwmf.h:241
uint8_t iType
RecordType Enumeration, must be 1. 
Definition: uwmf.h:1084
U_COLORREF Color
Brush Color value, 32 bit value is not aligned. 
Definition: uwmf.h:979
0x0092 U_WMR92 record 
Definition: uwmf.h:220
char * U_WMRFILLREGION_set(uint16_t Region, uint16_t Brush)
Allocate and construct a U_WMRFILLREGION record. 
Definition: uwmf.c:3000
int U_WMRSETTEXTALIGN_get(const char *contents, uint16_t *Mode)
Get data from a U_WMRSETTEXTALIGN record. 
Definition: uwmf.c:5639
0x0213 U_WMRLINETO record 
Definition: uwmf.h:93
struct U_WMRINVERTREGION U_WMRSELECTCLIPREGION
WMF manual 2.3.4.9, select as clip region. 
int16_t yRadial2
in logical units 
Definition: uwmf.h:1297
U_PLTNTRY U_PLTNTRY_set(U_COLORREF Color)
Create and return a U_PLTENTRY structure. 
Definition: uwmf.c:817
0x0922 U_WMRBITBLT record 
Definition: uwmf.h:108
int16_t yDst
in logical units (UL corner of Dst rect) 
Definition: uwmf.h:1393
int16_t Left
in logical units 
Definition: uwmf.h:1304
0x0077 U_WMR77 record 
Definition: uwmf.h:193
struct U_WMRANIMATEPALETTE U_WMRSETPALENTRIES
WMF manual 2.3.5.19. 
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1489
uint16_t HWmf
0. (Always. Manual says total number of 16bit words in record, but no examples found like that) ...
Definition: uwmf.h:1074
0x0419 U_WMRFLOODFILL record 
Definition: uwmf.h:99
0x00B9 U_WMRB9 record 
Definition: uwmf.h:259
char * U_WMRSETTEXTALIGN_set(uint16_t Mode)
Allocate and construct a U_WMRSETTEXTALIGN record. 
Definition: uwmf.c:3057
int16_t xRadial2
in logical units 
Definition: uwmf.h:1298
int16_t hDst
Height in logical units of Dst rect. 
Definition: uwmf.h:1463
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1432
int16_t WidthBytes
bytes per scan line. 
Definition: uwmf.h:864
int16_t y
Y. 
Definition: uwmf.h:1283
uint8_t PitchAndFamily
LF_PitchAndFamily Enumeration. 
Definition: uwmf.h:787
0x0095 U_WMR95 record 
Definition: uwmf.h:223
int16_t Height
in logical units (of Src and Dst rects) 
Definition: uwmf.h:1412
0x0108 U_WMRSETTEXTCHAREXTRA record 
Definition: uwmf.h:82
char * U_WMRSETSTRETCHBLTMODE_set(uint16_t Mode)
Create and return a U_WMRSETSTRETCHBLTMODE record. 
Definition: uwmf.c:2463
int16_t * dx16_get(int32_t height, uint32_t weight, uint32_t members)
Make up an approximate dx array to pass to U_WMREXTTEXTOUT_get(), based on character height and weigh...
Definition: uwmf.c:4377
0x003A U_WMR3A record 
Definition: uwmf.h:132
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:2021
0x00C7 U_WMRC7 record 
Definition: uwmf.h:273
0x004B U_WMR4B record 
Definition: uwmf.h:149
0x0940 U_WMRDIBBITBLT record 
Definition: uwmf.h:138
0x012E U_WMRSETTEXTALIGN record 
Definition: uwmf.h:120
int16_t wSrc
Wdith in logical units of Dst rect. 
Definition: uwmf.h:1435
int U_WMRELLIPSE_get(const char *contents, U_RECT16 *rect)
Retrieve values from a U_WMRELLIPSE record. 
Definition: uwmf.c:5165
int16_t xNum
X numerator. 
Definition: uwmf.h:1212
char * U_WMRSETRELABS_set(void)
Allocate and construct a U_WMRSETRELABS record. 
Definition: uwmf.c:2445
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1245
int wmf_htable_free(WMFHANDLES **wht)
Free all memory in an htable. Sets the pointer to NULL. 
Definition: uwmf.c:1752
int wget_DIB_params(const char *dib, const char **px, const U_RGBQUAD **ct, int32_t *numCt, int32_t *width, int32_t *height, int32_t *colortype, int32_t *invert)
Assume a packed DIB and get the parameters from it, use by DBI_to_RGBA() 
Definition: uwmf.c:4730
uint32_t Reserved
must be 0 
Definition: uwmf.h:1077
int16_t nPoints
Number of points in aPoints. 
Definition: uwmf.h:1479
int16_t x
X value. 
Definition: uwmf.h:1189
0x0083 U_WMR83 record 
Definition: uwmf.h:205
int U_WMRSELECTCLIPREGION_get(const char *contents, uint16_t *Region)
Get data from a U_WMRSELECTCLIPREGION record. 
Definition: uwmf.c:5612
0x0416 U_WMRINTERSECTCLIPRECT record 
Definition: uwmf.h:96
struct U_WMRDRAWTEXT U_WMRCREATEBITMAP
in GDI and Wine, not documented in WMF manual. 
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1408
struct U_WMREOF U_WMRSETRELABS
WMF manual 2.3.5.21. 
0x01F9 U_WMRCREATEPATTERNBRUSH record 
Definition: uwmf.h:323
size_t used
Amount consumed. 
Definition: uwmf.h:2036
0x0047 U_WMR47 record 
Definition: uwmf.h:145
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1165
0x00C0 U_WMRC0 record 
Definition: uwmf.h:266
int U_WMRSETVIEWPORTEXT_get(const char *contents, U_POINT16 *extent)
Retrieve values from a U_WMRSETVIEWPORTEXT record. 
Definition: uwmf.c:5016
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1490
int U_WMRDIBSTRETCHBLT_get(const char *contents, U_POINT16 *Dst, U_POINT16 *cDst, U_POINT16 *Src, U_POINT16 *cSrc, uint32_t *dwRop3, const char **dib)
Get data from a U_WMRSTRETCHDIB record. 
Definition: uwmf.c:5943
uint16_t ignore
size padding,not used 
Definition: uwmf.h:2038
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1280
uint32_t peak
Highest table slot occupied (ever) 
Definition: uwmf.h:2061
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1186
char * U_WMRSTRETCHDIB_set(U_POINT16 Dst, U_POINT16 cDst, U_POINT16 Src, U_POINT16 cSrc, uint16_t cUsage, uint32_t dwRop3, const U_BITMAPINFO *Bmi, uint32_t cbPx, const char *Px)
Allocate and construct a U_WMRSTRETCHDIB record. 
Definition: uwmf.c:3460
0x02FD U_WMRCREATEBITMAPINDIRECT record 
Definition: uwmf.h:327
int U_WMRSETMAPPERFLAGS_get(const char *contents, uint32_t *Mode)
Get data from a U_WMRSETMAPPERFLAGS record. 
Definition: uwmf.c:5686
0x007A U_WMR7A record 
Definition: uwmf.h:196
int U_WMRSCALEWINDOWEXT_get(const char *contents, U_POINT16 *Denom, U_POINT16 *Num)
Retrieve values from a U_WMRSCALEWINDOWEXT record. 
Definition: uwmf.c:5043
int16_t sCount
number of scanlines in region 
Definition: uwmf.h:847
U_SCAN * U_SCAN_set(uint16_t count, uint16_t top, uint16_t bottom, uint16_t *ScanLines)
Create and return a U_SCAN structure. 
Definition: uwmf.c:942
int16_t xSrc
in logical units (UL corner of Src rect) 
Definition: uwmf.h:1789
0x0073 U_WMR73 record 
Definition: uwmf.h:189
0x003E U_WMR3E record 
Definition: uwmf.h:136
0x0325 U_WMRPOLYLINE record 
Definition: uwmf.h:111
int16_t yRadial1
in logical units 
Definition: uwmf.h:1299
0x00E1 U_WMRE1 record 
Definition: uwmf.h:299
int16_t hDst
in logical units (of Dst) 
Definition: uwmf.h:1749
0x00BA U_WMRBA record 
Definition: uwmf.h:260
int U_WMRPOLYLINE_get(const char *contents, uint16_t *Length, const char **Data)
Get data from a U_WMRPOLYLINE record. 
Definition: uwmf.c:5502
uint16_t Reserved
Ignore (ALSO OPTIONAL - FIELD MAY NOT BE PRESENT!!!!) 
Definition: uwmf.h:1130
int16_t Height
in logical units (of Src and Dst) 
Definition: uwmf.h:1698
int16_t yNum
Y numerator. 
Definition: uwmf.h:1210
struct U_WMRSETBKMODE U_WMRSETROP2
WMF manual 2.3.5.22 Binary Raster Operation Enumeration. 
0x00EB U_WMREB record 
Definition: uwmf.h:309
int16_t Orientation
Angle in 0.1 degrees between baseline and X axis. 
Definition: uwmf.h:778
int16_t xSrc
in logical units (UL corner of Src rect) 
Definition: uwmf.h:1462
int U_WMRRESTOREDC_get(const char *contents, int16_t *DC)
Get data from a U_WMRRESTOREDC record. 
Definition: uwmf.c:5539
U_POLYPOLYGON PPolygon
PolyPolygon object (size is variable!) 
Definition: uwmf.h:1652
0x02FB U_WMRCREATEFONTINDIRECT record 
Definition: uwmf.h:325
0x00DA U_WMRDA record 
Definition: uwmf.h:292
struct U_WMRINVERTREGION U_WMRDELETEOBJECT
WMF manual 2.3.4.7, delete object. 
0x007E U_WMR7E record 
Definition: uwmf.h:200
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1996
int16_t ySrc
in logical units (UL corner of Src rect) 
Definition: uwmf.h:1388
Structures, definitions, and function prototypes for EMF files. 
uint32_t records
Number of records already contained. 
Definition: uwmf.h:2037
0x0B23 U_WMRSTRETCHBLT record 
Definition: uwmf.h:109
int16_t hSrc
Height in logical units of Src rect. 
Definition: uwmf.h:1434
uint8_t OutPrecision
LF_OutPrecision Enumeration. 
Definition: uwmf.h:784
uint16_t StartScan
First Scan line in Src. 
Definition: uwmf.h:1616
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1612
int16_t xDst
in logical units (UL corner of Dst rect) 
Definition: uwmf.h:1415
int16_t Right
Coordinates in logical units. 
Definition: uwmf.h:1251
int16_t x
in logical units (draw point) 
Definition: uwmf.h:1600
uint16_t ignore2
unused value 
Definition: uwmf.h:845
0x00A2 U_WMRA2 record 
Definition: uwmf.h:236
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1315
Point type for 16 bit EMR drawing functions. 
Definition: uemf.h:541
0x004E U_WMR4E record 
Definition: uwmf.h:152
0x0050 U_WMR50 record 
Definition: uwmf.h:154
int U_WMRPATBLT_get(const char *contents, U_POINT16 *Dst, U_POINT16 *cwh, uint32_t *dwRop3)
Get data from a U_WMRPATBLT record. 
Definition: uwmf.c:5285
int16_t Bottom
Coordinates in logical units. 
Definition: uwmf.h:1265
int16_t Type
"bitmap type" MS PDF does not define this field beyond this. 
Definition: uwmf.h:861
0x0220 U_WMROFFSETCLIPRGN record 
Definition: uwmf.h:106
int16_t wDst
in logical units (of Dst) 
Definition: uwmf.h:1726
uint8_t Quality
LF_Quality Enumeration. 
Definition: uwmf.h:786
0x0046 U_WMR46 record 
Definition: uwmf.h:144
0x0067 U_WMR67 record 
Definition: uwmf.h:177
int16_t Bottom
Coordinates in logical units. 
Definition: uwmf.h:1250
int16_t left
left coordinate 
Definition: uwmf.h:832
int wmf_readdata(const char *filename, char **contents, size_t *length)
Retrieve contents of an WMF file by name. 
Definition: uwmf.c:1535
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1347
0x0045 U_WMR45 record 
Definition: uwmf.h:143
int16_t xDst
in logical units (UL corner of Dst rect) 
Definition: uwmf.h:1394
struct U_WMRINVERTREGION U_WMRSELECTOBJECT
WMF manual 2.3.4.10, select object. 
struct U_WMRSETWINDOWORG U_WMRSETVIEWPORTEXT
WMF manual 2.3.5.28, Viewport X,Y extent. 
char * wdeleteobject_set(uint32_t *ihObject, WMFHANDLES *wht)
Allocate and construct a U_WMRDELETEOBJECT record and also delete the requested object from the table...
Definition: uwmf.c:2065
struct U_WMRPOLYGON U_WMRPOLYLINE
WMF manual 2.3.3.14. 
int16_t sMax
largest number of points in any scan 
Definition: uwmf.h:848
int U_WMRRECTANGLE_get(const char *contents, U_RECT16 *rect)
Retrieve values from a U_WMRRECTANGLE record. 
Definition: uwmf.c:5237
char * U_WMRSELECTCLIPREGION_set(uint16_t Region)
Allocate and construct a U_WMRSELECTCLIPREGION record. 
Definition: uwmf.c:3039
int U_WMRSETTEXTJUSTIFICATION_get(const char *contents, uint16_t *Count, uint16_t *Extra)
Retrieve values from a U_WMRSETTEXTJUSTIFICATION record. 
Definition: uwmf.c:4962
char * wend_path_set(void)
Allocate and construct the specified U_WMRESCAPE structure, create a handle and returns it Use this f...
Definition: uwmf.c:2291
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1986
int16_t wDst
in logical units (of Dst) 
Definition: uwmf.h:1791
0x007F U_WMR7F record 
Definition: uwmf.h:201
int16_t yDst
in logical units (UL corner of Dst rect) 
Definition: uwmf.h:1414
0x00D5 U_WMRD5 record 
Definition: uwmf.h:287
char * U_WMRSAVEDC_set(void)
Allocate and construct a U_WMRSAVEDC record. 
Definition: uwmf.c:2759
0x00AC U_WMRAC record 
Definition: uwmf.h:246
int U_WMRPIE_get(const char *contents, U_POINT16 *Radial1, U_POINT16 *Radial2, U_RECT16 *rect)
Retrieve values from a U_WMRPIE record. 
Definition: uwmf.c:5211
0x0060 U_WMR60 record 
Definition: uwmf.h:170
0x0052 U_WMR52 record 
Definition: uwmf.h:156
int 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)
Get data from a U_WMRSTRETCHBLT record. 
Definition: uwmf.c:5437
int 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)
Get data from a U_WMREXTTEXTOUT record. 
Definition: uwmf.c:5707
0x0D33 U_WMRSETDIBTODEV record 
Definition: uwmf.h:125
char * U_WMRHEADER_set(U_PAIRF *size, unsigned int dpi)
Set up fields for a (placeable) WMR_HEADER. Most of the fields are blank and are not set until all is...
Definition: uwmf.c:2356
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1597
int16_t xDst
in logical units (UL corner of Dst rect) 
Definition: uwmf.h:1728
char * U_WMRSETBKMODE_set(uint16_t Mode)
Create and return a U_WMRSETBKMODE record. 
Definition: uwmf.c:2419
int16_t xStartArc
Coordinates in logical units. 
Definition: uwmf.h:1249
struct U_WMRSETBKMODE U_WMRSETPOLYFILLMODE
WMF manual 2.3.5.20 Mode = PolyFillMode Enumeration. 
int16_t ySrc
in logical units (UL corner of Src rect) 
Definition: uwmf.h:1436
U_RECT16 U_RECT16_set(U_POINT16 ul, U_POINT16 lr)
Create and return a U_RECT16 structure from Upper Left and Lower Right corner points. 
Definition: uwmf.c:878
0x0098 U_WMR98 record 
Definition: uwmf.h:226
0x0106 U_WMRSETPOLYFILLMODE record 
Definition: uwmf.h:80
char * U_WMRCHORD_set(U_POINT16 Radial1, U_POINT16 Radial2, U_RECT16 rect)
Create and return a U_WMRCHORD record. 
Definition: uwmf.c:3074
For U_EMR_* OffBmi* fields. 
Definition: uemf.h:2020
0x0234 U_WMRSELECTPALETTE record 
Definition: uwmf.h:126
char * U_WMRCREATEPENINDIRECT_set(U_PEN pen)
Allocate and construct a U_WMRCREATEPENINDIRECT record. 
Definition: uwmf.c:4292
0x0071 U_WMR71 record 
Definition: uwmf.h:187
char * U_WMROFFSETWINDOWORG_set(U_POINT16 offset)
Create and return a U_WMROFFSETWINDOWORG record. 
Definition: uwmf.c:2536
struct U_WMRPIE U_WMRCHORD
WMF manual 2.3.3.2. 
0x0102 U_WMRSETBKMODE record 
Definition: uwmf.h:76
uint16_t BitCount
Pixel Format (BitCount Enumeration) 
Definition: uwmf.h:876
char * U_WMREOF_set(void)
Allocate and construct a U_WMREOF record. 
Definition: uwmf.c:2401
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1670
0x014D U_WMR4D record 
Definition: uwmf.h:151
int16_t xDst
in logical units (UL corner of Dst rect) 
Definition: uwmf.h:1466
char * wcreatebrushindirect_set(uint32_t *ihBrush, WMFHANDLES *wht, U_WLOGBRUSH lb)
Allocate and construct a U_WMRCREATEBRUSHINDIRECT record, create a handle and returns it Use this fun...
Definition: uwmf.c:2124
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1579
0x0085 U_WMR85 record 
Definition: uwmf.h:207
int16_t ySrc
in logical units (UL corner of Src rect) 
Definition: uwmf.h:1410
struct U_WMRSETWINDOWORG U_WMRMOVETO
WMF manual 2.3.3.4, Destination X,Y in logical units. 
0x012C U_WMRSELECTCLIPREGION record 
Definition: uwmf.h:118
char * U_WMRSCALEWINDOWEXT_set(U_POINT16 Denom, U_POINT16 Num)
Create and return a U_WMRSCALEWINDOWEXT record. 
Definition: uwmf.c:2546
0x0105 U_WMRSETRELABS record 
Definition: uwmf.h:79
0x0054 U_WMR54 record 
Definition: uwmf.h:158
U_PALETTE Palette
Palette object. 
Definition: uwmf.h:1640
int16_t xDst
in logical units (UL corner of Dst rect) 
Definition: uwmf.h:1442
uint16_t version
Metafile version Enumeration. 
Definition: uwmf.h:1087
U_PEN pen
Pen Object. 
Definition: uwmf.h:1988
0x007C U_WMR7C record 
Definition: uwmf.h:198
0x0062 U_WMR62 record 
Definition: uwmf.h:172
0x00E3 U_WMRE3 record 
Definition: uwmf.h:301
char * wmiterlimit_set(int32_t limit)
Allocate and construct the specified U_WMRESCAPE structure, create a handle and returns it Use this f...
Definition: uwmf.c:2335
int U_WMRCHORD_get(const char *contents, U_POINT16 *Radial1, U_POINT16 *Radial2, U_RECT16 *rect)
Retrieve values from a U_WMRCHORD record. 
Definition: uwmf.c:5660
int16_t Length
Stringlength in bytes. 
Definition: uwmf.h:1601
0x00B2 U_WMRB2 record 
Definition: uwmf.h:252
uint16_t Mode
Various Enumeraton and other. 
Definition: uwmf.h:1145
0x00C2 U_WMRC2 record 
Definition: uwmf.h:268
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1565
Prototypes for functions for converting WMF records between Big Endian and Little Endian...
int16_t Width
in logical units (of Src and Dst rects) 
Definition: uwmf.h:1392
int16_t xSrc
in logical units (UL corner of Src rect) 
Definition: uwmf.h:1723
char * U_WMRCREATEPALETTE_set(U_PALETTE *Palette)
Create and return a U_WMRCREATEPALETTE record. 
Definition: uwmf.c:4248
char * U_WMRSETPOLYFILLMODE_set(uint16_t Mode)
Create and return a U_WMRSETPOLYFILLMODE record. 
Definition: uwmf.c:2454
int16_t xSrc
in logical units (UL corner of Src rect) 
Definition: uwmf.h:1411
0x006D U_WMR6D record 
Definition: uwmf.h:183
0x0139 U_WMRRESIZEPALETTE record 
Definition: uwmf.h:131
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1638
int16_t ignore
ignore 
Definition: uwmf.h:1390
U_PEN U_PEN_set(uint16_t Style, uint16_t Width, U_COLORREF Color)
Create and return a U_PEN structure. 
Definition: uwmf.c:857
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1264
0x020A U_WMRSETTEXTJUSTIFICATION record 
Definition: uwmf.h:84
0x00A1 U_WMRA1 record 
Definition: uwmf.h:235
int16_t xDst
in logical units (UL corner of Dst rect) 
Definition: uwmf.h:1752
int 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)
Get data from a U_WMRSTRETCHDIB record. 
Definition: uwmf.c:6039
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1543
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1208
0x00AA U_WMRAA record 
Definition: uwmf.h:244
char * U_WMRARC_set(U_POINT16 StartArc, U_POINT16 EndArc, U_RECT16 rect)
Create and return a U_WMRARC record. 
Definition: uwmf.c:2624
int16_t yDst
in logical units (UL corner of Dst rect) 
Definition: uwmf.h:1465
0x00A8 U_WMRA8 record 
Definition: uwmf.h:242
0x020C U_WMRSETWINDOWEXT record 
Definition: uwmf.h:86
int16_t xDst
in logical units (UL corner to fill) 
Definition: uwmf.h:1337
int16_t hSrc
Height in logical units of Src rect. 
Definition: uwmf.h:1459
int16_t hSrc
in logical units (of Src) 
Definition: uwmf.h:1786
int16_t ySrc
in logical units (UL corner of Src rect) 
Definition: uwmf.h:1617
0x00BF U_WMRBF record 
Definition: uwmf.h:265
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1263
U_REGION * U_REGION_set(int16_t Size, int16_t sCount, int16_t sMax, U_RECT16 sRect, uint16_t *aScans)
Create and return a U_REGION structure. 
Definition: uwmf.c:969
int16_t top
top coordinate 
Definition: uwmf.h:833
char * U_WMRINVERTREGION_set(uint16_t Region)
Allocate and construct a U_WMRINVERTREGION record. 
Definition: uwmf.c:3021
int16_t x
X. 
Definition: uwmf.h:1284
int16_t xSrc
in logical units (UL corner of Src rect) 
Definition: uwmf.h:1437
int U_WMRSELECTPALETTE_get(const char *contents, uint16_t *Palette)
Get data from a U_WMRSELECTPALETTE record. 
Definition: uwmf.c:5776
uint16_t Mode
Various Enumeraton. 
Definition: uwmf.h:1129
0x0070 U_WMR70 record 
Definition: uwmf.h:186
0x00D8 U_WMRD8 record 
Definition: uwmf.h:290
0x0A32 U_WMREXTTEXTOUT record 
Definition: uwmf.h:124
uint8_t StrikeOut
LF_StrikeOut Enumeration. 
Definition: uwmf.h:782
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1650
int U_WMRDELETEOBJECT_get(const char *contents, uint16_t *Object)
Get data from a U_WMRDELETEOBJECT record. 
Definition: uwmf.c:6784
0x0053 U_WMR53 record 
Definition: uwmf.h:157
0x0080 U_WMR80 record 
Definition: uwmf.h:202
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1671
0x001E U_WMRSAVEDC record 
Definition: uwmf.h:104
struct U_WMRSETWINDOWORG U_WMROFFSETWINDOWORG
WMF manual 2.3.5.7, Window X,Y offset in device units. 
U_BITMAP16 * U_BITMAP16_set(const int16_t Type, const int16_t Width, const int16_t Height, const int16_t LineN, const uint8_t BitsPixel, const char *Bits)
Create and return a U_BITMAP16 structure. 
Definition: uwmf.c:900
char * U_WMRCREATEREGION_set(const U_REGION *region)
Allocate and construct a U_WMRCREATEREGION record. 
Definition: uwmf.c:4342
uint16_t Start
Either 0x0300 or an offset into the Palette table. 
Definition: uwmf.h:810
uint32_t sumObjects
Number of objects created (used by WMF, not by EMF) 
Definition: uwmf.h:2043
uint16_t Opts
ExtTextOutOptions Flags. 
Definition: uwmf.h:1602
struct U_WMRSETWINDOWORG U_WMRSETWINDOWEXT
WMF manual 2.3.5.30, Window X,Y extent. 
struct U_WMRINVERTREGION U_WMRSELECTPALETTE
WMF manual 2.3.4.11, select palette object. 
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1386
int U_WMRESCAPE_get(const char *contents, uint16_t *Escape, uint16_t *Length, const char **Data)
Get data from a U_WMRESCAPE record. WARNING! Only three Escape record types are fully supported: SETL...
Definition: uwmf.c:5524
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1385
uint32_t U_wmr_properties(uint32_t type)
Look up the properties (a bit map) of a type of WMR record. Bits that may be set are defined in "Draw...
Definition: uwmf.c:1118
uint16_t cUsage
See table above. 
Definition: uwmf.h:1773
0x00CB U_WMRCB record 
Definition: uwmf.h:277
int16_t wSrc
in logical units (of Src) 
Definition: uwmf.h:1787
U_PALETTE * U_PLTENTRY_set(uint16_t Start, uint16_t NumEntries, U_PLTNTRY *PalEntries)
Create and return a U_PALETTE structure. 
Definition: uwmf.c:833
char * U_WMRDRAWTEXT_set(void)
Definition: uwmf.c:3063
int16_t Right
Coordinates in logical units. 
Definition: uwmf.h:1266
0x0066 U_WMR66 record 
Definition: uwmf.h:176
struct U_WMREOF U_WMRSAVEDC
WMF manual 2.3.5.11. 
uint8_t Underline
LF_Underline Enumeration. 
Definition: uwmf.h:781
0x00CF U_WMRCF record 
Definition: uwmf.h:281
int wmfheader_get(const char *contents, const char *blimit, U_WMRPLACEABLE *Placeable, U_WMRHEADER *Header)
Get data from a (placeable) WMR_HEADER. 
Definition: uwmf.c:4796
int16_t Right
Coordinates in logical units. 
Definition: uwmf.h:1233
int16_t Height
bitmap height in scan lines. 
Definition: uwmf.h:863
char * U_WMRINTERSECTCLIPRECT_set(U_RECT16 rect)
Create and return a U_WMRINTERSECTCLIPRECT record. 
Definition: uwmf.c:2607
0x01F0 U_WMRDELETEOBJECT record 
Definition: uwmf.h:314
int U_WMRSETWINDOWEXT_get(const char *contents, U_POINT16 *extent)
Retrieve values from a U_WMRSETWINDOWEXT record. 
Definition: uwmf.c:4989
int U_WMRSETROP2_get(const char *contents, uint16_t *Mode)
Retrieve values from a U_WMRSETROP2 record. 
Definition: uwmf.c:4882
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1523
0x0065 U_WMR65 record 
Definition: uwmf.h:175
int U_WMRINVERTREGION_get(const char *contents, uint16_t *Region)
Get data from a U_WMRINVERTREGION record. 
Definition: uwmf.c:5586
int wmf_append(U_METARECORD *rec, WMFTRACK *wt, int freerec)
Append an WMF record to a wmf in memory. This may reallocate buf memory. 
Definition: uwmf.c:1580
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1771
int16_t Top
Coordinates in logical units. 
Definition: uwmf.h:1234
char * U_WMRPOLYPOLYGON_set(const uint16_t nPolys, const uint16_t *aPolyCounts, const U_POINT16 *Points)
Allocate and construct a U_WMR_POLYPOLYGON record. 
Definition: uwmf.c:3195
struct U_WMREXCLUDECLIPRECT U_WMRINTERSECTCLIPRECT
WMF manual 2.3.5.3. 
0x0097 U_WMR97 record 
Definition: uwmf.h:225
0x00A6 U_WMRA6 record 
Definition: uwmf.h:240
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1639
int wmf_free(WMFTRACK **wt)
Release memory for an wmf structure in memory. Call this after wmf_finish(). 
Definition: uwmf.c:1473
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1598
0x00F1 U_WMRF1 record 
Definition: uwmf.h:315
uint8_t ClipPrecision
LF_ClipPrecision Enumeration. 
Definition: uwmf.h:785
uint32_t PalEntries
Number of PalEntries (set from U_EMREOF) 
Definition: uwmf.h:2039
0x0044 U_WMR44 record 
Definition: uwmf.h:142
int U_WMRFRAMEREGION_get(const char *contents, uint16_t *Region, uint16_t *Brush, int16_t *Height, int16_t *Width)
Get data from a U_WMRFRAMEREGION record. 
Definition: uwmf.c:5570
char * U_WMRSETVIEWPORTORG_set(U_POINT16 coord)
Create and return a U_WMRSETVIEWPORTORG record. 
Definition: uwmf.c:2518
int U_WMREOF_get(const char *contents)
Get data from a U_WMREOF record. 
Definition: uwmf.c:4828
0x0037 U_WMRSETPALENTRIES record 
Definition: uwmf.h:129
char * wselectobject_set(uint32_t ihObject, WMFHANDLES *wht)
Allocate and construct a U_WMRSELECTOBJECT record, checks that the handle specified is one that can a...
Definition: uwmf.c:2084
char * U_WMRSETMAPPERFLAGS_set(uint32_t Mode)
Allocate and construct a U_WMRSETMAPPERFLAGS record. 
Definition: uwmf.c:3093
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1651
0x0084 U_WMR84 record 
Definition: uwmf.h:206
uint16_t cUsage
ColorUsage Enumeration. 
Definition: uwmf.h:1785
char * U_WMRSETBKCOLOR_set(U_COLORREF Color)
Create and return a U_WMRSETBKCOLOR record. 
Definition: uwmf.c:2410
U_RECT16 Dst
Destination bounding box in logical units. 
Definition: uwmf.h:1075
int U_WMRCREATEBRUSHINDIRECT_get(const char *contents, const char **brush)
Get data from a U_WMRCREATEBRUSHINDIRECT record. 
Definition: uwmf.c:6899
int16_t Escapement
Angle in 0.1 degrees betweem escapement vector and X axis. 
Definition: uwmf.h:777
char * U_WMRSTRETCHBLT_set(U_POINT16 Dst, U_POINT16 cDst, U_POINT16 Src, U_POINT16 cSrc, uint32_t dwRop3, const U_BITMAP16 *Bm16)
Allocate and construct a U_WMRSTRETCHBLT record. 
Definition: uwmf.c:2891
char * U_WMRPOLYGON_set(uint16_t Length, const U_POINT16 *Data)
Allocate and construct a U_WMRPOLYGON record. 
Definition: uwmf.c:2954
struct U_WMRSETBKMODE U_WMRSETSTRETCHBLTMODE
WMF manual 2.3.5.23 Mode = StretchMode Enumeration. 
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1331
0x007B U_WMR7B record 
Definition: uwmf.h:197
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1783
0x0214 U_WMRMOVETO record 
Definition: uwmf.h:94
0x008B U_WMR8B record 
Definition: uwmf.h:213
int16_t yDst
in logical units (UL corner of Dst rect) 
Definition: uwmf.h:1700
int16_t Length
Stringlength in bytes. 
Definition: uwmf.h:1369
0x0082 U_WMR82 record 
Definition: uwmf.h:204
int U_WMROFFSETCLIPRGN_get(const char *contents, U_POINT16 *offset)
Get data from a U_WMROFFSETCLIPRGN record. 
Definition: uwmf.c:5339
char * wsetpaletteentries_set(uint32_t *ihPal, WMFHANDLES *wht, const U_PALETTE *Palettes)
Allocate and construct a U_WMRSETPALENTRIES record, create a handle and returns it Use this function ...
Definition: uwmf.c:2247
uint32_t U_wmr_values(int idx)
Look up the full numeric type of a WMR record by type. 
Definition: uwmf.c:58
char * U_WMRPATBLT_set(U_POINT16 Dst, U_POINT16 cwh, uint32_t dwRop3)
Allocate and construct a U_WMRPATBLT record. 
Definition: uwmf.c:2732
uint32_t Key
MUST be 0x9AC6CDD7. 
Definition: uwmf.h:1073
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1244
0x012A U_WMRINVERTREGION record 
Definition: uwmf.h:116
0x006A U_WMR6A record 
Definition: uwmf.h:180
size_t U_WMRRECSAFE_get(const char *contents, const char *blimit)
Return the size of a WMF record, or 0 if it is found to be invalid. A valid record will have a size t...
Definition: uwmf.c:4402
U_PAIRF * U_PAIRF_set(float x, float y)
Create and return a U_PAIRF structure. 
Definition: uwmf.c:1029
int16_t yDst
in logical units (UL corner of Dst rect) 
Definition: uwmf.h:1678
uint32_t largest
Largest record size, in bytes (used by WMF, not by EMF) 
Definition: uwmf.h:2042
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1501
size_t allocated
Slots in the buffer. 
Definition: uwmf.h:2057
0x009B U_WMR9B record 
Definition: uwmf.h:229
int U_WMRFLOODFILL_get(const char *contents, uint16_t *Mode, U_COLORREF *Color, U_POINT16 *coord)
Retrieve values from a U_WMRFLOODFILL record. 
Definition: uwmf.c:5187
int16_t * dx16_set(int32_t height, uint32_t weight, uint32_t members)
Make up an approximate dx array to pass to U_WMREXTTEXTOUT_set(), based on character height and weigh...
Definition: uwmf.c:1096
0x00C5 U_WMRC5 record 
Definition: uwmf.h:271
0x00EA U_WMREA record 
Definition: uwmf.h:308
0x00C8 U_WMRC8 record 
Definition: uwmf.h:274
char * U_WMRSETWINDOWORG_set(U_POINT16 coord)
Create and return a U_WMRSETWINDOWORG record. 
Definition: uwmf.c:2500
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1782
struct U_WMRSETBKCOLOR U_WMRSETTEXTCOLOR
WMF manual 2.3.5.26. 
0x00E7 U_WMRE7 record 
Definition: uwmf.h:305
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1295
0x0000 U_WMREOF record 
Definition: uwmf.h:74
int wmf_htable_create(uint32_t initsize, uint32_t chunksize, WMFHANDLES **wht)
Create a handle table. Entries filled with 0 are empty, entries >0 hold a handle. ...
Definition: uwmf.c:1663
struct U_WMRINVERTREGION U_WMRRESIZEPALETTE
WMF manual 2.3.5.9, resize the system palette to "index". 
int U_WMRCREATEREGION_get(const char *contents, const char **Region)
Get data from a U_WMRCREATEREGION record. 
Definition: uwmf.c:6924
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1128
0x0087 U_WMR87 record 
Definition: uwmf.h:209
int16_t ySrc
in logical units (UL corner of Src rect) 
Definition: uwmf.h:1788
int16_t Height
in logical units (of Rect to Fill) 
Definition: uwmf.h:1334
char * wcreatedibpatternbrush_srcdib_set(uint32_t *ihBrush, WMFHANDLES *wht, const uint32_t iUsage, const U_BITMAPINFO *Bmi, const uint32_t cbPx, const char *Px)
Allocate and construct a U_WMRDIBCREATEPATTERNBRUSH record from a DIB. Use this function instead of c...
Definition: uwmf.c:2145
0x008D U_WMR8D record 
Definition: uwmf.h:215
char * U_WMREXCLUDECLIPRECT_set(U_RECT16 rect)
Create and return a U_WMREXCLUDECLIPRECT record. 
Definition: uwmf.c:2592
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1187
uint16_t nObjects
Total number of brushes, pens, and other graphics objects defined in this file. 
Definition: uwmf.h:1089
0x005D U_WMR5D record 
Definition: uwmf.h:167
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1279
0x0063 U_WMR63 record 
Definition: uwmf.h:173
int U_WMRSETVIEWPORTORG_get(const char *contents, U_POINT16 *coord)
Retrieve values from a U_WMRSETVIEWPORTORG record. 
Definition: uwmf.c:5002
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1978
int16_t hDst
in logical units (of Dst) 
Definition: uwmf.h:1790
0x0075 U_WMR75 record 
Definition: uwmf.h:191
int U_WMRSELECTOBJECT_get(const char *contents, uint16_t *Object)
Get data from a U_WMRSELECTOBJECT record. 
Definition: uwmf.c:5626
0x0107 U_WMRSETSTRETCHBLTMODE record 
Definition: uwmf.h:81
U_COLORREF Color
Color value, the 32 bit value is not aligned. 
Definition: uwmf.h:1117
0x003B U_WMR3B record 
Definition: uwmf.h:133
uint32_t * table
Array Buffer for constructing the WMF in memory. 
Definition: uwmf.h:2056
0x00ED U_WMRED record 
Definition: uwmf.h:311
0x00F5 U_WMRF5 record 
Definition: uwmf.h:319
int16_t ySrc
in logical units (UL corner of Src rect) 
Definition: uwmf.h:1747
char * U_WMRCREATEFONTINDIRECT_set(U_FONT *font)
Allocate and construct a U_WMRCREATEFONTINDIRECT record. 
Definition: uwmf.c:4301
0x00B7 U_WMRB7 record 
Definition: uwmf.h:257
For U_BITMAPINFO crColor field. 
Definition: uemf.h:452
int16_t Width
bitmap width in pixels. 
Definition: uwmf.h:862
0x020E U_WMRSETVIEWPORTEXT record 
Definition: uwmf.h:88
struct U_WMRSETMAPMODE U_WMRSETTEXTCHAREXTRA
WMF manual 2.3.5.25, Mode = Extra space in logical units to add to each character. 
0x009D U_WMR9D record 
Definition: uwmf.h:231
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1566
0x00E4 U_WMRE4 record 
Definition: uwmf.h:302
int16_t ySrc
in logical units (UL corner of Src rect) 
Definition: uwmf.h:1722
0x0089 U_WMR89 record 
Definition: uwmf.h:211
char * U_WMRSETVIEWPORTEXT_set(U_POINT16 extent)
Create and return a U_WMRSETVIEWPORTEXT record. 
Definition: uwmf.c:2527
0x0429 U_WMRFRAMEREGION record 
Definition: uwmf.h:115
char * wcreatefontindirect_set(uint32_t *ihFont, WMFHANDLES *wht, U_FONT *uf)
Allocate and construct a U_WMRCREATEFONTINDIRECT record, create a handle and returns it Use this func...
Definition: uwmf.c:2209
int16_t yDst
in logical units (UL corner of Dst rect) 
Definition: uwmf.h:1751
int16_t Width
in logical units (of Src and Dst rects) 
Definition: uwmf.h:1413
uint16_t Height
DIB height in pixels. 
Definition: uwmf.h:874
void U_BITMAPCOREHEADER_get(const char *BmiCh, int32_t *Size, int32_t *Width, int32_t *Height, int32_t *BitCount)
Return parameters from a bitmapcoreheader. All are returned as 32 bit integers, regardless of their i...
Definition: uwmf.c:4652
char * U_WMREXTFLOODFILL_set(uint16_t Mode, U_COLORREF Color, U_POINT16 coord)
Create and return a U_WMREXTFLOODFILL record. 
Definition: uwmf.c:3528
uint16_t cUsage
ColorUsage Enumeration. 
Definition: uwmf.h:1614
0x0201 U_WMRSETBKCOLOR record 
Definition: uwmf.h:75
int16_t Left
Coordinates in logical units. 
Definition: uwmf.h:1235
int16_t xDst
in logical units (UL corner of Dst rect) 
Definition: uwmf.h:1679
char * U_WMRSETTEXTCHAREXTRA_set(uint16_t Mode)
Create and return a U_WMRSETTEXTCHAREXTRA record. 
Definition: uwmf.c:2472
uint16_t Region
Index of region to fill in object table. 
Definition: uwmf.h:1513
int16_t xRadial1
in logical units 
Definition: uwmf.h:1300
0x00F6 U_WMRF6 record 
Definition: uwmf.h:320
struct U_WMRELLIPSE U_WMRRECTANGLE
WMF manual 2.3.3.17. 
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1063
0x0035 U_WMRREALIZEPALETTE record 
Definition: uwmf.h:127
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1987
0x00E2 U_WMRE2 record 
Definition: uwmf.h:300
0x0074 U_WMR74 record 
Definition: uwmf.h:190
0x00BB U_WMRBB record 
Definition: uwmf.h:261
0x02FA U_WMRCREATEPENINDIRECT record 
Definition: uwmf.h:324
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1742
0x003F U_WMR3F record 
Definition: uwmf.h:137
int16_t Width
in logical units (of Src and Dst) 
Definition: uwmf.h:1699
0x0072 U_WMR72 record 
Definition: uwmf.h:188
size_t chunk
Number to add if a realloc is required. 
Definition: uwmf.h:2058
int U_WMRPAINTREGION_get(const char *contents, uint16_t *Region)
Get data from a U_WMRPAINTREGION record. 
Definition: uwmf.c:5599
int wmf_htable_insert(uint32_t *ih, WMFHANDLES *wht)
Returns the index of the first free slot. Call realloc() if needed. The slot is set to handle (indica...
Definition: uwmf.c:1721
struct U_WMRSETWINDOWORG U_WMROFFSETVIEWPORTORG
WMF manual 2.3.5.6, Viewport X,Y offset in device units. 
0x0068 U_WMR68 record 
Definition: uwmf.h:178
struct U_WMRSETBKMODE U_WMRSETTEXTALIGN
WMF manual 2.3.5.24 Mode = TextAlignment Enumeration. 
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1456
int16_t DC
DC to restore (negative is relative to current, positive is absolute) 
Definition: uwmf.h:1503
0x00D6 U_WMRD6 record 
Definition: uwmf.h:288
int16_t wDst
in logical units (of Dst) 
Definition: uwmf.h:1750
0x00A4 U_WMRA4 record 
Definition: uwmf.h:238
0x0142 U_WMRDIBCREATEPATTERNBRUSH record 
Definition: uwmf.h:140
int16_t ySrc
in logical units (UL corner of Src rect) 
Definition: uwmf.h:1461
0x00C3 U_WMRC3 record 
Definition: uwmf.h:269
uint16_t bottom
Y coordinate of the bottom scanline. 
Definition: uwmf.h:1046
0x00A3 U_WMRA3 record 
Definition: uwmf.h:237
uint16_t Planes
must be 1 
Definition: uwmf.h:875
char * wlinecap_set(int32_t Type)
Allocate and construct the specified U_WMRESCAPE structure, create a handle and returns it Use this f...
Definition: uwmf.c:2301
int16_t Width
in logical units (of Src and Dst) 
Definition: uwmf.h:1677
uint16_t Brush
Index of brush to use in object table. 
Definition: uwmf.h:1514
int16_t xSrc
in logical units (UL corner of Src rect) 
Definition: uwmf.h:1697
0x00D7 U_WMRD7 record 
Definition: uwmf.h:289
int16_t wDst
Wdith in logical units of Dst rect. 
Definition: uwmf.h:1440
char * U_WMRCREATEPATTERNBRUSH_set(U_BITMAP16 *Bm16, char *Pattern)
Allocate and construct a U_WMRCREATEPATTERNBRUSH record. Warning - application support for U_WMRCREAT...
Definition: uwmf.c:4265
For U_BITMAPINFO bmiColors field. 
Definition: uemf.h:570
struct U_WMRSETWINDOWORG U_WMROFFSETCLIPRGN
WMF manual 2.3.5.5, Y offset in logical units. 
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1207
0x00D2 U_WMRD2 record 
Definition: uwmf.h:284
0x0069 U_WMR69 record 
Definition: uwmf.h:179
0x00B5 U_WMRB5 record 
Definition: uwmf.h:255
0x014C U_WMR4C record 
Definition: uwmf.h:150
char * wbegin_path_set(void)
Allocate and construct the specified U_WMRESCAPE structure, create a handle and returns it Use this f...
Definition: uwmf.c:2282
0x0061 U_WMR61 record 
Definition: uwmf.h:171
int16_t Mode
FloodFill Enumeration. 
Definition: uwmf.h:1281
int16_t hDst
in logical units (of Dst) 
Definition: uwmf.h:1725
int16_t yStartArc
Coordinates in logical units. 
Definition: uwmf.h:1248
0x00D1 U_WMRD1 record 
Definition: uwmf.h:283
uint16_t Type
must be 0x0006. 
Definition: uwmf.h:844
char * U_WMRDELETEOBJECT_set(uint16_t object)
Create and return a U_WMRDELETEOBJECT record. 
Definition: uwmf.c:4213
struct U_WMRDRAWTEXT U_WMRCREATEBITMAPINDIRECT
in GDI and Wine, not documented in WMF manual. 
0x00CC U_WMRCC record 
Definition: uwmf.h:278
size_t allocated
Size of the buffer. 
Definition: uwmf.h:2035
0x00DD U_WMRDD record 
Definition: uwmf.h:295
0x020D U_WMRSETVIEWPORTORG record 
Definition: uwmf.h:87
int16_t ignore
ignored 
Definition: uwmf.h:1438
int16_t xDst
in logical units (UL corner of Dst rect) 
Definition: uwmf.h:1701
0x00AD U_WMRAD record 
Definition: uwmf.h:247
int16_t Left
Coordinates in logical units. 
Definition: uwmf.h:1268
int16_t yEndArc
Coordinates in logical units. 
Definition: uwmf.h:1246
0x00AE U_WMRAE record 
Definition: uwmf.h:248
int U_WMRSETPOLYFILLMODE_get(const char *contents, uint16_t *Mode)
Retrieve values from a U_WMRSETPOLYFILLMODE record. 
Definition: uwmf.c:4906
uint16_t Inch
Logical units/inch (convention if not specified: 1440 logical units/inch) 
Definition: uwmf.h:1076
uint8_t CharSet
LF_CharSet Enumeration. 
Definition: uwmf.h:783
uint16_t nBytes
bytes in the data array 
Definition: uwmf.h:1492
uint16_t Count
Number of space characters in the line. 
Definition: uwmf.h:1167
char * U_WMRFLOODFILL_set(uint16_t Mode, U_COLORREF Color, U_POINT16 coord)
Create and return a U_WMRFLOODFILL record. 
Definition: uwmf.c:2660
0x0209 U_WMRSETTEXTCOLOR record 
Definition: uwmf.h:83
char * U_wmr_names(int idx)
Look up the name of the WMR record by type. Returns U_WMR_INVALID if out of range. 
Definition: uwmf.c:330
int16_t Left
Coordinates in logical units. 
Definition: uwmf.h:1253
uint32_t hilimit
Highest table slot occupied (currently) 
Definition: uwmf.h:2060
0x006B U_WMR6B record 
Definition: uwmf.h:181
0x0091 U_WMR91 record 
Definition: uwmf.h:219
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1431
0x00AF U_WMRAF record 
Definition: uwmf.h:249
0x00B3 U_WMRB3 record 
Definition: uwmf.h:253
char * U_WMROFFSETVIEWPORTORG_set(U_POINT16 offset)
Create and return a U_WMROFFSETVIEWPORTORG record. 
Definition: uwmf.c:2555
0x00C6 U_WMRC6 record 
Definition: uwmf.h:272
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1144
0x008A U_WMR8A record 
Definition: uwmf.h:212
uint16_t Style
BrushStyle Enumeration. 
Definition: uwmf.h:765
0x0410 U_WMRSCALEWINDOWEXT record 
Definition: uwmf.h:90
0x00CD U_WMRCD record 
Definition: uwmf.h:279
char * U_WMRDIBBITBLT_set(U_POINT16 Dst, U_POINT16 cwh, U_POINT16 Src, uint32_t dwRop3, const U_BITMAPINFO *Bmi, uint32_t cbPx, const char *Px)
Allocate and construct a U_WMRDIBITBLT record. 
Definition: uwmf.c:3268
int U_WMRSETMAPMODE_get(const char *contents, uint16_t *Mode)
Retrieve values from a U_WMRSETMAPMODE record. 
Definition: uwmf.c:4869
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1231
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1512
int16_t Width
in logical units (of Rect to Fill) 
Definition: uwmf.h:1335
0x009E U_WMR9E record 
Definition: uwmf.h:232
char * wcreatepalette_set(uint32_t *ihPal, WMFHANDLES *wht, U_PALETTE *up)
Allocate and construct a U_WMRCREATEPALETTE record, create a handle and returns it Use this function ...
Definition: uwmf.c:2228
U_BITMAP16 bitmap
Src bitmap. 
Definition: uwmf.h:1467
int U_WMRCREATEFONTINDIRECT_get(const char *contents, const char **font)
Get data from a U_WMRCREATEFONTINDIRECT record. 
Definition: uwmf.c:6886
0x005C U_WMR5C record 
Definition: uwmf.h:166
0x003C U_WMR3C record 
Definition: uwmf.h:134
int16_t bottom
bottom coordinate 
Definition: uwmf.h:835
char * U_WMRSETTEXTJUSTIFICATION_set(uint16_t Count, uint16_t Extra)
Create and return a U_WMRSETTEXTJUSTIFICATION record. 
Definition: uwmf.c:2491
0x041F U_WMRSETPIXEL record 
Definition: uwmf.h:105
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1522
int U_WMRSETTEXTCOLOR_get(const char *contents, U_COLORREF *Color)
Retrieve values from a U_WMRSETTEXTCOLOR record. 
Definition: uwmf.c:4945
uint16_t nPolys
Number of polygons. 
Definition: uwmf.h:1020
int16_t Height
in logical units (rounded corner) 
Definition: uwmf.h:1317
int U_WMRANIMATEPALETTE_get(const char *contents, U_PALETTE *Palette, const char **PalEntries)
Get data from a U_WMRSETPALENTRIES record. 
Definition: uwmf.c:5801
0x00B8 U_WMRB8 record 
Definition: uwmf.h:258
int16_t Top
in logical units 
Definition: uwmf.h:1303
0x0324 U_WMRPOLYGON record 
Definition: uwmf.h:110
uint16_t NumEntries
Number of U_LOGPLTNTRY objects. 
Definition: uwmf.h:811
int16_t yDst
in logical units (UL corner of Dst rect) 
Definition: uwmf.h:1621
0x062F U_WMRDRAWTEXT record 
Definition: uwmf.h:121
int16_t hDst
Height in logical units of Dst rect. 
Definition: uwmf.h:1439
0x00C9 U_WMRC9 record 
Definition: uwmf.h:275
int16_t ySrc
in logical units (UL corner of Src rect) 
Definition: uwmf.h:1673
uint8_t Planes
must be 1. 
Definition: uwmf.h:865
int16_t yDenom
Y denominator. 
Definition: uwmf.h:1209
int wmr_arc_points(U_RECT16 rclBox16, U_POINT16 ArcStart16, U_POINT16 ArcEnd16, int *f1, int f2, U_PAIRF *center, U_PAIRF *start, U_PAIRF *end, U_PAIRF *size)
Derive from bounding box and start and end arc, for WMF arc, chord, or pie records, the center, start, and end points, and the bounding rectangle. 
Definition: uwmf.c:690
int16_t wSrc
Wdith in logical units of Dst rect. 
Definition: uwmf.h:1460
int U_WMRSETPIXEL_get(const char *contents, U_COLORREF *Color, U_POINT16 *Coord)
Get data from a U_WMRSETPIXEL record. 
Definition: uwmf.c:5319
int wmf_htable_delete(uint32_t *ih, WMFHANDLES *wht)
Delete an entry from the handle table. Move it back onto the stack. The specified slot is filled with...
Definition: uwmf.c:1697
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1316
0x0521 U_WMRTEXTOUT record 
Definition: uwmf.h:107
0x0B41 U_WMRDIBSTRETCHBLT record 
Definition: uwmf.h:139
0x00EE U_WMREE record 
Definition: uwmf.h:312
int U_WMRSAVEDC_get(const char *contents)
Get data from a U_WMRSAVEDC record. 
Definition: uwmf.c:5306
0x012B U_WMRPAINTREGION record 
Definition: uwmf.h:117
0x041B U_WMRRECTANGLE record 
Definition: uwmf.h:101
int U_WMRPOLYGON_get(const char *contents, uint16_t *Length, const char **Data)
Get data from a U_WMRPOLYGON record. 
Definition: uwmf.c:5487
0x00BC U_WMRBC record 
Definition: uwmf.h:262
0x0057 U_WMR57 record 
Definition: uwmf.h:161
char * U_WMRDIBSTRETCHBLT_set(U_POINT16 Dst, U_POINT16 cDst, U_POINT16 Src, U_POINT16 cSrc, uint32_t dwRop3, const U_BITMAPINFO *Bmi, uint32_t cbPx, const char *Px)
Allocate and construct a U_WMRSTRETCHDIB record. 
Definition: uwmf.c:3335
int16_t wDst
Wdith in logical units of Dst rect. 
Definition: uwmf.h:1464
int16_t Size
aScans in bytes + regions size in bytes (size of this header plus all U_SCAN objects?) 
Definition: uwmf.h:846
uint8_t xb
Extra high order byte associated with record type. 
Definition: uwmf.h:1166
0x00BD U_WMRBD record 
Definition: uwmf.h:263
char * U_WMRELLIPSE_set(U_RECT16 rect)
Create and return a U_WMRELLIPSE record. 
Definition: uwmf.c:2643
char * U_WMRBITBLT_set(U_POINT16 Dst, U_POINT16 cwh, U_POINT16 Src, uint32_t dwRop3, const U_BITMAP16 *Bm16)
Allocate and construct a U_WMRBITBLT record. Note that unlike U_EMRBITBLT there is no scaling availab...
Definition: uwmf.c:2829
uint16_t Brush
Index of brush to use in frame in object table. 
Definition: uwmf.h:1525
int U_WMRREALIZEPALETTE_get(const char *contents)
Get data from a U_WMRREALIZEPALETTE record. 
Definition: uwmf.c:5788
char * U_WMRSETPIXEL_set(U_COLORREF Color, U_POINT16 Coord)
Allocate and construct a U_WMRSETPIXEL record. 
Definition: uwmf.c:2769
0x00DE U_WMRDE record 
Definition: uwmf.h:296
uint8_t iType
RecordType Enumeration. 
Definition: uwmf.h:1511
int U_WMRFILLREGION_get(const char *contents, uint16_t *Region, uint16_t *Brush)
Get data from a U_WMRFILLREGION record. 
Definition: uwmf.c:5553
int U_WMRCREATEPENINDIRECT_get(const char *contents, U_PEN *pen)
Get data from a U_WMRCREATEPENINDIRECT record. 
Definition: uwmf.c:6870
char * U_WMRFRAMEREGION_set(uint16_t Region, uint16_t Brush, int16_t Height, int16_t Width)
Allocate and construct a U_WMRFRAMEREGION record. 
Definition: uwmf.c:3012
0x0F43 U_WMRSTRETCHDIB record 
Definition: uwmf.h:141