home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / x / volume19 / xfig / part03 / mode.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-05-27  |  4.5 KB  |  181 lines

  1. /*
  2.  * FIG : Facility for Interactive Generation of figures
  3.  * Copyright (c) 1985 by Supoj Sutanthavibul
  4.  *
  5.  * "Permission to use, copy, modify, distribute, and sell this software and its
  6.  * documentation for any purpose is hereby granted without fee, provided that
  7.  * the above copyright notice appear in all copies and that both the copyright
  8.  * notice and this permission notice appear in supporting documentation. 
  9.  * No representations are made about the suitability of this software for 
  10.  * any purpose.  It is provided "as is" without express or implied warranty."
  11.  */
  12.  
  13. #define        F_NULL            0
  14. #define        FIRST_DRAW_MODE        F_CIRCLE_BY_RAD
  15. #define        F_CIRCLE_BY_RAD        1
  16. #define        F_CIRCLE_BY_DIA        2
  17. #define        F_ELLIPSE_BY_RAD    3
  18. #define        F_ELLIPSE_BY_DIA    4
  19. #define        F_CIRCULAR_ARC        5
  20. #define        F_POLYLINE        6
  21. #define        F_BOX            7
  22. #define        F_POLYGON        8
  23. #define        F_TEXT            9
  24. #define        F_SPLINE        10
  25. #define        F_CLOSED_SPLINE        11
  26. #define        F_INTSPLINE        12
  27. #define        F_CLOSED_INTSPLINE    13
  28. #define        F_ARC_BOX        14
  29. #define        F_REGPOLY        15
  30. #define        F_EPSOBJ        16
  31. #define        FIRST_EDIT_MODE        F_GLUE
  32. #define        F_GLUE            30
  33. #define        F_BREAK            31
  34. #define        F_SCALE            32
  35. #define        F_ADD            33
  36. #define        F_COPY            34
  37. #define        F_MOVE            35
  38. #define        F_DELETE        36
  39. #define        F_MOVE_POINT        37
  40. #define        F_DELETE_POINT        38
  41. #define        F_ADD_POINT        39
  42. #define        F_DELETE_ARROW_HEAD    40
  43. #define        F_ADD_ARROW_HEAD    41
  44. #define        F_FLIP            42
  45. #define        F_ROTATE        43
  46. #define        F_AUTOARROW        44
  47. #define        F_CONVERT        45
  48. #define        F_CHANGE        46
  49. #define        F_UPDATE        47
  50. #define        F_ALIGN            48
  51. #define        F_ZOOM            49
  52. #define        F_LOAD            50
  53. #define        F_EDIT            50
  54.  
  55. extern int    cur_mode;
  56.  
  57. /* alignment mode */
  58. #define        NONE            0
  59. #define        LEFT            1
  60. #define        TOP            1
  61. #define        CENTER            2
  62. #define        RIGHT            3
  63. #define        BOTTOM            3
  64.  
  65. extern int    cur_halign;
  66. extern int    cur_valign;
  67.  
  68. /* angle geometry */
  69. #define        L_UNCONSTRAINED        0
  70. #define        L_LATEXLINE        1
  71. #define        L_LATEXARROW        2
  72. #define        L_MOUNTHATTAN        3
  73. #define        L_MANHATTAN        4
  74. #define        L_MOUNTAIN        5
  75.  
  76. extern int    manhattan_mode;
  77. extern int    mountain_mode;
  78. extern int    latexline_mode;
  79. extern int    latexarrow_mode;
  80.  
  81. /* arrow mode */
  82. #define        L_NOARROWS        0
  83. #define        L_FARROWS        1
  84. #define        L_FBARROWS        2
  85. #define        L_BARROWS        3
  86.  
  87. extern int    autoforwardarrow_mode;
  88. extern int    autobackwardarrow_mode;
  89.  
  90. /* grid mode */
  91. #define        GRID_0            0
  92. #define        GRID_1            1
  93. #define        GRID_2            2
  94.  
  95. extern int    cur_gridmode;
  96.  
  97. /* point position */
  98. #define        P_ANY            0
  99. #define        P_MAGNET        1
  100. #define        P_GRID1            2
  101. #define        P_GRID2            3
  102.  
  103. extern int    cur_pointposn;
  104. extern int    posn_rnd[P_GRID2 + 1];
  105. extern int    posn_hlf[P_GRID2 + 1];
  106. extern int    grid_fine[P_GRID2 + 1];
  107. extern int    grid_coarse[P_GRID2 + 1];
  108. extern char    *grid_name[P_GRID2 + 1];
  109.  
  110. /* rotn axis */
  111. #define        UD_FLIP            1
  112. #define        LR_FLIP            2
  113.  
  114. extern int    cur_rotnangle;
  115.  
  116. /* smart link mode */
  117. #define        SMART_OFF        0
  118. #define        SMART_MOVE        1
  119. #define        SMART_SLIDE        2
  120.  
  121. extern int    cur_linkmode;
  122.  
  123. /* misc */
  124. extern int    action_on;
  125. extern int    highlighting;
  126. extern int    aborting;
  127. extern int    anypointposn;
  128. extern int    figure_modified;
  129. extern int    cur_numsides;
  130. extern char    cur_fig_units[32];
  131. extern Boolean    warnexist;
  132.  
  133. extern void    reset_modifiedflag();
  134. extern void    set_modifiedflag();
  135. extern void    reset_action_on();
  136. extern void    set_action_on();
  137.  
  138. /**********************     global mode variables    ************************/
  139.  
  140. extern int    num_point;
  141. extern int    min_num_points;
  142.  
  143. /***************************  Export Settings  ****************************/
  144.  
  145. extern Boolean    export_flushleft;    /* flush left (true) or center (false) */
  146.  
  147. /***************************  Print Settings  ****************************/
  148.  
  149. extern int    print_landscape;/* def. orientation for printer */
  150. extern Boolean    print_flushleft; /* flush left (true) or center (false) */
  151.  
  152. #define NUM_EXP_LANG    15    /* number of export languages */
  153. #define LANG_EPS    7    /* position of eps starting from 0 */
  154. #define LANG_PS        8    /* position of ps starting from 0 */
  155. #define LANG_XBITMAP    14    /* position of xbm starting from 0 */
  156.  
  157. extern int    cur_exp_lang;
  158. extern char    *lang_items[NUM_EXP_LANG];
  159. extern char    *lang_texts[NUM_EXP_LANG];
  160. extern Boolean  batch_exists;
  161. extern char     batch_file[];
  162.  
  163. /***************************  Mode Settings  ****************************/
  164.  
  165. extern int    cur_objmask;
  166. extern int    cur_updatemask;
  167. extern int    cur_depth;
  168.  
  169. /***************************  Text Settings  ****************************/
  170.  
  171. extern int    hidden_text_length;
  172. extern float    cur_textstep;
  173.  
  174. /***************************  File Settings  ****************************/
  175.  
  176. extern char    cur_dir[];
  177. extern char    cur_filename[];
  178. extern char    save_filename[];  /* to undo load */
  179. extern char    file_header[];
  180. extern char    cut_buf_name[];
  181.