From decwrl!ucbvax!tut.cis.ohio-state.edu!rutgers!aramis.rutgers.edu!dartagnan.rutgers.edu!mcgrew Sat Aug 5 22:40:57 PDT 1989 Article 45 of comp.sources.sun: Path: decwrl!ucbvax!tut.cis.ohio-state.edu!rutgers!aramis.rutgers.edu!dartagnan.rutgers.edu!mcgrew From: mcgrew@dartagnan.rutgers.edu (Charles Mcgrew) Newsgroups: comp.sources.sun Subject: v01i043: Touchup 2.5 - a Sunview bitmap graphics editor, Part 01/07 Message-ID: Date: 12 Jul 89 20:34:32 GMT Organization: Rutgers Univ., New Brunswick, N.J. Lines: 1530 Approved: mcgrew@aramis.rutgers.edu Submitted-by: rayk@sbcs.sunysb.edu Posting-number: Volume 1, Issue 43 Archive-name: touchup2.5/part01 #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh header.h <<'END_OF_header.h' X X/************************************************************************** X Touchup a bitmap graphics editor for the Sun Workstation running SunView X Copyright (c) 1988 by Raymond Kreisel X 1/22/88 @ Suny Stony Brook X X This program may be redistributed without fee as long as this copyright X notice is intact. X X==> PLEASE send comments and bug reports to one of the following addresses: X X Ray Kreisel X CS Dept., SUNY at Stony Brook, Stony Brook NY 11794 X X UUCP: {allegra, philabs, pyramid, research}!sbcs!rayk X ARPA-Internet: rayk@sbcs.sunysb.edu X CSnet: rayk@suny-sb X (If nobody is home at any of the above addresses try: X S72QKRE@TOWSONVX.BITNET ) X X "If I get home before daylight, I just might get some sleep tonight...." X X**************************************************************************/ X/************************************************************************** X file: header.h X purpose: this file has all of the gobals that need to be defined X and the proper include files X modifications: X date: Tue Mar 22 22:04:58 EST 1988 X author: rayk X changes:add comments X X date: Tue Jun 28 12:34:29 EDT 1988 X author: rainier!pell@uunet.UU.NET X changes:corrected a declaration error for old_x .... X**************************************************************************/ X#include X#include X#include X#include X#include X#include X#include X#include X#include X X#define CLEAR 1 X#define NO_CLEAR 0 X X#define DEFAULT_IMAGE_WID 1152 X#define DEFAULT_IMAGE_HGT 900 X X X#define TEXT 0 X#define MAGNIFY 1 X#define SEL_REG 2 X#define GET_PT 3 X#define LASO 4 X#define FFILL 5 X#define PAINT 6 X#define DRAW 7 X#define LINE 8 X#define ERASE 9 X#define RECT_H 10 X#define RECT_F 11 X#define CIRCLE 12 X#define OVAL 13 X#define POLY_H 14 X#define POLY_F 15 X X#define FLIP_HOR 0 X#define FLIP_VER 1 X#define INVERSE 2 X#define ROTATE 3 X#define COPY 4 X#define SCALE 5 X#define MOVE 6 X#define CUT 7 X#define PASTE 8 X X#define TRANSPARENT 7 X X#define PIX_XOR PIX_SRC^PIX_DST X#define MAX_PTS 3000 X X#define MIN(x,y) ((x) < (y) ? (x) : (y)) X#define MAX(x,y) ((x) > (y) ? (x) : (y)) X X#define TEXT_HGT real_font->pf_defaultsize.y X X#define MAX_POLY 100 X X#define BRUSH_NO 7 X X#define CURSOR_SIZE 22 X#define PATTERN_SIZE 32 X#define PATTERN_NO 40 X X#define COMMAND_SIZE 48 X#define COMMAND_NO 16 X X#define MAIN_FONT "/usr/lib/fonts/fixedwidthfonts/screen.r.14" X X#define MY_pr_destroy(prect) if (prect) pr_destroy(prect);prect=NULL; X X#define MAX_FILE_NAME 120 X X#define SAVE_ALL 0 X#define SAVE_CUT_PASTE 1 X X#define LOAD_ALL 0 X#define LOAD_CUT_PASTE 1 X X#define NILPR ((struct pixrect *)0) X X#define PALET_BLOCK 15 X X#define SCREEN_MAX_X 400 X#define SCREEN_MAX_Y 400 X Xextern int BW_mode; Xextern int run_box; Xextern int paint_brush,line_brush; Xextern int brush_radius[7]; Xextern unsigned char red[256],green[256],blue[256]; Xextern unsigned char temp_red[256],temp_green[256],temp_blue[256]; Xextern int image_wid,image_hgt,image_depth; Xextern int top_x,top_y,bottom_x,bottom_y; Xextern int cur_color,grid_size; Xextern int magnify_fac,fat_x,fat_y,fat_source_x,fat_source_y; Xextern int mouse_left,mouse_middle; Xextern int select_pt_x,select_pt_y; Xextern int old_x, old_y; Xextern int start_x, start_y; Xextern char file_name[MAX_FILE_NAME]; Xextern struct pixrect *cut_buffer_pr,*undo_pr; Xextern struct pixfont *main_font; Xextern struct pixrect *brush_temp_pr; Xextern struct pixrect *pattern[]; Xextern struct pixrect *brushes[]; Xextern struct pr_pos poly_points[]; Xextern struct pr_pos ptlist[]; X Xextern struct pixfont *real_font; X Xextern Frame base_frame,fat_frame,color_frame; Xextern Frame confirmer; Xextern Canvas canvas,fat_canvas,color_canvas; Xextern Pixwin *pw,*fat_pw,*color_pw; Xextern Scrollbar vertical_sb, horizontal_sb; Xextern Panel panel,fat_panel,color_panel,pattern_panel, X brush_panel,region_panel,command_panel, text_panel; Xextern Panel_item magnify_cycle, command_choice,height_text,width_text; Xextern Panel_item lasso_remove, text_choice; Xextern Panel_item file_panel,brush_choice,mono_cycle,save_cycle, X msg_string,color_button,border_cycle,view_cycle,current_pattern, X load_cycle,pattern_choice,region_choice,grid_cycle, X compress_cycle,undo_button,ROP_cycle,yes_button,no_button; X Xextern struct pixrect brush1_pr,brush2_pr,brush3_pr, X brush4_pr,brush5_pr,brush6_pr, X brush7_pr; X Xextern struct pixrect text_center_pr,text_left_pr, X text_right_pr; X Xextern struct pixrect pattern1_pr,pattern2_pr,pattern3_pr, X pattern4_pr,pattern5_pr, X pattern6_pr,pattern7_pr, X pattern8_pr,pattern9_pr, X pattern10_pr, X pattern11_pr,pattern12_pr,pattern13_pr, X pattern14_pr,pattern15_pr, X pattern16_pr,pattern17_pr, X pattern18_pr,pattern19_pr, X pattern20_pr, X pattern21_pr,pattern22_pr,pattern23_pr, X pattern24_pr,pattern25_pr, X pattern26_pr,pattern27_pr, X pattern28_pr,pattern29_pr, X pattern30_pr, X pattern31_pr,pattern32_pr,pattern33_pr, X pattern34_pr,pattern35_pr, X pattern36_pr,pattern37_pr, X pattern38_pr,pattern39_pr, X pattern40_pr; X Xextern struct pixrect command1_pr,command2_pr,command3_pr, X command4_pr,command5_pr, X command6_pr,command7_pr, X command8_pr,command9_pr, X command10_pr, X command11_pr, X command12_pr,command13_pr, X command14_pr,command15_pr, X command16_pr; X Xextern struct pixrect reg_command1_pr,reg_command2_pr, X reg_command3_pr,reg_command4_pr, X reg_command5_pr,reg_command6_pr, X reg_command7_pr,reg_command8_pr, X reg_command9_pr; X Xextern char *malloc(); Xextern quit(); Xextern color_handle_event(); Xextern draw_colormap(); Xextern color_done(); Xextern fat_mode(); Xextern fat_handle_event(); Xextern fat_parms(); Xextern fat_update(); Xextern fat_done(); Xextern handle_event(); Xextern load_file(); Xextern save_file(); Xextern cut_region(); Xextern copy_region(); Xextern paste_region(); Xextern mouse_parms(); Xextern change_parms(); Xextern color_mode(); Xextern undo_screen(); Xextern poly_addpt(); Xextern clear_screen(); Xextern clean_poly(); Xextern confirm(); Xextern draw_circle(); Xextern draw_oval(); Xextern init_colortable(); Xextern command_handle(); Xextern region_handle(); Xextern struct pixrect *my_mem_create(); Xextern rotate_region(); Xextern draw_text(); Xextern fill_mode(); Xextern move_region(); Xextern info_init(); Xextern pattern_define(); Xextern viewer(); Xextern select_pattern(); Xextern char *expand_file_name(); Xextern make_new_name(); Xextern int get_current_ROP(); Xextern resize_canvas(); Xextern return_true(); Xextern return_false(); Xextern change_brush(); Xextern move_box(); X X#ifdef CHANGE_CURSOR Xextern Cursor old_cur, draw_cur, erase_cur, ffill_cur, laso_cur, X paint_cur, sel_point_cur, text_cur; Xextern init_cursors(); Xextern change_cursor(); X#endif X X Xint new_draw_text(); Xint finsih_text(); X X END_OF_header.h if test 6951 -ne `wc -c Makefile <<'END_OF_Makefile' XCFLAGS = -g -DCHANGE_CURSOR XOPTIONS = XLIBS = -lsuntool -lsunwindow -lpixrect -lm XEXE = touchup XOBJ = ffill.o cms_rainbow.o oval.o circle.o confirmer.o fat.o touchup.o \ X info.o fonts.o brush.o command.o color_palet.o \ X disk_io.o pattern.o drawing.o interface.o magnify.o cursor.o X X XSRC = ffill.c cms_rainbow.c oval.c circle.c confirmer.c fat.c touchup.c \ X info.c fonts.c brush.c command.c color_palet.c \ X disk_io.c pattern.c drawing.c magnify.c cursor.c X X XSH_BASE_DIR = /u13/sr/rayk/touchup XSH_PATTERNS_DIR = pattern_icons XSH_COMMANDS_DIR = command_icons X X X X################################################################ X# change these dirs if you move the files X################################################################ X# next line must be hard coded if not using csh; no trailing space! X# remove the comment at the begining of the next line if you are X# not using csh and set the path to the path of the dir that touchup is in. X#PWD=/usr/yourlogin/src/touchup XBASE_DIR = $(PWD) XPATTERNS_DIR = $(BASE_DIR)/pattern_icons XCOMMANDS_DIR = $(BASE_DIR)/command_icons XINFO_PICTURE = $(BASE_DIR)/info.image XMAN_PAGE= $(BASE_DIR)/touchup.cat X############################################################### X############################################################### X X X$(EXE): .install $(OBJ) touchup.cat X $(CC) $(CFLAGS) -o $(EXE) $(OBJ) $(OPTIONS) $(LIBS) X strip touchup #final version X X Xinterface.o : X $(CC) $(CFLAGS) -c interface.c -I$(PATTERNS_DIR) $(OPTIONS) X Xpattern.o: X $(CC) $(CFLAGS) -c pattern.c -I$(PATTERNS_DIR) $(OPTIONS) X Xbrush.o: X $(CC) $(CFLAGS) -c brush.c -I$(PATTERNS_DIR) $(OPTIONS) X Xcommand.o: X $(CC) $(CFLAGS) -c command.c -I$(COMMANDS_DIR) $(OPTIONS) X Xcursor.o: X $(CC) $(CFLAGS) -c cursor.c -I$(COMMANDS_DIR) $(OPTIONS) X Xfat.o: X $(CC) $(CFLAGS) -c fat.c $(OPTIONS) -DNO_FASTAN X Xcircle.o: X $(CC) $(CFLAGS) -c circle.c $(OPTIONS) X Xinfo.o: X $(CC) $(CFLAGS) -c info.c $(OPTIONS) -DINFO_IMAGE='"$(INFO_PICTURE)"' -DHELP_FILE='"$(MAN_PAGE)"' X Xfonts.o: X $(CC) $(CFLAGS) -c fonts.c $(OPTIONS) -DINSTALL_DIR='"$(BASE_DIR)"' X Xtouchup.o: X $(CC) $(CFLAGS) -c touchup.c $(OPTIONS) X X Xtouchup.cat: touchup.man X nroff -man $(BASE_DIR)/touchup.man | colcrt - > $(BASE_DIR)/touchup.cat X X Xshar: X uuencode info.image info.image > temp_image X shar -n1 -e7 header.h Makefile README touchup.man temp_image \ X touchup_fonts touchup.icon README_FONTS > touchup.shar1 X shar -n2 -e7 $(SH_COMMANDS_DIR) \ X $(SH_COMMANDS_DIR)/*.cicon \ X $(SH_COMMANDS_DIR)/*.cur \ X $(SH_COMMANDS_DIR)/strip_icon48x48 > touchup.shar2 X shar -n3 -e7 $(SH_PATTERNS_DIR) \ X $(SH_PATTERNS_DIR)/pattern[1-2]*.icon \ X $(SH_PATTERNS_DIR)/strip_icon32x32 > touchup.shar3 X shar -n4 -e7 $(SH_PATTERNS_DIR)/pattern[3-9]*.icon \ X $(SH_PATTERNS_DIR)/brush[1-9].icon > touchup.shar4 X shar -n5 -e7 [a-d]*.c > touchup.shar5 X shar -n6 -e7 [e-l]*.c > touchup.shar6 X shar -n7 -e7 [m-z]*.c > touchup.shar7 X rm -f temp_image X X.install: X @echo -n "The pattern directory is :" X @echo $(PATTERNS_DIR) X @echo -n "The command directory is :" X @echo $(COMMANDS_DIR) X @echo X @echo "if these are incorrect change the defintions in the Makefile" X @echo X touch info.image X chmod 777 info.image X uudecode temp_image X $(COMMANDS_DIR)/strip_icon48x48 $(COMMANDS_DIR) X $(PATTERNS_DIR)/strip_icon32x32 $(PATTERNS_DIR) X @echo X touch .install X Xmy_backup: X cp *.sh *.man *.c *.h Makefile backup X Xlint_it: $(SRC) X lint $(SRC) $(OPTIONS) $(LIBS) -DINFO_IMAGE='"$(INFO_PICTURE)"' -DHELP_FILE='"$(MAN_PAGE)"' -DNO_FASTAN X Xclean:; rm -f *.pat *.o X END_OF_Makefile if test 3558 -ne `wc -c README <<'END_OF_README' X/************************************************************************** X Touchup a bitmap graphics editor for the Sun Workstation running SunView X Copyright (c) 1988 by Raymond Kreisel X 1/22/88 @ Suny Stony Brook X X This program may be redistributed without fee as long as this copyright X notice is intact. X X==> PLEASE send comments and bug reports to one of the following addresses: X X Ray Kreisel X CS Dept., SUNY at Stony Brook, Stony Brook NY 11794 X X UUCP: {allegra, philabs, pyramid, research}!sbcs!rayk X ARPA-Internet: rayk@sbcs.sunysb.edu X CSnet: rayk@suny-sb X (If nobody is home at any of the above addresses try: X S72QKRE@TOWSONVX.BITNET ) X X "If I get home before daylight, I just might get some sleep tonight...." X X**************************************************************************/ X X X Touchup is a public domain bitmap editor for Sun workstations X that is very useful for "fixing" screen dumps and doing other X types of bitmap editing. Touchup is a powerful bitmap editor, X a few of the capabilities are listed below: X X - paint with different textures X - draw circles, rectangles, ovals, lines, and polygons X - examine and modify a region at magnification 1-20 X - use text in many fonts X - flood fill an area with a pattern X - lasso a free form region within a bitmap X - scale-stretch a region of a bitmap X - rotate a region X - move a region X X XHow to install Touchup X X1) Unpack all of the archive files into the same directory. X This should be the directory of final residence for the executable. X Be sure to unpack archive 3 before archive 4 so that the proper X directories are created. X X2) While in csh, type: X X printenv X X and be sure that the environment variable PWD appears and is set to X the current directory; otherwise, you must modify the Makefile, defining X PWD explicitly as the full path to the directory in which you have X unpacked the files. X X3) Type the following command: X X % make X X On our local Sun 3/280 server, where we install the system in X /usr/local/touchup, messages like the following are printed: X X The pattern directory is :/usr/local/touchup/pattern_icons X The command directory is :/usr/local/touchup/command_icons X X if these are incorrect change the definitions in the Makefile X X touch info.image X chmod 777 info.image X uudecode temp_image X /usr/maxwell/local/lib/touchup/strip_icon48x48 X Stripping circle_h.cicon... X Stripping copy.cicon... X X ... X X Stripping pattern40.icon... X Stripping brush1.icon... X Stripping brush2.icon... X Stripping brush3.icon... X Stripping brush4.icon... X Stripping brush5.icon... X Stripping brush6.icon... X X X5) Install the on-line manual page if desired: X X % cp touchup.man /usr/man/manl/touchup.l X X6) To clean up, you may remove all but the following files: X X touchup* X info.image X touchup.cat X touchup_fonts X X7) To run touchup simply type: X X % touchup X XNOTES: X There is a standard man page in the file touchup.man X or you can just press the "view" button on the upper X left hand side of the control panel to display the man page. X X If you are using Touchup on a color Sun you may want to X use the -n or -b option (you can read about these in the man page) X so the it will run faster. X X Please read the file README_FONTS if you want more fonts in text mode. X X revised by R. P. C. Rodgers, UCSF School of Pharmacy, X San Francisco, CA 94143 (rodgers@maxwell.mmwb.ucsf.edu) X X END_OF_README if test 3636 -ne `wc -c touchup.man <<'END_OF_touchup.man' X.TH TOUCHUP 1 "27 July 1988" X.SH NAME Xtouchup \- a bitmap graphics editor for Sun raster files X.SH SYNOPSIS X.B touchup X[ X.BI \-x " width" X] [ X.BI \-y " height" X] [ X.B \-n X] [ X.B \-p X] [ X.B \-f X] [ X.B \-b X] X.SH DESCRIPTION X.IX "touchup command" "" "\fLtouchup\fP \(em bitmap editor" X.IX edit bitmaps X.IX "screen bitmaps" edit X.LP X.I Touchup Xis an editor for bitmap raster files in Sun X.IR rasterfile (5) Xformat X.SH OPTIONS X.TP X.BI \-x " width" XUse X.I width Xas the width of the drawing area (default: 1152 pixels). X.TP X.BI \-y " height" XUse X.I height Xas the height of the drawing area (default: 900 pixels). X.TP X.B \-n XDisable the X.I undo Xcommand so that X.I touchup Xrequires less memory. XThe use of this option will make the color version much more usable for Xmachines with only 4 megabytes of main memory. X.TP X.B \-p XStart \fItouchup\fP with a drawing area of 900x1152. XThese dimensions are more suitable for printing images, Xas the drawing area is in proportion to the standard American 8.5 by 11 inch Xpaper size. X.TP X.B \-f XThis option will force \fItouchup\fP to use the default foreground Xand background colors instead of the foreground and background Xcolor of the image the is load from a file. X.TP X.B \-b XRun \fItouchup\fP in Black & White mode. This option is useful when you Xwant to use a color Sun to edit monochrome bitmaps. The use of this Xoption will also make the color version much more usable for Xmachines with only 4 megabytes of main memory. X.SH COMMANDS X.LP XTo edit a bitmap, type `\fBtouchup\fP'. XA \fIraster file\fP (5) Xfile name may be typed into the file name field once the program has started. XIf it exists, the \fIraster file\fP must be in \fISun Rasterfile\fP\^(5) format. XWhen the program starts, it displays a single large window containing Xfive subwindows. From top to bottom, the five subwindows are: X.SS "OPTION SUBWINDOW" X.LP XThe option subwindow presents global parameters for the Xentire drawing area operations for loading and saving files. XThe bottom line of this window is a message subwindow, which displays Xmessages, prompts, and warnings. The selectable options are: X.RS X.IP "\fBFile name:\fP" 10 XThe file name of the current bitmap. The ESC key can be used to do Xstandard X.IR csh (1) Xfile name completion. X.IP "\fB(Load)\fP" 10 XLoad the raster file specified in the file name field. X.RS X.IP "\fBLoad:Cut/Paste buffer\fP" 10 XLoad a raster file into the Cut/Paste buffer, where it can be previewed Xwith the X.B view Xfeature. When a color image is loaded in the Cut/Paste buffer the color map for Xthat image is lost. The color map is only loaded in when a color image is Xloaded into the drawing area, with option X.BR Load:entire image . X.IP "\fBLoad:entire image\fP" 10 XLoad a raster file into the drawing area and restrict the size of the drawing Xarea to the size of the raster file. If the image has depth greater than Xone then load the color map. X.RE X.IP "\fB(Save)\fP" XSave the current raster image in the file specified in the file name field: X.RS X.IP "\fBSave:Cut/Paste buffer\fP" 10 XSave only the current Cut/Paste buffer. X.IP "\fBSave:entire image\fP" 10 XSave the image in the drawing area. X.IP "\fBSave:standard format\fP" 10 XSave the drawing area image in standard Sun X.IR rasterfile (5) Xformat. X.IP "\fBSave:standard format\fP" 10 XWhen the save cycle is set to this mode the current image Xwill be saved out in the standard Sun raster file format. X.IP "\fBSave:Byte_Encoded\fP" 10 XSave the drawing area image in Sun X.IR rasterfile (5) XBYTE_ENCODED format. This can compress the file by as much as one half, Xbut such a file is not readable by the X.B screenload Xcommand. X.RE X.IP "\fB(Quit)\fP" XQuit the program. X.IP "\fBGrid: (none 5 10 15 20 25 30)\fP" XForce every bitmap operation to the closest grid point X(when grid value is greater than zero). The number following X.B Grid Xis the number of pixels between each grid point (the actual grid is not Xvisible). X.IP "\fBBitmap OP: default\fP" XThe BITMAP OP setting determines what boolean operation is to be performed Xbetween the drawing primitive and the destination bitmap. The possible Xboolean operations are default, which uses default settings for each Xcommand, XOR which does a exclusive-or (invert), AND which will do Xa AND between the bits in the drawing area and the ones you are drawing, XOR which will just set bits in the drawing area but not rest any bits, Xand SRC, which will just copy the source drawing directly on to the Xdrawing area. XFor example, Xif you wanted to place white text in to a black region of the drawing area. XYou would first set BITMAP OP to XOR (exclusive or) and do the normal Xcommands to place text in the drawing area. X.IP "\fB(undo)\fP" XWhen this button is pressed the last operation effecting the drawing Xarea will be removed. If this button is pressed again, the last Xoperation effecting the drawing area will be redisplayed. XAlso if you hold down the "shift" key and press the middle mouse Xbutton it will have the same effect as pressing the "undo" button. X.IP "\fB(view)\fP" XWhen this button is pressed a window will be displayed containing Xone of three possible images, depending on the "view" cycle. X.IP "\fBview:man page\fP" XThis will set the view to the manual page entry for X.IR Touchup , Xso that when Xthe "view" button is pressed, a window containing the manual page Xwill be displayed. X.IP "\fBview:Cut/Paste\fP" XThis will set the view to the current Cut/Paste buffer, so that when Xthe "view" button is pressed, a window with current Cut/Paste buffer Xwill be displayed. X.IP "\fBview:Touchup info\fP" XThis will set the view to the copyright notice for X.IR Touchup , Xso that when Xthe "view" button is pressed, a window with the copyright notice Xwill appear. X.IP "\fB(resize)\fP" XWhen this button is pressed the current value of the "height" and "width" Xfields will be used to resize the drawing area. For example if you want to Xchange the drawing area to a space of 512 by 512 pixels, you would simple Xselect the "height" field and type in 512 and then select the "width" field Xand type 512 then press the "resize" button. X.IP "\fBHeight: xxx\fP" XThis field displays the current height of the drawing area in pixels. XIf you press the LEFT mouse button while on top of this field, you Xcan type in a new value for this field. X.IP "\fBWidth: xxx\fP" XThis field displays the current width of the drawing area in pixels. X.IP "\fBBorders:Yes\fP" XThis cycle determines is borders are drawn on filled rectangles Xand filled polygons. X.IP "\fBDraw color:Black\fP" XThis cycle determines the color for DRAWing points, the border of Xfilled reactangles, the border of filled polygons, and lines. XThis option is ONLY available when you are running in on a mono Sun or Xwhen you are in Black & White mode. X.IP "\fB(color)\fP" XWhen \fBtouchup\fP is run on a color Sun this button will become visible. XWhen the "color" button is pressed the current colormap will be displayed, Xalong will the colormap editor. At the top of this window is the number of Xthe currently selected color and the RGB values for that color. When Xyou change the RGB values, by moving the sliders, the current color will Xdynamicly be changed. X.IP "\fB(color) (Load)\fP" XOnce the Color Palette is displayed you can Xload a colormap from a file by pressing the "Load" button on the XColor Palette window. The colormap will be loaded from the filename that Xdisplayed just under the "Load" button. X.IP "\fB(color) (Save)\fP" XOnce the Color Palette is displayed you can Xsave just the colormap to a file by pressing the "Save" button on the XColor Palette window. The colormap will be saved to the filename that Xdisplayed just under the "Save" button. X.IP "\fB(color) Filename:\fP" XThe filename that colormaps are loaded from and saved to. X.IP "\fBlasso clear:X\fP" XIf this option is turned on (it is turned on by default), Xthen when a region is selected Xwith the LASSO it will first copy the region to the Cut/Paste Xbuffer and then it will clear the selected region. If you place the Xmouse on top of the box after "lasso clear" and press the LEFT mouse Xbutton you can toggle this Xoption on and off. When this option is turned off the region that Xselected by LASSO is not cleared. X.IP "\fBMessages\fP" XThe bottom line of this window is a message subwindow, which displays Xmessages, prompts, and warnings. X.RE X.RE X.SS "PATTERN SUBWINDOW" X.LP XThe pattern subwindow, the subwindow on the lefthand edge of the main window, Xis the pattern subwindow. This subwindow contains all of the paint Xand fill patterns that can be used to draw pictures. XThe current pattern is selected by placing the mouse cursor on top of Xthe pattern that you want and pressing the LEFT mouse button. X.IP "\fB(Define pattern)\fP" XTo select a region on the drawing area as a new paint pattern: 1) select Xthe point at the center of the region, with the SELECT POINT command; 2) press X.BR "Define pattern" . X.SS "COMMAND SUBWINDOW" X.LP XThe command subwindow is the one that Xis on the right hand side of the main window. To select a command place the Xthe mouse cursor on top of the command that you want and press the LEFT Xmouse button. X.IP "\fBTEXT\fP" 10 XAfter you have selected the TEXT command, the ABC icon, Xmove to the drawing area and press the LEFT mouse button where Xyou want to place the text, then type your text string. XOnce you enter TEXT mode, the TEXT options will be displayed in the XEXTRA COMMAND SUBWINDOW in lower righthand corner. XThe icons in this window will allow you to choose either CENTERED, XLEFT JUSTIFIED, or RIGHT JUSTIFIED text. By clicking the LEFT mouse button Xon the different page images, the page formatting for text input will be set. XUnder the page images are the "fonts" button Xand the "pt size" button. When the "fonts" button is pressed a list Xof the current fonts will be displayed and the selected item will Xbecome the current font. Each font has a list of the possible point sizes Xwhich can be accessed from the "pt size" or point size button. When this Xbutton is pressed the list of the point sizes for the current font will Xbe displayed and you can pick one size from the list. X.IP "\fBMAGNIFY\fP" 10 XFirst use the SELECT POINT command to select a point within the drawing area that Xyou wish to look at in detail. Then press the command icon for MAGNIFY Xand a new subwindow with a magnified view of the selected area will be displayed. XIn the top line of the MAGNIFY subwindow you can set the magnification to any Xvalue between one and twenty. When the mouse cursor is within the magnified Xdrawing area, there are three possible commands. The LEFT mouse button will Xchange the current bit to the opposite color and then continue to draw in Xthat color. When the MIDDLE mouse button is held down and moved, it will change Xthe area of the bitmap that is magnified. When you are editing color images Xthe RIGHT mouse button will change the current drawing color to the color of Xthe pixel the mouse cursor is on top of. X.IP "\fBSELECT REGION\fP" 10 XFirst click the picture of the box made of dotted lines. XThen move to the drawing area and press the LEFT button when Xthe cursor is at the desired position and continue to hold the XLEFT button down while you drag the box to the opposite corner of the Xregion you wish to select. XIf you double click SELECT REGION then the entire drawing area will be Xselected. XIf you need to select an area bigger than the drawing window, Xfirst select one of the corners of the region with the LEFT mouse Xbutton. Then scroll the window so that the other corner of the Xregion you want is now visible. Place the cursor on top of the Xother corner of the region you want and press the the MIDDLE Xmouse button. X.IP "\fBSELECT POINT\fP" 10 XFirst click the picture of the cross hairs. XThen press the LEFT mouse button down and a cross hair Xwill appear; move the mouse while holding the LEFT mouse button down and the Xcross hair will follow it. Releasing the Xthe button will leave the cross hair. X.IP "\fBLASSO\fP" XFirst select the picture of the LASSO, (right above the paint brush), then Xmove the mouse to the drawing area. To LASSO a object hold down the LEFT mouse Xbutton and encircle the object that you wish to capture while the LEFT Xbutton is pressed. When you let go of the LEFT mouse button the selected Xobject will first be highlighted and then it will be copied into the Cut/Paste Xbuffer. Then you will be placed into MOVE mode, this function is documented Xin the Cut/Paste buffer operations section. X.IP "FLOOD FILL\fP" XFirst select a point on the drawing area that is inside a closed polygon region. XWhen the FLOOD FILL Xicon is pressed, it will start at the selected point and Xfill outward until it hits a border with the currently selected pattern. X.IP "\fBPAINT\fP" XOnce the PAINT command is selected, whenever the LEFT mouse button is pressed, Xa region of the drawing area will be painted with the current pattern and Xthe size of this region will be determined by the current brush size. XWhenever the paint command is selected a brush menu will appear in the window Xbelow the command subwindow. The current brush size can be set by placing the Xcursor on top of a brush size within the brush menu and pressing the LEFT Xmouse button. X.IP "\fBDRAW\fP" XOnce this command is selected, whenever the LEFT mouse button is pressed within the Xdrawing area a single pixel of the current DRAW COLOR will be placed at Xthe location of the mouse cursor. X.IP "\fBLINE\fP" XWhen this command is selected, a line thickness menu will appear in the Xlower righthand window. First select the thickness of the line, then Xselect the pattern, from the pattern menu, that the thick line will Xbe filled with. XThen the left button down marks the end point of a Xline; moving with the button down Xrubber bands a line; releasing button Xdraws the line with the current thickness and current fill pattern. X.IP "\fBERASE\fP" XPressing the LEFT button down will ERASE a small square region and Xmoving with the button down will Xcontinue ERASing until the LEFT button Xis released. If a region is already selected when the ERASE icon is pressed Xthe specified region will be erased. If you double click the ERASE icon the Xentire drawing area will be erased. X.IP "\fBRECTANGLE\fP" XWhen this command is selected, a border thickness menu will appear in the Xlower righthand window. First select the thickness of the border, then Xselect the pattern, from the pattern menu, that the borders will Xbe filled with. XThe left button down marks one corner of the rectangle X; moving with the button down Xrubber bands a rectangle; releasing button Xdraws the rectangle with the current thickness and current fill pattern. X.IP "\fBRECTANGLE Filled\fP" XLike \fBLINE\fP except draws a rectangle that is filled with the currently Xselected pattern, from the pattern menu. X.IP "\fBCIRCLE\fP" XMove the mouse cursor to the center of the circle that you with to draw Xand hold down the LEFT mouse button, then while continuing to hold the LEFT Xmouse button down extend the cursor to the radius of the circle that you want Xand then release the LEFT mouse button. X.IP "\fBOVAL\fP" XLike \fBCIRCLE\fP except draws a oval. X.IP "\fBPOLYGON\fP" XOnce this command is selected, move to the drawing area and press the LEFT mouse Xbutton when the cursor is at the first vertex of the polygon that Xyou wish to draw. Then continue to use the LEFT mouse button to select vertices Xof the polygon. When you have selected all of the vertice that you want, press Xthe RIGHT button to close the polygon. X.IP "\POLYGON FILLED\fP" XLike \fBPOLYGON\fP except it fills the polygon with the currently selected Xpattern from the pattern subwindow. X.SS "EXTRA COMMAND SUBWINDOW" X.LP XThe subwindow below the command subwindow, is the extra command subwindow. There are two possible Xwindows that will appear within this subwindow, the first is the brush size, Xline size, rectangle size menu Xwhich is described in the commands above documentation. The other menu that Xwill appear in this subwindow is the Cut/Paste buffer command menu. XThis subwindow will only be visible when the X.B SELECT REGION Xcommand is pressed. XThis menu has the following commands. X.IP "\fBMIRROR\fP" XThis command will create a mirror image of the currently Xselected region. X.IP "\fBFLIP\fP" XThis command will FLIP the currently selected region upside down. X.IP "\fBINVERSE\fP" XThis command will INVERSE the currently selected region. X.IP "\fBROTATE\fP" XThis command will ROTATE the currently selected region ninity degree Xclockwise. X.IP "\fBCOPY\fP" XThis command will place a copy of the currently selected region into the XCut/Paste buffer. X.IP "\fBSCALE\fP" XFirst use either COPY, CUT, or Load:Cut/Paste buffer to put an image into Xthe current Cut/Paste buffer. Then press SELECT REGION so that you will Xin the correct mode. Now hold down the LEFT mouse button and select Xthe destination region for the Cut/Paste buffer. If the size of the Xdestination region is different from the size of the original image Xthen the image will be SCALED to the fix into the destination area. XIn this way the SCALE command can be used to enlarge, shrink, and stretch Ximages. X.IP "\fBMOVE\fP" XFirst use either COPY, CUT, or Load:Cut/Paste buffer to put an image into Xthe current Cut/Paste buffer. Once the MOVE command has been selected, Xmove the mouse to the drawing area and hold down the RIGHT mouse button. XAs long as the RIGHT mouse button is held down, you can position the image Xwhere you like. Then let go of the RIGHT mouse button to place a copy of Xthe image on the drawing area. XNOTE: If you are using the MOVE command with a color image you will Xprobably want to set the "Bitmap OP" to "SRC" so that the colors are Xnot messed up when the Cut/Paste buffer is copied onto the bitmap. X.IP "\fBCUT\fP" XThis command will place a copy of the currently selected region into the XCut/Paste buffer and then it will fill the selected region with the Xcurrently selected pattern. X.IP "\fBPASTE\fP" XFirst use the SELECT POINT command to select the upper right hand corner Xof where you wish to place the Cut/Paste buffer. Then press the PASTE Xcommand icon and the contents of the current Cut/Paste buffer will be copied Xto the drawing area. XNOTE: If you are using the PASTE command with a color image you will Xprobabilly want to set the "Bitmap OP" to "SRC" so that the colors are Xnot messed up when the Cut/Paste buffer is copied onto the bitmap. X.IP "5)" 5 XThe last subwindow is the drawing area, which is in the center of the main Xwindow. X.RE X.SH "PRINTING FILES:" X.LP XSave a image out to a file and use the following Unix command to Xdump the image to a full page picture on an Apple Laser Writer or any Xother PostScript laser printer, where X\fItfile\fP is the file name of an image created in X.IR Touchup . XThe program X.IR pssun(1) , Xfrom Adobe Systems, Inc. will read in a Sun rasterfile and convert it Xto PostScript. There is a similar public domain program call X.IR suntops(1) , Xthat will convert Sun rasterfiles to PostScript. X X.LP XWhen the picture is wider than it is high use the following command: X.br X.ti 1.0i X% pssun -s 8 10.5 -r tfile | lpr -Plw X.LP XWhen the picture is higher than it is wide use this command: X.br X.ti 1.0i X% pssun -s 8 10.5 tfile | lpr -Plw X.LP XWhen the picture is part of a document use this command: X.br X.ti 1.0i X% pssun -S 6 -l 1.5 3 tfile | lpr -Plw X.LP XImages can also to sent to a IMPRESS laser printers with a command Xsimilar to the following, where "/u5/sr/local/bin/imPf2" is the location Xof the INPRINT program and "newcanon" is the name of the IMPRESS laser printer. X.br X.ti 1.0i X% cat file_name | /u5/sr/local/bin/imPf2 | lpr -Pnewcanon X.SH "TYPICAL QUESTIONS:" X.IP "\fBHow do I select an area bigger than the drawing window ???\fP" 5 X.LP XFirst go to SELECT REGION mode then select one of the corners of the region with the LEFT mouse Xbutton. Then scroll the drawing area subwindow so that the other corner of the Xregion you want is now visible. Place the cursor on top of the Xother corner of the region you want and press the the MIDDLE Xmouse button. X.IP "\fBHow do I merge two different pictures in to one picture ???\fP" 5 X.LP XWhen booting up X.IR Touchup , Xthe default drawing area is 1152 x 900, Xwhich is the full screen size of the Sun graphics screen. When Xyou load a new picture Xthe drawing area is restricted to the size of the picture that you loaded. XWhat you need to do is start up X.I Touchup Xand load the first picture Xinto the Cut/Paste buffer by changing the cycle next to the load Xbutton from "Load: Entire image" to "Load: Cut/Paste buffer" and then Xpress the load button. The file will then be in the cut/paste Xbuffer and you can PASTE it or MOVE it to where ever you like. XThen load the second picture into the Cut/Paste buffer and PASTE that Xpicture whereever you like. X.IP "\fBHow do I make part of a picture into an icon ???\fP" 5 X.IP "\fBHow do I convert other image format to Sun rasterfile format ???\fP" 5 X.IP "\fBHow do I convert Sun rasterfile format to other image formats ???\fP" 5 X.LP XUse a program such as the \fIThe Portable Bitmap Toolkit\fP by Jef XPoskanzer(jef@lbl-rtsg.arpa) XThis can be obtained by an X.IR ftp (1) Xto expo.lcs.mit.edu (18.30.0.212) for the file contrib/pbm.tar.Z, XI also have a copy rolled out on tape if you do not have Xaccess to the internet. There is also a large collection of bitmaps Xat expo.lcs.mit.edu in contrib/poskbitmaptars which can be converted Xto Sun rasterfile format with the \fIThe Portable Bitmap Toolkit\fP Xfor use in X.IR Touchup. X.IP "\fBWhat does SAVE Byte_Encoded mean ???\fP" 5 X.LP XThis means that the image will be saved out in the Sun X.IR rasterfile (5) XBYTE_ENCODED format. This will often compress the file to one half Xof the normal size. One of the problems with saving a file in compressed Xformat is that X.IR screenload (1) Xcommand will then not be able to read the file. X.IP "\fBHow do I edit bit maps that are 1 bit deep on a color Sun ???\fP" 5 X.LP XUse the -b commandline option, this option is described at the beginning of Xthis manual page. X.SH FILES X.TP X.I /usr/include/rasterfile.h\fP XSun rasterfile format X.SH SEE ALSO Xiconedit(1), Xpssun(1), Xrasterfile(5), Xrastps(1), Xscreendump(1), Xsceeenload(1), Xsuntops(1), Xsuntools(1) X.SH BUGS X.LP XIf you try to X.B "FLOOD FILL" Xan area that has a VERY complex pattern and covers Xa large area it is possible to overflow the stack and cause a core dump. X.LP XTouchup runs very slowly in color mode on Suns with less then 16 megabytes Xof main memory. X.LP XWhen the SELECT REGION command is used on a Sun 3/160 with a Graphic processor Xboard there is some garbage left on the display, but it is not actually Xleft in the drawing area. If you press the RIGHT mouse button while on Xthe frame of the window and select "refresh" the display will be corrected. X.SH Author X Ray Kreisel X Computer Science Department X SUNY at Stony Brook X Stony Brook NY 11794 X.LP X PLEASE send comments and bug reports to one of the following addresses: X X UUCP: {allegra, philabs, pyramid, research}!sbcs!rayk X ARPA-Internet: rayk@sbcs.sunysb.edu X CSnet: rayk@suny-sb X (If nobody is home at any of the above addresses try: X S72QKRE@TOWSONVX.BITNET ) X.fi X.LP X"If I get home before daylight, I just might get some sleep tonight...." X.LP XManual page revised by R. P. C. Rodgers, UCSF School of Pharmacy, XSan Francisco, CA 94143 (rodgers@maxwell.mmwb.ucsf.edu) X X END_OF_touchup.man if test 23346 -ne `wc -c temp_image <<'END_OF_temp_image' Xbegin 777 info.image XM6:9JE0 8 #9 0 *+ ! XM XM XM XM XM XM XM XM XM XM !_P XM /_^ XM ;__@ XM ___X XM #____ XM '___] XM & /_^__X XM #_^/_ XM___\ / XMM_O____[ XM =?V______P XM [________L XM W_________ XM !O_O______] XM #__________ XM '?_________ XM /__________@ XM =__________@ XM W]_________X XM _[_________\ XM #OW_________^ XM #?O_________^ XM &_?________ XM__ /^_____ XM_____^@ /__ XM__________@ XM ^____________@ XM !]____________@ XM #_]___________@ XM /W____________P XM /O____________P XM >__[__________@ XM ]_]___________P & XM $ P! ( " @.!P. !__[_____]7____@ '\ " !T XM $ 0! 0 ! !@1"(1 #________7^____P $D " XM ", 0! @ @ "@@B(1 #_____^_]^_____@ $D.&,.B XMXQFX $$.&XYVX XM_^W___X @@B$@"$0B" $ @B")" $$$0A ! @ 0 @ D$@@ ?_[_[ XM^7N_______^ @@B$@"$0B" $"@B"&" $$$0A ! @ 0 @!$$@@ _ XM___O]I3__[_?__] @1",0B$1C$ "$1#$&" $",0A$ @0@@ @#&,Q@ XM __?_?_2N_]7M____@ #X.!V/'..RX !X."X$'@?!TYPX @/ @ #X<#X? XM __]^_ZJUO___]___@ " " $ $ 0 ! XM ___[_VA*[?_?[___X " " ( $ ( " XM __?__NJ=6__[7___X " " ( ( XM _____= BM]=V____V ' ' \ #P XM __]WMZ2-;W[OW___^ XM ___O?L@0JNW>O___^ XM __W__9 %+;M]]O___ XM ?_^^]J"B2J[;K___^@ XM ____W4 E77W?____@ XM ___UNH0"(4_?_____ XM0 @(! @ < __^O]0@ !#*]; XM____@.. @(! 'P _ XP @ $ ____?5 ( XM(UKW____0$$ (! "( 0@ 0@ $ ___]T XM@ "%>O____@$DW#@_'X.&X "(YP 0AXYP 1&X.#@?AP$ _ XM_^O_4 00C____^@$D8@@(! 1#$ "(0@ 0B$0@ 2#$1 @@B($ XM !___]JA B,O____ %40 @(! @B$ #P0@ ? $0@ 6" @@@@$$$ XM !____]$ $"$A;___^ %40 @(! _B$ "() 2!\) :" _@@<'\$ XM !___[:($ (@*W___\ "(0 @(! @"$ "$) 1"$) 1" @ @#$ XM $ !___WT@@$@1%1/___^ "(0 @(! @"$ "$& 1$$& 1" @ XM @ D $ !____:I ( @($J___^ "(0 @(A$0B$ "$& 0D,& XM0B 0@@@B$$ !___^U" ! A1+O__\ "(\#X' X/'. 'X$ XS XMV$ YW@/#X_!X? !___WZ( 0 !$$E?__^ $ XM $ !___^D@ @ )1*___\ XM ( ( #____Z( " @%5___^ XM ( ( '___ZDB@ $$*H)/__\ XM \ \ /___W:4$ ( @"RW__\ XM /___]I "4E XM/__^ /___K6ZH( XM!$A)=__] ?___^Z XMD! "(*VW___ ?_ XM__JM2Z !2)=___ XM ____[[500 "$_K___@ XM ____6MJG$ ([K?___0 XM !___^[U*HH 3%6^_]_P XM '___]VJ060 $ZM]___0 XM '____KH A2 I%;____@ XM /____>2 $$ !&ZE=[]?0 XM /_[_^SD0 H $(@)[W_^P XM /____N0"H (1 27O__P XM /___^ZDI* 0B"!O_^_@ XM /____F)6TD@! "?_]W8 XM /___^\@KJ! 4$JHK]__ XMX /___]E+5T ) 10 "K___P ! @ ! XM #___]H % B@ $7___P ! @ " XM !____2 ) $4 K___T #@ ' XM / ![__ZT( !2!) !)7___X XM W__O@ "" 00 O___@ XM ?__]40(D4E5 !+___8 XM -___I @(HH ">___ XM@ '__V2 %(A% $ XME__^@ !___H I1$ XM54 ?__] !O_]2 XM)&" BH !*__V ? XM_W4!29T!-20*7_^L XM ?_]H*$F ""LB M_YH @ ", @1@ ! . < XM 7_W1 U95052 "K_T @ "$ @0@ ! 0 $ XM ?_ND+)6BBE5H$O_P @ "$ 0@ ! 0 XM$ ?_]I$RH$%*N2A5_@ #XX ./EAQL/ .[A\L.9GP!\<. XM!P\ $'-AL , /_OHIH0$!(JL4N_@ A$ 1"$2 @" %0@ XM0B1(A 0@0 "(( $(D2( B" /_^2*'JHH2E5A=_ A$ 1"$2(@1 XM "@@0B1)A 0B1# ")$ $(D28 B1 /_?TI8$!"E*K%K_@ 8X .!N XMYQP> "CX-W.&PP!\<.! !UX ?'.YH => -_^I2#H2(*5$B__ XM ! ( /__4D% !0M+55^ XM " ( ?_]J(A4 !4$K XMO^ !P ?__8@"0 XM JA5=^ ?_OV( XM$L !4$EK^ ? XM_^L@0 @ "I!+?^ XM ]__Y J( I4(*_^ XM ;__V(!$@(6I 5U^ XM W_VI0 )$A!" +O^ XM ___^ "0 48 V_^ XM ___UH "#2 +_\ X< " & 0 ! @ XM $ ___M A 4 !VW^ ($ " " 0 XM! @ $ ___:H!$ @J"-_^ ($ " XM0 ! ____ " $"0 [_] X($ #QS9W; XM.#:Q\ V''S@\$(@ 7__ZR@ (!!0B?[] XM !$($ $")$4("$2(0 1(A A @" ""!4B$(@ =__W4 4 $""+[ XM?_P !$($ $2)D4("$R(0 1(A A$B1 "")4B$(@ +__^J$@@H XMH4FO_^P Z^? #AQ8( '!Q4=?=P /?__U XM0 %!"@:___@ ! ( 0 * XM]_VL! 0$G__^@ ! 0 0 XM '[__[D 25$)-;__X #AX #@ XM '?^_5((D@12;___X XM &__^^B0 %*$W___X XM '__[[8@E009O?__X XM '___VE!($E3=___\ XM #__O_Z(!1(F[___\ XM !___M4BB"2;W___\ XM !O__?K4(4$M?___\ 0 XM !?_^]>I1 YK____\ ( ! XM !__[_ZDB5">M___\ !PL XM>&#CP ____=;(HMK____\ XM 0R()$1 O__][D32J>_W XM__\ 0B('$! ?_]WVMLJ XMIUW?__\ 0B()$! ?__O XM?:2JK;^___\ 0B))$1(@ XM?__^ZUM5:W_W__\ 0B&&C@P@ XM __]?_N:NWOM?__X XM !__[^ZYU;M??O__X XM #___]_O;VK^\___P XM #__[;[:VM_=_/__X XM '__V___M[5_Y?__P XM '__]WVV[O_[VW__P XM '__Z>__O?7OM?__@ XM '__UWVV_]_?ZK?_@ XM '__ZMO_M_^_%7__@ XM '__VK^V_O;^ZO__ XM /__Y6M_M]__%;__ XM /__VE[V__[Z:N XM_^@ -__ZJ'O_[ XMO4E5__@ /__U$ XM]?[O:]2NOO@ ? XM__ZI"^W^_Q*;?[X XM ;__U2JU_;U*2JG_8 XM ___ZD$OOVK0E7(NX XM W__U515:M6%*LG_^ XM ___J@*)=2HH15H_Z XM !_[_U6@2JE5!&K"_N XM !O__6H4@20"(16H6[ XM !__^I"A%$BH1&5"MNP XM #__]VY$ )$" 4JH;Q\ XM #O_^JB(50 4B!50'OJ XM #__]5*0@ 1 $6K!:X^ XM #__ZJTA""B$ 4B%_= XM@ #]_]5)$$( (HKK XM4*\KH 'W_RJR((0 XM0!"$@%_7\ 'O_M5$ XM0@ B@ (K (_OW /_ XM_PJI A !)"4@#?JM@ XM /O_5522)$"" 4E $_5?0 XM ??_RDD@@ $!!4@!>RZX XM ?__4;)$!$$($$) "=Y7H XM _?_YD2($(@0(1B OTO8 XM !^__B5D@@ @ D,@!?M>X XM #]_?8J)) @" 0!1 -:KX XM [?RBDD0$"$ A4* WVOH XM ^UMHJI" $( "!0 *MU8 XM ;O;15"4(@ " 2$ E[OX XM XM XM XM XM XM XM XM XM XM X( X Xend END_OF_temp_image if test 14425 -ne `wc -c touchup_fonts <<'END_OF_touchup_fonts' X# X# A list of directories, fonts and point sizes for X# fonts used in touchup X# X# These fonts should be in the standard Sun system font dir X# X/usr/lib/fonts/fixedwidthfonts X"Screen Bold" screen.b. 12 14 X"Courier" cour.r. 10 12 14 16 18 24 X"Courier Bold" cour.b. 10 12 14 16 18 24 X"PC" pcfont.r. 14 X"PC Bold" pcfont.b. 14 X"Serif" serif.r. 10 11 12 14 16 X"apl" apl.r. 10 X"CMR" cmr.r. 8 14 X"CMR Bold" cmr.b. 8 14 X"Gacha" gacha.r. 7 8 X"Gacha Bold" gacha.b. 7 8 X"Sail" sail.r. 6 X"Gallant" gallant.r. 10 19 X# X# Add new fonts here. X# 1) list the directory where the fonts can be found X# 2) list the name of the font the you want X# 3) list the filename of the font X# 4) list all of the point sizes of the given font X# X# END_OF_touchup_fonts if test 712 -ne `wc -c touchup.icon <<'END_OF_touchup.icon' X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16 X */ X 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x8000,0x0000,0x0000,0x0001, X 0x8000,0x0000,0x0000,0x0001,0x8000,0x0000,0x0000,0x0001, X 0x8000,0x0000,0x0000,0x0001,0x8000,0x0000,0x0000,0x0001, X 0x8000,0x0000,0x0000,0x0011,0x8000,0x0000,0x0030,0x1011, X 0x800E,0x0010,0x1078,0x1011,0x8078,0x1C10,0x104C,0x1011, X 0x81C0,0x2410,0x1040,0x1011,0x8F00,0x2308,0x0840,0x1011, X 0xF400,0x4108,0x0840,0x0811,0xC400,0x4088,0x0C40,0x09F9, X 0x8200,0x4088,0x0C40,0x0709,0x8300,0x804C,0x0C40,0x0C09, X 0x8100,0xC044,0x0440,0x080D,0x8180,0xC042,0x0460,0x080D, X 0x8080,0x4042,0x0831,0x8419,0x80C0,0x40C1,0x900F,0x0419, X 0x8040,0x4180,0x6000,0x0401,0x8020,0x3F00,0x0000,0x0001, X 0x8050,0x0000,0x0000,0x0001,0x8030,0x0000,0x0000,0x0001, X 0x8000,0x0000,0x0000,0x0001,0x8000,0x0000,0x0000,0x0001, X 0x8000,0x0000,0x0000,0x0001,0x8000,0x0000,0x0000,0x0001, X 0x8000,0x0000,0x0000,0x0001,0x8000,0x0000,0x0000,0x0001, X 0x8000,0x0000,0x4FFC,0x0001,0x8000,0x0200,0x7006,0x0001, X 0x8008,0x0200,0x6002,0x0001,0x8008,0x0200,0x2002,0x0001, X 0x8008,0x0100,0x2002,0x0001,0x8008,0x0100,0x2002,0x0001, X 0x8008,0x0080,0x2006,0x0001,0x8008,0x0080,0x23F8,0x0001, X 0x8008,0x0080,0x2600,0x0001,0x8008,0x0080,0x2C00,0x0001, X 0x8008,0x0080,0x3000,0x0001,0x8008,0x0080,0x1000,0x0001, X 0x800C,0x0080,0x1000,0x0001,0x8004,0x0080,0x1000,0x0001, X 0x8004,0x0080,0x1000,0x0001,0x8002,0x0700,0x1800,0x0001, X 0x8003,0x7A00,0x0000,0x0001,0x8001,0x8000,0x0000,0x0001, X 0x8000,0x0000,0x0000,0x0001,0x8000,0x0000,0x0000,0x0001, X 0x8000,0x0000,0x0000,0x0001,0x8000,0x0000,0x0000,0x0001, X 0x8000,0x0000,0x0000,0x0001,0x8000,0x0000,0x0000,0x0001, X 0x8000,0x0000,0x0000,0x0001,0x8000,0x0000,0x0000,0x0001, X 0x8000,0x0000,0x0000,0x0001,0x8000,0x0000,0x0000,0x0001, X 0x8000,0x0000,0x0000,0x0001,0x8000,0x0000,0x0000,0x0001, X 0x8000,0x0000,0x0000,0x0001,0x8000,0x0000,0x0000,0x0001, X 0x8000,0x0000,0x0000,0x0001,0xFFFF,0xFFFF,0xFFFF,0xFFFF END_OF_touchup.icon if test 1933 -ne `wc -c README_FONTS <<'END_OF_README_FONTS' X/************************************************************************** X Touchup a bitmap graphics editor for the Sun Workstation running SunView X Copyright (c) 1988 by Raymond Kreisel X 1/22/88 @ Suny Stony Brook X X This program may be redistributed without fee as long as this copyright X notice is intact. X X==> PLEASE send comments and bug reports to one of the following addresses: X X Ray Kreisel X CS Dept., SUNY at Stony Brook, Stony Brook NY 11794 X X UUCP: {allegra, philabs, pyramid, research}!sbcs!rayk X ARPA-Internet: rayk@sbcs.sunysb.edu X CSnet: rayk@suny-sb X (If nobody is home at any of the above addresses try: X S72QKRE@TOWSONVX.BITNET ) X X "If I get home before daylight, I just might get some sleep tonight...." X X**************************************************************************/ X X X X Once Touchup has been compiled an installed, users may add addtional X fonts to the font menu by by creating a ".touchup" file in thier X home directory. X X X 1.) First copy the file "touchup_fonts" to ~/.touchup X X % cp /usr/local/touchup/touchup_fonts ~/.touchup X X 2.) If you had five new fonts in the directory /usr/local/new_fonts X named font1, font2, font3, font4 and font5. You would edit the X file ~/.touchup and add the following to the end of the file. X X X /usr/local/new_fonts X "first font" font1. 8 10 12 X "second font" font2. 10 12 14 X "thrid font" font3. 10 12 16 X "forth font" font4. 7 8 10 X "fifth font" font5. 8 10 12 X X a) first give the directory in which the fonts can be found. X b) next give the name of the font, this name will be listed X in the font menu X c) then give filename of the font X d) then list all of the point sizes of that fonts X X NOTE: Touchup gets the full path name to the font, by appending X the font filename on to the directory name and then X appending the point size on to that. X X X Where can I get more fonts from ??? X X The Sun users group distributes tapes with public domain fonts X in Sun vfont(5) format. These fonts can be used in Touchup. X If you do not have access to these fonts you can send a X e-mail request for fonts files to the address at the beginning X of this file. X END_OF_README_FONTS if test 2234 -ne `wc -c