1 /*---------------------------------------------------------------------------* 2 | PDFlib - A library for generating PDF on the fly | 3 +---------------------------------------------------------------------------+ 4 | Copyright (c) 1997-2006 Thomas Merz and PDFlib GmbH. All rights reserved. | 5 +---------------------------------------------------------------------------+ 6 | | 7 | This software is subject to the PDFlib license. It is NOT in the | 8 | public domain. Extended versions and commercial licenses are | 9 | available, please check http://www.pdflib.com. | 10 | | 11 *---------------------------------------------------------------------------*/ 12 13 /* $Id: p_keyconn.h,v 1.117.2.18 2009/04/15 12:06:35 york Exp $ 14 * 15 * PDFlib shared keys connection lists 16 * 17 */ 18 19 #ifndef P_KEYCONN_H 20 #define P_KEYCONN_H 21 22 /* 23 * ------------- enumerations for pdc_keyconn tables ------------------ 24 */ 25 26 typedef enum 27 { 28 pdf_state_object = (1<<0), /* outside any document */ 29 pdf_state_document = (1<<1), /* document */ 30 pdf_state_page = (1<<2), /* page description in a document */ 31 pdf_state_pattern = (1<<3), /* pattern in a document */ 32 pdf_state_template = (1<<4), /* template in a document */ 33 pdf_state_path = (1<<5), /* path in a page description */ 34 pdf_state_font = (1<<6), /* font definition */ 35 pdf_state_glyph = (1<<7), /* glyph description in a Type3 font */ 36 pdf_state_glyphmetrics = (1<<8), /* glyph metrics in a Type3 font */ 37 pdf_state_glyphignore = (1<<9), /* glyph ignored without error */ 38 pdf_state_error = (1<<10) /* in error cleanup */ 39 } 40 pdf_state; 41 42 typedef enum 43 { 44 errpol_legacy = -1, 45 errpol_return = 0, 46 errpol_exception = 1 47 } 48 pdf_errpol; 49 50 typedef enum 51 { 52 names_undef = 0, 53 names_annots, /* internal for named 3D or Movie annotations */ 54 names_dests, 55 names_javascript, 56 names_ap, 57 names_embeddedfiles 58 } 59 pdf_nametree_type; 60 61 typedef enum 62 { 63 event_formfield, 64 event_annotation, 65 event_bookmark, 66 event_page, 67 event_document 68 } 69 pdf_event_object; 70 71 typedef enum 72 { 73 pdf_openaction, 74 pdf_bookmark, 75 pdf_remotelink, 76 pdf_locallink, 77 pdf_nameddest 78 } 79 pdf_destuse; 80 81 typedef enum 82 { 83 pdf_3dview_first = -1, 84 pdf_3dview_last = -2, 85 pdf_3dview_next = -3, 86 pdf_3dview_previous = -4, 87 pdf_3dview_default = -5 88 } 89 pdf_3dviewoptions; 90 91 typedef enum 92 { 93 pdf_none = 0, 94 pdf_fill, 95 pdf_stroke, 96 pdf_fillstroke 97 } 98 pdf_drawmode; 99 100 typedef enum 101 { 102 pdf_fill_winding, 103 pdf_fill_evenodd 104 } 105 pdf_fillrule; 106 107 typedef enum 108 { 109 NoColor = -1, 110 DeviceGray = 0, 111 DeviceRGB, 112 DeviceCMYK, 113 CalGray, 114 CalRGB, 115 Lab, 116 ICCBased, 117 Indexed, 118 PatternCS, 119 Separation, 120 DeviceN 121 } 122 pdf_colorspacetype; 123 124 typedef enum 125 { 126 color_undefgray = -1, 127 color_none = 0, 128 color_gray, 129 color_rgb, 130 color_cmyk, 131 color_spotname, 132 color_spot, 133 color_pattern, 134 color_iccbasedgray, 135 color_iccbasedrgb, 136 color_iccbasedcmyk, 137 color_lab, 138 139 color_max /* for pdf_parse_coloropt */ 140 } 141 pdf_colortype; 142 143 typedef enum 144 { 145 AutoIntent = 0, 146 AbsoluteColorimetric, 147 RelativeColorimetric, 148 Saturation, 149 Perceptual 150 } 151 pdf_renderingintent; 152 153 /* only up to 32 values permitted! */ 154 typedef enum 155 { 156 fo_autocidfont, 157 fo_autosubsetting, 158 fo_embedding, 159 fo_encoding, 160 fo_fontname, 161 fo_fontstyle, 162 fo_fontwarning, 163 fo_kerning, 164 fo_monospace, 165 fo_subsetlimit, 166 fo_subsetminsize, 167 fo_subsetting, 168 fo_unicodemap, 169 fo_embedopentype, 170 fo_skipposttable, 171 fo_vertical, 172 fo_keepnative, 173 fo_replacementchar, 174 fo_ascender, 175 fo_descender, 176 fo_capheight, 177 fo_xheight, 178 fo_linegap 179 } 180 pdf_font_optflags; 181 182 /* only up to 32 values permitted! */ 183 typedef enum 184 { 185 to_charspacing, 186 to_fillcolor, 187 to_font, 188 to_fontsize, 189 to_fontsize_st, 190 to_deffont, 191 to_glyphwarning, 192 to_horizscaling, 193 to_italicangle, 194 to_fakebold, 195 to_kerning, 196 to_overline, 197 to_strikeout, 198 to_strokecolor, 199 to_strokewidth, 200 to_dasharray, 201 to_text, 202 to_textformat, 203 to_textrendering, 204 to_textrise, 205 to_leading, 206 to_underline, 207 to_wordspacing, 208 to_underlinewidth, 209 to_underlineposition, 210 to_charref, 211 to_escapesequence, 212 to_glyphcheck, 213 214 to_textx, 215 to_texty 216 } 217 pdf_text_optflags; 218 219 typedef enum 220 { 221 border_solid, 222 border_dashed, 223 border_beveled, 224 border_inset, 225 border_underline 226 } 227 pdf_borderstyle; 228 229 typedef enum 230 { 231 label_none, 232 label_123, 233 label_IVX, 234 label_ivx, 235 label_ABC, 236 label_abc 237 } 238 pdf_labelstyle; 239 240 typedef enum { 241 BM_None = 0, 242 BM_Normal = (1<<0), 243 BM_Multiply = (1<<1), 244 BM_Screen = (1<<2), 245 BM_Overlay = (1<<3), 246 BM_Darken = (1<<4), 247 BM_Lighten = (1<<5), 248 BM_ColorDodge = (1<<6), 249 BM_ColorBurn = (1<<7), 250 BM_HardLight = (1<<8), 251 BM_SoftLight = (1<<9), 252 BM_Difference = (1<<10), 253 BM_Exclusion = (1<<11), 254 BM_Hue = (1<<12), 255 BM_Saturation = (1<<13), 256 BM_Color = (1<<14), 257 BM_Luminosity = (1<<15) 258 } 259 pdf_blendmode; 260 261 /* these values are used directly as indices into 262 ** a page's boxes[] array. 263 */ 264 typedef enum 265 { 266 pdf_artbox, 267 pdf_bleedbox, 268 pdf_cropbox, 269 pdf_mediabox, 270 pdf_trimbox 271 } pdf_pagebox; 272 273 typedef enum 274 { 275 tabs_none, 276 tabs_fitbox, 277 tabs_validarea 278 } 279 pdf_showtabs; 280 281 typedef enum 282 { 283 text_noalign, 284 text_left, 285 text_center, 286 text_right, 287 text_justify, 288 text_lastauto, 289 text_fulljustify, 290 text_decimal, 291 text_top, 292 text_bottom, 293 text_grid 294 } 295 pdf_alignment; 296 297 typedef enum 298 { 299 text_nofit, 300 text_clip, 301 text_shrink, 302 text_split, 303 text_spread, 304 text_auto 305 } 306 pdf_adjustmethod; 307 308 typedef enum 309 { 310 text_relative, 311 text_typewriter, 312 text_ruler 313 } 314 pdf_hortabmethod; 315 316 typedef enum 317 { 318 text_none = -90000, 319 text_textrise = -70000, 320 text_xheight = -60000, 321 text_descender = -50000, 322 text_capheight = -40000, 323 text_ascender = -30000, 324 text_fontsize = -20000, 325 text_leading = -10000 326 } 327 pdf_charmetric; 328 329 typedef enum 330 { 331 mbox_none = 0, 332 mbox_openleft = (1<<0), 333 mbox_openright = (1<<1), 334 mbox_openbottom = (1<<2), 335 mbox_opentop = (1<<3), 336 mbox_border = (1<<4), 337 mbox_area = (1<<5), 338 mbox_saverestore = (1<<6), 339 mbox_statleft = (1<<7), 340 mbox_statright = (1<<8), 341 mbox_statbottom = (1<<9), 342 mbox_stattop = (1<<10) 343 } 344 pdf_mbox_flags; 345 346 typedef enum 347 { 348 quadd_left = 0, 349 quadd_center = 1, 350 quadd_right = 2 351 } 352 pdf_quadding; 353 354 typedef enum 355 { 356 disp_visible = (1<<2), 357 disp_hidden = (1<<1), 358 disp_noview = (1<<5), 359 disp_noprint = 0 360 } 361 pdf_display; 362 363 typedef enum 364 { 365 high_none, 366 high_invert, 367 high_outline, 368 high_push 369 } 370 pdf_highlight; 371 372 typedef enum 373 { 374 pos_left = 1000, 375 pos_bottom = 2000, 376 pos_center = 50, 377 pos_right = 1100, 378 pos_top = 2100 379 } 380 pdf_position; 381 382 typedef enum 383 { 384 dpi_none = -999999, 385 dpi_internal = 0 386 } 387 pdf_dpi_states; 388 389 typedef enum 390 { 391 trans_none, 392 trans_split, 393 trans_blinds, 394 trans_box, 395 trans_wipe, 396 trans_dissolve, 397 trans_glitter, 398 trans_replace, 399 400 TRANS_1_5, 401 trans_fly = TRANS_1_5, 402 trans_push, 403 trans_cover, 404 trans_uncover, 405 trans_fade 406 } 407 pdf_transition; 408 409 410 /* 411 * -------- pdc_keyconn tables shared by more than one c file ---------- 412 */ 413 414 #if defined(P_MBOX_C) 415 416 static const pdc_keyconn pdf_mbox_keylist[] = 417 { 418 {"all", -1}, 419 {NULL, 0} 420 }; 421 422 #endif /* P_MBOX_C */ 423 424 425 #if defined(P_PAGE_C) || defined(P_TEMPLATE_C) 426 427 static const pdc_keyconn pdf_tgroup_cs_pdfkeylist[] = 428 { 429 {"DeviceGray", color_gray}, 430 {"DeviceRGB", color_rgb}, 431 {"DeviceCMYK", color_cmyk}, 432 {NULL, 0} 433 }; 434 435 #endif /* P_PAGE_C || P_TEMPLATE_C */ 436 437 438 #if defined(P_DOCUMENT_C) || defined(P_PARAMS_C) 439 440 static const pdc_keyconn pdf_compatibility_keylist[] = 441 { 442 {"1.3", PDC_1_3}, 443 {"1.4", PDC_1_4}, 444 {"1.5", PDC_1_5}, 445 {"1.6", PDC_1_6}, 446 {"1.7", PDC_1_7}, 447 {NULL, 0} 448 }; 449 450 #endif /* P_DOCUMENT_C || P_PARAMS_C */ 451 452 453 #if defined(P_ACTIONS_C) || defined(P_PAGE_C) 454 455 static const pdc_keyconn pdf_transition_keylist[] = 456 { 457 {"none", trans_none}, 458 {"split", trans_split}, 459 {"blinds", trans_blinds}, 460 {"box", trans_box}, 461 {"wipe", trans_wipe}, 462 {"dissolve", trans_dissolve}, 463 {"glitter", trans_glitter}, 464 {"replace", trans_replace}, 465 {"fly", trans_fly}, 466 {"push", trans_push}, 467 {"cover", trans_cover}, 468 {"uncover", trans_uncover}, 469 {"fade", trans_fade}, 470 {NULL, 0} 471 }; 472 473 static const pdc_keyconn pdf_transition_pdfkeylist[] = 474 { 475 {"R", trans_none}, 476 {"Split", trans_split}, 477 {"Blinds", trans_blinds}, 478 {"Box", trans_box}, 479 {"Wipe", trans_wipe}, 480 {"Dissolve", trans_dissolve}, 481 {"Glitter", trans_glitter}, 482 {"R", trans_replace}, 483 {"Fly", trans_fly}, 484 {"Push", trans_push}, 485 {"Cover", trans_cover}, 486 {"Uncover", trans_uncover}, 487 {"Fade", trans_fade}, 488 {NULL, 0} 489 }; 490 491 #endif /* P_ACTIONS_C || P_PAGE_C */ 492 493 494 #if defined(P_IMAGE_C) || defined(P_PARAMS_C) || defined(P_XGSTATE_C) 495 496 static const pdc_keyconn pdf_renderingintent_pdfkeylist[] = 497 { 498 {"Auto", AutoIntent}, 499 {"AbsoluteColorimetric", AbsoluteColorimetric}, 500 {"RelativeColorimetric", RelativeColorimetric}, 501 {"Saturation", Saturation}, 502 {"Perceptual", Perceptual}, 503 {NULL, 0} 504 }; 505 506 #endif /* P_IMAGE_C || P_PARAMS_C || P_XGSTATE_C */ 507 508 509 #if defined(P_MBOX_C) || defined(P_TABLE_C) || defined(P_XGSTATE_C) 510 511 static const pdc_keyconn pdf_linecap_keylist[] = 512 { 513 {"butt", 0}, 514 {"round", 1}, 515 {"projecting", 2}, 516 {NULL, 0} 517 }; 518 519 static const pdc_keyconn pdf_linejoin_keylist[] = 520 { 521 {"miter", 0}, 522 {"round", 1}, 523 {"bevel", 2}, 524 {NULL, 0} 525 }; 526 527 #endif /* P_MBOX_C || P_TABLE_C || P_XGSTATE_C */ 528 529 530 #if defined(P_PARAMS_C) || defined(P_TEXTFLOW_C) 531 532 static const pdc_keyconn pdf_fillrule_keylist[] = 533 { 534 {"winding", pdf_fill_winding }, 535 {"evenodd", pdf_fill_evenodd }, 536 {NULL, 0} 537 }; 538 539 #endif /* P_PARAMS_C || P_TEXTFLOW_C */ 540 541 542 #if defined(P_DOCUMENT_C) || defined(P_PARAMS_C) || defined(P_PDI_C) 543 544 static const pdc_keyconn pdf_usebox_keylist[] = 545 { 546 {"art", pdc_pbox_art}, 547 {"bleed", pdc_pbox_bleed}, 548 {"crop", pdc_pbox_crop}, 549 {"media", pdc_pbox_media}, 550 {"trim", pdc_pbox_trim}, 551 {NULL, 0} 552 }; 553 554 #endif /* P_DOCUMENT_C || P_PARAMS_C || P_PDI_C */ 555 556 #if defined(P_DOCUMENT_C) || defined(P_PDI_C) 557 558 static const pdc_keyconn pdf_usebox_pdfkeylist[] = 559 { 560 {"/ArtBox", pdc_pbox_art }, 561 {"/BleedBox", pdc_pbox_bleed }, 562 {"/CropBox", pdc_pbox_crop }, 563 {"/MediaBox", pdc_pbox_media }, 564 {"/TrimBox", pdc_pbox_trim }, 565 {NULL, 0} 566 }; 567 568 #endif /* P_DOCUMENT_C || P_PDI_C */ 569 570 571 #if defined(P_BLOCK_C) || defined(P_IMAGE_C) 572 573 static const pdc_keyconn pdf_dpi_keylist[] = 574 { 575 {"none", dpi_none}, 576 {"internal", dpi_internal}, 577 {NULL, 0} 578 }; 579 580 #endif /* P_BLOCK_C || P_IMAGE_C */ 581 582 #if defined(P_BLOCK_C) || defined(P_TEXT_C) 583 584 static const pdc_keyconn pdf_stampdir_keylist[] = 585 { 586 {NULL, 0} 587 }; 588 589 #endif /* P_BLOCK_C || P_TEXT_C */ 590 591 592 593 594 #if defined(P_MBOX_C) || defined(P_TEXTFLOW_C) 595 static const pdc_keyconn pdf_boxheight_keylist[] = 596 { 597 {"none", text_none}, 598 {"baseline", text_none}, 599 {"textrise", text_textrise}, 600 {"xheight", text_xheight}, 601 {"descender", text_descender}, 602 {"capheight", text_capheight}, 603 {"ascender", text_ascender}, 604 {"fontsize", text_fontsize}, 605 {"leading", text_leading}, 606 {NULL, 0} 607 }; 608 609 #endif /* P_MBOX_C || P_TEXTFLOW_C */ 610 611 612 #if defined(P_BLOCK_C) || defined(P_TEXT_C) || defined(P_TEXTFLOW_C) 613 614 static const pdc_keyconn pdf_charname_keylist[] = 615 { 616 {"none", 0}, 617 {NULL, 0} 618 }; 619 620 #define PDF_UNDERLINEWIDTH_AUTO 0 621 static const pdc_keyconn pdf_underlinewidth_keylist[] = 622 { 623 {"auto", PDF_UNDERLINEWIDTH_AUTO}, 624 {NULL, 0} 625 }; 626 627 #define PDF_UNDERLINEPOSITION_AUTO 1000000 628 static const pdc_keyconn pdf_underlineposition_keylist[] = 629 { 630 {"auto", PDF_UNDERLINEPOSITION_AUTO}, 631 {NULL, 0} 632 }; 633 634 #endif /* P_BLOCK_C || P_TEXT_C || P_TEXTFLOW_C */ 635 636 637 #if defined(P_BLOCK_C)|| defined(P_PARAMS_C) || \ 638 defined(P_TEXT_C) || defined(P_TEXTFLOW_C) 639 640 static const pdc_keyconn pdf_glyphcheck_keylist[] = 641 { 642 {"none", text_nocheck}, 643 {"error", text_error}, 644 {"replace", text_replace}, 645 {NULL, 0} 646 }; 647 648 #endif /* P_BLOCK_C || P_PARAMS_C || P_TEXT_C || P_TEXTFLOW_C */ 649 650 651 #if defined(P_ANNOTS_C) || defined(P_BLOCK_C) || defined(P_FIELDS_C) || \ 652 defined(P_IMAGE_C) || defined(P_TEXT_C) 653 654 static const pdc_keyconn pdf_position_keylist[] = 655 { 656 {"left", pos_left}, 657 {"bottom", pos_bottom}, 658 {"center", pos_center}, 659 {"right", pos_right}, 660 {"top", pos_top}, 661 {NULL, 0} 662 }; 663 664 #endif /* P_ANNOTS_C || P_BLOCK_C || P_FIELDS_C || P_IMAGE_C || P_TEXT_C */ 665 666 667 #if defined(P_BLOCK_C) || defined(P_FIELDS_C) || \ 668 defined(P_IMAGE_C) || defined(P_TABLE_C) || \ 669 defined(P_TEXT_C) || defined(P_TEXTFLOW_C) 670 671 static const pdc_keyconn pdf_fitmethod_keylist[] = 672 { 673 {"nofit", pdc_nofit}, 674 {"clip", pdc_clip}, 675 {"auto", pdc_tauto}, 676 #if !defined (P_TEXTFLOW_C) 677 {"slice", pdc_slice}, 678 {"meet", pdc_meet}, 679 {"entire", pdc_entire}, 680 #endif 681 {NULL, 0} 682 }; 683 684 #endif /* P_BLOCK_C || P_FIELDS_C || P_IMAGE_C || P_TABLE_C || 685 P_TEXT_C || P_TEXTFLOW_C */ 686 687 688 #if defined(P_ANNOTS_C) || defined(P_BLOCK_C) || defined(P_FIELDS_C) || \ 689 defined(P_IMAGE_C) || defined(P_TEXT_C) || defined(P_TEXTFLOW_C) 690 691 static const pdc_keyconn pdf_orientate_keylist[] = 692 { 693 {"north", 0}, 694 {"west", 90}, 695 {"south", 180}, 696 {"east", 270}, 697 {NULL, 0} 698 }; 699 700 #endif /* P_ANNOTS_C || P_BLOCK_C || P_FIELDS_C || 701 P_IMAGE_C || P_TEXT_C || P_TEXTFLOW_C */ 702 703 704 #if defined(P_ANNOTS_C) || defined(P_BLOCK_C) || defined(P_FIELDS_C) || \ 705 defined(P_MBOX_C) || defined(P_TEXT_C) || defined(P_TEXTFLOW_C) 706 707 static const pdc_keyconn pdf_fontsize_keylist[] = 708 { 709 {"auto", 0}, 710 {"xheight", text_xheight}, 711 {"capheight", text_capheight}, 712 {"ascender", text_ascender}, 713 {"bodyheight", text_fontsize}, 714 {NULL, 0} 715 }; 716 717 #endif /* P_ANNOTS_C P_BLOCK_C || P_FIELDS_C || 718 P_MBOX_C || P_TEXT_C || P_TEXTFLOW_C */ 719 720 721 #if defined(P_BLOCK_C) || defined(P_FONT_C) || defined(P_HYPER_C) || \ 722 defined(P_MBOX_C) || defined(P_TEXT_C) || defined(P_TEXTFLOW_C) 723 724 static const pdc_keyconn pdf_fontstyle_pdfkeylist[] = 725 { 726 {"Normal", fnt_Normal}, 727 {"Bold", fnt_Bold}, 728 {"Italic", fnt_Italic}, 729 {"BoldItalic", fnt_BoldItalic}, 730 {NULL, 0} 731 }; 732 733 #endif /* P_BLOCK_C || P_FONT_C || P_HYPER_C || 734 P_MBOX_C || P_TEXT_C || P_TEXTFLOW_C */ 735 736 737 #if defined(P_ANNOTS_C) || defined(P_FIELDS_C) 738 739 static const pdc_keyconn pdf_quadding_keylist[] = 740 { 741 {"left", quadd_left}, 742 {"center", quadd_center}, 743 {"right", quadd_right}, 744 {NULL, 0} 745 }; 746 747 static const pdc_keyconn pdf_display_keylist[] = 748 { 749 {"visible", disp_visible}, 750 {"hidden", disp_hidden}, 751 {"noview", disp_noview}, 752 {"noprint", disp_noprint}, 753 {NULL, 0} 754 }; 755 756 static const pdc_keyconn pdf_highlight_keylist[] = 757 { 758 {"none", high_none}, 759 {"invert", high_invert}, 760 {"outline", high_outline}, 761 {"push", high_push}, 762 {NULL, 0} 763 }; 764 765 static const pdc_keyconn pdf_highlight_pdfkeylist[] = 766 { 767 {"N", high_none}, 768 {"I", high_invert}, 769 {"O", high_outline}, 770 {"P", high_push}, 771 {NULL, 0} 772 }; 773 774 static const pdc_keyconn pdf_borderstyle_keylist[] = 775 { 776 {"solid", border_solid}, 777 {"dashed", border_dashed}, 778 {"beveled", border_beveled}, 779 {"inset", border_inset}, 780 {"underline", border_underline}, 781 {NULL, 0} 782 }; 783 784 static const pdc_keyconn pdf_borderstyle_pdfkeylist[] = 785 { 786 {"S", border_solid}, 787 {"D", border_dashed}, 788 {"B", border_beveled}, 789 {"I", border_inset}, 790 {"U", border_underline}, 791 {NULL, 0} 792 }; 793 794 #endif /* P_ANNOTS_C || P_FIELDS_C */ 795 796 797 #if defined(P_3D_C) || defined(P_BLOCK_C) || defined(P_FIELDS_C) || \ 798 defined(P_HYPER_C) || defined(P_LAYER_C) || defined(P_PARAMS_C) || \ 799 defined(P_TEXT_C) || defined(P_TEXTFLOW_C) || defined(P_UTIL_C) || \ 800 defined(P_XMP_C) 801 802 /* original in pc_unicode.h */ 803 static const pdc_keyconn pdf_textformat_keylist[] = 804 { 805 {"auto", pdc_auto}, 806 {"auto2", pdc_auto2}, 807 {"bytes", pdc_bytes}, 808 {"bytes2", pdc_bytes2}, 809 {"utf8", pdc_utf8}, 810 {"utf16", pdc_utf16}, 811 {"utf16be", pdc_utf16be}, 812 {"utf16le", pdc_utf16le}, 813 {NULL, 0} 814 }; 815 816 #endif /* P_3D_C || P_BLOCK_C || P_FIELDS_C || P_HYPER_C || 817 P_LAYER_C || P_PARAMS_C || P_TEXT_C || P_TEXTFLOW_C || 818 P_UTIL_C || P_XMP_C */ 819 820 821 #if defined(P_DOCUMENT_C) || \ 822 defined(P_3D_C) || \ 823 defined(P_ACTIONS_C) || \ 824 defined(P_BLOCK_C) || \ 825 defined(P_FIELDS_C) || \ 826 defined(P_FONT_C) || \ 827 defined(P_ICC_C) || \ 828 defined(P_IMAGE_C) || \ 829 defined(P_PARAMS_C) || \ 830 defined(P_PDI_C) || \ 831 defined(P_TABLE_C) || \ 832 defined(P_TEMPLATE_C) || \ 833 defined(P_TEXT_C) || \ 834 defined(P_TEXTFLOW_C) 835 836 static const pdc_keyconn pdf_errpol_keylist[] = 837 { 838 {"legacy", errpol_legacy}, 839 {"return", errpol_return}, 840 {"exception", errpol_exception}, 841 {NULL, 0} 842 }; 843 844 #define PDF_ERRORPOLICY_OPTION \ 845 \ 846 {"errorpolicy", pdc_keywordlist, PDC_OPT_NONE, 1, 1, \ 847 0, 0, pdf_errpol_keylist}, \ 848 849 #endif 850 851 852 #endif /* P_KEYCONN_H */ 853 854