"Fossies" - the Fresh Open Source Software Archive 
As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style:
standard) with prefixed line numbers and
code folding option.
Alternatively you can here
view or
download the uninterpreted source code file.
1 /*
2 * gv.h -- Main include file for ghostview.
3 * Copyright (C) 1992 Timothy O. Theisen
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 *
19 * Author: Tim Theisen Systems Programmer
20 * Internet: tim@cs.wisc.edu Department of Computer Sciences
21 * UUCP: uwvax!tim University of Wisconsin-Madison
22 * Phone: (608)262-0438 1210 West Dayton Street
23 * FAX: (608)262-9777 Madison, WI 53706
24 */
25
26 #include <stdio.h>
27 #include <X11/Xos.h>
28 #include <sys/stat.h>
29 #include <X11/Intrinsic.h>
30 #define XtSetFloatArg(arg, n, d) \
31 if (sizeof(float) > sizeof(XtArgVal)) { \
32 XtSetArg(arg, n, &(d)); \
33 } else { \
34 XtArgVal *ld = (XtArgVal *)&(d); \
35 XtSetArg(arg, n, *ld); \
36 }
37 #include "Ghostview.h"
38
39 /* Application resources */
40 typedef struct _AppResources {
41 Boolean show_title; /* whether to show title */
42 Boolean show_date; /* whether to show date */
43 Boolean show_locator; /* whether to show locator */
44 Boolean install_std_cmap; /* whether to install standard colormap */
45 Boolean retain_std_cmap; /* whether to retain standard colormap */
46 Boolean private_cmap; /* whether to use private colormap */
47 Boolean auto_center; /* whether to automatically center the page */
48 int wm_horiz_margin; /* Space taken by window manager */
49 int wm_vert_margin; /* Space taken by window manager */
50 int minimum_magstep; /* smallest magstep allowed */
51 int maximum_magstep; /* largest magstep allowed */
52 int magstep; /* default magstep */
53 XtPageOrientation orientation; /* default orientation */
54 String page; /* first page to show */
55 String pagemedia; /* default page media */
56 Boolean force_orientation; /* use default to override document comments */
57 Boolean force_pagemedia; /* use default to override document comments */
58 Boolean swap_landscape; /* Landscape comment maps to Seascape */
59 String print_command; /* command used to print doc, usually "lpr" */
60 String printer_variable; /* env varaible to use, usually "PRINTER" */
61 String default_printer; /* printer to use if no PRINTER is not set*/
62 String print_prompt; /* string to prompt user for printer name */
63 String print_fail; /* string to inform user that print failed */
64 String open_prompt; /* string to prompt for file name to open */
65 String open_fail; /* string to inform user that open failed */
66 String save_prompt; /* string to prompt for file name to save */
67 String save_fail; /* string to inform user that save failed */
68 /* Work arounds for others' bugs */
69 Boolean openwindows; /* whether to work around openwindow bug */
70 Boolean ncdwm; /* whether to work around ncdwm bug */
71 } AppResources;
72
73 extern float default_xdpi;
74 extern float default_ydpi;
75
76 extern int num_ghosts;
77 extern FILE *psfile;
78 extern String filename;
79 extern String oldfilename;
80 extern int current_page;
81 extern int current_magstep;
82 extern XtPageOrientation current_orientation;
83 extern int default_pagemedia;
84 extern int current_pagemedia;
85 extern Boolean force_document_media;
86 extern int document_media;
87 extern int current_llx;
88 extern int current_lly;
89 extern int current_urx;
90 extern int current_ury;
91 extern int base_papersize;
92 extern Boolean info_up;
93 extern int force_setting;
94 extern Pixmap dot_bitmap;
95 extern Pixmap menu16_bitmap;
96 extern Pixmap tie_fighter_bitmap;
97 extern String toc_text;
98 extern int toc_length;
99 extern int toc_entry_length;
100 extern int info_length;
101 extern time_t mtime;
102 extern struct document *doc;
103 extern struct document *olddoc;
104 extern Colormap cmap;
105 extern Boolean special_cmap;
106 extern Pixel white;
107 extern Pixel black;
108 extern Atom wm_delete_window;
109 extern int catch_Xerror();
110 extern XErrorHandler old_Xerror;
111 extern Boolean dying;
112 extern XErrorEvent bomb;
113
114 enum {OPEN, PRINT_WHOLE, PRINT_MARKED, SAVE};
115 extern int mode;
116
117 extern XtAppContext app_con;
118 extern AppResources app_res;
119
120 /* Widgets */
121 extern Widget toplevel;
122 extern Widget form;
123 extern Widget titlebutton;
124 extern Widget titlemenu;
125 extern Widget datebutton;
126 extern Widget datemenu;
127 extern Widget locator;
128 extern Widget box;
129 extern Widget filebutton;
130 extern Widget filemenu;
131 extern Widget openbutton;
132 extern Widget reopenbutton;
133 extern Widget printwholebutton;
134 extern Widget printmarkedbutton;
135 extern Widget savebutton;
136 extern Widget copyrightbutton;
137 extern Widget quitbutton;
138 extern Widget pagebutton;
139 extern Widget pagemenu;
140 extern Widget nextbutton;
141 extern Widget showbutton;
142 extern Widget prevbutton;
143 extern Widget centerbutton;
144 extern Widget markbutton;
145 extern Widget unmarkbutton;
146 extern Widget magstepbutton;
147 extern Widget magstepmenu;
148 extern Widget *magstepentry;
149 extern Widget orientationbutton;
150 extern Widget orientationmenu;
151 extern Widget portraitbutton;
152 extern Widget landscapebutton;
153 extern Widget upsidedownbutton;
154 extern Widget seascapebutton;
155 extern Widget swapbutton;
156 extern Widget pagemediabutton;
157 extern Widget pagemediamenu;
158 extern Widget *pagemediaentry;
159 extern Widget toc;
160 extern Widget pageview;
161 extern Widget page;
162
163 /* Popup widgets */
164 extern Widget infopopup;
165 extern Widget infoform;
166 extern Widget infotext;
167 extern Widget infobutton;
168 extern Widget copyrightpopup;
169 extern Widget copyrightform;
170 extern Widget copyrighttext;
171 extern Widget copyrightbutton;
172 extern Widget dialogpopup;
173 extern Widget dialog;
174
175 /* Dialogs */
176 extern Widget CreateDialog();
177 extern String GetDialogPrompt();
178 extern void SetDialogPrompt();
179 extern String GetDialogResponse();
180 extern void SetDialogResponse();
181 extern void ClearDialogResponse();
182
183 /* Callbacks */
184 extern void quit_ghostview();
185 extern void popup();
186 extern void popup_dialog();
187 extern void reopen_file();
188 extern void prev_page();
189 extern void this_page();
190 extern void next_page();
191 extern void center_page();
192 extern void mark_page();
193 extern void unmark_page();
194 extern void set_magstep();
195 extern void set_orientation();
196 extern void swap_landscape();
197 extern void set_pagemedia();
198 extern void track_and_zoom();
199 extern void message();
200 extern void output();
201 extern void okay();
202 extern void dismiss();
203 extern void destroy();
204 extern void destroy_ghost();
205
206 /* Actions */
207 extern void gv_copyright();
208 extern void gv_quit();
209 extern void gv_open();
210 extern void gv_reopen();
211 extern void gv_save();
212 extern void gv_print_whole();
213 extern void gv_print_marked();
214 extern void gv_prev();
215 extern void gv_show();
216 extern void gv_next();
217 extern void gv_center();
218 extern void gv_mark();
219 extern void gv_unmark();
220 extern void gv_set_magstep();
221 extern void gv_increase_magstep();
222 extern void gv_decrease_magstep();
223 extern void gv_set_orientation();
224 extern void gv_swap_landscape();
225 extern void gv_set_pagemedia();
226 extern void gv_default();
227 extern void gv_force();
228 extern void gv_delete_window();
229 extern void gv_delete_zoom();
230 extern void gv_dismiss();
231 extern void gv_scroll_up();
232 extern void gv_scroll_down();
233 extern void gv_scroll_left();
234 extern void gv_scroll_right();
235 extern void gv_erase_locator();
236 extern void gv_check_file();
237
238 /* Misc */
239 extern void show_page();
240 extern Boolean setup_ghostview();
241 extern void layout_ghostview();
242 extern void SetStandardColormap();
243 extern void magnify();
244 extern String open_file();
245 extern String save_file();
246 extern String print_file();
247 extern void pscopydoc();
248 extern void positionpopup();
249 extern Boolean set_new_magstep();
250 extern Boolean set_new_orientation();
251 extern Boolean set_new_pagemedia();
252 extern void build_pagemedia_menu();
253 extern Widget build_label_menu();
254 extern void new_file();