home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / sun / volume1 / touchup2.5 / part01 / header.h next >
Encoding:
C/C++ Source or Header  |  1989-07-12  |  6.8 KB  |  263 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.         date:    Tue Jun 28 12:34:29 EDT 1988
  34.         author:    rainier!pell@uunet.UU.NET
  35.         changes:corrected a declaration error for old_x ....
  36. **************************************************************************/
  37. #include <stdio.h>
  38. #include <strings.h>
  39. #include <sys/file.h>
  40. #include <suntool/sunview.h>
  41. #include <suntool/panel.h>
  42. #include <suntool/canvas.h>
  43. #include <suntool/walkmenu.h>
  44. #include <suntool/scrollbar.h>
  45. #include <pixrect/pixrect_hs.h>
  46.  
  47. #define CLEAR 1
  48. #define NO_CLEAR 0
  49.  
  50. #define DEFAULT_IMAGE_WID  1152
  51. #define DEFAULT_IMAGE_HGT  900
  52.  
  53.  
  54. #define TEXT 0
  55. #define MAGNIFY 1
  56. #define SEL_REG 2
  57. #define GET_PT 3
  58. #define LASO 4
  59. #define FFILL 5
  60. #define PAINT 6
  61. #define DRAW 7
  62. #define LINE 8
  63. #define ERASE 9
  64. #define RECT_H 10
  65. #define RECT_F 11
  66. #define CIRCLE 12
  67. #define OVAL 13
  68. #define POLY_H 14
  69. #define POLY_F 15
  70.  
  71. #define FLIP_HOR 0
  72. #define FLIP_VER 1
  73. #define INVERSE 2
  74. #define ROTATE 3
  75. #define COPY 4
  76. #define SCALE 5
  77. #define MOVE 6
  78. #define CUT 7
  79. #define PASTE 8
  80.  
  81. #define TRANSPARENT 7
  82.  
  83. #define PIX_XOR PIX_SRC^PIX_DST
  84. #define MAX_PTS 3000
  85.  
  86. #define MIN(x,y) ((x) < (y) ? (x) : (y))
  87. #define MAX(x,y) ((x) > (y) ? (x) : (y))
  88.  
  89. #define TEXT_HGT real_font->pf_defaultsize.y
  90.  
  91. #define MAX_POLY 100
  92.  
  93. #define BRUSH_NO 7
  94.  
  95. #define CURSOR_SIZE 22
  96. #define PATTERN_SIZE 32
  97. #define PATTERN_NO 40
  98.  
  99. #define COMMAND_SIZE 48
  100. #define COMMAND_NO 16
  101.  
  102. #define MAIN_FONT "/usr/lib/fonts/fixedwidthfonts/screen.r.14"
  103.  
  104. #define MY_pr_destroy(prect) if (prect) pr_destroy(prect);prect=NULL;
  105.  
  106. #define MAX_FILE_NAME 120
  107.  
  108. #define SAVE_ALL 0
  109. #define SAVE_CUT_PASTE 1
  110.  
  111. #define LOAD_ALL 0
  112. #define LOAD_CUT_PASTE 1
  113.  
  114. #define NILPR ((struct pixrect *)0)
  115.  
  116. #define PALET_BLOCK 15
  117.  
  118. #define SCREEN_MAX_X  400
  119. #define SCREEN_MAX_Y  400
  120.  
  121. extern int BW_mode;
  122. extern int run_box;
  123. extern int paint_brush,line_brush;
  124. extern int brush_radius[7];
  125. extern unsigned char red[256],green[256],blue[256];
  126. extern unsigned char temp_red[256],temp_green[256],temp_blue[256];
  127. extern int image_wid,image_hgt,image_depth;
  128. extern int top_x,top_y,bottom_x,bottom_y;
  129. extern int cur_color,grid_size;
  130. extern int magnify_fac,fat_x,fat_y,fat_source_x,fat_source_y;
  131. extern int mouse_left,mouse_middle;
  132. extern int select_pt_x,select_pt_y;
  133. extern int old_x, old_y;
  134. extern int start_x, start_y;
  135. extern char file_name[MAX_FILE_NAME];
  136. extern struct pixrect *cut_buffer_pr,*undo_pr;
  137. extern struct pixfont *main_font;
  138. extern struct pixrect *brush_temp_pr;
  139. extern struct pixrect *pattern[];
  140. extern struct pixrect *brushes[];
  141. extern struct pr_pos poly_points[];
  142. extern struct pr_pos  ptlist[];
  143.  
  144. extern struct  pixfont  *real_font;
  145.  
  146. extern Frame base_frame,fat_frame,color_frame;
  147. extern Frame confirmer;
  148. extern Canvas canvas,fat_canvas,color_canvas;
  149. extern Pixwin *pw,*fat_pw,*color_pw;
  150. extern Scrollbar    vertical_sb, horizontal_sb;
  151. extern Panel       panel,fat_panel,color_panel,pattern_panel,
  152.         brush_panel,region_panel,command_panel, text_panel;
  153. extern Panel_item magnify_cycle, command_choice,height_text,width_text;
  154. extern Panel_item lasso_remove, text_choice;
  155. extern Panel_item file_panel,brush_choice,mono_cycle,save_cycle,
  156.     msg_string,color_button,border_cycle,view_cycle,current_pattern,
  157.         load_cycle,pattern_choice,region_choice,grid_cycle,
  158.         compress_cycle,undo_button,ROP_cycle,yes_button,no_button;
  159.  
  160. extern struct pixrect            brush1_pr,brush2_pr,brush3_pr,
  161.                     brush4_pr,brush5_pr,brush6_pr,
  162.                     brush7_pr;
  163.  
  164. extern struct pixrect            text_center_pr,text_left_pr,
  165.                     text_right_pr;
  166.  
  167. extern struct pixrect            pattern1_pr,pattern2_pr,pattern3_pr,
  168.                     pattern4_pr,pattern5_pr,
  169.                     pattern6_pr,pattern7_pr,
  170.                     pattern8_pr,pattern9_pr,
  171.                     pattern10_pr,
  172.                          pattern11_pr,pattern12_pr,pattern13_pr,
  173.                     pattern14_pr,pattern15_pr,
  174.                     pattern16_pr,pattern17_pr,
  175.                     pattern18_pr,pattern19_pr,
  176.                     pattern20_pr,
  177.                          pattern21_pr,pattern22_pr,pattern23_pr,
  178.                     pattern24_pr,pattern25_pr,
  179.                     pattern26_pr,pattern27_pr,
  180.                     pattern28_pr,pattern29_pr,
  181.                     pattern30_pr,
  182.                          pattern31_pr,pattern32_pr,pattern33_pr,
  183.                     pattern34_pr,pattern35_pr,
  184.                     pattern36_pr,pattern37_pr,
  185.                     pattern38_pr,pattern39_pr,
  186.                     pattern40_pr;
  187.  
  188. extern struct pixrect            command1_pr,command2_pr,command3_pr,
  189.                     command4_pr,command5_pr,
  190.                     command6_pr,command7_pr,
  191.                     command8_pr,command9_pr,
  192.                     command10_pr,
  193.                          command11_pr,
  194.                     command12_pr,command13_pr,
  195.                     command14_pr,command15_pr,
  196.                     command16_pr;
  197.  
  198. extern struct pixrect            reg_command1_pr,reg_command2_pr,
  199.                     reg_command3_pr,reg_command4_pr,
  200.                     reg_command5_pr,reg_command6_pr,
  201.                     reg_command7_pr,reg_command8_pr,
  202.                     reg_command9_pr;
  203.  
  204. extern char *malloc();
  205. extern quit();
  206. extern color_handle_event();
  207. extern draw_colormap();
  208. extern color_done();
  209. extern fat_mode();
  210. extern fat_handle_event();
  211. extern fat_parms();
  212. extern fat_update();
  213. extern fat_done();
  214. extern handle_event();
  215. extern load_file();
  216. extern save_file();
  217. extern cut_region();
  218. extern copy_region();
  219. extern paste_region();
  220. extern mouse_parms();
  221. extern change_parms();
  222. extern color_mode();
  223. extern undo_screen();
  224. extern poly_addpt();
  225. extern clear_screen();
  226. extern clean_poly();
  227. extern confirm();
  228. extern draw_circle();
  229. extern draw_oval();
  230. extern init_colortable();
  231. extern command_handle();
  232. extern region_handle();
  233. extern struct pixrect *my_mem_create();
  234. extern rotate_region();
  235. extern draw_text();
  236. extern fill_mode();
  237. extern move_region();
  238. extern info_init();
  239. extern pattern_define();
  240. extern viewer();
  241. extern select_pattern();
  242. extern char *expand_file_name();
  243. extern make_new_name();
  244. extern int get_current_ROP();
  245. extern resize_canvas();
  246. extern return_true();
  247. extern return_false();
  248. extern change_brush();
  249. extern move_box();
  250.  
  251. #ifdef CHANGE_CURSOR
  252. extern Cursor old_cur, draw_cur, erase_cur, ffill_cur, laso_cur,
  253.          paint_cur, sel_point_cur, text_cur;
  254. extern init_cursors();
  255. extern change_cursor();
  256. #endif
  257.  
  258.  
  259. int new_draw_text();
  260. int finsih_text();
  261.  
  262.  
  263.