1 /* 2 ** 3 ** main_globals.h 4 ** 5 ** Copyright (C) 1995, 1996, 1997 Johannes Plass 6 ** Copyright (C) 2004 Jose E. Marchesi 7 ** 8 ** This program is free software; you can redistribute it and/or modify 9 ** it under the terms of the GNU General Public License as published by 10 ** the Free Software Foundation; either version 3 of the License, or 11 ** (at your option) any later version. 12 ** 13 ** This program is distributed in the hope that it will be useful, 14 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 15 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 ** GNU General Public License for more details. 17 ** 18 ** You should have received a copy of the GNU General Public License 19 ** along with GNU gv; see the file COPYING. If not, write to 20 ** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 21 ** Boston, MA 02111-1307, USA. 22 ** 23 ** Author: Johannes Plass (plass@thep.physik.uni-mainz.de) 24 ** Department of Physics 25 ** Johannes Gutenberg-University 26 ** Mainz, Germany 27 ** 28 ** Jose E. Marchesi (jemarch@gnu.org) 29 ** GNU Project 30 ** 31 */ 32 33 #ifndef _GV_MAIN_GLOBALS_H_ 34 #define _GV_MAIN_GLOBALS_H_ 35 36 #ifndef EXTERN 37 # ifdef _GV_MAIN_C_ 38 # define EXTERN 39 # else 40 # define EXTERN extern 41 # endif 42 #endif 43 44 EXTERN char* gv_bin; 45 46 EXTERN Bool show_date; 47 EXTERN Bool show_locator; 48 EXTERN Bool show_title; 49 EXTERN Bool show_nextPage; 50 EXTERN Bool show_prevPage; 51 EXTERN Bool show_toggleCurrentPage; 52 EXTERN Bool show_toggleEvenPages; 53 EXTERN Bool show_toggleOddPages; 54 EXTERN Bool show_unmarkAllPages; 55 EXTERN Bool show_saveMarkedPages; 56 EXTERN Bool show_saveAllPages; 57 EXTERN Bool show_printMarkedPages; 58 EXTERN Bool show_printAllPages; 59 EXTERN Bool show_openFile; 60 EXTERN Bool show_autoResize; 61 EXTERN Bool show_showThisPage; 62 EXTERN Bool show_updateFile; 63 EXTERN Bool show_checkFile; 64 EXTERN Bool show_panner; 65 66 EXTERN String gv_safe_gs_workdir; 67 EXTERN int gv_safe_gs_tempdir; 68 69 EXTERN float default_xdpi; /* default xdpi from ghostview widget */ 70 EXTERN float default_ydpi; /* default ydpi from ghostview widget */ 71 EXTERN float gv_real_xdpi; 72 EXTERN float gv_real_ydpi; 73 EXTERN float gv_pixel_xdpi; 74 EXTERN float gv_pixel_ydpi; 75 EXTERN int num_ghosts; /* number of ghostview widgets active */ 76 EXTERN FILE *gv_psfile; /* file to display */ 77 EXTERN char gv_savepos_filename[GV_MAX_FILENAME_LENGTH]; /* filename used for savepos */ 78 EXTERN String gv_filename; /* its filename */ 79 EXTERN String gv_filename_old; /* previous filename */ 80 EXTERN String gv_filename_dsc; /* file resulting from PDF->DSC conversion */ 81 EXTERN String gv_filename_unc; /* name of uncompressed file */ 82 EXTERN String gv_filename_raw; /* some useful filename derived from gv_filename */ 83 EXTERN int current_page; /* current page being displayed */ 84 EXTERN int current_llx; /* current bounding box */ 85 EXTERN int current_lly; 86 EXTERN int current_urx; 87 EXTERN int current_ury; 88 EXTERN String toc_text; /* page labels (Table of Contents) */ 89 EXTERN int toc_entry_length; /* length of one entry */ 90 EXTERN int gv_print_mode; /* printing mode */ 91 EXTERN int gv_save_mode; /* saving mode */ 92 EXTERN int gv_scanstyle; /* how to scan ps files */ 93 EXTERN time_t mtime; /* last modified time of input file */ 94 EXTERN struct document *doc; /* document structure */ 95 EXTERN struct document *olddoc; /* document structure */ 96 EXTERN Atom wm_delete_window; /* Atom sent to destroy a window */ 97 EXTERN XErrorHandler old_Xerror; /* standard error handler */ 98 EXTERN Boolean dying; /* whether an X error caused our exit */ 99 EXTERN XErrorEvent bomb; /* what the error was */ 100 101 EXTERN int gv_scroll_mode; 102 103 EXTERN char* gv_miscmenu_entries_res; 104 EXTERN MiscMenuEntry* gv_miscmenu_entries; 105 EXTERN char* gv_magmenu_entries_res; 106 EXTERN MagMenuEntry* gv_magmenu_entries; 107 EXTERN char* gv_scales_res; 108 EXTERN Scale* gv_scales; 109 EXTERN int gv_scale; 110 EXTERN float gv_ascale; 111 EXTERN int gv_scale_base; 112 EXTERN int gv_scale_base_current; 113 EXTERN int gv_scale_current; 114 EXTERN int gv_screen_width; 115 EXTERN int gv_screen_height; 116 EXTERN char* gv_medias_res; 117 EXTERN Media* gv_medias; 118 EXTERN int gv_pagemedia; 119 EXTERN int gv_pagemedia_old; 120 EXTERN int gv_pagemedia_auto; 121 EXTERN int gv_pagemedia_auto_old; 122 EXTERN int gv_default_pagemedia; 123 EXTERN int gv_fallback_pagemedia; 124 EXTERN int gv_num_std_pagemedia; 125 126 EXTERN int gv_orientation; 127 EXTERN int gv_orientation_old; 128 EXTERN int gv_orientation_auto; 129 EXTERN int gv_orientation_auto_old; 130 EXTERN int gv_fallback_orientation; 131 EXTERN int gv_swap_landscape; 132 EXTERN int gv_swap_landscape_old; 133 134 EXTERN Display *gv_display; 135 EXTERN Screen *gv_screen; 136 EXTERN XrmDatabase gv_database; 137 EXTERN String gv_class; 138 EXTERN String gv_name; 139 EXTERN String gv_user_defaults_file; 140 EXTERN String gv_print_command; /* command used to print doc, usually "lpr" */ 141 EXTERN String gv_uncompress_command; /* command used to uncompress a file */ 142 EXTERN int gv_print_kills_file; /* whether the print symbiont removes the file after printing */ 143 EXTERN int gv_exiting; /* flag set when exiting gv */ 144 EXTERN String gv_dirs; 145 EXTERN String gv_filters; 146 EXTERN String gv_filter; 147 148 EXTERN String gv_gs_interpreter; 149 EXTERN String gv_gs_x11_device; 150 EXTERN String gv_gs_x11_alpha_device; 151 EXTERN String gv_gs_cmd_scan_pdf; /* command used to extract DSC outlines from a pdf file */ 152 EXTERN String gv_gs_cmd_conv_pdf; /* command used to convert a pdf file to ps */ 153 EXTERN int gv_gs_safeDir; 154 EXTERN int gv_gs_safer; 155 EXTERN int gv_gs_quiet; 156 EXTERN int gv_infoVerbose; 157 EXTERN int gv_infoSkipErrors; 158 EXTERN int gv_xinerama; 159 EXTERN String gv_gs_arguments; 160 EXTERN String gv_pdf_password; 161 162 /* if a page is requested but gv is busy the following variable 163 holds the number of the requested page. 164 As soon as gv is notified that rendering a page is complete 165 this variable is checked and the corresponding page 166 will be displayed if necessary 167 */ 168 EXTERN int gv_pending_page_request; 169 170 EXTERN XtAppContext app_con; 171 EXTERN AppResources app_res; 172 173 /* Widgets */ 174 EXTERN Widget toplevel; 175 EXTERN Widget main_control; 176 EXTERN Widget titlebutton; 177 EXTERN Widget titlemenu; 178 EXTERN Widget datebutton; 179 EXTERN Widget datemenu; 180 EXTERN Widget locator; 181 EXTERN Widget fileButton; 182 EXTERN Widget fileMenu; 183 EXTERN Widget openEntry; 184 EXTERN Widget reopenEntry; 185 EXTERN Widget saveposEntry; 186 EXTERN Widget updateEntry; 187 EXTERN Widget printAllEntry; 188 EXTERN Widget printMarkedEntry; 189 EXTERN Widget saveAllEntry; 190 EXTERN Widget saveMarkedEntry; 191 EXTERN Widget copyrightEntry; 192 EXTERN Widget quitEntry; 193 EXTERN Widget stateButton; 194 EXTERN Widget stateMenu; 195 EXTERN Widget stopEntry; 196 EXTERN Widget antialiasEntry; 197 EXTERN Widget dscEntry; 198 EXTERN Widget eofEntry; 199 EXTERN Widget watchFileEntry; 200 EXTERN Widget sizeEntry; 201 EXTERN Widget optiongvEntry; 202 EXTERN Widget optiongsEntry; 203 EXTERN Widget optionfsEntry; 204 EXTERN Widget optionsetupEntry; 205 EXTERN Widget presentationEntry; 206 EXTERN Widget pageButton; 207 EXTERN Widget pageMenu; 208 EXTERN Widget nextEntry; 209 EXTERN Widget redisplayEntry; 210 EXTERN Widget prevEntry; 211 EXTERN Widget centerEntry; 212 EXTERN Widget currentEntry; 213 EXTERN Widget oddEntry; 214 EXTERN Widget evenEntry; 215 EXTERN Widget unmarkEntry; 216 EXTERN Widget scaleButton; 217 EXTERN Widget scaleMenu; 218 EXTERN Widget *scaleEntry; 219 EXTERN Widget orientationButton; 220 EXTERN Widget orientationMenu; 221 EXTERN Widget autoOrientEntry; 222 EXTERN Widget portraitEntry; 223 EXTERN Widget landscapeEntry; 224 EXTERN Widget upsidedownEntry; 225 EXTERN Widget seascapeEntry; 226 EXTERN Widget swapEntry; 227 EXTERN Widget processButton; 228 EXTERN Widget processMenu; 229 EXTERN Widget pagemediaButton; 230 EXTERN Widget pagemediaMenu; 231 EXTERN Widget autoMediaEntry; 232 EXTERN Widget *pagemediaEntry; 233 234 EXTERN Widget newtocFrame; 235 EXTERN Widget newtocClip; 236 EXTERN Widget newtocControl; 237 EXTERN Widget newtoc; 238 EXTERN Widget newtocScroll; 239 240 EXTERN Widget w_toggleCurrentPage; 241 EXTERN Widget w_toggleAllPages; 242 EXTERN Widget w_toggleEvenPages; 243 EXTERN Widget w_toggleOddPages; 244 EXTERN Widget w_unmarkAllPages; 245 EXTERN Widget w_saveMarkedPages; 246 EXTERN Widget w_saveAllPages; 247 EXTERN Widget w_printMarkedPages; 248 EXTERN Widget w_printAllPages; 249 EXTERN Widget w_openFile; 250 EXTERN Widget w_autoResize; 251 EXTERN Widget w_showThisPage; 252 EXTERN Widget w_checkFile; 253 EXTERN Widget w_updateFile; 254 EXTERN Widget w_nextPage; 255 EXTERN Widget w_prevPage; 256 257 EXTERN Widget pannerFrame; 258 EXTERN Widget panner; 259 EXTERN Widget slider; 260 261 EXTERN Widget viewFrame; 262 EXTERN Widget viewClip; 263 EXTERN Widget viewControl; 264 EXTERN Widget page; 265 266 /* Popup widgets */ 267 EXTERN Widget infopopup; 268 extern OptionPopup gv_options_fs; 269 extern OptionPopup gv_options_gs; 270 extern OptionPopup gv_options_gv; 271 extern OptionPopup gv_options_setup; 272 EXTERN Widget confirmpopup; 273 EXTERN Widget dialogpopup; 274 EXTERN Widget notepopup; 275 EXTERN Widget versionpopup; 276 277 EXTERN Widget FileSel_popup; 278 EXTERN Widget FileSel; 279 280 /* 281 * Command line flags 282 * 283 */ 284 285 EXTERN int antialias_p; 286 EXTERN int noantialias_p; 287 EXTERN int safer_p; 288 EXTERN int nosafer_p; 289 EXTERN int safedir_p; 290 EXTERN int nosafedir_p; 291 EXTERN int color_p; 292 EXTERN int grayscale_p; 293 EXTERN int spartan_p; 294 EXTERN int widgetless_p; 295 EXTERN int fullscreen_p; 296 EXTERN int quiet_p; 297 EXTERN int infoverbose_p; 298 EXTERN int debug_p; 299 EXTERN int monochrome_p; 300 EXTERN int media_p; 301 EXTERN char *media_value; 302 EXTERN int orientation_p; 303 EXTERN char *orientation_value; 304 EXTERN int page_p; 305 EXTERN char *page_value; 306 EXTERN int noquiet_p; 307 EXTERN int pixmap_p; 308 EXTERN int nopixmap_p; 309 EXTERN int center_p; 310 EXTERN int nocenter_p; 311 EXTERN int scale_p; 312 EXTERN char *scale_value; 313 EXTERN int magstep_p; 314 EXTERN char *magstep_value; 315 EXTERN int scalebase_p; 316 EXTERN char *scalebase_value; 317 EXTERN int resize_p; 318 EXTERN int noresize_p; 319 EXTERN int swap_p; 320 EXTERN int noswap_p; 321 EXTERN int dsc_p; 322 EXTERN int nodsc_p; 323 EXTERN int eof_p; 324 EXTERN int noeof_p; 325 EXTERN int watch_p; 326 EXTERN int nowatch_p; 327 EXTERN int ad_p; 328 EXTERN char *ad_value; 329 EXTERN int style_p; 330 EXTERN char *style_value; 331 EXTERN int arguments_p; 332 EXTERN float ascale_p; 333 EXTERN char *arguments_value; 334 335 #undef EXTERN 336 #endif /* _GV_MAIN_GLOBALS_H_ */ 337