semantics.h

Tue, 01 Jan 2002 03:44:40 +0000

author
eric
date
Tue, 01 Jan 2002 03:44:40 +0000
changeset 26
4368c5fd9242
parent 25
139b91f9a224
child 30
35fad7ec7732
permissions
-rw-r--r--

handle input and output files properly.

     1 typedef struct 
     2 {
     3   double width;
     4   double height;
     5 } page_size_t;
     7 typedef struct
     8 {
     9   int first; 
    10   int last;
    11  } range_t;
    13 typedef struct
    14 {
    15   double left;
    16   double right;
    17   double top;
    18   double bottom;
    19 } crop_t;
    21 typedef struct
    22 {
    23   char *prefix;
    24   char style;
    25 } page_label_t;
    28 typedef enum
    29 {
    30   INPUT_MODIFIER_ALL,
    31   INPUT_MODIFIER_ODD,
    32   INPUT_MODIFIER_EVEN,
    33   INPUT_MODIFIER_TYPE_COUNT  /* must be last */
    34 } input_modifier_type_t;
    37 typedef struct bookmark_t
    38 {
    39   struct bookmark_t *next;
    40   int level;  /* 1 is outermost */
    41   char *name;
    42 } bookmark_t;
    45 extern int line;  /* line number in spec file */
    46 extern int bookmark_level;
    49 /* semantic routines for input statements */
    50 void input_push_context (void);
    51 void input_pop_context (void);
    52 void input_set_modifier_context (input_modifier_type_t type);
    53 void input_set_file (char *name);
    54 void input_set_rotation (int rotation);
    55 void input_images (range_t range);
    57 /* semantic routines for output statements */
    58 void output_push_context (void);
    59 void output_pop_context (void);
    60 void output_set_file (char *name);
    61 void output_set_bookmark (char *name);
    62 void output_set_page_label (page_label_t label);
    63 void output_pages (range_t range);
    66 /* functions to be called from main program: */
    67 boolean parse_spec_file (char *fn);
    68 boolean process_specs (void);