52 #define U_PMF_DROP_ELEMENTS 1
53 #define U_PMF_KEEP_ELEMENTS 0
58 #define U_FILTER_APPLY 1
59 #define U_FILTER_IGNORE 0
60 #define U_OBJRECLIM 65020
61 // used 9728 to test fragmenting of emitted object records
86 #define U_DD_DashDash 2
87 #define U_DD_DashDashDash 3
88 #define U_DD_DashDashDashDash 4
91 #define U_DD_DotDotDot 7
92 #define U_DD_DotDotDotDot 8
93 #define U_DD_DashDot 9
94 #define U_DD_DashDashDot 10
95 #define U_DD_DashDashDotDot 11
96 #define U_DD_DashDashDashDot 12
97 #define U_DD_DashDotDot 13
98 #define U_DD_DashDotDotDot 14
99 #define U_DD_DashDotDashDot 15
101 #define U_DD_LongLong 17
102 #define U_DD_LongLongLong 18
103 #define U_DD_LongLongLongLong 19
104 #define U_DD_LongDot 20
105 #define U_DD_LongLongDot 21
106 #define U_DD_LongLongDotDot 22
107 #define U_DD_LongLongLongDot 23
108 #define U_DD_LongDotDot 24
109 #define U_DD_LongDotDotDot 25
110 #define U_DD_LongDotLongDot 26
111 #define U_DD_Types 27
120 #define U_PMR_HEADER 0x0001
121 #define U_PMR_ENDOFFILE 0x0002
122 #define U_PMR_COMMENT 0x0003
123 #define U_PMR_GETDC 0x0004
124 #define U_PMR_MULTIFORMATSTART 0x0005
125 #define U_PMR_MULTIFORMATSECTION 0x0006
126 #define U_PMR_MULTIFORMATEND 0x0007
127 #define U_PMR_OBJECT 0x0008
128 #define U_PMR_CLEAR 0x0009
129 #define U_PMR_FILLRECTS 0x000A
130 #define U_PMR_DRAWRECTS 0x000B
131 #define U_PMR_FILLPOLYGON 0x000C
132 #define U_PMR_DRAWLINES 0x000D
133 #define U_PMR_FILLELLIPSE 0x000E
134 #define U_PMR_DRAWELLIPSE 0x000F
135 #define U_PMR_FILLPIE 0x0010
136 #define U_PMR_DRAWPIE 0x0011
137 #define U_PMR_DRAWARC 0x0012
138 #define U_PMR_FILLREGION 0x0013
139 #define U_PMR_FILLPATH 0x0014
140 #define U_PMR_DRAWPATH 0x0015
141 #define U_PMR_FILLCLOSEDCURVE 0x0016
142 #define U_PMR_DRAWCLOSEDCURVE 0x0017
143 #define U_PMR_DRAWCURVE 0x0018
144 #define U_PMR_DRAWBEZIERS 0x0019
145 #define U_PMR_DRAWIMAGE 0x001A
146 #define U_PMR_DRAWIMAGEPOINTS 0x001B
147 #define U_PMR_DRAWSTRING 0x001C
148 #define U_PMR_SETRENDERINGORIGIN 0x001D
149 #define U_PMR_SETANTIALIASMODE 0x001E
150 #define U_PMR_SETTEXTRENDERINGHINT 0x001F
151 #define U_PMR_SETTEXTCONTRAST 0x0020
152 #define U_PMR_SETINTERPOLATIONMODE 0x0021
153 #define U_PMR_SETPIXELOFFSETMODE 0x0022
154 #define U_PMR_SETCOMPOSITINGMODE 0x0023
155 #define U_PMR_SETCOMPOSITINGQUALITY 0x0024
156 #define U_PMR_SAVE 0x0025
157 #define U_PMR_RESTORE 0x0026
158 #define U_PMR_BEGINCONTAINER 0x0027
159 #define U_PMR_BEGINCONTAINERNOPARAMS 0x0028
160 #define U_PMR_ENDCONTAINER 0x0029
161 #define U_PMR_SETWORLDTRANSFORM 0x002A
162 #define U_PMR_RESETWORLDTRANSFORM 0x002B
163 #define U_PMR_MULTIPLYWORLDTRANSFORM 0x002C
164 #define U_PMR_TRANSLATEWORLDTRANSFORM 0x002D
165 #define U_PMR_SCALEWORLDTRANSFORM 0x002E
166 #define U_PMR_ROTATEWORLDTRANSFORM 0x002F
167 #define U_PMR_SETPAGETRANSFORM 0x0030
168 #define U_PMR_RESETCLIP 0x0031
169 #define U_PMR_SETCLIPRECT 0x0032
170 #define U_PMR_SETCLIPPATH 0x0033
171 #define U_PMR_SETCLIPREGION 0x0034
172 #define U_PMR_OFFSETCLIP 0x0035
173 #define U_PMR_DRAWDRIVERSTRING 0x0036
174 #define U_PMR_STROKEFILLPATH 0x0037
175 #define U_PMR_SERIALIZABLEOBJECT 0x0038
176 #define U_PMR_SETTSGRAPHICS 0x0039
177 #define U_PMR_SETTSCLIP 0x003A
178 #define U_PMR_RECFLAG 0x4000
179 #define U_PMR_TYPE_MASK 0x003F
192 #define U_UNDEFINED_OID 0x00000000
193 #define U_PMF_BRUSH_OID 0x02020101
194 #define U_PMF_CUSTOMLINECAP_OID 0x02020102
195 #define U_PMF_FONT_OID 0x02020103
196 #define U_PMF_IMAGE_OID 0x02020104
197 #define U_PMF_IMAGEATTRIBUTES_OID 0x02020105
198 #define U_PMF_PATH_OID 0x02020106
199 #define U_PMF_PEN_OID 0x02020107
200 #define U_PMF_REGION_OID 0x02020108
201 #define U_PMF_STRINGFORMAT_OID 0x02020109
202 #define U_PMF_ARGB_OID 0x02020201
203 #define U_PMF_BITMAP_OID 0x02020202
204 #define U_PMF_BITMAPDATA_OID 0x02020203
205 #define U_PMF_BLENDCOLORS_OID 0x02020204
206 #define U_PMF_BLENDFACTORS_OID 0x02020205
207 #define U_PMF_BOUNDARYPATHDATA_OID 0x02020206
208 #define U_PMF_BOUNDARYPOINTDATA_OID 0x02020207
209 #define U_PMF_CHARACTERRANGE_OID 0x02020208
210 #define U_PMF_COMPOUNDLINEDATA_OID 0x02020209
211 #define U_PMF_COMPRESSEDIMAGE_OID 0x02020210
212 #define U_PMF_CUSTOMENDCAPDATA_OID 0x02020211
213 #define U_PMF_CUSTOMLINECAPARROWDATA_OID 0x02020212
214 #define U_PMF_CUSTOMLINECAPDATA_OID 0x02020213
215 #define U_PMF_CUSTOMLINECAPOPTIONALDATA_OID 0x02020214
216 #define U_PMF_CUSTOMSTARTCAPDATA_OID 0x02020215
217 #define U_PMF_DASHEDLINEDATA_OID 0x02020216
218 #define U_PMF_FILLPATHOBJ_OID 0x02020217
219 #define U_PMF_FOCUSSCALEDATA_OID 0x02020218
220 #define U_PMF_GRAPHICSVERSION_OID 0x02020219
221 #define U_PMF_HATCHBRUSHDATA_OID 0x02020220
222 #define U_PMF_INTEGER7_OID 0x02020221
223 #define U_PMF_INTEGER15_OID 0x02020222
224 #define U_PMF_LANGUAGEIDENTIFIER_OID 0x02020223
225 #define U_PMF_LINEARGRADIENTBRUSHDATA_OID 0x02020224
226 #define U_PMF_LINEARGRADIENTBRUSHOPTIONALDATA_OID 0x02020225
227 #define U_PMF_LINEPATH_OID 0x02020226
228 #define U_PMF_METAFILE_OID 0x02020227
229 #define U_PMF_PALETTE_OID 0x02020228
230 #define U_PMF_PATHGRADIENTBRUSHDATA_OID 0x02020229
231 #define U_PMF_PATHGRADIENTBRUSHOPTIONALDATA_OID 0x02020230
232 #define U_PMF_PATHPOINTTYPE_OID 0x02020231
233 #define U_PMF_PATHPOINTTYPERLE_OID 0x02020232
234 #define U_PMF_PENDATA_OID 0x02020233
235 #define U_PMF_PENOPTIONALDATA_OID 0x02020234
236 #define U_PMF_POINT_OID 0x02020235
237 #define U_PMF_POINTF_OID 0x02020236
238 #define U_PMF_POINTR_OID 0x02020237
239 #define U_PMF_RECT_OID 0x02020238
240 #define U_PMF_RECTF_OID 0x02020239
241 #define U_PMF_REGIONNODE_OID 0x02020240
242 #define U_PMF_REGIONNODECHILDNODES_OID 0x02020241
243 #define U_PMF_REGIONNODEPATH_OID 0x02020242
244 #define U_PMF_SOLIDBRUSHDATA_OID 0x02020243
245 #define U_PMF_STRINGFORMATDATA_OID 0x02020244
246 #define U_PMF_TEXTUREBRUSHDATA_OID 0x02020245
247 #define U_PMF_TEXTUREBRUSHOPTIONALDATA_OID 0x02020246
248 #define U_PMF_TRANSFORMMATRIX_OID 0x02020247
249 #define U_PMF_IE_BLUR_OID 0x02020301
250 #define U_PMF_IE_BRIGHTNESSCONTRAST_OID 0x02020302
251 #define U_PMF_IE_COLORBALANCE_OID 0x02020303
252 #define U_PMF_IE_COLORCURVE_OID 0x02020304
253 #define U_PMF_IE_COLORLOOKUPTABLE_OID 0x02020305
254 #define U_PMF_IE_COLORMATRIX_OID 0x02020306
255 #define U_PMF_IE_HUESATURATIONLIGHTNESS_OID 0x02020307
256 #define U_PMF_IE_LEVELS_OID 0x02020308
257 #define U_PMF_IE_REDEYECORRECTION_OID 0x02020309
258 #define U_PMF_IE_SHARPEN_OID 0x02020310
259 #define U_PMF_IE_TINT_OID 0x02020311
260 #define U_PMR_STROKEFILLPATH_OID 0x02010101
261 #define U_PMR_OFFSETCLIP_OID 0x02030101
262 #define U_PMR_RESETCLIP_OID 0x02030102
263 #define U_PMR_SETCLIPPATH_OID 0x02030103
264 #define U_PMR_SETCLIPRECT_OID 0x02030104
265 #define U_PMR_SETCLIPREGION_OID 0x02030105
266 #define U_PMR_COMMENT_OID 0x02030201
267 #define U_PMR_ENDOFFILE_OID 0x02030301
268 #define U_PMR_GETDC_OID 0x02030302
269 #define U_PMR_HEADER_OID 0x02030303
270 #define U_PMR_CLEAR_OID 0x02030401
271 #define U_PMR_DRAWARC_OID 0x02030402
272 #define U_PMR_DRAWBEZIERS_OID 0x02030403
273 #define U_PMR_DRAWCLOSEDCURVE_OID 0x02030404
274 #define U_PMR_DRAWCURVE_OID 0x02030405
275 #define U_PMR_DRAWDRIVERSTRING_OID 0x02030406
276 #define U_PMR_DRAWELLIPSE_OID 0x02030407
277 #define U_PMR_DRAWIMAGE_OID 0x02030408
278 #define U_PMR_DRAWIMAGEPOINTS_OID 0x02030409
279 #define U_PMR_DRAWLINES_OID 0x02030410
280 #define U_PMR_DRAWPATH_OID 0x02030411
281 #define U_PMR_DRAWPIE_OID 0x02030412
282 #define U_PMR_DRAWRECTS_OID 0x02030413
283 #define U_PMR_DRAWSTRING_OID 0x02030414
284 #define U_PMR_FILLCLOSEDCURVE_OID 0x02030415
285 #define U_PMR_FILLELLIPSE_OID 0x02030416
286 #define U_PMR_FILLPATH_OID 0x02030417
287 #define U_PMR_FILLPIE_OID 0x02030418
288 #define U_PMR_FILLPOLYGON_OID 0x02030419
289 #define U_PMR_FILLRECTS_OID 0x02030420
290 #define U_PMR_FILLREGION_OID 0x02030421
291 #define U_PMR_OBJECT_OID 0x02030501
292 #define U_PMR_SERIALIZABLEOBJECT_OID 0x02030502
293 #define U_PMR_SETANTIALIASMODE_OID 0x02030601
294 #define U_PMR_SETCOMPOSITINGMODE_OID 0x02030602
295 #define U_PMR_SETCOMPOSITINGQUALITY_OID 0x02030603
296 #define U_PMR_SETINTERPOLATIONMODE_OID 0x02030604
297 #define U_PMR_SETPIXELOFFSETMODE_OID 0x02030605
298 #define U_PMR_SETRENDERINGORIGIN_OID 0x02030606
299 #define U_PMR_SETTEXTCONTRAST_OID 0x02030607
300 #define U_PMR_SETTEXTRENDERINGHINT_OID 0x02030608
301 #define U_PMR_BEGINCONTAINER_OID 0x02030701
302 #define U_PMR_BEGINCONTAINERNOPARAMS_OID 0x02030702
303 #define U_PMR_ENDCONTAINER_OID 0x02030703
304 #define U_PMR_RESTORE_OID 0x02030704
305 #define U_PMR_SAVE_OID 0x02030705
306 #define U_PMR_SETTSCLIP_OID 0x02030801
307 #define U_PMR_SETTSGRAPHICS_OID 0x02030802
308 #define U_PMR_MULTIPLYWORLDTRANSFORM_OID 0x02030901
309 #define U_PMR_RESETWORLDTRANSFORM_OID 0x02030902
310 #define U_PMR_ROTATEWORLDTRANSFORM_OID 0x02030903
311 #define U_PMR_SCALEWORLDTRANSFORM_OID 0x02030904
312 #define U_PMR_SETPAGETRANSFORM_OID 0x02030905
313 #define U_PMR_SETWORLDTRANSFORM_OID 0x02030906
314 #define U_PMR_TRANSLATEWORLDTRANSFORM_OID 0x02030907
315 #define U_PMR_TRANSLATEWORLDTRANSFORM_OID 0x02030907
316 #define U_PMR_CMN_HDR_OID 0x40000000
317 #define U_PMF_4NUM_OID 0x40000001
318 #define U_PMF_RAW_OID 0x40000002
319 #define U_PMF_ARRAY_OID 0x80000000
320 #define U_PMF_MASK_OID 0x7FFFFFFF
330 #define U_BDT_Pixel 0x00
331 #define U_BDT_Compressed 0x01
339 #define U_BT_SolidColor 0x00
340 #define U_BT_HatchFill 0x01
341 #define U_BT_TextureFill 0x02
342 #define U_BT_PathGradient 0x03
343 #define U_BT_LinearGradient 0x04
351 #define U_CM_Replace 0x00
352 #define U_CM_Intersect 0x01
353 #define U_CM_Union 0x02
354 #define U_CM_XOR 0x03
355 #define U_CM_Exclude 0x04
356 #define U_CM_Complement 0x05
364 #define U_CMS_Over 0x00
365 #define U_CMS_Copy 0x01
373 #define U_CQ_Default 0x01
374 #define U_CQ_HighSpeed 0x02
375 #define U_CQ_HighQuality 0x03
376 #define U_CQ_GammaCorrected 0x04
377 #define U_CQ_AssumeLinear 0x05
385 #define U_CA_Exposure 0x00
386 #define U_CA_Density 0x01
387 #define U_CA_Contrast 0x02
388 #define U_CA_Highlight 0x03
389 #define U_CA_Shadow 0x04
390 #define U_CA_Midtone 0x05
391 #define U_CA_WhiteSaturation 0x06
392 #define U_CA_BlackSaturation 0x07
400 #define U_CC_All 0x00
401 #define U_CC_Red 0x01
402 #define U_CC_Green 0x02
403 #define U_CC_Blue 0x03
411 #define U_CLCDT_Default 0x00
412 #define U_CLCDT_AdjustableArrow 0x01
420 #define U_DLCT_Flat 0x00
421 #define U_DLCT_Round 0x02
422 #define U_DLCT_Triangle 0x03
430 #define U_FT_None 0x00
431 #define U_FT_Point 0x01
432 #define U_FT_Linear 0x02
433 #define U_FT_Triangle 0x03
434 #define U_FT_Box 0x04
435 #define U_FT_PyramidalQuad 0x06
436 #define U_FT_GaussianQuad 0x07
445 #define U_GV_1_1 0x02
453 #define U_HSP_Horizontal 0x00000000
454 #define U_HSP_Vertical 0x00000001
455 #define U_HSP_ForwardDiagonal 0x00000002
456 #define U_HSP_BackwardDiagonal 0x00000003
457 #define U_HSP_LargeGrid 0x00000004
458 #define U_HSP_DiagonalCross 0x00000005
459 #define U_HSP_05Percent 0x00000006
460 #define U_HSP_10Percent 0x00000007
461 #define U_HSP_20Percent 0x00000008
462 #define U_HSP_25Percent 0x00000009
463 #define U_HSP_30Percent 0x0000000A
464 #define U_HSP_40Percent 0x0000000B
465 #define U_HSP_50Percent 0x0000000C
466 #define U_HSP_60Percent 0x0000000D
467 #define U_HSP_70Percent 0x0000000E
468 #define U_HSP_75Percent 0x0000000F
469 #define U_HSP_80Percent 0x00000010
470 #define U_HSP_90Percent 0x00000011
471 #define U_HSP_LightDownwardDiagonal 0x00000012
472 #define U_HSP_LightUpwardDiagonal 0x00000013
473 #define U_HSP_DarkDownwardDiagonal 0x00000014
474 #define U_HSP_DarkUpwardDiagonal 0x00000015
475 #define U_HSP_WideDownwardDiagonal 0x00000016
476 #define U_HSP_WideUpwardDiagonal 0x00000017
477 #define U_HSP_LightVertical 0x00000018
478 #define U_HSP_LightHorizontal 0x00000019
479 #define U_HSP_NarrowVertical 0x0000001A
480 #define U_HSP_NarrowHorizontal 0x0000001B
481 #define U_HSP_DarkVertical 0x0000001C
482 #define U_HSP_DarkHorizontal 0x0000001D
483 #define U_HSP_DashedDownwardDiagonal 0x0000001E
484 #define U_HSP_DashedUpwardDiagonal 0x0000001F
485 #define U_HSP_DashedHorizontal 0x00000020
486 #define U_HSP_DashedVertical 0x00000021
487 #define U_HSP_SmallConfetti 0x00000022
488 #define U_HSP_LargeConfetti 0x00000023
489 #define U_HSP_ZigZag 0x00000024
490 #define U_HSP_Wave 0x00000025
491 #define U_HSP_DiagonalBrick 0x00000026
492 #define U_HSP_HorizontalBrick 0x00000027
493 #define U_HSP_Weave 0x00000028
494 #define U_HSP_Plaid 0x00000029
495 #define U_HSP_Divot 0x0000002A
496 #define U_HSP_DottedGrid 0x0000002B
497 #define U_HSP_DottedDiamond 0x0000002C
498 #define U_HSP_Shingle 0x0000002D
499 #define U_HSP_Trellis 0x0000002E
500 #define U_HSP_Sphere 0x0000002F
501 #define U_HSP_SmallGrid 0x00000030
502 #define U_HSP_SmallCheckerBoard 0x00000031
503 #define U_HSP_LargeCheckerBoard 0x00000032
504 #define U_HSP_OutlinedDiamond 0x00000033
505 #define U_HSP_SolidDiamond 0x00000034
513 #define U_HKP_None 0x00
514 #define U_HKP_Show 0x01
515 #define U_HKP_Hide 0x02
523 #define U_IDT_Unknown 0x00
524 #define U_IDT_Bitmap 0x01
525 #define U_IDT_Metafile 0x02
533 #define U_IM_Default 0x00
534 #define U_IM_LowQuality 0x01
535 #define U_IM_HighQuality 0x02
536 #define U_IM_Bilinear 0x03
537 #define U_IM_Bicubic 0x04
538 #define U_IM_NearestNeighbor 0x05
539 #define U_IM_HighQualityBilinear 0x06
540 #define U_IM_HighQualityBicubic 0x07
548 #define U_LID_LANG_NEUTRAL 0x0000
549 #define U_LID_zh_CHS 0x0004
550 #define U_LID_LANG_INVARIANT 0x007F
551 #define U_LID_LANG_NEUTRAL_USER_DEFAULT 0x0400
552 #define U_LID_ar_SA 0x0401
553 #define U_LID_bg_BG 0x0402
554 #define U_LID_ca_ES 0x0403
555 #define U_LID_zh_CHT 0x0404
556 #define U_LID_cs_CZ 0x0405
557 #define U_LID_da_DK 0x0406
558 #define U_LID_de_DE 0x0407
559 #define U_LID_el_GR 0x0408
560 #define U_LID_en_US 0x0409
561 #define U_LID_es_Tradnl_ES 0x040A
562 #define U_LID_fi_FI 0x040B
563 #define U_LID_fr_FR 0x040C
564 #define U_LID_he_IL 0x040D
565 #define U_LID_hu_HU 0x040E
566 #define U_LID_is_IS 0x040F
567 #define U_LID_it_IT 0x0410
568 #define U_LID_ja_JA 0x0411
569 #define U_LID_ko_KR 0x0412
570 #define U_LID_nl_NL 0x0413
571 #define U_LID_nb_NO 0x0414
572 #define U_LID_pl_PL 0x0415
573 #define U_LID_pt_BR 0x0416
574 #define U_LID_rm_CH 0x0417
575 #define U_LID_ro_RO 0x0418
576 #define U_LID_ru_RU 0x0419
577 #define U_LID_hr_HR 0x041A
578 #define U_LID_sk_SK 0x041B
579 #define U_LID_sq_AL 0x041C
580 #define U_LID_sv_SE 0x041D
581 #define U_LID_th_TH 0x041E
582 #define U_LID_tr_TR 0x041F
583 #define U_LID_ur_PK 0x0420
584 #define U_LID_id_ID 0x0421
585 #define U_LID_uk_UA 0x0422
586 #define U_LID_be_BY 0x0423
587 #define U_LID_sl_SI 0x0424
588 #define U_LID_et_EE 0x0425
589 #define U_LID_lv_LV 0x0426
590 #define U_LID_lt_LT 0x0427
591 #define U_LID_tg_TJ 0x0428
592 #define U_LID_fa_IR 0x0429
593 #define U_LID_vi_VN 0x042A
594 #define U_LID_hy_AM 0x042B
595 #define U_LID_az_Latn_AZ 0x042C
596 #define U_LID_eu_ES 0x042D
597 #define U_LID_wen_DE 0x042E
598 #define U_LID_mk_MK 0x042F
599 #define U_LID_st_ZA 0x0430
600 #define U_LID_tn_ZA 0x0432
601 #define U_LID_xh_ZA 0x0434
602 #define U_LID_zu_ZA 0x0435
603 #define U_LID_af_ZA 0x0436
604 #define U_LID_ka_GE 0x0437
605 #define U_LID_fa_FA 0x0438
606 #define U_LID_hi_IN 0x0439
607 #define U_LID_mt_MT 0x043A
608 #define U_LID_se_NO 0x043B
609 #define U_LID_ga_GB 0x043C
610 #define U_LID_ms_MY 0x043E
611 #define U_LID_kk_KZ 0x043F
612 #define U_LID_ky_KG 0x0440
613 #define U_LID_sw_KE 0x0441
614 #define U_LID_tk_TM 0x0442
615 #define U_LID_uz_Latn_UZ 0x0443
616 #define U_LID_tt_Ru 0x0444
617 #define U_LID_bn_IN 0x0445
618 #define U_LID_pa_IN 0x0446
619 #define U_LID_gu_IN 0x0447
620 #define U_LID_or_IN 0x0448
621 #define U_LID_ta_IN 0x0449
622 #define U_LID_te_IN 0x044A
623 #define U_LID_kn_IN 0x044B
624 #define U_LID_ml_IN 0x044C
625 #define U_LID_as_IN 0x044D
626 #define U_LID_mr_IN 0x044E
627 #define U_LID_sa_IN 0x044F
628 #define U_LID_mn_MN 0x0450
629 #define U_LID_bo_CN 0x0451
630 #define U_LID_cy_GB 0x0452
631 #define U_LID_km_KH 0x0453
632 #define U_LID_lo_LA 0x0454
633 #define U_LID_gl_ES 0x0456
634 #define U_LID_kok_IN 0x0457
635 #define U_LID_sd_IN 0x0459
636 #define U_LID_syr_SY 0x045A
637 #define U_LID_si_LK 0x045B
638 #define U_LID_iu_Cans_CA 0x045D
639 #define U_LID_am_ET 0x045E
640 #define U_LID_ne_NP 0x0461
641 #define U_LID_fy_NL 0x0462
642 #define U_LID_ps_AF 0x0463
643 #define U_LID_fil_PH 0x0464
644 #define U_LID_div_MV 0x0465
645 #define U_LID_ha_Latn_NG 0x0468
646 #define U_LID_yo_NG 0x046A
647 #define U_LID_quz_BO 0x046B
648 #define U_LID_nzo_ZA 0x046C
649 #define U_LID_ba_RU 0x046D
650 #define U_LID_lb_LU 0x046E
651 #define U_LID_kl_GL 0x046F
652 #define U_LID_ig_NG 0x0470
653 #define U_LID_so_SO 0x0477
654 #define U_LID_ii_CN 0x0478
655 #define U_LID_arn_CL 0x047A
656 #define U_LID_moh_CA 0x047C
657 #define U_LID_br_FR 0x047E
658 #define U_LID_ug_CN 0x0480
659 #define U_LID_ mi_NZ 0x0481
660 #define U_LID_oc_FR 0x0482
661 #define U_LID_co_FR 0x0483
662 #define U_LID_gsw_FR 0x0484
663 #define U_LID_sah_RU 0x0485
664 #define U_LID_qut_GT 0x0486
665 #define U_LID_rw_RW 0x0487
666 #define U_LID_wo_SN 0x0488
667 #define U_LID_gbz_AF 0x048C
668 #define U_LID_LANG_NEUTRAL_SYS_DEFAULT 0x0800
669 #define U_LID_ar_IQ 0x0801
670 #define U_LID_zh_CN 0x0804
671 #define U_LID_de_CH 0x0807
672 #define U_LID_en_GB 0x0809
673 #define U_LID_es_MX 0x080A
674 #define U_LID_fr_BE 0x080C
675 #define U_LID_it_CH 0x0810
676 #define U_LID_ko_Johab_KR 0x0812
677 #define U_LID_nl_BE 0x0813
678 #define U_LID_nn_NO 0x0814
679 #define U_LID_pt_PT 0x0816
680 #define U_LID_sr_Latn_SP 0x081A
681 #define U_LID_sv_FI 0x081D
682 #define U_LID_ur_IN 0x0820
683 #define U_LID_lt_C_LT 0x0827
684 #define U_LID_az_Cyrl_AZ 0x082C
685 #define U_LID_wee_DE 0x082E
686 #define U_LID_se_SE 0x083B
687 #define U_LID_ga_IE 0x083C
688 #define U_LID_ms_BN 0x083E
689 #define U_LID_uz_Cyrl_UZ 0x0843
690 #define U_LID_bn_BD 0x0845
691 #define U_LID_mn_Mong_CN 0x0850
692 #define U_LID_sd_PK 0x0859
693 #define U_LID_iu_Latn_CA 0x085D
694 #define U_LID_tzm_Latn_DZ 0x085F
695 #define U_LID_quz_EC 0x086B
696 #define U_LID_LANG_NEUTRAL_CUSTOM_DEFAULT 0x0C00
697 #define U_LID_ar_EG 0x0C01
698 #define U_LID_zh_HK 0x0C04
699 #define U_LID_de_AT 0x0C07
700 #define U_LID_en_AU 0x0C09
701 #define U_LID_es_ES 0x0C0A
702 #define U_LID_fr_CA 0x0C0C
703 #define U_LID_sr_Cyrl_CS 0x0C1A
704 #define U_LID_se_FI 0x0C3B
705 #define U_LID_quz_PE 0x0C6B
706 #define U_LID_LANG_NEUTRAL_CUSTOM 0x1000
707 #define U_LID_ar_LY 0x1001
708 #define U_LID_zh_SG 0x1004
709 #define U_LID_de_LU 0x1007
710 #define U_LID_en_CA 0x1009
711 #define U_LID_es_GT 0x100A
712 #define U_LID_fr_CH 0x100C
713 #define U_LID_hr_BA 0x101A
714 #define U_LID_smj_NO 0x103B
715 #define U_LID_LANG_NEUTRAL_CUSTOM_DEFAULT_MUI 0x1400
716 #define U_LID_ar_DZ 0x1401
717 #define U_LID_zh_MO 0x1404
718 #define U_LID_de_LI 0x1407
719 #define U_LID_en_NZ 0x1409
720 #define U_LID_es_CR 0x140A
721 #define U_LID_fr_LU 0x140C
722 #define U_LID_bs_Latn_BA 0x141A
723 #define U_LID_smj_SE 0x143B
724 #define U_LID_ar_MA 0x1801
725 #define U_LID_en_IE 0x1809
726 #define U_LID_es_PA 0x180A
727 #define U_LID_ar_MC 0x180C
728 #define U_LID_sr_Latn_BA 0x181A
729 #define U_LID_sma_NO 0x183B
730 #define U_LID_ar_TN 0x1C01
731 #define U_LID_en_ZA 0x1C09
732 #define U_LID_es_DO 0x1C0A
733 #define U_LID_sr_Cyrl_BA 0x1C1A
734 #define U_LID_sma_SE 0x1C3B
735 #define U_LID_ar_OM 0x2001
736 #define U_LID_el_2_GR 0x2008
737 #define U_LID_en_JM 0x2009
738 #define U_LID_es_VE 0x200A
739 #define U_LID_bs_Cyrl_BA 0x201A
740 #define U_LID_sms_FI 0x203B
741 #define U_LID_ar_YE 0x2401
742 #define U_LID_ar_029 0x2409
743 #define U_LID_es_CO 0x240A
744 #define U_LID_smn_FI 0x243B
745 #define U_LID_ar_SY 0x2801
746 #define U_LID_en_BZ 0x2809
747 #define U_LID_es_PE 0x280A
748 #define U_LID_ar_JO 0x2C01
749 #define U_LID_en_TT 0x2C09
750 #define U_LID_es_AR 0x2C0A
751 #define U_LID_ar_LB 0x3001
752 #define U_LID_en_ZW 0x3009
753 #define U_LID_es_EC 0x300A
754 #define U_LID_ar_KW 0x3401
755 #define U_LID_en_PH 0x3409
756 #define U_LID_es_CL 0x340A
757 #define U_LID_ar_AE 0x3801
758 #define U_LID_es_UY 0x380A
759 #define U_LID_ar_BH 0x3C01
760 #define U_LID_es_PY 0x3C0A
761 #define U_LID_ar_QA 0x4001
762 #define U_LID_en_IN 0x4009
763 #define U_LID_es_BO 0x400A
764 #define U_LID_en_MY 0x4409
765 #define U_LID_es_SV 0x440A
766 #define U_LID_en_SG 0x4809
767 #define U_LID_es_HN 0x480A
768 #define U_LID_es_NI 0x4C0A
769 #define U_LID_es_PR 0x500A
770 #define U_LID_es_US 0x540A
771 #define U_LID_zh_Hant 0x7C04
772 #define U_LID_SEC_MASK 0xFB00
773 #define U_LID_PRI_MASK 0x03FF
781 #define U_LCT_Flat 0x00
782 #define U_LCT_Square 0x01
783 #define U_LCT_Round 0x02
784 #define U_LCT_Triangle 0x03
785 #define U_LCT_NoAnchor 0x10
786 #define U_LCT_SquareAnchor 0x11
787 #define U_LCT_RoundAnchor 0x12
788 #define U_LCT_DiamondAnchor 0x13
789 #define U_LCT_ArrowAnchor 0x14
790 #define U_LCT_AnchorMask 0xF0
791 #define U_LCT_Custom 0xFF
799 #define U_LJT_Miter 0x00
800 #define U_LJT_Bevel 0x01
801 #define U_LJT_Round 0x02
802 #define U_LJT_MiterClipped 0x03
810 #define U_LS_Solid 0x00
811 #define U_LS_Dash 0x01
812 #define U_LS_Dot 0x02
813 #define U_LS_DashDot 0x03
814 #define U_LS_DashDotDot 0x04
815 #define U_LS_Custom 0x05
823 #define U_MDT_Wmf 0x01
824 #define U_MDT_WmfPlaceable 0x02
825 #define U_MDT_Emf 0x03
826 #define U_MDT_EmfPlusOnly 0x04
827 #define U_MDT_EmfPlusDual 0x05
835 #define U_OT_Invalid 0x00
836 #define U_OT_Brush 0x01
837 #define U_OT_Pen 0x02
838 #define U_OT_Path 0x03
839 #define U_OT_Region 0x04
840 #define U_OT_Image 0x05
841 #define U_OT_Font 0x06
842 #define U_OT_StringFormat 0x07
843 #define U_OT_ImageAttributes 0x08
844 #define U_OT_CustomLineCap 0x09
852 #define U_PPT_Start 0x00
853 #define U_PPT_Line 0x01
854 #define U_PPT_Bezier 0x03
855 #define U_PPT_MASK 0x0F
863 #define U_PA_Center 0x00
864 #define U_PA_Inset 0x01
865 #define U_PA_Left 0x02
866 #define U_PA_Outset 0x03
867 #define U_PA_Right 0x04
886 #define U_PF_Undefined 0x00000000
887 #define U_PF_1bppIndexed 0x00030101
888 #define U_PF_4bppIndexed 0x00030402
889 #define U_PF_8bppIndexed 0x00030803
890 #define U_PF_16bppGrayScale 0x00101004
891 #define U_PF_16bppRGB555 0x00021005
892 #define U_PF_16bppRGB565 0x00021006
893 #define U_PF_16bppARGB1555 0x00061007
894 #define U_PF_24bppRGB 0x00021808
895 #define U_PF_32bppRGB 0x00022009
896 #define U_PF_32bppARGB 0x0026200A
897 #define U_PF_32bppPARGB 0x000E200B
898 #define U_PF_48bppRGB 0x0010300C
899 #define U_PF_64bppARGB 0x0034400D
900 #define U_PF_64bppPARGB 0x001A400E
908 #define U_POM_Default 0x00
909 #define U_POM_HighSpeed 0x01
910 #define U_POM_HighQuality 0x02
911 #define U_POM_None 0x03
912 #define U_POM_Half 0x04
920 #define U_RNDT_Kids 0x00000000
921 #define U_RNDT_And 0x00000001
922 #define U_RNDT_Or 0x00000002
923 #define U_RNDT_Xor 0x00000003
924 #define U_RNDT_Exclude 0x00000004
925 #define U_RNDT_Complement 0x00000005
926 #define U_RNDT_Rect 0x10000000
927 #define U_RNDT_Path 0x10000001
928 #define U_RNDT_Empty 0x10000002
929 #define U_RNDT_Infinite 0x10000003
937 #define U_SM_Default 0x00
938 #define U_SM_HighSpeed 0x01
939 #define U_SM_HighQuality 0x02
940 #define U_SM_None 0x03
941 #define U_SM_AntiAlias8x4 0x04
942 #define U_SM_AntiAlias8x8 0x05
962 #define U_SA_Near 0x00
963 #define U_SA_Center 0x01
964 #define U_SA_Far 0x02
972 #define U_SDS_User 0x00
973 #define U_SDS_None 0x01
974 #define U_SDS_National 0x02
975 #define U_SDS_Traditional 0x03
983 #define U_ST_None 0x00
984 #define U_ST_Character 0x01
985 #define U_ST_Word 0x02
986 #define U_ST_EllipsisCharacter 0x03
987 #define U_ST_EllipsisWord 0x04
988 #define U_ST_EllipsisPath 0x05
996 #define U_TRH_SystemDefault 0x00
997 #define U_TRH_SingleBitPerPixelGridFit 0x01
998 #define U_TRH_SingleBitPerPixel 0x02
999 #define U_TRH_AntialiasGridFit 0x03
1000 #define U_TRH_Antialias 0x04
1001 #define U_TRH_ClearTypeGridFit 0x05
1009 #define U_UT_World 0x00
1010 #define U_UT_Display 0x01
1011 #define U_UT_Pixel 0x02
1012 #define U_UT_Point 0x03
1013 #define U_UT_Inch 0x04
1014 #define U_UT_Document 0x05
1015 #define U_UT_Millimeter 0x06
1023 #define U_WM_Tile 0x00000000
1024 #define U_WM_TileFlipX 0x00000001
1025 #define U_WM_TileFlipY 0x00000002
1026 #define U_WM_TileFlipXY 0x00000003
1027 #define U_WM_Clamp 0x00000004
1047 #define U_BD_None 0x0000
1048 #define U_BD_Path 0x0001
1049 #define U_BD_Transform 0x0002
1050 #define U_BD_PresetColors 0x0004
1051 #define U_BD_BlendFactorsH 0x0008
1052 #define U_BD_BlendFactorsV 0x0010
1053 #define U_BD_NoBit 0x0020
1054 #define U_BD_FocusScales 0x0040
1055 #define U_BD_IsGammaCorrected 0x0080
1056 #define U_BD_DoNotTransform 0x0100
1057 #define U_BD_MASKA 0x009E
1058 #define U_BD_MASKB 0x00CF
1059 #define U_BD_MASKC 0x0182
1067 #define U_CLCD_None 0x00
1068 #define U_CLCD_FillPath 0x01
1069 #define U_CLCD_LinePath 0x02
1077 #define U_DSO_None 0x00
1078 #define U_DSO_CmapLookup 0x01
1079 #define U_DSO_Vertical 0x02
1080 #define U_DSO_RealizedAdvance 0x04
1082 #define U_DSO_LimitSubpixel 0x08
1090 #define U_FS_None 0x00
1091 #define U_FS_Bold 0x01
1092 #define U_FS_Italic 0x02
1093 #define U_FS_Underline 0x04
1094 #define U_FS_Strikeout 0x08
1102 #define U_PLTS_None 0x00
1103 #define U_PLTS_HasAlpha 0x01
1104 #define U_PLTS_GrayScale 0x02
1105 #define U_PLTS_Halftone 0x04
1113 #define U_PTP_None 0x00
1114 #define U_PTP_DashMode 0x10
1115 #define U_PTP_PathMarker 0x20
1116 #define U_PTP_NoBit 0x40
1117 #define U_PTP_CloseSubpath 0x80
1118 #define U_PTP_NotClose 0x70
1119 #define U_PTP_MASK 0xF0
1120 #define U_PTP_SHIFT 4
1131 #define U_PD_None 0x0000
1132 #define U_PD_Transform 0x0001
1133 #define U_PD_StartCap 0x0002
1134 #define U_PD_EndCap 0x0004
1135 #define U_PD_Join 0x0008
1136 #define U_PD_MiterLimit 0x0010
1137 #define U_PD_LineStyle 0x0020
1138 #define U_PD_DLCap 0x0040
1139 #define U_PD_DLOffset 0x0080
1140 #define U_PD_DLData 0x0100
1141 #define U_PD_NonCenter 0x0200
1142 #define U_PD_CLData 0x0400
1143 #define U_PD_CustomStartCap 0x0800
1144 #define U_PD_CustomEndCap 0x1000
1152 #define U_SF_None 0x00000000
1153 #define U_SF_DirectionRightToLeft 0x00000001
1154 #define U_SF_DirectionVertical 0x00000002
1155 #define U_SF_NoFitBlackBox 0x00000004
1156 #define U_SF_NoBit4 0x00000008
1157 #define U_SF_NoBit5 0x00000010
1158 #define U_SF_DisplayFormatControl 0x00000020
1159 #define U_SF_NoBit7 0x00000040
1160 #define U_SF_NoBit8 0x00000080
1161 #define U_SF_NoBit9 0x00000100
1162 #define U_SF_NoBit10 0x00000200
1163 #define U_SF_NoFontFallback 0x00000400
1164 #define U_SF_MeasureTrailingSpaces 0x00000800
1165 #define U_SF_NoWrap 0x00001000
1166 #define U_SF_LineLimit 0x00002000
1167 #define U_SF_NoClip 0x00004000
1168 #define U_SF_BypassGDI 0x80000000
1176 #define U_IE_BlurEffectGuid "{633C80A4-1843-482B-9EF2-BE2834C5FDD4}"
1177 #define U_IE_BrightnessContrastEffectGuid "{D3A1DBE1-8EC4-4C17-9F4C-EA97AD1C343D}"
1178 #define U_IE_ColorBalanceEffectGuid "{537E597D-251E-48DA-9664-29CA496B70F8}"
1179 #define U_IE_ColorCurveEffectGuid "{DD6A0022-58E4-4A67-9D9B-D48EB881A53D}"
1180 #define U_IE_ColorLookupTableEffectGuid "{A7CE72A9-0F7F-40D7-B3CC-D0C02D5C3212}"
1181 #define U_IE_ColorMatrixEffectGuid "{718F2615-7933-40E3-A511-5F68FE14DD74}"
1182 #define U_IE_HueSaturationLightnessEffectGuid "{8B2DD6C3-EB07-4D87-A5F0-7108E26A9C5F}"
1183 #define U_IE_LevelsEffectGuid "{99C354EC-2A31-4F3A-8C34-17A803B33A25}"
1184 #define U_IE_RedEyeCorrectionEffectGuid "{74D29D05-69A4-4266-9549-3CC52836B632}"
1185 #define U_IE_SharpenEffectGuid "{63CBF3EE-C526-402C-8F71-62C540BF5142}"
1186 #define U_IE_TintEffectGuid "{1077AF00-2848-4441-9489-44AD4C2D7A2C}"
1194 #define U_IEE_Unknown 0
1195 #define U_IEE_BlurEffectGuid 1
1196 #define U_IEE_BrightnessContrastEffectGuid 2
1197 #define U_IEE_ColorBalanceEffectGuid 3
1198 #define U_IEE_ColorCurveEffectGuid 4
1199 #define U_IEE_ColorLookupTableEffectGuid 5
1200 #define U_IEE_ColorMatrixEffectGuid 6
1201 #define U_IEE_HueSaturationLightnessEffectGuid 7
1202 #define U_IEE_LevelsEffectGuid 8
1203 #define U_IEE_RedEyeCorrectionEffectGuid 9
1204 #define U_IEE_SharpenEffectGuid 10
1205 #define U_IEE_TintEffectGuid 11
1213 #define U_OC_Rect 0x00
1214 #define U_OC_Bitmap 0x01
1229 #define U_PPF_B 0x8000
1230 #define U_PPF_BZ 0x8000
1231 #define U_PPF_N 0x8000
1232 #define U_PPF_K 0x8000
1233 #define U_PPF_C 0x4000
1234 #define U_PPF_XM 0x2000
1235 #define U_PPF_F 0x2000
1236 #define U_PPF_E 0x2000
1237 #define U_PPF_R 0x1000
1238 #define U_PPF_P 0x0800
1239 #define U_PPF_D 0x0400
1240 #define U_PPF_VGA 0x0002
1241 #define U_PPF_PP 0x0001
1242 #define U_PPF_DM 0x0001
1243 #define U_PPF_AA 0x0001
1244 #define U_PPF_VIDEO 0x0001
1255 #define U_FF_MASK_SUBLID 0x003F
1256 #define U_FF_SHFT_SUBLID 0x000A
1257 #define U_FF_MASK_PRILID 0x03FF
1258 #define U_FF_SHFT_PRILID 0x0000
1259 #define U_FF_MASK_LID 0xFFFF
1260 #define U_FF_SHFT_LID 0x0000
1261 #define U_FF_MASK_RL 0x003F
1262 #define U_FF_SHFT_RL 0x0008
1263 #define U_FF_MASK_PPT 0x00FF
1264 #define U_FF_SHFT_PPT 0x0000
1266 #define U_FF_MASK_OID8 0x00FF
1267 #define U_FF_SHFT_OID8 0x0000
1268 #define U_FF_MASK_CM4 0x000F
1269 #define U_FF_SHFT_CM4 0x0008
1270 #define U_FF_MASK_OT 0x003F
1271 #define U_FF_SHFT_OT 0x0008
1272 #define U_FF_MASK_AA 0x007F
1273 #define U_FF_SHFT_AA 0x0001
1274 #define U_FF_MASK_CM 0x00FF
1275 #define U_FF_SHFT_CM 0x0000
1276 #define U_FF_MASK_CQ 0x00FF
1277 #define U_FF_SHFT_CQ 0x0000
1278 #define U_FF_MASK_IM 0x00FF
1279 #define U_FF_SHFT_IM 0x0000
1280 #define U_FF_MASK_PxOffM 0x00FF
1281 #define U_FF_SHFT_PxOffM 0x0000
1282 #define U_FF_MASK_TGC 0x0FFF
1283 #define U_FF_SHFT_TGC 0x0000
1284 #define U_FF_MASK_TRH 0x00FF
1285 #define U_FF_SHFT_TRH 0x0000
1286 #define U_FF_MASK_UT 0x00FF
1287 #define U_FF_SHFT_UT 0x0008
1288 #define U_FF_MASK_TSC 0x7FFF
1289 #define U_FF_SHFT_TSC 0x0000
1290 #define U_FF_MASK_PU 0x00FF
1291 #define U_FF_SHFT_PU 0x0000
1300 #define U_GFVR_PMF 0x000DBC01
1301 #define U_GFVR_MASKHI 0xFFFFF000
1302 #define U_GFVR_MASKLO 0x00000FFF
1310 #define U_XM_PostX 1
1444 int32_t ObjectClamp;
1516 U_PMF_LANGUAGEIDENTIFIER
1518 uint32_t StringAlignment;
1520 uint32_t DigitSubstitution;
1521 U_PMF_LANGUAGEIDENTIFIER
1524 int32_t HotkeyPrefix;
1529 uint32_t TabStopCount;
1530 uint32_t RangeCount;
1738 #define U_TEST_INT7 0x80
1739 #define U_SIGN_INT7 0x40
1740 #define U_MASK_INT7 0x7F
1754 #define U_TEST_INT15 0x8000
1755 #define U_SIGN_INT15 0x4000
1756 #define U_MASK_INT15 0x7FFF
2031 uint32_t ExpandEdge;
2044 int32_t MagentaGreen;
2181 U_PMF_GRAPHICSVERSION Version;
2182 uint32_t EmfPlusFlags;
2183 uint32_t LogicalDpiX;
2184 uint32_t LogicalDpiY;
2727 uint8_t AntiAliasMode;
2728 uint8_t TextRenderHint;
2729 uint8_t CompositingMode;
2730 uint8_t CompositingQuality;
2731 int16_t RenderOriginX;
2732 int16_t RenderOriginY;
2733 uint16_t TextContrast;
2735 uint8_t PixelOffset;
2878 int32_t FSFlags, uint32_t Length,
const uint16_t *Font);
2904 U_FLOAT MiddleInset, uint32_t FillState, uint32_t StartCap, uint32_t EndCap, uint32_t Join,
2907 U_FLOAT Inset, uint32_t StartCap, uint32_t EndCap,
2937 U_FLOAT MiterLimit, int32_t Style, int32_t DLCap,
U_FLOAT DLOffset,
2981 uint32_t LogicalDpiX, uint32_t LogicalDpiY);
2988 uint32_t DSOFlags, uint32_t HasMatrix, uint32_t GlyphCount,
2998 uint32_t FormatID, uint32_t Length,
const U_PSEUDO_OBJ *Rect,
const uint16_t *Text);
3037 int U_PMF_BRUSH_get(
const char *contents, uint32_t *Version, uint32_t *Type,
const char **Data);
3039 int U_PMF_FONT_get(
const char *contents, uint32_t *Version,
U_FLOAT *EmSize, uint32_t *SizeUnit, int32_t *FSFlags, uint32_t *Length,
const char **Data);
3040 int U_PMF_IMAGE_get(
const char *contents, uint32_t *Version, uint32_t *Type,
const char **Data);
3041 int U_PMF_IMAGEATTRIBUTES_get(
const char *contents, uint32_t *Version, uint32_t *WrapMode, uint32_t *ClampColor, uint32_t *ObjectClamp);
3042 int U_PMF_PATH_get(
const char *contents, uint32_t *Version, uint32_t *Count, uint16_t *Flags,
const char **Points,
const char **Types);
3043 int U_PMF_PEN_get(
const char *contents, uint32_t *Version, uint32_t *Type,
const char **PenData,
const char **Brush);
3044 int U_PMF_REGION_get(
const char *contents, uint32_t *Version, uint32_t *Count,
const char **Nodes);
3046 int U_PMF_ARGB_get(
const char *contents, uint8_t *Blue, uint8_t *Green, uint8_t *Red, uint8_t *Alpha);
3072 int U_PMF_METAFILE_get(
const char *contents, uint32_t *Type, uint32_t *Size,
const char **Data);
3073 int U_PMF_PALETTE_get(
const char *contents, uint32_t *Flags, uint32_t *Elements,
const char **Data);
3080 int32_t *StartCap, int32_t *EndCap, uint32_t *Join,
U_FLOAT *MiterLimit, int32_t *Style, int32_t *DLCap,
U_FLOAT *DLOffset,
3081 const char **DLData, int32_t *Alignment,
const char **CmpndLineData,
const char **CSCapData,
const char **CECapData);
3085 int U_PMF_RECT_get(
const char **contents, int16_t *X, int16_t *Y, int16_t *Width, int16_t *Height);
3101 const uint8_t **BLUT,
const uint8_t **GLUT,
const uint8_t **RLUT,
const uint8_t **ALUT);
3104 int U_PMF_IE_LEVELS_get(
const char *contents, int32_t *Highlight, int32_t *Midtone, int32_t *Shadow);
3119 int U_PMR_HEADER_get(
const char *contents,
U_PMF_CMN_HDR *Header, U_PMF_GRAPHICSVERSION *Version,
int *IsDual,
int *IsVideo, uint32_t *LogicalDpiX, uint32_t *LogicalDpiY);
3125 int U_PMR_DRAWDRIVERSTRING_get(
const char *contents,
U_PMF_CMN_HDR *Header, uint32_t *FontID,
int *btype,
U_FLOAT *Tension, uint32_t *BrushID, uint32_t *DSOFlags, uint32_t *HasMatrix, uint32_t *Elements, uint16_t **Glyphs,
U_PMF_POINTF **Points,
U_PMF_TRANSFORMMATRIX **Matrix);
3128 int U_PMR_DRAWIMAGEPOINTS_get(
const char *contents,
U_PMF_CMN_HDR *Header, uint32_t *ImgID,
int *ctype,
int *etype,
int *RelAbs, uint32_t *ImgAttrID, int32_t *SrcUnit,
U_PMF_RECTF *SrcRect, uint32_t *Elements,
U_PMF_POINTF **Points);
3141 int U_PMR_OBJECT_get(
const char *contents,
U_PMF_CMN_HDR *Header, uint32_t *ObjID,
int *otype,
int *ntype, uint32_t *TSize,
const char **Data);
3157 int U_PMR_SETTSGRAPHICS_get(
const char *contents,
U_PMF_CMN_HDR *Header,
int *vgatype,
int *pptype, uint8_t *AntiAliasMode, uint8_t *TextRenderHint, uint8_t *CompositingMode, uint8_t *CompositingQuality, int16_t *RenderOriginX, int16_t *RenderOriginY, uint16_t *TextContrast, uint8_t *FilterType, uint8_t *PixelOffset,
U_PMF_TRANSFORMMATRIX *WorldToDevice,
const char **Data);
int U_PMF_RECTF_get(const char **contents, U_FLOAT *X, U_FLOAT *Y, U_FLOAT *Width, U_FLOAT *Height)
Get data from a U_PMF_RECTF object.
Definition: upmf.c:6279
U_PMF_LANGUAGEIDENTIFIER U_PMF_LANGUAGEIDENTIFIEROBJ_set(int SubLId, int PriLId)
Create and set a U_PMF_LANGUAGEIDENTIFIER value in 4 byte unsigned int, in NATIVE byte order...
Definition: upmf.c:2545
int U_PMR_DRAWARC_get(const char *contents, U_PMF_CMN_HDR *Header, uint32_t *PenID, int *ctype, U_FLOAT *Start, U_FLOAT *Sweep, U_PMF_RECTF *Rect)
Get data from a U_PMR_DRAWARC record.
Definition: upmf.c:6842
int U_PMF_FILLPATHOBJ_get(const char *contents, int32_t *Size, const char **Data)
Get data from a U_PMF_FILLPATHOBJ object.
Definition: upmf.c:5752
int U_PMR_SERIALIZABLEOBJECT_get(const char *contents, U_PMF_CMN_HDR *Header, uint8_t *GUID, uint32_t *Size, const char **Data)
Get data from a U_PMR_SERIALIZABLEOBJECT record.
Definition: upmf.c:7486
int U_PATH_polylineto(U_DPSEUDO_OBJ *Path, uint32_t Elements, const U_PMF_POINTF *Points, uint8_t Flags, uint8_t StartSeg)
Append a "polylineto" set of point to a path.
Definition: upmf.c:808
uint32_t U_PMF_GRAPHICSVERSION
EMF+ manual 2.2.2.19, Microsoft name: EmfPlusGraphicsVersion Object.
Definition: upmf.h:1722
U_PSEUDO_OBJ * U_PMF_LANGUAGEIDENTIFIER_set(U_PMF_LANGUAGEIDENTIFIER LId)
Create and set a U_PMF_LANGUAGEIDENTIFIER PseudoObject.
Definition: upmf.c:2558
U_PSEUDO_OBJ * U_PMR_drawfill(uint32_t PathID, uint32_t PenID, const U_PSEUDO_OBJ *BrushID)
Create a U_PSEUDO_OBJ containing a U_PMR_FILLPATH and U_PMR_DRAWPATH records.
Definition: upmf.c:1110
int U_PMR_SETPIXELOFFSETMODE_get(const char *contents, U_PMF_CMN_HDR *Header, int *POMenum)
Get data from a U_PMR_SETPIXELOFFSETMODE record.
Definition: upmf.c:7580
U_PSEUDO_OBJ * U_PMR_GETDC_set(void)
Create and set a U_PMR_GETDC PseudoObject.
Definition: upmf.c:3770
U_PSEUDO_OBJ * U_PMF_BLENDCOLORS_linear_set(uint32_t Elements, U_PMF_ARGB StartColor, U_PMF_ARGB EndColor)
Create and set a U_PMF_BLENDCOLORS PseudoObject.
Definition: upmf.c:1980
U_PSEUDO_OBJ * U_PMR_DRAWPATH_set(uint32_t PathID, uint32_t PenID)
Create and set a U_PMR_DRAWPATH PseudoObject.
Definition: upmf.c:4214
U_PSEUDO_OBJ * U_PMF_PENOPTIONALDATA_set(uint32_t Flags, U_PSEUDO_OBJ *Tm, int32_t StartCap, int32_t EndCap, uint32_t Join, U_FLOAT MiterLimit, int32_t Style, int32_t DLCap, U_FLOAT DLOffset, U_PSEUDO_OBJ *DLData, int32_t PenAlignment, U_PSEUDO_OBJ *CmpndLineData, U_PSEUDO_OBJ *CSCapData, U_PSEUDO_OBJ *CECapData)
Create and set a U_PMF_PENOPTIONALDATA PseudoObject.
Definition: upmf.c:2869
int U_DPO_free(U_DPSEUDO_OBJ **dpo)
Free U_DPSEUDO_OBJ's.
Definition: upmf.c:708
U_PSEUDO_OBJ * U_PMR_FILLREGION_set(uint32_t RgnID, const U_PSEUDO_OBJ *BrushID)
Create and set a U_PMR_FILLREGION PseudoObject.
Definition: upmf.c:4593
int U_PMF_POINTF_get(const char **contents, U_FLOAT *X, U_FLOAT *Y)
Get data from a U_PMF_POINTF object.
Definition: upmf.c:6182
U_PSEUDO_OBJ * U_PMF_TRANSFORMMATRIX_set(U_PMF_TRANSFORMMATRIX *Tm)
Create and set a U_PMF_TRANSFORMMATRIX PseudoObject.
Definition: upmf.c:3300
U_PSEUDO_OBJ * U_PMR_STROKEFILLPATH_set(void)
Create and set a U_PMR_STROKEFILLPATH PseudoObject.
Definition: upmf.c:3583
U_PSEUDO_OBJ * U_PMR_DRAWDRIVERSTRING_set(uint32_t FontID, U_FLOAT Tension, const U_PSEUDO_OBJ *BrushID, uint32_t DSOFlags, uint32_t HasMatrix, uint32_t GlyphCount, const uint16_t *Glyphs, const U_PSEUDO_OBJ *Points, const U_PSEUDO_OBJ *Tm)
Create and set a U_PMR_DRAWDRIVERSTRING PseudoObject.
Definition: upmf.c:4015
U_PMF_POINTF * pointfs_transform(U_PMF_POINTF *points, int count, U_XFORM xform)
Allocate and construct an array of U_PMF_POINTF objects which have been subjected to a U_XFORM...
Definition: upmf.c:1008
U_PSEUDO_OBJ * U_PMR_CLEAR_set(const U_PSEUDO_OBJ *Color)
Create and set a U_PMR_CLEAR PseudoObject.
Definition: upmf.c:3825
EMF+ manual 2.3.7.5, Microsoft name: EmfPlusSave Record, Index 0x25.
Definition: upmf.h:2701
U_PSEUDO_OBJ * U_PMR_ENDOFFILE_set(void)
Create and set a U_PMR_ENDOFFILE PseudoObject.
Definition: upmf.c:3751
int U_PMR_DRAWRECTS_get(const char *contents, U_PMF_CMN_HDR *Header, uint32_t *PenID, int *ctype, uint32_t *Elements, U_PMF_RECTF **Rects)
Get data from a U_PMR_DRAWRECTS record.
Definition: upmf.c:7168
EMF+ manual 2.3.3.2, Microsoft name: EmfPlusGetDC Record, Index 0x04.
Definition: upmf.h:2171
EMF+ manual 2.3.9.4, Microsoft name: EmfPlusScaleWorldTransform Record, Index 0x2E Construct transfor...
Definition: upmf.h:2784
int U_PMR_STROKEFILLPATH_get(const char *contents, U_PMF_CMN_HDR *Header)
Get data from a U_PMR_STROKEFILLPATH record.
Definition: upmf.c:7957
EMF+ manual 2.2.2.26, Microsoft name: EmfPlusLinePath Object.
Definition: upmf.h:1825
EMF+ manual 2.3.4.7, Microsoft name: EmfPlusDrawEllipse Record, Index 0x0F.
Definition: upmf.h:2315
U_PSEUDO_OBJ * U_PMR_DRAWARC_set(uint32_t PenID, U_FLOAT Start, U_FLOAT Sweep, const U_PSEUDO_OBJ *Rect)
Create and set a U_PMR_DRAWARC PseudoObject.
Definition: upmf.c:3850
U_PSEUDO_OBJ * U_PMR_DRAWBEZIERS_set(uint32_t PenID, const U_PSEUDO_OBJ *Points)
Create and set a U_PMR_DRAWBEZIERS PseudoObject.
Definition: upmf.c:3883
U_PSEUDO_OBJ * U_PMR_FILLCLOSEDCURVE_set(int ftype, U_FLOAT Tension, const U_PSEUDO_OBJ *BrushID, const U_PSEUDO_OBJ *Points)
Create and set a U_PMR_FILLCLOSEDCURVE PseudoObject.
Definition: upmf.c:4358
char * U_pmr_names(unsigned int idx)
Look up the name of the EMR+ record by type. Returns U_EMR_INVALID if out of range.
Definition: upmf.c:274
U_PSEUDO_OBJ * U_PMF_LINEPATH_set(const U_PSEUDO_OBJ *Path)
Create and set a U_PMF_LINEPATH PseudoObject.
Definition: upmf.c:2640
int U_PMF_BLENDCOLORS_get(const char *contents, uint32_t *Elements, U_FLOAT **Positions, const char **Colors)
Get data from a U_PMF_BLENDCOLORS object.
Definition: upmf.c:5519
EMF+ manual 2.2.2.20, Microsoft name: EmfPlusHatchBrushData Object.
Definition: upmf.h:1726
U_PSEUDO_OBJ * U_PMF_LINEARGRADIENTBRUSHOPTIONALDATA_set(uint32_t *Flags, const U_PSEUDO_OBJ *Tm, const U_PSEUDO_OBJ *Bc, const U_PSEUDO_OBJ *BfH, const U_PSEUDO_OBJ *BfV)
Create and set a U_PMF_LINEARGRADIENTBRUSHOPTIONALDATA PseudoObject.
Definition: upmf.c:2609
U_PSEUDO_OBJ * U_PMF_FOCUSSCALEDATA_set(U_FLOAT ScaleX, U_FLOAT ScaleY)
Create and set a U_PMF_FOCUSSCALEDATA PseudoObject.
Definition: upmf.c:2435
EMF+ manual 2.3.3.3, Microsoft name: EmfPlusHeader Record, Index 0x01.
Definition: upmf.h:2180
EMF+ manual 2.3.4.12, Microsoft name: EmfPlusDrawPie Record, Index 0x0D.
Definition: upmf.h:2406
U_PSEUDO_OBJ * U_PMR_RESETCLIP_set(void)
Create and set a U_PMR_RESETCLIP PseudoObject.
Definition: upmf.c:3626
U_PSEUDO_OBJ * U_PMR_SETINTERPOLATIONMODE_set(int IMenum)
Create and set a U_PMR_SETINTERPOLATIONMODE PseudoObject.
Definition: upmf.c:4799
int U_PMF_SOLIDBRUSHDATA_get(const char *contents, U_PMF_ARGB *Color)
Get data from a U_PMF_SOLIDBRUSHDATA object.
Definition: upmf.c:6378
U_PSEUDO_OBJ * U_PMR_OBJECT_set(uint32_t ObjID, int otype, int ntype, uint32_t TSize, size_t cbData, const char *Data)
Create and set a U_PMR_OBJECT PseudoObject.
Definition: upmf.c:4652
U_PSEUDO_OBJ * U_PMF_LINEARGRADIENTBRUSHDATA_set(const U_PMF_LINEARGRADIENTBRUSHDATA *Lgbd, const U_PSEUDO_OBJ *Lgbod)
Create and set a U_PMF_LINEARGRADIENTBRUSHDATA PseudoObject.
Definition: upmf.c:2578
EMF+ manual 2.2.2.7, Microsoft name: EmfPlusBoundaryPointData Object.
Definition: upmf.h:1591
U_PSEUDO_OBJ * U_PMF_BLENDFACTORS_set(uint32_t Elements, const U_FLOAT *Positions, const U_FLOAT *Factors)
Create and set a U_PMF_BLENDFACTORS PseudoObject.
Definition: upmf.c:2034
U_PSEUDO_OBJ * U_PO_append(U_PSEUDO_OBJ *po, const char *Data, size_t Size)
Append data to a U_PSEUDO_OBJ object and return it.
Definition: upmf.c:532
int U_PMR_ROTATEWORLDTRANSFORM_get(const char *contents, U_PMF_CMN_HDR *Header, int *xmtype, U_FLOAT *Angle)
Get data from a U_PMR_ROTATEWORLDTRANSFORM record.
Definition: upmf.c:7850
EMF+ manual 2.3.6.6, Microsoft name: EmfPlusSetRenderingOrigin Record, Index 0x1D.
Definition: upmf.h:2645
EMF+ manual 2.2.2.12, Microsoft name: EmfPlusCustomLineCapArrowData Object.
Definition: upmf.h:1633
U_PSEUDO_OBJ * U_PMR_SETCLIPRECT_set(uint32_t CMenum, const U_PSEUDO_OBJ *Rect)
Create and set a U_PMR_SETCLIPRECT PseudoObject.
Definition: upmf.c:3670
EMF+ manual 2.2.1.1, Microsoft name: EmfPlusBrush Object.
Definition: upmf.h:1386
uint8_t * U_OID_To_GUID(uint32_t OID)
Generate the 16 byte form from OID of the ImageEffects Identifier.
Definition: upmf.c:1344
U_PSEUDO_OBJ * U_PMF_REGIONNODE_set(int32_t Type, const U_PSEUDO_OBJ *Rnd)
Create and set a U_PMF_REGIONNODE PseudoObject.
Definition: upmf.c:3128
void U_PMR_write(U_PSEUDO_OBJ *po, U_PSEUDO_OBJ *sum, EMFTRACK *et)
Utility function for writing one or more EMF+ records in a PseudoObject to the EMF output file...
Definition: upmf.c:84
int U_PMR_FILLCLOSEDCURVE_get(const char *contents, U_PMF_CMN_HDR *Header, int *btype, int *ctype, int *ftype, int *RelAbs, uint32_t *BrushID, U_FLOAT *Tension, uint32_t *Elements, U_PMF_POINTF **Points)
Get data from a U_PMR_FILLCLOSEDCURVE record.
Definition: upmf.c:7230
U_PSEUDO_OBJ * U_PMF_IE_COLORCURVE_set(uint32_t Adjust, uint32_t Channel, int32_t Intensity)
Create and set a U_PMF_IE_COLORCURVE PseudoObject.
Definition: upmf.c:3383
EMF+ manual 2.2.2.45, Microsoft name: EmfPlusTextureBrushData Object.
Definition: upmf.h:1999
EMF+ manual 2.2.2.43, Microsoft name: EmfPlusSolidBrushData Object For U_PMF_BRUSH data field (one ty...
Definition: upmf.h:1988
int U_PMR_SAVE_get(const char *contents, U_PMF_CMN_HDR *Header, uint32_t *StackID)
Get data from a U_PMR_SAVE record.
Definition: upmf.c:7727
void U_PMF_REPCPY_DSTSHIFT(char **Dst, const void *Src, size_t Size, size_t Reps)
Copy the single instance at Src repeatedly to Dst.
Definition: upmf.c:1390
U_PSEUDO_OBJ * U_PMR_FILLPIE_set(U_FLOAT Start, U_FLOAT Sweep, const U_PSEUDO_OBJ *BrushID, const U_PSEUDO_OBJ *Rect)
Create and set a U_PMR_FILLPIE PseudoObject.
Definition: upmf.c:4472
U_PSEUDO_OBJ * U_PO_po_append(U_PSEUDO_OBJ *po, U_PSEUDO_OBJ *Src, int StripE)
Append data to a U_PSEUDO_OBJ object and return it.
Definition: upmf.c:559
U_PSEUDO_OBJ * U_PMF_IE_SHARPEN_set(U_FLOAT Radius, int32_t Sharpen)
Create and set a U_PMF_IE_SHARPEN PseudoObject.
Definition: upmf.c:3515
EMF+ manual 2.3.7.2, Microsoft name: EmfPlusBeginContainerNoParams Record, Index 0x28.
Definition: upmf.h:2683
int U_PMR_FILLELLIPSE_get(const char *contents, U_PMF_CMN_HDR *Header, int *btype, int *ctype, uint32_t *BrushID, U_PMF_RECTF *Rect)
Get data from a U_PMR_FILLELLIPSE record.
Definition: upmf.c:7260
U_PSEUDO_OBJ * U_PMF_PATH_set(uint32_t Version, const U_PSEUDO_OBJ *Points, const U_PSEUDO_OBJ *Types)
Create and set a U_PMF_PATH PseudoObject.
Definition: upmf.c:1652
U_PSEUDO_OBJ * U_PMR_DRAWCURVE_set(uint32_t PenID, U_FLOAT Tension, uint32_t Offset, uint32_t NSegs, const U_PSEUDO_OBJ *Points)
Create and set a U_PMR_DRAWCURVE PseudoObject.
Definition: upmf.c:3971
U_PSEUDO_OBJ * U_PMR_DRAWRECTS_set(uint32_t PenID, const U_PSEUDO_OBJ *Rects)
Create and set a U_PMR_DRAWRECTS PseudoObject.
Definition: upmf.c:4275
EMF+ manual 2.3.7.4, Microsoft name: EmfPlusRestore Record, Index 0x26.
Definition: upmf.h:2695
void U_PMF_MEMCPY_SRCSHIFT(void *Dst, const char **Src, size_t Size)
copy data and shift source pointer by the amount of data moved
Definition: upmf.c:1366
EMF+ manual 2.2.2.9, Microsoft name: EmfPlusCompoundLineData Object Compound lines are pens that draw...
Definition: upmf.h:1609
EMF+ manual 2.3.4.10, Microsoft name: EmfPlusDrawLines Record, Index 0x0D.
Definition: upmf.h:2381
U_PSEUDO_OBJ * U_PMF_REGION_set(uint32_t Version, uint32_t Count, const U_PSEUDO_OBJ *Nodes)
Create and set a U_PMF_REGION PseudoObject.
Definition: upmf.c:1776
int U_PMF_CUSTOMSTARTCAPDATA_get(const char *contents, int32_t *Size, const char **Data)
Get data from a U_PMF_CUSTOMSTARTCAPDATA object.
Definition: upmf.c:5718
int U_PMF_LINEPATH_get(const char *contents, int32_t *Size, const char **Data)
Get data from a U_PMF_LINEPATH object.
Definition: upmf.c:5943
int U_PMF_IMAGE_get(const char *contents, uint32_t *Version, uint32_t *Type, const char **Data)
Get data from a U_PMF_IMAGE object.
Definition: upmf.c:5341
int U_PATH_polygon(U_DPSEUDO_OBJ *Path, uint32_t Elements, const U_PMF_POINTF *Points, uint8_t Flags)
Append a "polygon" set of points to a path.
Definition: upmf.c:878
EMF+ manual 2.2.2.38, Microsoft name: EmfPlusRect Object.
Definition: upmf.h:1959
int U_PMF_PATHGRADIENTBRUSHOPTIONALDATA_get(const char *contents, uint32_t Flags, U_PMF_TRANSFORMMATRIX *Matrix, const char **Pattern, const char **Data)
Get data from a U_PMF_PATHGRADIENTBRUSHOPTIONALDATA object.
Definition: upmf.c:6024
EMF+ manual 2.2.2.29, Microsoft name: EmfPlusPathGradientBrushData Object.
Definition: upmf.h:1857
U_PSEUDO_OBJ * U_PMF_POINTR_set(uint32_t Elements, const U_PMF_POINTF *Coords)
Create and set an ARRAY of U_PMF_POINTR objects.
Definition: upmf.c:2949
EMF+ manual 2.3.4.14, Microsoft name: EmfPlusDrawString Record, Index 0x1C.
Definition: upmf.h:2437
uint32_t U_PMF_LANGUAGEIDENTIFIER
EMF+ manual 2.2.2.23, Microsoft name: EmfPlusLanguageIdentifier Object, out of order, needed for 2.2.1.9.
Definition: upmf.h:1511
int U_PMF_CUSTOMLINECAPARROWDATA_get(const char *contents, U_PMF_CUSTOMLINECAPARROWDATA *Ccad)
Get data from a U_PMF_CUSTOMLINECAPARROWDATA object.
Definition: upmf.c:5655
U_PSEUDO_OBJ * U_PMR_FILLRECTS_set(const U_PSEUDO_OBJ *BrushID, const U_PSEUDO_OBJ *Rects)
Create and set a U_PMR_FILLRECTS PseudoObject.
Definition: upmf.c:4551
EMF+ manual 2.3.4.13, Microsoft name: EmfPlusDrawRects Record, Index 0x0B.
Definition: upmf.h:2422
EMF+ manual 2.3.5.2, Microsoft name: EmfPlusSerializableObject Record, Index 0x38.
Definition: upmf.h:2587
U_PSEUDO_OBJ * U_PMF_GRAPHICSVERSION_set(int GrfVersion)
Create and set a U_PMF_GRAPHICSVERSION object (Signature always set to 0xDBC01)
Definition: upmf.c:2454
U_PSEUDO_OBJ * U_PMR_FILLPOLYGON_set(const U_PSEUDO_OBJ *BrushID, const U_PSEUDO_OBJ *Points)
Create and set a U_PMR_FILLPOLYGON PseudoObject.
Definition: upmf.c:4512
EMF+ manual 2.2.2.6, Microsoft name: EmfPlusBoundaryPathData Object.
Definition: upmf.h:1583
int U_PMR_SETINTERPOLATIONMODE_get(const char *contents, U_PMF_CMN_HDR *Header, int *IMenum)
Get data from a U_PMR_SETINTERPOLATIONMODE record.
Definition: upmf.c:7562
int U_PMR_RESETWORLDTRANSFORM_get(const char *contents, U_PMF_CMN_HDR *Header)
Get data from a U_PMR_RESETWORLDTRANSFORM record.
Definition: upmf.c:7834
int U_PMF_LEN_REL715(const char *contents, int Elements)
Calculate the length in bytes of a relative path object composed of U_PMF_INTEGER7 and U_PMF_INTER15 ...
Definition: upmf.c:1200
int U_PMR_HEADER_get(const char *contents, U_PMF_CMN_HDR *Header, U_PMF_GRAPHICSVERSION *Version, int *IsDual, int *IsVideo, uint32_t *LogicalDpiX, uint32_t *LogicalDpiY)
Get data from a U_PMR_HEADER record.
Definition: upmf.c:6797
int U_PATH_moveto(U_DPSEUDO_OBJ *Path, U_PMF_POINTF Point, uint8_t Flags)
Append a "moveto" point to a path.
Definition: upmf.c:740
int U_PMF_LEN_PENDATA(const char *PenData)
Return the size of a PenData object from an EMF+ record.
Definition: upmf.c:1488
EMF+ manual 2.2.1.4, Microsoft name: EmfPlusImage Object.
Definition: upmf.h:1418
EMF+ manual 2.2.2.18, Microsoft name: EmfPlusFocusScaleData Object for U_PMF_PATHGRADIENTBRUSHOPTIONA...
Definition: upmf.h:1708
int U_PMR_OFFSETCLIP_get(const char *contents, U_PMF_CMN_HDR *Header, U_FLOAT *dX, U_FLOAT *dY)
Get data from a U_PMR_OFFSETCLIP record.
Definition: upmf.c:6655
EMF+ manual 2.3.6.5, Microsoft name: EmfPlusSetPixelOffsetMode Record, Index 0x22.
Definition: upmf.h:2640
int U_PMF_DASHEDLINEDATA_get(const char *contents, int32_t *Elements, U_FLOAT **Lengths)
Get data from a U_PMF_DASHEDLINEDATA object.
Definition: upmf.c:5734
U_PSEUDO_OBJ * U_PMF_IE_COLORBALANCE_set(int32_t CyanRed, int32_t MagentaGreen, int32_t YellowBlue)
Create and set a U_PMF_IE_COLORBALANCE PseudoObject.
Definition: upmf.c:3361
U_PSEUDO_OBJ * U_PMF_REGIONNODEPATH_set(const U_PSEUDO_OBJ *Path)
Create and set a U_PMF_REGIONNODEPATH PseudoObject.
Definition: upmf.c:3190
U_PSEUDO_OBJ * U_PMF_RECT4_set(int16_t X, int16_t Y, int16_t Width, int16_t Height)
Create and set a U_PMF_RECT object.
Definition: upmf.c:3007
EMF+ manual 2.2.2.27, Microsoft name: EmfPlusMetafile Object.
Definition: upmf.h:1833
int U_PMF_RECT_get(const char **contents, int16_t *X, int16_t *Y, int16_t *Width, int16_t *Height)
Get data from a U_PMF_RECT object.
Definition: upmf.c:6259
EMF+ manual 2.3.9.5, Microsoft name: EmfPlusSetPageTransform Record, Index 0x30 flags (LITTLE endian ...
Definition: upmf.h:2794
int U_PMF_CUSTOMLINECAP_get(const char *contents, uint32_t *Version, uint32_t *Type, const char **Data)
Get data from a U_PMF_CUSTOMLINECAP object.
Definition: upmf.c:5296
EMF+ manual 2.3.7.3, Microsoft name: EmfPlusEndContainer Record, Index 0x29.
Definition: upmf.h:2689
EMF+ manual 2.3.6.3, Microsoft name: EmfPlusSetCompositingQuality Record, Index 0x24.
Definition: upmf.h:2622
U_PSEUDO_OBJ * U_PMR_DRAWCLOSEDCURVE_set(uint32_t PenID, U_FLOAT Tension, const U_PSEUDO_OBJ *Points)
Create and set a U_PMR_DRAWCLOSEDCURVE PseudoObject.
Definition: upmf.c:3926
int U_OA_release(U_OBJ_ACCUM *oa)
Release an U_OBJ_ACCUM structure. Accumulated storage is free'd.
Definition: upmf.c:480
U_PSEUDO_OBJ * U_PMF_TEXTUREBRUSHDATA_set(uint32_t Flags, uint32_t WrapMode, const U_PSEUDO_OBJ *Tbod)
Create and set a U_PMF_TEXTUREBRUSHDATA PseudoObject.
Definition: upmf.c:3255
U_PSEUDO_OBJ * U_PMF_POINT_set(uint32_t Elements, const U_PMF_POINT *Coords)
Create and set an ARRAY of U_PMF_POINT objects.
Definition: upmf.c:2911
int U_PMR_RESTORE_get(const char *contents, U_PMF_CMN_HDR *Header, uint32_t *StackID)
Get data from a U_PMR_RESTORE record.
Definition: upmf.c:7711
int U_PMR_SETANTIALIASMODE_get(const char *contents, U_PMF_CMN_HDR *Header, int *SMenum, int *aatype)
Get data from a U_PMR_SETANTIALIASMODE record.
Definition: upmf.c:7507
EMF+ manual 2.2.2.25, Microsoft name: EmfPlusLinearGradientBrushOptionalData Object For U_PMF_LINEARG...
Definition: upmf.h:1809
U_PSEUDO_OBJ * U_PMF_DASHEDLINEDATA_set(int32_t Elements, const U_FLOAT *Lengths)
Create and set a U_PMF_DASHEDLINEDATA PseudoObject.
Definition: upmf.c:2325
EMF+ manual 2.3.4.15, Microsoft name: EmfPlusFillClosedCurve Record, Index 0x16.
Definition: upmf.h:2462
int U_PMF_IE_LEVELS_get(const char *contents, int32_t *Highlight, int32_t *Midtone, int32_t *Shadow)
Get data from a U_PMF_IE_LEVELS object.
Definition: upmf.c:6587
EMF+ manual 2.3.5.1, Microsoft name: EmfPlusObject Record, Index 0x13.
Definition: upmf.h:2573
EMF+ manual 2.2.3.1, Microsoft name: BlurEffect Object.
Definition: upmf.h:2030
U_PSEUDO_OBJ * U_PMF_STRINGFORMAT_set(U_PMF_STRINGFORMAT *Sfs, const U_PSEUDO_OBJ *Sfd)
Create and set a U_PMF_STRINGFORMAT PseudoObject.
Definition: upmf.c:1796
int U_PMR_DRAWCURVE_get(const char *contents, U_PMF_CMN_HDR *Header, uint32_t *PenID, int *ctype, U_FLOAT *Tension, uint32_t *Offset, uint32_t *NSegs, uint32_t *Elements, U_PMF_POINTF **Points)
Get data from a U_PMR_DRAWCURVE record.
Definition: upmf.c:6930
U_PSEUDO_OBJ * U_PMF_PATHGRADIENTBRUSHOPTIONALDATA_set(uint32_t Flags, const U_PSEUDO_OBJ *Tm, const U_PSEUDO_OBJ *Pd, const U_PSEUDO_OBJ *Fsd)
Create and set a U_PMF_PATHGRADIENTBRUSHOPTIONALDATA PseudoObject.
Definition: upmf.c:2731
U_PSEUDO_OBJ * U_PMR_SETCLIPPATH_set(uint32_t PathID, uint32_t CMenum)
Create and set a U_PMR_SETCLIPPATH PseudoObject.
Definition: upmf.c:3647
EMF+ manual 2.3.4.9, Microsoft name: EmfPlusDrawImagePoints Record, Index 0x1B.
Definition: upmf.h:2356
void U_PMF_MEMCPY_DSTSHIFT(char **Dst, const void *Src, size_t Size)
copy data and shift destination pointer by the amount of data moved
Definition: upmf.c:1377
int U_PMF_PATH_get(const char *contents, uint32_t *Version, uint32_t *Count, uint16_t *Flags, const char **Points, const char **Types)
Get data from a U_PMF_PATH object.
Definition: upmf.c:5383
U_PSEUDO_OBJ * U_PMF_METAFILE_set(void)
Create and set a U_PMF_METAFILE object (NOT SUPPORTED!)
Definition: upmf.c:2657
EMF+ manual 2.3.4.1, Microsoft name: EmfPlusClear Record, Index 0x09.
Definition: upmf.h:2189
U_PSEUDO_OBJ * U_PMR_FILLELLIPSE_set(const U_PSEUDO_OBJ *BrushID, const U_PSEUDO_OBJ *Rect)
Create and set a U_PMR_FILLELLIPSE PseudoObject.
Definition: upmf.c:4399
U_PSEUDO_OBJ * U_PMF_IMAGEATTRIBUTES_set(uint32_t Version, uint32_t WrapMode, uint32_t ClampColor, uint32_t ObjectClamp)
Create and set a U_PMF_IMAGEATTRIBUTES PseudoObject.
Definition: upmf.c:1628
EMF+ manual 2.2.2.24, Microsoft name: EmfPlusLinearGradientBrushData Object Manual says that Reserved...
Definition: upmf.h:1774
EMF+ manual 2.2.1.6, Microsoft name: EmfPlusPath Object.
Definition: upmf.h:1451
U_PSEUDO_OBJ * U_PMF_4NUM_set(uint32_t BrushID)
Create and set a PMF_4NUM PseudoObject (used for BrushID's)
Definition: upmf.c:1832
uint16_t U_PMF_HEADERFLAGS_get(const char *contents)
Get the 16 bit unsigned Flags field from a header.
Definition: upmf.c:1436
U_PSEUDO_OBJ * U_PMF_IE_COLORLOOKUPTABLE_set(const uint8_t *BLUT, const uint8_t *GLUT, const uint8_t *RLUT, const uint8_t *ALUT)
Create and set a U_PMF_IE_COLORLOOKUPTABLE PseudoObject.
Definition: upmf.c:3408
U_PSEUDO_OBJ * U_PMR_OFFSETCLIP_set(U_FLOAT dX, U_FLOAT dY)
Create and set a U_PMR_OFFSETCLIP PseudoObject.
Definition: upmf.c:3605
EMF+ manual 2.3.2.1, Microsoft name: EmfPlusComment Record, Index 0x03.
Definition: upmf.h:2161
int U_PMF_IE_COLORMATRIX_get(const char *contents, U_PMF_IE_COLORMATRIX *Matrix)
Get data from a U_PMF_IE_COLORMATRIX object.
Definition: upmf.c:6553
int U_PMR_SETRENDERINGORIGIN_get(const char *contents, U_PMF_CMN_HDR *Header, int32_t *X, int32_t *Y)
Get data from a U_PMR_SETRENDERINGORIGIN record.
Definition: upmf.c:7599
int U_PMF_STRINGFORMATDATA_get(const char *contents, uint32_t TabStopCount, uint32_t RangeCount, const U_FLOAT **TabStops, const U_PMF_CHARACTERRANGE **CharRange)
Get data from a U_PMF_STRINGFORMATDATA object.
Definition: upmf.c:6395
EMF+ manual 2.3.6.2, Microsoft name: EmfPlusSetCompositingMode Record, Index 0x23.
Definition: upmf.h:2613
U_PSEUDO_OBJ * U_PMF_IE_TINT_set(const int32_t Hue, const int32_t Amount)
Create and set a U_PMF_IE_TINT PseudoObject.
Definition: upmf.c:3535
int U_PMR_DRAWDRIVERSTRING_get(const char *contents, U_PMF_CMN_HDR *Header, uint32_t *FontID, int *btype, U_FLOAT *Tension, uint32_t *BrushID, uint32_t *DSOFlags, uint32_t *HasMatrix, uint32_t *Elements, uint16_t **Glyphs, U_PMF_POINTF **Points, U_PMF_TRANSFORMMATRIX **Matrix)
Get data from a U_PMR_DRAWDRIVERSTRING record.
Definition: upmf.c:6965
U_PSEUDO_OBJ * U_PMF_IE_HUESATURATIONLIGHTNESS_set(int32_t Hue, int32_t Saturation, int32_t Lightness)
Create and set a U_PMF_IE_HUESATURATIONLIGHTNESS PseudoObject.
Definition: upmf.c:3451
EMF+ manual 2.2.1.7, Microsoft name: EmfPlusPen Object.
Definition: upmf.h:1473
int U_PMF_BOUNDARYPATHDATA_get(const char *contents, int32_t *Size, const char **Data)
Get data from a U_PMF_BOUNDARYPATHDATA object.
Definition: upmf.c:5557
int U_PMR_CLEAR_get(const char *contents, U_PMF_CMN_HDR *Header, U_PMF_ARGB *Color)
Get data from a U_PMR_CLEAR record.
Definition: upmf.c:6821
Coordinates of the upper left, lower right corner.
Definition: uemf.h:554
U_PSEUDO_OBJ * U_PMR_DRAWPIE_set(uint32_t PenID, U_FLOAT Start, U_FLOAT Sweep, const U_PSEUDO_OBJ *Rect)
Create and set a U_PMR_DRAWPIE PseudoObject.
Definition: upmf.c:4241
int U_PMR_FILLRECTS_get(const char *contents, U_PMF_CMN_HDR *Header, int *btype, int *ctype, uint32_t *BrushID, uint32_t *Elements, U_PMF_RECTF **Rects)
Get data from a U_PMR_FILLRECTS record.
Definition: upmf.c:7379
Holds EMF+ objects and records in EMF+ file format byte order.
Definition: upmf.h:1331
int U_PMR_FILLPATH_get(const char *contents, U_PMF_CMN_HDR *Header, uint32_t *PathID, int *btype, uint32_t *BrushID)
Get data from a U_PMR_FILLPATH record.
Definition: upmf.c:7287
U_PSEUDO_OBJ * U_PMF_CUSTOMLINECAPARROWDATA_set(U_FLOAT Width, U_FLOAT Height, U_FLOAT MiddleInset, uint32_t FillState, uint32_t StartCap, uint32_t EndCap, uint32_t Join, U_FLOAT MiterLimit, U_FLOAT WidthScale)
Create and set a U_PMF_CUSTOMLINECAPARROWDATA PseudoObject.
Definition: upmf.c:2220
EMF+ manual 2.2.3.8, Microsoft name: LevelsEffect Object.
Definition: upmf.h:2086
U_PMF_TRANSFORMMATRIX tm_for_gradrect(U_FLOAT Angle, U_FLOAT w, U_FLOAT h, U_FLOAT x, U_FLOAT y, U_FLOAT Periods)
Utility function calculate the transformation matrix needed to make a gradient run precisely corner t...
Definition: upmf.c:1057
int U_PMF_BITMAP_get(const char *contents, U_PMF_BITMAP *Bs, const char **Data)
Get data from a U_PMF_BITMAP object.
Definition: upmf.c:5484
int U_PMF_IE_SHARPEN_get(const char *contents, U_FLOAT *Radius, int32_t *Sharpen)
Get data from a U_PMF_IE_SHARPEN object.
Definition: upmf.c:6622
U_PSEUDO_OBJ * U_PMR_BEGINCONTAINERNOPARAMS_set(int StackID)
Create and set a U_PMR_BEGINCONTAINERNOPARAMS PseudoObject.
Definition: upmf.c:4937
EMF+ manual 2.2.2.1, Microsoft name: EmfPlusARGB Object, out of order, needed for 2...
Definition: upmf.h:1429
int U_PMR_MULTIFORMATSECTION_get(const char *contents, U_PMF_CMN_HDR *Header)
Get data from a U_PMR_MULTIFORMATSECTION record.
Definition: upmf.c:7985
int U_PMR_SCALEWORLDTRANSFORM_get(const char *contents, U_PMF_CMN_HDR *Header, int *xmtype, U_FLOAT *Sx, U_FLOAT *Sy)
Get data from a U_PMR_SCALEWORLDTRANSFORM record.
Definition: upmf.c:7872
U_PSEUDO_OBJ * U_PMR_COMMENT_set(size_t cbData, const void *Data)
Create and set a U_PMR_COMMENT PseudoObject.
Definition: upmf.c:3729
EMF+ manual 2.3.1.5, Microsoft name: EmfPlusSetClipRegion Record, Index 0x34.
Definition: upmf.h:2152
int U_PMF_PATHGRADIENTBRUSHDATA_get(const char *contents, U_PMF_PATHGRADIENTBRUSHDATA *Pgbd, const char **Gradient, const char **Boundary, const char **Data)
Get data from a U_PMF_PATHGRADIENTBRUSHDATA object.
Definition: upmf.c:5998
U_PSEUDO_OBJ * U_PMR_SETCOMPOSITINGMODE_set(int CMenum)
Create and set a U_PMR_SETCOMPOSITINGMODE PseudoObject.
Definition: upmf.c:4757
U_PSEUDO_OBJ * U_PMF_HATCHBRUSHDATA_set(uint32_t Style, const U_PSEUDO_OBJ *Fg, const U_PSEUDO_OBJ *Bg)
Create and set a U_PMF_HATCHBRUSHDATA PseudoObject.
Definition: upmf.c:2490
EMF+ manual 2.3.8.1, Microsoft name: EmfPlusSetTSClip Record, Index 0x3A.
Definition: upmf.h:2712
int U_PMF_CUSTOMLINECAPDATA_get(const char *contents, U_PMF_CUSTOMLINECAPDATA *Clcd, const char **Data)
Get data from a U_PMF_CUSTOMLINECAPDATA object.
Definition: upmf.c:5670
int U_PMF_BLENDFACTORS_get(const char *contents, uint32_t *Elements, U_FLOAT **Positions, U_FLOAT **Factors)
Get data from a U_PMF_BLENDFACTORS object.
Definition: upmf.c:5537
int U_PMF_TEXTUREBRUSHOPTIONALDATA_get(const char *contents, int HasImage, U_PMF_TRANSFORMMATRIX *Matrix, const char **Image)
Get data from a U_PMF_TEXTUREBRUSHOPTIONALDATA object.
Definition: upmf.c:6434
U_PSEUDO_OBJ * U_PMF_CUSTOMLINECAP_set(uint32_t Version, const U_PSEUDO_OBJ *Ld)
Create and set a U_PMF_CUSTOMLINECAP PseudoObject.
Definition: upmf.c:1551
int U_PMR_ENDCONTAINER_get(const char *contents, U_PMF_CMN_HDR *Header, uint32_t *StackID)
Get data from a U_PMR_ENDCONTAINER record.
Definition: upmf.c:7694
int U_PMF_LINEARGRADIENTBRUSHDATA_get(const char *contents, U_PMF_LINEARGRADIENTBRUSHDATA *Lgbd, const char **Data)
Get data from a U_PMF_LINEARGRADIENTBRUSHDATA object.
Definition: upmf.c:5891
int U_PMR_DRAWLINES_get(const char *contents, U_PMF_CMN_HDR *Header, uint32_t *PenID, int *ctype, int *dtype, int *RelAbs, uint32_t *Elements, U_PMF_POINTF **Points)
Get data from a U_PMR_DRAWLINES record.
Definition: upmf.c:7089
int U_PMR_SETTSCLIP_get(const char *contents, U_PMF_CMN_HDR *Header, int *ctype, uint32_t *Elements, U_PMF_RECTF **Rects)
Get data from a U_PMR_SETTSCLIP record.
Definition: upmf.c:7745
U_PSEUDO_OBJ * U_PMF_COMPOUNDLINEDATA_set(int32_t Elements, const char *Widths)
Create and set a U_PMF_COMPOUNDLINEDATA PseudoObject.
Definition: upmf.c:2156
EMF+ manual 2.3.4.17, Microsoft name: EmfPlusFillPath Record, Index 0x14 Note: U_PMF_FILLPATHOBJ is t...
Definition: upmf.h:2495
int U_PMF_PATHPOINTTYPE_get(const char *contents, int *Flags, int *Type)
Get data from a U_PMF_PATHPOINTTYPE object.
Definition: upmf.c:6045
U_PSEUDO_OBJ * U_PMR_SETCLIPREGION_set(uint32_t PathID, uint32_t CMenum)
Create and set a U_PMR_SETCLIPREGION PseudoObject.
Definition: upmf.c:3705
U_PSEUDO_OBJ * U_PMF_PATH_set3(uint32_t Version, const U_DPSEUDO_OBJ *Path)
Create and set a U_PMF_PATH PseudoObject that uses U_PMF_POINT (int 16) coordinates.
Definition: upmf.c:1721
EMF+ manual 2.2.2.2, Microsoft name: EmfPlusBitmap Object.
Definition: upmf.h:1543
U_PSEUDO_OBJ * U_PMF_IMAGE_set(uint32_t Version, const U_PSEUDO_OBJ *Id)
Create and set a U_PMF_IMAGE PseudoObject.
Definition: upmf.c:1604
int U_PMR_COMMENT_get(const char *contents, U_PMF_CMN_HDR *Header, const char **Data)
Get data from a U_PMR_COMMENT record.
Definition: upmf.c:6748
EMF+ manual 2.2.3.5, Microsoft name: ColorLookupTableEffect Object.
Definition: upmf.h:2066
int U_PMF_TEXTUREBRUSHDATA_get(const char *contents, uint32_t *Flags, int32_t *WrapMode, const char **Data)
Get data from a U_PMF_TEXTUREBRUSHDATA object.
Definition: upmf.c:6415
U_PSEUDO_OBJ * U_PMF_CUSTOMLINECAPOPTIONALDATA_set(const U_PSEUDO_OBJ *Fill, const U_PSEUDO_OBJ *Line)
Create and set a U_PMF_CUSTOMLINECAPOPTIONALDATA PseudoObject.
Definition: upmf.c:2288
Serializer description records.
Definition: upmf.h:1353
int U_PMR_SETCLIPPATH_get(const char *contents, U_PMF_CMN_HDR *Header, uint32_t *PathID, int *CMenum)
Get data from a U_PMR_SETCLIPPATH record.
Definition: upmf.c:6688
int U_PMF_COMPOUNDLINEDATA_get(const char *contents, int32_t *Elements, U_FLOAT **Widths)
Get data from a U_PMF_COMPOUNDLINEDATA object.
Definition: upmf.c:5605
EMF+ manual 2.2.1.2, Microsoft name: EmfPlusCustomLineCap Object.
Definition: upmf.h:1392
int U_PMF_IE_TINT_get(const char *contents, int32_t *Hue, int32_t *Amount)
Get data from a U_PMF_IE_TINT object.
Definition: upmf.c:6638
Structures, definitions, and function prototypes for EMF files.
int U_OID_To_BT(uint32_t OID)
Convert from PseudoObject OID to BrushType enumeration.
Definition: upmf.c:371
EMF+ manual 2.3.6.7, Microsoft name: EmfPlusSetTextContrast Record, Index 0x20.
Definition: upmf.h:2656
U_PSEUDO_OBJ * U_PMR_ROTATEWORLDTRANSFORM_set(int xmtype, U_FLOAT Angle)
Create and set a U_PMR_ROTATEWORLDTRANSFORM PseudoObject.
Definition: upmf.c:5135
EMF+ manual 2.2.2.28, Microsoft name: EmfPlusPalette Object.
Definition: upmf.h:1842
EMF+ manual 2.2.1.9, Microsoft name: EmfPlusStringFormat Object.
Definition: upmf.h:1514
EMF+ manual 2.2.3.11, Microsoft name: TintEffect Object.
Definition: upmf.h:2107
U_PSEUDO_OBJ * U_PMR_SETANTIALIASMODE_set(int SMenum, int aatype)
Create and set a U_PMR_SETANTIALIASMODE PseudoObject.
Definition: upmf.c:4736
U_PSEUDO_OBJ * U_PMR_SETCOMPOSITINGQUALITY_set(int CQenum)
Create and set a U_PMR_SETCOMPOSITINGQUALITY PseudoObject.
Definition: upmf.c:4778
EMF+ manual 2.3.4.5, Microsoft name: EmfPlusDrawCurve Record, Index 0x18 flags (LITTLE endian here...
Definition: upmf.h:2272
U_PSEUDO_OBJ * U_PMF_PALETTE_set(uint32_t Flags, uint32_t Elements, const U_PMF_ARGB *Pd)
Create and set a U_PMF_PALETTE PseudoObject.
Definition: upmf.c:2670
EMF+ manual 2.3.9.6, Microsoft name: EmfPlusSetWorldTransform Record, Index 0x2A. ...
Definition: upmf.h:2801
EMF+ manual 2.2.2.13, Microsoft name: EmfPlusCustomLineCapData Object.
Definition: upmf.h:1648
EMF+ manual 2.2.1.8, Microsoft name: EmfPlusRegion Object.
Definition: upmf.h:1494
int U_PMR_DRAWIMAGE_get(const char *contents, U_PMF_CMN_HDR *Header, uint32_t *ImgID, int *ctype, uint32_t *ImgAttrID, int32_t *SrcUnit, U_PMF_RECTF *SrcRect, U_PMF_RECTF *DstRect)
Get data from a U_PMR_DRAWIMAGE record.
Definition: upmf.c:7023
int U_PMR_MULTIPLYWORLDTRANSFORM_get(const char *contents, U_PMF_CMN_HDR *Header, int *xmtype, U_PMF_TRANSFORMMATRIX *Matrix)
Get data from a U_PMR_MULTIPLYWORLDTRANSFORM record.
Definition: upmf.c:7815
EMF+ manual 2.3.6.4, Microsoft name: EmfPlusSetInterpolationMode Record, Index 0x21.
Definition: upmf.h:2631
int U_PMF_BOUNDARYPOINTDATA_get(const char *contents, int32_t *Elements, U_PMF_POINTF **Points)
Get data from a U_PMF_BOUNDARYPOINTDATA object.
Definition: upmf.c:5573
int U_PMR_ENDOFFILE_get(const char *contents, U_PMF_CMN_HDR *Header)
Get data from a U_PMR_ENDOFFILE record.
Definition: upmf.c:6764
EMF+ manual 2.3.4.19, Microsoft name: EmfPlusFillPolygon Record, Index 0x0C.
Definition: upmf.h:2529
int U_PMR_SETTEXTRENDERINGHINT_get(const char *contents, U_PMF_CMN_HDR *Header, int *TRHenum)
Get data from a U_PMR_SETTEXTRENDERINGHINT record.
Definition: upmf.c:7635
EMF+ manual 2.3.4.6, Microsoft name: EmfPlusDrawDriverString Record, Index 0x36.
Definition: upmf.h:2290
U_PSEUDO_OBJ * U_PMR_DRAWIMAGEPOINTS_set(uint32_t ImgID, int etype, int32_t ImgAttrID, int32_t SrcUnit, const U_PSEUDO_OBJ *SrcRect, const U_PSEUDO_OBJ *Points)
Create and set a U_PMR_DRAWIMAGEPOINTS PseudoObject.
Definition: upmf.c:4143
int U_PMF_INTEGER7_get(const char **contents, U_FLOAT *Value)
Get data from a U_PMF_INTEGER7 object.
Definition: upmf.c:5822
U_PSEUDO_OBJ * U_PMF_RECTF_set(U_PMF_RECTF *Rect)
Create and set a U_PMF_RECTF object in a PseudoObject.
Definition: upmf.c:3086
int U_PMF_PATHPOINTTYPERLE_get(const char *contents, int *Bezier, int *RL, int *Ppt)
Get data from a U_PMF_PATHPOINTTYPERLE object.
Definition: upmf.c:6064
int U_PMF_CUSTOMENDCAPDATA_get(const char *contents, int32_t *Size, const char **Data)
Get data from a U_PMF_CUSTOMENDCAPDATA object.
Definition: upmf.c:5640
int U_PMF_KNOWNCURLYGUID_set(const char *string)
Identify a known curly GUID.
Definition: upmf.c:1273
U_PSEUDO_OBJ * U_PMR_HEADER_set(int IsDual, int IsVideo, const U_PSEUDO_OBJ *Version, uint32_t LogicalDpiX, uint32_t LogicalDpiY)
Create and set a U_PMR_HEADER PseudoObject.
Definition: upmf.c:3794
int U_PMR_DRAWPATH_get(const char *contents, U_PMF_CMN_HDR *Header, uint32_t *PathID, uint32_t *PenID)
Get data from a U_PMR_DRAWPATH record.
Definition: upmf.c:7115
EMF+ manual 2.2.2.40, Microsoft name: EmfPlusRegionNode Object, out of order, needed for 2...
Definition: upmf.h:1483
int U_OID_To_CLCDT(uint32_t OID)
Convert from PseudoObject OID to CustomLineCapDataType Enumeration.
Definition: upmf.c:390
int U_PMF_CHARACTERRANGE_get(const char *contents, int32_t *First, int32_t *Length)
Get data from a U_PMF_CHARACTERRANGE object.
Definition: upmf.c:5589
U_PSEUDO_OBJ * U_PMR_SCALEWORLDTRANSFORM_set(int xmtype, U_FLOAT X, U_FLOAT Y)
Create and set a U_PMR_SCALEWORLDTRANSFORM PseudoObject.
Definition: upmf.c:5158
U_PSEUDO_OBJ * U_PMR_SETRENDERINGORIGIN_set(int32_t X, int32_t Y)
Create and set a U_PMR_SETRENDERINGORIGIN PseudoObject.
Definition: upmf.c:4842
int U_PMR_SETCLIPRECT_get(const char *contents, U_PMF_CMN_HDR *Header, int *CMenum, U_PMF_RECTF *Rect)
Get data from a U_PMR_SETCLIPRECT record.
Definition: upmf.c:6708
int U_PMF_METAFILE_get(const char *contents, uint32_t *Type, uint32_t *Size, const char **Data)
Get data from a U_PMF_METAFILE object.
Definition: upmf.c:5960
int U_PMF_FOCUSSCALEDATA_get(const char *contents, uint32_t *Count, U_FLOAT *ScaleX, U_FLOAT *ScaleY)
Get data from a U_PMF_FOCUSSCALEDATA object.
Definition: upmf.c:5769
U_PMF_ARGB U_PMF_ARGBOBJ_set(uint8_t Alpha, uint8_t Red, uint8_t Green, uint8_t Blue)
Set a U_PMF_ARGB object.
Definition: upmf.c:1892
U_PSEUDO_OBJ * U_PMF_CUSTOMSTARTCAPDATA_set(const U_PSEUDO_OBJ *Clc)
Create and set a U_PMF_CUSTOMSTARTCAPDATA PseudoObject.
Definition: upmf.c:2307
EMF+ manual 2.3.9.7, Microsoft name: EmfPlusTranslateWorldTransform Record, Index 0x2D Construct tran...
Definition: upmf.h:2815
int U_PMR_FILLPIE_get(const char *contents, U_PMF_CMN_HDR *Header, int *btype, int *ctype, uint32_t *BrushID, U_FLOAT *Start, U_FLOAT *Sweep, U_PMF_RECTF *Rect)
Get data from a U_PMR_FILLPIE record.
Definition: upmf.c:7313
U_PSEUDO_OBJ * U_PMF_PENDATA_set(uint32_t Unit, U_FLOAT Width, const U_PSEUDO_OBJ *Pod)
Create and set a U_PMF_PENDATA PseudoObject.
Definition: upmf.c:2834
int U_PMR_FILLREGION_get(const char *contents, U_PMF_CMN_HDR *Header, uint32_t *RgnID, int *btype, int *ctype, uint32_t *BrushID)
Get data from a U_PMR_FILLREGION record.
Definition: upmf.c:7409
U_PSEUDO_OBJ * U_PMF_IE_BLUR_set(U_FLOAT Radius, uint32_t ExpandEdge)
Create and set a U_PMF_IE_BLUR PseudoObject.
Definition: upmf.c:3320
U_PSEUDO_OBJ * U_PMF_PATH_set2(uint32_t Version, const U_DPSEUDO_OBJ *Path)
Create and set a U_PMF_PATH PseudoObject that uses U_PMF_POINTF coordinates.
Definition: upmf.c:1694
EMF+ manual 2.2.2.4, Microsoft name: EmfPlusBlendColors Object For Pattern field of U_PMF_LINEARGRADI...
Definition: upmf.h:1565
EMF+ manual 2.2.2.33, Microsoft name: EmfPlusPenData Object.
Definition: upmf.h:1914
U_PSEUDO_OBJ * U_PMR_ENDCONTAINER_set(int StackID)
Create and set a U_PMR_ENDCONTAINER PseudoObject.
Definition: upmf.c:4959
EMF+ manual 2.3.4.18, Microsoft name: EmfPlusFillPie Record, Index 0x10.
Definition: upmf.h:2506
int U_PMR_GETDC_get(const char *contents, U_PMF_CMN_HDR *Header)
Get data from a U_PMR_GETDC record.
Definition: upmf.c:6778
U_PSEUDO_OBJ * U_PMF_RECTFN_set(uint32_t Elements, U_PMF_RECTF *Rects)
Create and set an array of U_PMF_RECTF objects in a PseudoObject.
Definition: upmf.c:3103
int U_PATH_lineto(U_DPSEUDO_OBJ *Path, U_PMF_POINTF Point, uint8_t Flags)
Append a "lineto" point to a path.
Definition: upmf.c:766
EMF+ manual 2.2.2.34, Microsoft name: EmfPlusPenOptionalData Object.
Definition: upmf.h:1941
EMF+ manual 2.3.4.3, Microsoft name: EmfPlusDrawBeziers Record, Index 0x19 flags (LITTLE endian here...
Definition: upmf.h:2220
EMF+ manual 2.2.3.10, Microsoft name: SharpenEffect Object.
Definition: upmf.h:2101
void U_PMF_PTRSAV_SHIFT(const char **Dst, const char **Src, size_t Size)
save pointer to data and shift source pointer by the amount of data moved
Definition: upmf.c:1404
EMF+ manual 2.2.3.7, Microsoft name: HueSaturationLightnessEffect Object.
Definition: upmf.h:2079
U_PSEUDO_OBJ * U_PMR_RESETWORLDTRANSFORM_set(void)
Create and set a U_PMR_RESETWORLDTRANSFORM PseudoObject.
Definition: upmf.c:5113
U_PSEUDO_OBJ * U_PMF_BOUNDARYPATHDATA_set(const U_PSEUDO_OBJ *Path)
Create and set a U_PMF_BOUNDARYPATHDATA PseudoObject.
Definition: upmf.c:2097
U_PSEUDO_OBJ * U_PMF_BLENDFACTORS_linear_set(uint32_t Elements, U_FLOAT StartFactor, U_FLOAT EndFactor)
Create and set a U_PMF_BLENDFACTORS PseudoObject.
Definition: upmf.c:2059
int U_OA_clear(U_OBJ_ACCUM *oa)
Clear an U_OBJ_ACCUM structure. Accumulated storage is retained.
Definition: upmf.c:468
U_PSEUDO_OBJ * U_PMF_TEXTUREBRUSHOPTIONALDATA_set(const U_PSEUDO_OBJ *Tm, const U_PSEUDO_OBJ *Image)
Create and set a U_PMF_TEXTUREBRUSHOPTIONALDATA PseudoObject.
Definition: upmf.c:3279
int U_PMF_STRINGFORMAT_get(const char *contents, U_PMF_STRINGFORMAT *Sfs, const char **Data)
Get data from a U_PMF_STRINGFORMAT object.
Definition: upmf.c:5448
int U_PMF_IE_REDEYECORRECTION_get(const char *contents, int32_t *Elements, U_RECTL **Rects)
Get data from a U_PMF_IE_REDEYECORRECTION object.
Definition: upmf.c:6604
int U_DPO_clear(U_DPSEUDO_OBJ *dpo)
Clear U_DPSEUDO_OBJ's. Memory is retained, Elements and Used values are set to 0. ...
Definition: upmf.c:725
int U_PMR_DRAWELLIPSE_get(const char *contents, U_PMF_CMN_HDR *Header, uint32_t *PenID, int *ctype, U_PMF_RECTF *Rect)
Get data from a U_PMR_DRAWELLIPSE record.
Definition: upmf.c:6997
int U_PMR_DRAWSTRING_get(const char *contents, U_PMF_CMN_HDR *Header, uint32_t *FontID, int *btype, uint32_t *BrushID, uint32_t *FormatID, uint32_t *Elements, U_PMF_RECTF *Rect, uint16_t **String)
Get data from a U_PMR_DRAWSTRING record.
Definition: upmf.c:7197
U_PSEUDO_OBJ * U_PMR_SERIALIZABLEOBJECT_set(const U_PSEUDO_OBJ *Siepb)
Create and set a U_PMR_SERIALIZABLEOBJECT PseudoObject.
Definition: upmf.c:4706
U_PSEUDO_OBJ * U_PMR_DRAWSTRING_set(uint32_t FontID, const U_PSEUDO_OBJ *BrushID, uint32_t FormatID, uint32_t Length, const U_PSEUDO_OBJ *Rect, const uint16_t *Text)
Create and set a U_PMR_DRAWSTRING PseudoObject.
Definition: upmf.c:4314
U_PSEUDO_OBJ * U_PMR_SETTEXTRENDERINGHINT_set(int TRHenum)
Create and set a U_PMR_SETTEXTRENDERINGHINT PseudoObject.
Definition: upmf.c:4886
int U_PMR_TRANSLATEWORLDTRANSFORM_get(const char *contents, U_PMF_CMN_HDR *Header, int *xmtype, U_FLOAT *Dx, U_FLOAT *Dy)
Get data from a U_PMR_TRANSLATEWORLDTRANSFORM record.
Definition: upmf.c:7933
EMF+ manual 2.2.2.10, Microsoft name: EmfPlusCompressedImage Object Holds an EXIF, GIF, JFIF, PNG, or TIFF image. For U_PMF_BITMAP BitmapData field.
Definition: upmf.h:1625
EMF+ manual 2.2.2.15, Microsoft name: EmfPlusCustomStartCapData Object.
Definition: upmf.h:1673
U_PMF_POINT * POINTF_To_POINT16_LE(U_PMF_POINTF *points, int count)
Allocate and construct an array of U_POINT16 objects from a set of U_PMF_POINTF objects, endianness in and out is LE.
Definition: upmf.c:251
int U_PMF_PENDATA_get(const char *contents, uint32_t *Flags, uint32_t *Unit, U_FLOAT *Width, const char **Data)
Get data from a U_PMF_PENDATA object.
Definition: upmf.c:6085
int U_PMF_LANGUAGEIDENTIFIER_get(U_PMF_LANGUAGEIDENTIFIER LId, int *SubLId, int *PriLId)
Get data from a U_PMF_LANGUAGEIDENTIFIER object.
Definition: upmf.c:5874
EMF+ manual 2.2.3.2, Microsoft name: BrightnessContrastEffect Object.
Definition: upmf.h:2037
EMF+ manual 2.2.2.17, Microsoft name: EmfPlusFillPath Object Note: U_PMF_FILLPATHOBJ is the object...
Definition: upmf.h:1692
U_PMF_GRAPHICSVERSION U_PMF_GRAPHICSVERSIONOBJ_set(int GrfVersion)
Create and set a U_PMF_GRAPHICSVERSION object Structure (Signature always set to 0xDBC01) ...
Definition: upmf.c:2473
U_PSEUDO_OBJ * U_PMR_SETTSCLIP_set(U_PSEUDO_OBJ *Rects)
Create and set a U_PMR_SETTSCLIP PseudoObject.
Definition: upmf.c:5025
int U_PMR_drawstring(const char *string, int Vpos, uint32_t FontID, const U_PSEUDO_OBJ *BrushID, uint32_t FormatID, U_PMF_STRINGFORMAT Sfs, const char *FontName, U_FLOAT Height, U_FontInfoParams *fip, uint32_t FontFlags, U_FLOAT x, U_FLOAT y, U_PSEUDO_OBJ *sum, EMFTRACK *et)
Utility function for drawing strings onto the baseline in one call.
Definition: upmf.c:159
int U_PMF_POINTR_get(const char **contents, U_FLOAT *X, U_FLOAT *Y)
Get data from a U_PMF_POINTR object.
Definition: upmf.c:6198
EMF+ manual 2.2.2.47, Microsoft name: EmfPlusTransformMatrix Object, out of order, needed for 2.2.2.25.
Definition: upmf.h:1788
EMF+ manual 2.3.6.1, Microsoft name: EmfPlusSetAntiAliasMode Record, Index 0x1E.
Definition: upmf.h:2604
EMF+ manual 2.3.9.2, Microsoft name: EmfPlusResetWorldTransform Record, Index 0x2B Sets transformatio...
Definition: upmf.h:2757
U_PSEUDO_OBJ * U_PMF_CUSTOMLINECAPDATA_set(uint32_t Flags, uint32_t Cap, U_FLOAT Inset, uint32_t StartCap, uint32_t EndCap, uint32_t Join, U_FLOAT MiterLimit, U_FLOAT WidthScale, const U_PSEUDO_OBJ *Clcod)
Create and set a U_PMF_CUSTOMLINECAPDATA PseudoObject.
Definition: upmf.c:2257
EMF+ manual 2.2.2.36, Microsoft name: EmfPlusPointF Object, out of order, needed for 2...
Definition: upmf.h:1851
int U_PMR_MULTIFORMATEND_get(const char *contents, U_PMF_CMN_HDR *Header)
Get data from a U_PMR_MULTIFORMATEND record.
Definition: upmf.c:7999
EMF+ manual 2.3.3.1, Microsoft name: EmfPlusEndOfFile Record, Index 0x02.
Definition: upmf.h:2166
int U_PMF_TRANSFORMMATRIX_get(const char *contents, U_PMF_TRANSFORMMATRIX *Matrix)
Get data from a U_PMF_TRANSFORMMATRIX object.
Definition: upmf.c:6449
int U_PMR_SETTEXTCONTRAST_get(const char *contents, U_PMF_CMN_HDR *Header, int *TGC)
Get data from a U_PMR_SETTEXTCONTRAST record.
Definition: upmf.c:7617
EMF+ manual 2.2.2.39, Microsoft name: EmfPlusRectF Object, out of order, needed for 2...
Definition: upmf.h:1763
int U_PMF_REGIONNODEPATH_get(const char *contents, int32_t *Size, const char **Data)
Get data from a U_PMF_REGIONNODEPATH object.
Definition: upmf.c:6363
U_PSEUDO_OBJ * U_PMR_OBJECT_PO_set(uint32_t ObjID, U_PSEUDO_OBJ *Po)
Create and set a U_PMR_OBJECT PseudoObject from another PseudoObject.
Definition: upmf.c:4621
EMF+ manual 2.3.4.2, Microsoft name: EmfPlusDrawArc Record, Index 0x12.
Definition: upmf.h:2200
U_PSEUDO_OBJ * U_PMF_RECT_set(U_PMF_RECT *Rect)
Create and set a U_PMF_RECT object.
Definition: upmf.c:3026
FontInfoParams hold font information that is needed by U_PMR_drawstring so that it can place text on ...
Definition: upmf.h:1367
EMF+ manual 2.3.1.4, Microsoft name: EmfPlusSetClipRect Record, Index 0x32.
Definition: upmf.h:2141
char * U_PMF_CURLYGUID_set(uint8_t *GUID)
Create a string containing the curly bracket form of the 16 byte GUID value.
Definition: upmf.c:1252
U_PSEUDO_OBJ * U_PMR_SETWORLDTRANSFORM_set(U_PSEUDO_OBJ *Tm)
Create and set a U_PMR_SETWORLDTRANSFORM PseudoObject.
Definition: upmf.c:5210
U_PSEUDO_OBJ * U_PMF_IE_BRIGHTNESSCONTRAST_set(int32_t Brightness, int32_t Contrast)
Create and set a U_PMF_IE_BRIGHTNESSCONTRAST PseudoObject.
Definition: upmf.c:3340
int U_PATH_polybezierto(U_DPSEUDO_OBJ *Path, uint32_t Elements, const U_PMF_POINTF *Points, uint8_t Flags, uint8_t StartSeg)
Append a "polybezierto" set of point to a path.
Definition: upmf.c:843
U_PSEUDO_OBJ * U_PMF_STRINGFORMATDATA_set(uint32_t TabStopCount, U_FLOAT *TabStops, const U_PSEUDO_OBJ *Ranges)
Create and set a U_PMF_STRINGFORMATDATA PseudoObject.
Definition: upmf.c:3233
EMF+ manual 2.3.1.3, Microsoft name: EmfPlusSetClipPath Record, Index 0x33.
Definition: upmf.h:2132
EMF+ manual 2.3.4.16, Microsoft name: EmfPlusFillEllipse Record, Index 0x0E.
Definition: upmf.h:2479
int U_PMR_DRAWCLOSEDCURVE_get(const char *contents, U_PMF_CMN_HDR *Header, uint32_t *PenID, int *ctype, int *RelAbs, U_FLOAT *Tension, uint32_t *Elements, U_PMF_POINTF **Points)
Get data from a U_PMR_DRAWCLOSEDCURVE record.
Definition: upmf.c:6899
EMF+ manual 2.2.1.3, Microsoft name: EmfPlusFont Object.
Definition: upmf.h:1403
U_PSEUDO_OBJ * U_PMR_MULTIPLYWORLDTRANSFORM_set(int xmtype, U_PSEUDO_OBJ *Tm)
Create and set a U_PMR_MULTIPLYWORLDTRANSFORM PseudoObject.
Definition: upmf.c:5091
U_PSEUDO_OBJ * U_PMF_BOUNDARYPOINTDATA_set(uint32_t Elements, const U_PMF_POINTF *Points)
Create and set a U_PMF_BOUNDARYPOINTDATA PseudoObject.
Definition: upmf.c:2119
int U_PO_free(U_PSEUDO_OBJ **po)
Free an U_PSEUDO_OBJ structure. All associated memory is released.
Definition: upmf.c:595
EMF+ manual 2.3.4.4, Microsoft name: EmfPlusDrawClosedCurve Record, Index 0x17.
Definition: upmf.h:2248
U_PSEUDO_OBJ * U_PMF_FONT_set(uint32_t Version, U_FLOAT EmSize, uint32_t SizeUnit, int32_t FSFlags, uint32_t Length, const uint16_t *Font)
Create and set a U_PMF_FONT PseudoObject.
Definition: upmf.c:1577
int U_PMR_SETWORLDTRANSFORM_get(const char *contents, U_PMF_CMN_HDR *Header, U_PMF_TRANSFORMMATRIX *Matrix)
Get data from a U_PMR_SETWORLDTRANSFORM record.
Definition: upmf.c:7914
EMF+ manual 2.2.3.9, Microsoft name: RedEyeCorrectionEffect Object.
Definition: upmf.h:2093
int U_PMF_LINEARGRADIENTBRUSHOPTIONALDATA_get(const char *contents, uint32_t Flags, U_PMF_TRANSFORMMATRIX *Tm, const char **Bc, const char **BfH, const char **BfV)
Get data from a U_PMF_LINEARGRADIENTBRUSHOPTIONALDATA object.
Definition: upmf.c:5911
U_PSEUDO_OBJ * U_PMF_FILLPATHOBJ_set(const U_PSEUDO_OBJ *Path)
Create and set a U_PMF_FILLPATHOBJ PseudoObject.
Definition: upmf.c:2417
EMF+ manual 2.3.4.8, Microsoft name: EmfPlusDrawImage Record, Index 0x1A.
Definition: upmf.h:2329
U_PSEUDO_OBJ * U_PMR_RESTORE_set(int StackID)
Create and set a U_PMR_RESTORE PseudoObject.
Definition: upmf.c:4981
int U_PMR_RESETCLIP_get(const char *contents, U_PMF_CMN_HDR *Header)
Get data from a U_PMR_RESETCLIP record.
Definition: upmf.c:6672
int U_OID_To_OT(uint32_t OID)
Convert from PseudoObject OID to ObjectType enumeration.
Definition: upmf.c:348
int U_PMR_DRAWIMAGEPOINTS_get(const char *contents, U_PMF_CMN_HDR *Header, uint32_t *ImgID, int *ctype, int *etype, int *RelAbs, uint32_t *ImgAttrID, int32_t *SrcUnit, U_PMF_RECTF *SrcRect, uint32_t *Elements, U_PMF_POINTF **Points)
Get data from a U_PMR_DRAWIMAGEPOINTS record.
Definition: upmf.c:7056
U_PSEUDO_OBJ * U_PMF_INTEGER15_set(int Value)
Create and set a U_PMF_INTEGER15 PseudoObject.
Definition: upmf.c:2525
int U_PMR_BEGINCONTAINERNOPARAMS_get(const char *contents, U_PMF_CMN_HDR *Header, uint32_t *StackID)
Get data from a U_PMR_BEGINCONTAINERNOPARAMS record.
Definition: upmf.c:7678
int U_PMF_ARGB_get(const char *contents, uint8_t *Blue, uint8_t *Green, uint8_t *Red, uint8_t *Alpha)
Get data from a U_PMF_ARGB object.
Definition: upmf.c:5466
int U_PMF_PEN_get(const char *contents, uint32_t *Version, uint32_t *Type, const char **PenData, const char **Brush)
Get data from a U_PMF_PEN object.
Definition: upmf.c:5412
U_PSEUDO_OBJ * U_PMF_IE_LEVELS_set(int32_t Highlight, int32_t Midtone, int32_t Shadow)
Create and set a U_PMF_IE_LEVELS PseudoObject.
Definition: upmf.c:3473
U_PSEUDO_OBJ * U_PMF_SOLIDBRUSHDATA_set(const U_PSEUDO_OBJ *Color)
Create and set a U_PMF_SOLIDBRUSHDATA PseudoObject.
Definition: upmf.c:3212
int U_PATH_closepath(U_DPSEUDO_OBJ *Path)
Set the closepath bit in the last point.
Definition: upmf.c:790
int U_PMR_SETCLIPREGION_get(const char *contents, U_PMF_CMN_HDR *Header, uint32_t *PathID, int *CMenum)
Get data from a U_PMR_SETCLIPREGION record.
Definition: upmf.c:6729
U_PSEUDO_OBJ * U_PMF_CHARACTERRANGE_set(int32_t First, int32_t Length)
Create and set a U_PMF_CHARACTERRANGE PseudoObject.
Definition: upmf.c:2138
Used to accumulate data for objects continued over multiple records. see EMF+ manual 2...
Definition: upmf.h:1321
int U_PMF_FONT_get(const char *contents, uint32_t *Version, U_FLOAT *EmSize, uint32_t *SizeUnit, int32_t *FSFlags, uint32_t *Length, const char **Data)
Get data from a U_PMF_FONT object.
Definition: upmf.c:5317
int U_PMF_CMN_HDR_get(const char **contents, U_PMF_CMN_HDR *Header)
Get the entire EMF+ record header.
Definition: upmf.c:1469
int U_PMF_PENOPTIONALDATA_get(const char *contents, uint32_t Flags, U_PMF_TRANSFORMMATRIX *Matrix, int32_t *StartCap, int32_t *EndCap, uint32_t *Join, U_FLOAT *MiterLimit, int32_t *Style, int32_t *DLCap, U_FLOAT *DLOffset, const char **DLData, int32_t *Alignment, const char **CmpndLineData, const char **CSCapData, const char **CECapData)
Get data from a U_PMF_PENOPTIONALDATA object.
Definition: upmf.c:6118
EMF+ manual 2.2.2.42, Microsoft name: EmfPlusRegionNodePath Object.
Definition: upmf.h:1978
U_PSEUDO_OBJ * U_PMR_DRAWLINES_set(uint32_t PenID, int dtype, const U_PSEUDO_OBJ *Points)
Create and set a U_PMR_DRAWLINES PseudoObject.
Definition: upmf.c:4182
U_PSEUDO_OBJ * U_PMF_BITMAPDATA_set(const U_PSEUDO_OBJ *Ps, int cbBm, const char *Bm)
Create and set a U_PMF_BITMAPDATA PseudoObject.
Definition: upmf.c:1933
int U_PMF_PALETTE_get(const char *contents, uint32_t *Flags, uint32_t *Elements, const char **Colors)
Get data from a U_PMF_PALETTE object.
Definition: upmf.c:5978
DoublePseudoObject holds pairs of PseudoObjects. Used for constructing paths along with their types...
Definition: upmf.h:1342
EMF+ manual 2.3.1.1, Microsoft name: EmfPlusOffsetClip Record, Index 0x35.
Definition: upmf.h:2115
EMF+ manual 2.3.9.3, Microsoft name: EmfPlusRotateWorldTransform Record, Index 0x2F Construct transfo...
Definition: upmf.h:2770
int U_PMF_REGION_get(const char *contents, uint32_t *Version, uint32_t *Count, const char **Nodes)
Get data from a U_PMF_REGION object.
Definition: upmf.c:5431
U_PSEUDO_OBJ * U_PMF_BITMAP_set(const U_PMF_BITMAP *Bs, const U_PSEUDO_OBJ *Bm)
Create and set a U_PMF_BITMAP PseudoObject.
Definition: upmf.c:1910
U_PSEUDO_OBJ * U_PMF_IE_REDEYECORRECTION_set(uint32_t Elements, const U_RECTL *Rects)
Create and set a U_PMF_IE_REDEYECORRECTION PseudoObject.
Definition: upmf.c:3494
int U_PMF_COMPRESSEDIMAGE_get(const char *contents, const char **Data)
Get data from a U_PMF_COMPRESSEDIMAGE object.
Definition: upmf.c:5625
U_PSEUDO_OBJ * U_PMF_ARGBN_set(uint32_t Count, U_PMF_ARGB *Colors)
Create and set an Array of U_PMF_ARGB valus in a PseudoObject.
Definition: upmf.c:1872
float U_FLOAT
32 bit float
Definition: uemf.h:171
U_PSEUDO_OBJ * U_PMR_DRAWIMAGE_set(uint32_t ImgID, int32_t ImgAttrID, int32_t SrcUnit, const U_PSEUDO_OBJ *SrcRect, const U_PSEUDO_OBJ *DstRect)
Create and set a U_PMR_DRAWIMAGE PseudoObject.
Definition: upmf.c:4099
U_PSEUDO_OBJ * U_PMF_PATHPOINTTYPE_set2(uint32_t Elements, uint8_t First, uint8_t Others)
Create and set an ARRAY of U_PMF_PATHPOINTTYPE objects, with a preceding Elements count...
Definition: upmf.c:2777
int U_PMF_BITMAPDATA_get(const char *contents, U_PMF_PALETTE *Ps, const char **Colors, const char **Data)
Get data from a U_PMF_BITMAPDATA object.
Definition: upmf.c:5501
int U_PMF_CUSTOMLINECAPOPTIONALDATA_get(const char *contents, uint32_t Flags, const char **FillData, const char **LineData)
Get data from a U_PMF_CUSTOMLINECAPOPTIONALDATA object.
Definition: upmf.c:5687
U_PSEUDO_OBJ * U_PO_create(char *Data, size_t Size, size_t Use, uint32_t Type)
Create and set an U_PSEUDO_OBJ.
Definition: upmf.c:504
U_PSEUDO_OBJ * U_PMF_DASHEDLINEDATA_set2(U_FLOAT Unit, int StdPat)
Utility function to create and set a U_PMF_DASHEDLINEDATA PseudoObject from one of a predefined set o...
Definition: upmf.c:2344
U_PSEUDO_OBJ * U_PMR_SETTEXTCONTRAST_set(int TGC)
Create and set a U_PMR_SETTEXTCONTRAST PseudoObject.
Definition: upmf.c:4865
U_PSEUDO_OBJ * U_PMF_ARGB_set(uint8_t Alpha, uint8_t Red, uint8_t Green, uint8_t Blue)
Create and set a U_PMF_ARGB PseudoObject.
Definition: upmf.c:1852
U_PSEUDO_OBJ * U_PMF_RECTF4_set(U_FLOAT X, U_FLOAT Y, U_FLOAT Width, U_FLOAT Height)
Create and set a U_PMF_RECTF object in a PseudoObject.
Definition: upmf.c:3067
int U_PMF_IE_COLORCURVE_get(const char *contents, uint32_t *Adjust, uint32_t *Channel, int32_t *Intensity)
Get data from a U_PMF_IE_COLORCURVE object.
Definition: upmf.c:6516
int U_PMR_OBJECT_get(const char *contents, U_PMF_CMN_HDR *Header, uint32_t *ObjID, int *otype, int *ntype, uint32_t *TSize, const char **Data)
Get data from a U_PMR_OBJECT record.
Definition: upmf.c:7460
int U_PMF_LEN_FLOATDATA(const char *contents)
Calculate the length in bytes of objects which are a 4 byte Count followed by Count * float bytes...
Definition: upmf.c:1218
int U_PMR_BEGINCONTAINER_get(const char *contents, U_PMF_CMN_HDR *Header, int *UTenum, U_PMF_RECTF *DstRect, U_PMF_RECTF *SrcRect, uint32_t *StackID)
Get data from a U_PMR_BEGINCONTAINER record.
Definition: upmf.c:7656
int U_PMF_HATCHBRUSHDATA_get(const char *contents, uint32_t *Style, U_PMF_ARGB *Foreground, U_PMF_ARGB *Background)
Get data from a U_PMF_HATCHBRUSHDATA object.
Definition: upmf.c:5806
U_PMF_RESETCLIP EMF+ manual 2.3.1.2, Microsoft name: EmfPlusResetClip Record, Index 0x31...
Definition: upmf.h:2122
U_PSEUDO_OBJ * U_PMF_CUSTOMENDCAPDATA_set(const U_PSEUDO_OBJ *Clc)
Create and set a U_PMF_CUSTOMENDCAPDATA PseudoObject.
Definition: upmf.c:2192
U_PSEUDO_OBJ * U_PMF_POINTF_set(uint32_t Elements, const U_PMF_POINTF *Coords)
Create and set an ARRAY of U_PMF_POINTF objects, with a leading Elements value.
Definition: upmf.c:2930
U_PMF_RECTF * rectfs_transform(U_PMF_RECTF *Rects, int Count, U_XFORM Xform)
Allocate and construct an array of U_PMF_RECTF objects which have been subjected to a U_XFORM...
Definition: upmf.c:1032
U_PSEUDO_OBJ * U_PMF_INTEGER7_set(int Value)
Create and set a U_PMF_INTEGER7 PseudoObject.
Definition: upmf.c:2510
int U_PMF_LEN_OPTPENDATA(const char *PenData, uint32_t Flags)
Return the size of an OptPenData object from an EMF+ record.
Definition: upmf.c:1503
U_PSEUDO_OBJ * U_PMF_RECTN_set(uint32_t Elements, U_PMF_RECT *Rects)
Create and set an array of U_PMF_RECT objects in a PseudoObject.
Definition: upmf.c:3043
int U_OID_To_IDT(uint32_t OID)
Convert from PseudoObject OID to ImageDataType Enumeration.
Definition: upmf.c:406
U_PSEUDO_OBJ * U_PMR_SETPIXELOFFSETMODE_set(int POMenum)
Create and set a U_PMR_SETPIXELOFFSETMODE PseudoObject.
Definition: upmf.c:4820
int U_PMF_LEN_BYTEDATA(const char *contents)
Calculate the length in bytes of objects which are a 4 byte count followed by count bytes...
Definition: upmf.c:1236
int U_PMF_IE_HUESATURATIONLIGHTNESS_get(const char *contents, int32_t *Hue, int32_t *Saturation, int32_t *Lightness)
Get data from a U_PMF_IE_HUESATURATIONLIGHTNESS object.
Definition: upmf.c:6569
U_PSEUDO_OBJ * U_PMR_SAVE_set(int StackID)
Create and set a U_PMR_SAVE PseudoObject.
Definition: upmf.c:5003
EMF+ manual 2.2.3.3, Microsoft name: ColorBalanceEffect Object.
Definition: upmf.h:2043
EMF+ manual 2.2.2.16, Microsoft name: EmfPlusDashedLineData Object.
Definition: upmf.h:1681
int U_PMF_POINT_get(const char **contents, U_FLOAT *X, U_FLOAT *Y)
Get data from a U_PMF_POINT object.
Definition: upmf.c:6165
U_PSEUDO_OBJ * U_PMR_BEGINCONTAINER_set(int UTenum, U_PSEUDO_OBJ *DstRect, U_PSEUDO_OBJ *SrcRect, uint32_t StackID)
Create and set a U_PMR_BEGINCONTAINER PseudoObject.
Definition: upmf.c:4910
int U_PMR_SETPAGETRANSFORM_get(const char *contents, U_PMF_CMN_HDR *Header, int *PUenum, U_FLOAT *Scale)
Get data from a U_PMR_SETPAGETRANSFORM record.
Definition: upmf.c:7894
int U_PMF_GRAPHICSVERSION_get(const char *contents, int *Signature, int *GrfVersion)
Get data from a U_PMF_GRAPHICSVERSION object.
Definition: upmf.c:5787
EMF+ manual 2.3.4.21, Microsoft name: EmfPlusFillRegion Record, Index 0x13.
Definition: upmf.h:2561
EMF+ manual 2.3.7.1, Microsoft name: EmfPlusBeginContainer Record, Index 0x27.
Definition: upmf.h:2675
int U_PMF_BRUSH_get(const char *contents, uint32_t *Version, uint32_t *Type, const char **Data)
Get data from a U_PMF_BRUSH object.
Definition: upmf.c:5278
U_PSEUDO_OBJ * U_PMR_FILLPATH_set(uint32_t PathID, const U_PSEUDO_OBJ *BrushID)
Create and set a U_PMR_FILLPATH PseudoObject.
Definition: upmf.c:4437
U_PSEUDO_OBJ * U_PMF_COMPRESSEDIMAGE_set(int32_t cbImage, const char *Image)
Create and set a U_PMF_COMPRESSEDIMAGE PseudoObject.
Definition: upmf.c:2175
EMF+ manual 2.2.1.5, Microsoft name: EmfPlusImageAttributes Object.
Definition: upmf.h:1439
EMF+ manual 2.3.8.2, Microsoft name: EmfPlusSetTSGraphics Record, Index 0x39.
Definition: upmf.h:2726
int U_PMR_MULTIFORMATSTART_get(const char *contents, U_PMF_CMN_HDR *Header)
Get data from a U_PMR_MULTIFORMATSTART record.
Definition: upmf.c:7971
U_PSEUDO_OBJ * U_PMF_IE_COLORMATRIX_set(const U_FLOAT *Matrix)
Create and set a U_PMF_IE_COLORMATRIX PseudoObject.
Definition: upmf.c:3430
U_DPSEUDO_OBJ * U_PATH_create(int Elements, const U_PMF_POINTF *Points, uint8_t First, uint8_t Others)
Create U_DPSEUDO_OBJ's for the Points and Types of a path.
Definition: upmf.c:675
U_PSEUDO_OBJ * U_PMF_BLENDCOLORS_set(uint32_t Elements, const U_FLOAT *Positions, const U_PSEUDO_OBJ *Colors)
Create and set a U_PMF_BLENDCOLORS PseudoObject.
Definition: upmf.c:1953
int U_PMR_DRAWPIE_get(const char *contents, U_PMF_CMN_HDR *Header, uint32_t *PenID, int *ctype, U_FLOAT *Start, U_FLOAT *Sweep, U_PMF_RECTF *Rect)
Get data from a U_PMR_DRAWPIE record.
Definition: upmf.c:7138
U_PSEUDO_OBJ * U_PMF_PATHPOINTTYPERLE_set(uint32_t Elements, const uint8_t *Bz, const uint8_t *RL, const uint8_t *Ppte)
Create and set an ARRAY of U_PMF_PATHPOINTTYPERLE objects.
Definition: upmf.c:2799
U_PSEUDO_OBJ * U_PMF_BRUSH_set(uint32_t Version, const U_PSEUDO_OBJ *Bd)
Create and set a U_PMF_BRUSH PseudoObject.
Definition: upmf.c:1529
EMF+ manual 2.2.2.5, Microsoft name: EmfPlusBlendFactors Object.
Definition: upmf.h:1574
U_PSEUDO_OBJ * U_PMF_PATHGRADIENTBRUSHDATA_set(uint32_t Flags, int32_t WrapMode, U_PMF_ARGB CenterColor, U_PMF_POINTF Center, const U_PSEUDO_OBJ *Gradient, const U_PSEUDO_OBJ *Boundary, const U_PSEUDO_OBJ *Data)
Create and set a U_PMF_PATHGRADIENTBRUSHDATA PseudoObject.
Definition: upmf.c:2695
EMF+ manual 2.2.3.4, Microsoft name: ColorCurveEffect Object Adjust Range Exposure -255 to 255...
Definition: upmf.h:2059
U_PSEUDO_OBJ * U_PMR_DRAWELLIPSE_set(uint32_t PenID, const U_PSEUDO_OBJ *Rect)
Create and set a U_PMR_DRAWELLIPSE PseudoObject.
Definition: upmf.c:4065
EMF+ manual 2.3.4.11, Microsoft name: EmfPlusDrawPath Record, Index 0x15.
Definition: upmf.h:2395
EMF+ manual 2.3.4.20, Microsoft name: EmfPlusFillRects Record, Index 0x0A.
Definition: upmf.h:2545
int U_PMF_INTEGER15_get(const char **contents, U_FLOAT *Value)
Get data from a U_PMF_INTEGER15 object.
Definition: upmf.c:5845
EMF+ manual 2.3.6.8, Microsoft name: EmfPlusSetTextRenderingHint Record, Index 0x1F.
Definition: upmf.h:2665
U_PSEUDO_OBJ * U_PMR_SETTSGRAPHICS_set(int vgatype, U_PMF_SETTSGRAPHICS *Tsg, U_PSEUDO_OBJ *Palette)
Create and set a U_PMR_SETTSGRAPHICS PseudoObject.
Definition: upmf.c:5057
int U_PMR_DRAWBEZIERS_get(const char *contents, U_PMF_CMN_HDR *Header, uint32_t *PenID, int *ctype, int *RelAbs, uint32_t *Elements, U_PMF_POINTF **Points)
Get data from a U_PMR_DRAWBEZIERS record.
Definition: upmf.c:6870
int U_PMR_FILLPOLYGON_get(const char *contents, U_PMF_CMN_HDR *Header, int *btype, int *ctype, int *RelAbs, uint32_t *BrushID, uint32_t *Elements, U_PMF_POINTF **Points)
Get data from a U_PMR_FILLPOLYGON record.
Definition: upmf.c:7343
U_PSEUDO_OBJ * U_PMF_PATHPOINTTYPE_set(uint32_t Elements, const uint8_t *Ppt)
Create and set an ARRAY of U_PMF_PATHPOINTTYPE objects.
Definition: upmf.c:2757
int U_PMF_REGIONNODE_get(const char *contents, uint32_t *Type, const char **Data)
Get data from a U_PMF_REGIONNODE object.
Definition: upmf.c:6334
int U_PMF_IE_BRIGHTNESSCONTRAST_get(const char *contents, int32_t *Brightness, int32_t *Contrast)
Get data from a U_PMF_IE_BRIGHTNESSCONTRAST object.
Definition: upmf.c:6480
EMF+ manual 2.3.9.1, Microsoft name: EmfPlusMultiplyWorldTransform Record, Index 0x2C.
Definition: upmf.h:2749
int U_PMF_IE_COLORBALANCE_get(const char *contents, int32_t *CyanRed, int32_t *MagentaGreen, int32_t *YellowBlue)
Get data from a U_PMF_IE_COLORBALANCE object.
Definition: upmf.c:6497
int U_PMR_SETCOMPOSITINGQUALITY_get(const char *contents, U_PMF_CMN_HDR *Header, int *CQenum)
Get data from a U_PMR_SETCOMPOSITINGQUALITY record.
Definition: upmf.c:7544
int U_PMR_SETTSGRAPHICS_get(const char *contents, U_PMF_CMN_HDR *Header, int *vgatype, int *pptype, uint8_t *AntiAliasMode, uint8_t *TextRenderHint, uint8_t *CompositingMode, uint8_t *CompositingQuality, int16_t *RenderOriginX, int16_t *RenderOriginY, uint16_t *TextContrast, uint8_t *FilterType, uint8_t *PixelOffset, U_PMF_TRANSFORMMATRIX *WorldToDevice, const char **Data)
Get data from a U_PMR_SETTSGRAPHICS record.
Definition: upmf.c:7778
uint16_t U_PMF_PATHPOINTTYPERLE
EMF+ manual 2.2.2.32, Microsoft name: EmfPlusPathPointTypeRLE Object.
Definition: upmf.h:1906
int U_PMR_SETCOMPOSITINGMODE_get(const char *contents, U_PMF_CMN_HDR *Header, int *CMenum)
Get data from a U_PMR_SETCOMPOSITINGMODE record.
Definition: upmf.c:7526
int U_PMF_IMAGEATTRIBUTES_get(const char *contents, uint32_t *Version, uint32_t *WrapMode, uint32_t *ClampColor, uint32_t *ObjectClamp)
Get data from a U_PMF_IMAGEATTRIBUTES object.
Definition: upmf.c:5360
U_PSEUDO_OBJ * U_PMF_REGIONNODECHILDNODES_set(const U_PSEUDO_OBJ *Left, const U_PSEUDO_OBJ *Right)
Create and set a U_PMF_REGIONNODECHILDNODES PseudoObject.
Definition: upmf.c:3169
int U_PMR_drawline(uint32_t PenID, uint32_t PathID, U_PMF_POINTF Start, U_PMF_POINTF End, int Dashed, U_PSEUDO_OBJ *sum, EMFTRACK *et)
Utility function to draw a line.
Definition: upmf.c:106
int U_PMF_IE_BLUR_get(const char *contents, U_FLOAT *Radius, uint32_t *ExpandEdge)
Get data from a U_PMF_IE_BLUR object.
Definition: upmf.c:6464
int U_OID_To_RNDT(uint32_t OID)
Convert from PseudoObject OID to RegionNodeDataType Enumeration.
Definition: upmf.c:422
int U_PATH_arcto(U_DPSEUDO_OBJ *Path, U_FLOAT Start, U_FLOAT Sweep, U_FLOAT Rot, U_PMF_RECTF *Rect, uint8_t Flags, int StartSeg)
Append an "arcto" set of points to a path (Bezier points are calculated, and these are appended...
Definition: upmf.c:942
U_PSEUDO_OBJ * U_PMR_TRANSLATEWORLDTRANSFORM_set(int xmtype, U_FLOAT Dx, U_FLOAT Dy)
Create and set a U_PMR_TRANSLATEWORLDTRANSFORM PseudoObject.
Definition: upmf.c:5235
U_PSEUDO_OBJ * U_PMR_SETPAGETRANSFORM_set(int PUenum, U_FLOAT Scale)
Create and set a U_PMR_SETPAGETRANSFORM PseudoObject.
Definition: upmf.c:5185
EMF+ manual 2.2.2.8, Microsoft name: EmfPlusCharacterRange Object.
Definition: upmf.h:1599
U_PSEUDO_OBJ * U_PMF_PEN_set(uint32_t Version, const U_PSEUDO_OBJ *PenData, const U_PSEUDO_OBJ *Brush)
Create and set a U_PMF_PEN PseudoObject.
Definition: upmf.c:1752
EMF+ manual 2.2.3.6, Microsoft name: ColorMatrixEffect Object.
Definition: upmf.h:2074
int U_OA_append(U_OBJ_ACCUM *oa, const char *data, int size, int Type, int Id)
Append data to an U_OBJ_ACCUM structure.
Definition: upmf.c:442
For U_EMR[FILLRGN|STRETCHBLT|MASKBLT|PLGBLT] xformSrc field.
Definition: uemf.h:1987
int U_PMF_IE_COLORLOOKUPTABLE_get(const char *contents, const uint8_t **BLUT, const uint8_t **GLUT, const uint8_t **RLUT, const uint8_t **ALUT)
Get data from a U_PMF_IE_COLORLOOKUPTABLE object.
Definition: upmf.c:6535