home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume15 / touchup / part01 / header.h < prev    next >
Encoding:
C/C++ Source or Header  |  1988-06-14  |  6.6 KB  |  254 lines

  1.  
  2. /**************************************************************************
  3.    Touchup a bitmap graphics editor for the Sun Workstation running SunView
  4.    Copyright (c) 1988 by Raymond Kreisel
  5.    1/22/88 @ Suny Stony Brook
  6.  
  7.    This program may be redistributed without fee as long as this copyright
  8.    notice is intact.
  9.  
  10. ==> PLEASE send comments and bug reports to one of the following addresses:
  11.  
  12.        Ray Kreisel
  13.        CS Dept., SUNY at Stony Brook, Stony Brook NY 11794
  14.  
  15.        UUCP: {allegra, philabs, pyramid, research}!sbcs!rayk   
  16.        ARPA-Internet: rayk@sbcs.sunysb.edu            
  17.        CSnet: rayk@suny-sb
  18.        (If nobody is home at any of the above addresses try:
  19.         S72QKRE@TOWSONVX.BITNET                    )
  20.  
  21.  "If I get home before daylight, I just might get some sleep tonight...."
  22.  
  23. **************************************************************************/
  24. /**************************************************************************
  25.     file: header.h
  26.     purpose: this file has all of the gobals that need to be defined
  27.         and the proper include files
  28.     modifications:
  29.         date:    Tue Mar 22 22:04:58 EST 1988
  30.         author:    rayk
  31.         changes:add comments
  32. **************************************************************************/
  33. #include <stdio.h>
  34. #include <sys/file.h>
  35. #include <suntool/sunview.h>
  36. #include <suntool/panel.h>
  37. #include <suntool/canvas.h>
  38. #include <suntool/walkmenu.h>
  39. #include <suntool/scrollbar.h>
  40. #include <math.h>
  41. #include <pixrect/pixrect_hs.h>
  42.  
  43.  
  44. #define DEFAULT_IMAGE_WID  1152
  45. #define DEFAULT_IMAGE_HGT  900
  46.  
  47.  
  48. #define TEXT 0
  49. #define MAGNIFY 1
  50. #define SEL_REG 2
  51. #define GET_PT 3
  52. #define LASO 4
  53. #define FFILL 5
  54. #define PAINT 6
  55. #define DRAW 7
  56. #define LINE 8
  57. #define ERASE 9
  58. #define RECT_H 10
  59. #define RECT_F 11
  60. #define CIRCLE 12
  61. #define OVAL 13
  62. #define POLY_H 14
  63. #define POLY_F 15
  64.  
  65. #define FLIP_HOR 0
  66. #define FLIP_VER 1
  67. #define INVERSE 2
  68. #define ROTATE 3
  69. #define COPY 4
  70. #define PASTE 5
  71. #define MOVE 6
  72. #define CUT 7
  73.  
  74. #define PIX_XOR PIX_SRC^PIX_DST
  75. #define MAX_PTS 3000
  76.  
  77. #define MIN(x,y) ((x) < (y) ? (x) : (y))
  78. #define MAX(x,y) ((x) > (y) ? (x) : (y))
  79.  
  80. #define MAX_POLY 100
  81.  
  82. #define BRUSH_NO 6
  83.  
  84. #define PATTERN_SIZE 32
  85. #define PATTERN_NO 40
  86.  
  87. #define COMMAND_SIZE 48
  88. #define COMMAND_NO 16
  89.  
  90. #define MAIN_FONT "/usr/lib/fonts/fixedwidthfonts/screen.r.14"
  91.  
  92. #define MY_pr_destroy(prect) if (prect) pr_destroy(prect);prect=NULL;
  93.  
  94. #define MAINWIN 1
  95. #define FATWIN 2
  96. #define COLORWIN 3
  97.  
  98. #define MAX_FILE_NAME 120
  99. #define DELETE_KEY 127
  100.  
  101. #define SAVE_ALL 0
  102. #define SAVE_CUT_PASTE 1
  103.  
  104. #define LOAD_ALL 0
  105. #define LOAD_CUT_PASTE 1
  106.  
  107. #define SUNWHITE   0
  108. #define SUNBLACK   1
  109.  
  110. #define NILPR ((struct pixrect *)0)
  111.  
  112. #define PALET_BLOCK 15
  113.  
  114. /* constants */
  115. #define SCREEN_MAX_X  400
  116. #define SCREEN_MAX_Y  400
  117.  
  118. extern unsigned char red[256],green[256],blue[256];
  119. extern unsigned char temp_red[256],temp_green[256],temp_blue[256];
  120. extern int image_wid,image_hgt,image_depth;
  121. extern int top_x,top_y,bottom_x,bottom_y;
  122. extern int cur_color,grid_size;
  123. extern int magnify_fac,fat_x,fat_y,fat_source_x,fat_source_y;
  124. extern int mouse_left,mouse_middle;
  125. extern int select_pt_x,select_pt_y;
  126. extern int old_x; old_y;
  127. extern int start_x; start_y;
  128. extern char file_name[MAX_FILE_NAME];
  129. extern struct pixrect *cut_buffer_pr,*undo_pr;
  130. extern struct pixfont *main_font;
  131. extern struct pixrect *pattern[];
  132. extern struct pixrect *brushes[];
  133. extern struct  pixfont  *font_array[];
  134. extern struct pr_pos poly_points[];
  135. extern struct pr_pos  ptlist[];
  136.  
  137. extern struct  pixfont  *screen_r_7;
  138. extern struct  pixfont  *screen_r_11;
  139. extern struct  pixfont  *screen_r_12;
  140. extern struct  pixfont  *screen_r_14;
  141. extern struct  pixfont  *screen_b_12;
  142. extern struct  pixfont  *screen_b_14;
  143.  
  144. extern struct  pixfont  *pcfont_b_14;
  145. extern struct  pixfont  *pcfont_r_14;
  146.  
  147. extern struct  pixfont  *cour_b_10;
  148. extern struct  pixfont  *cour_b_12;
  149. extern struct  pixfont  *cour_b_16;
  150. extern struct  pixfont  *cour_b_24;
  151.  
  152. extern struct  pixfont  *cour_r_10;
  153. extern struct  pixfont  *cour_r_12;
  154. extern struct  pixfont  *cour_r_16;
  155. extern struct  pixfont  *cour_r_24;
  156.  
  157. extern struct  pixfont  *serif_r_10;
  158. extern struct  pixfont  *serif_r_11;
  159. extern struct  pixfont  *serif_r_16;
  160.  
  161.  
  162. extern Frame base_frame,fat_frame,color_frame;
  163. extern Canvas canvas,fat_canvas,color_canvas;
  164. extern Pixwin *pw,*fat_pw,*color_pw;
  165. extern Scrollbar    vertical_sb, horizontal_sb;
  166. extern Panel       panel,fat_panel,color_panel,pattern_panel,
  167.         brush_panel,region_panel,command_panel;
  168. extern Panel_item magnify_cycle, command_choice,text_size_item;
  169. extern Panel_item  text_panel,file_panel,brush_choice,mono_cycle,save_cycle,
  170.     msg_string,color_button,border_cycle,view_cycle,current_pattern,
  171.         load_cycle,pattern_choice,region_choice,grid_cycle,
  172.         compress_cycle,undo_button;
  173.  
  174. extern struct pixrect            brush1_pr,brush2_pr,brush3_pr,
  175.                     brush4_pr,brush5_pr,brush6_pr;
  176.  
  177.  
  178. extern struct pixrect            pattern1_pr,pattern2_pr,pattern3_pr,
  179.                     pattern4_pr,pattern5_pr,
  180.                     pattern6_pr,pattern7_pr,
  181.                     pattern8_pr,pattern9_pr,
  182.                     pattern10_pr,
  183.                          pattern11_pr,pattern12_pr,pattern13_pr,
  184.                     pattern14_pr,pattern15_pr,
  185.                     pattern16_pr,pattern17_pr,
  186.                     pattern18_pr,pattern19_pr,
  187.                     pattern20_pr,
  188.                          pattern21_pr,pattern22_pr,pattern23_pr,
  189.                     pattern24_pr,pattern25_pr,
  190.                     pattern26_pr,pattern27_pr,
  191.                     pattern28_pr,pattern29_pr,
  192.                     pattern30_pr,
  193.                          pattern31_pr,pattern32_pr,pattern33_pr,
  194.                     pattern34_pr,pattern35_pr,
  195.                     pattern36_pr,pattern37_pr,
  196.                     pattern38_pr,pattern39_pr,
  197.                     pattern40_pr;
  198.  
  199. extern struct pixrect            command1_pr,command2_pr,command3_pr,
  200.                     command4_pr,command5_pr,
  201.                     command6_pr,command7_pr,
  202.                     command8_pr,command9_pr,
  203.                     command10_pr,
  204.                          command11_pr,
  205.                     command12_pr,command13_pr,
  206.                     command14_pr,command15_pr,
  207.                     command16_pr;
  208.  
  209. extern struct pixrect            reg_command1_pr,reg_command2_pr,
  210.                     reg_command3_pr,reg_command4_pr,
  211.                     reg_command5_pr,reg_command6_pr,
  212.                     reg_command7_pr,reg_command8_pr;
  213.  
  214. extern char *malloc();
  215. extern quit();
  216. extern color_handle_event();
  217. extern draw_colormap();
  218. extern color_done();
  219. extern fat_mode();
  220. extern fat_handle_event();
  221. extern fat_parms();
  222. extern fat_update();
  223. extern fat_done();
  224. extern handle_event();
  225. extern load_file();
  226. extern save_file();
  227. extern cut_region();
  228. extern copy_region();
  229. extern paste_region();
  230. extern mouse_parms();
  231. extern change_parms();
  232. extern color_mode();
  233. extern undo_screen();
  234. extern poly_addpt();
  235. extern clear_screen();
  236. extern clean_poly();
  237. extern confirmer();
  238. extern draw_circle();
  239. extern draw_oval();
  240. extern init_colortable();
  241. extern command_handle();
  242. extern region_handle();
  243. extern struct pixrect *my_mem_create();
  244. extern rotate_region();
  245. extern draw_text();
  246. extern fill_mode();
  247. extern move_region();
  248. extern info_init();
  249. extern pattern_define();
  250. extern viewer();
  251. extern select_pattern();
  252. extern char *expand_file_name();
  253. extern make_new_name();
  254.