[BACK]Return to term.h CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/term.h between version 1.4 and 1.14

version 1.4, 2009/02/22 19:23:48 version 1.14, 2009/03/02 17:14:46
Line 21 
Line 21 
   
 #include "mdoc.h"  #include "mdoc.h"
   
   #define INDENT            6
   
 __BEGIN_DECLS  __BEGIN_DECLS
   
   enum    tsym {
           TERMSYM_RBRACK =        0,
           TERMSYM_LBRACK =        1,
           TERMSYM_LARROW =        2,
           TERMSYM_RARROW =        3,
           TERMSYM_UARROW =        4,
           TERMSYM_DARROW =        5,
           TERMSYM_LSQUOTE =       6,
           TERMSYM_RSQUOTE =       7,
           TERMSYM_SQUOTE =        8,
           TERMSYM_LDQUOTE =       9,
           TERMSYM_RDQUOTE =       10,
           TERMSYM_DQUOTE =        11,
           TERMSYM_LT =            12,
           TERMSYM_GT =            13,
           TERMSYM_LE =            14,
           TERMSYM_GE =            15,
           TERMSYM_EQ =            16,
           TERMSYM_NEQ =           17,
           TERMSYM_ACUTE =         18,
           TERMSYM_GRAVE =         19,
           TERMSYM_PI =            20,
           TERMSYM_PLUSMINUS =     21,
           TERMSYM_INF =           22,
           TERMSYM_INF2 =          23,
           TERMSYM_NAN =           24,
           TERMSYM_BAR =           25,
           TERMSYM_BULLET =        26,
           TERMSYM_AMP =           27,
   };
   
   
   enum    tstyle {
           TERMSTYLE_CLEAR =       0,
           TERMSTYLE_BOLD =        1,
           TERMSTYLE_UNDER =       2,
           TERMSTYLE_MAX =         3
   };
   
   struct  termsym {
           const char       *sym;
           size_t            sz;
   };
   
 struct  termp {  struct  termp {
         size_t            rmargin;          size_t            rmargin;
         size_t            maxrmargin;          size_t            maxrmargin;
Line 37  struct termp {
Line 83  struct termp {
 #define TERMP_NOBREAK    (1 << 4)       /* No break after flush. */  #define TERMP_NOBREAK    (1 << 4)       /* No break after flush. */
 #define TERMP_LITERAL    (1 << 5)       /* Literal words. */  #define TERMP_LITERAL    (1 << 5)       /* Literal words. */
 #define TERMP_IGNDELIM   (1 << 6)       /* Delims like regulars. */  #define TERMP_IGNDELIM   (1 << 6)       /* Delims like regulars. */
   #define TERMP_NONOSPACE  (1 << 7)       /* No space (no autounset). */
         char             *buf;          char             *buf;
           struct termsym   *symtab;       /* Special-symbol table. */
           struct termsym   *styletab;     /* Style table. */
 };  };
   
   struct  termpair {
           struct termpair  *ppair;
           int               type;
   #define TERMPAIR_FLAG    (1 << 0)
           int               flag;
           size_t            offset;
           size_t            rmargin;
           int               count;
   };
   
   #define TERMPAIR_SETFLAG(termp, p, fl) \
           do { \
                   assert(! (TERMPAIR_FLAG & (p)->type)); \
                   (termp)->flags |= (fl); \
                   (p)->flag = (fl); \
                   (p)->type |= TERMPAIR_FLAG; \
           } while (0)
   
 struct  termact {  struct  termact {
         int             (*pre)(struct termp *,          int             (*pre)(struct termp *,
                                   struct termpair *,
                                 const struct mdoc_meta *,                                  const struct mdoc_meta *,
                                 const struct mdoc_node *);                                  const struct mdoc_node *);
         void            (*post)(struct termp *,          void            (*post)(struct termp *,
                                   struct termpair *,
                                 const struct mdoc_meta *,                                  const struct mdoc_meta *,
                                 const struct mdoc_node *);                                  const struct mdoc_node *);
 };  };
   
 void                      termprint(const struct mdoc_node *,  
                                 const struct mdoc_meta *);  
   
 void                      newln(struct termp *);  void                      newln(struct termp *);
 void                      vspace(struct termp *);  void                      vspace(struct termp *);
 void                      word(struct termp *, const char *);  void                      word(struct termp *, const char *);
 void                      flushln(struct termp *);  void                      flushln(struct termp *);
 void                      transcode(struct termp *,  void                      transcode(struct termp *,
                                 const char *, size_t);                                  const char *, size_t);
   void                      subtree(struct termp *,
                                   const struct mdoc_meta *,
                                   const struct mdoc_node *);
   
   
 const   struct termact   *termacts;  const   struct termact   *termacts;
   

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.14

CVSweb