1/*
2 * Author:      William Chia-Wei Cheng (bill.cheng@acm.org)
3 *
4 * Copyright (C) 2001-2009, William Chia-Wei Cheng.
5 *
6 * This file may be distributed under the terms of the Q Public License
7 * as defined by Trolltech AS of Norway and appearing in the file
8 * LICENSE.QPL included in the packaging of this file.
9 *
10 * THIS FILE IS PROVIDED AS IS WITH NO WARRANTY OF ANY KIND, INCLUDING
11 * THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
12 * PURPOSE.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL,
13 * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
14 * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
15 * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
16 * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 *
18 * @(#)$Header: /mm2/home/cvs/bc-src/tgif/file.e,v 1.17 2011/05/16 16:21:57 william Exp $
19 */
20
21#ifndef _FILE_E_
22#define _FILE_E_
23
24extern int	PRTGIF;
25extern int	prTgifFoundColorInfo;
26extern char	curFileName[MAXPATHLENGTH+1];
27extern int	curFileDefined;
28extern int	fileVersion;
29extern int	curFileWriteVersion;
30extern int	importingFile;
31extern int	mergingFile;
32extern int	serializingFile;
33extern int	deserializingFile;
34extern int	psDotsPerInch;
35extern float	printMag;
36extern int	saveTmpOnReturn;
37extern int	warpToWinCenter;
38extern float	tiledPageScaling;
39
40extern char	* psXOffStr[];
41extern float	psXOff[];
42extern char	* * psYOffStr;
43extern float	* psYOff;
44extern float	* psPageWidthInInch;
45extern float	* psPageHeightInInch;
46extern char	printCommand[];
47extern char	outputDir[];
48extern char	* fileMenuStr[];
49
50extern char	* savedComments;
51extern int	savedCommentsLen;
52extern int	saveCommentsInSaveNew;
53extern int	usePsAdobeString;
54extern char	adobeString[];
55extern char	epsfString[];
56
57extern int	readingPageNum;
58extern int	loadedCurPageNum;
59
60extern int	writeFileFailed;
61extern int	foundGoodStateObject;
62
63extern int	cmdLineHasPageNum;
64extern int	cmdLinePageNum;
65extern char	cmdLinePageNumStr[80];
66
67extern int	cmdLineOneFilePerPage;
68extern int	cmdLineA4;
69extern int	cmdLineLetter;
70extern int	cmdLineNoShowPageInEPS;
71extern int	cmdLineColor;
72extern int	cmdLineRequestedColor;
73
74extern int	cmdLineDumpURL;
75extern int	cmdLineDumpURLWithHeader;
76extern int	cmdLineDumpURLHeaderOnly;
77extern int	cmdLineDumpURLShowStatus;
78
79extern int	cmdLineDosEpsFilter;
80extern int	cmdLinePreviewOnly;
81
82extern int	tmpFileMode;
83extern char	cmdLineTmpFileModeStr[MAXSTRING];
84
85extern int	cmdLineOpenDisplay;
86extern int	cmdLineStdOut;
87extern int	cmdLineWhereToPrint;
88extern int	cmdLineTiffEPSI;
89extern int	cmdLinePdfSetPageDevice;
90extern int	cmdLinePsSetup;
91
92extern char	cmdLineFileToExec[MAXSTRING];
93extern char	cmdLineProducedBy[MAXSTRING];
94extern char	cmdLineOpenFile[MAXSTRING];
95extern char	cmdLineJpegToPpm6Cmd[MAXSTRING];
96
97extern int	cmdLineQuiet;
98
99extern char	cmdLineCustomPatternDir[MAXSTRING];
100extern char	customPatDir[MAXSTRING];
101
102extern int	generateTiffEPSI;
103extern int	showPageInEPS;
104
105extern int	gnQuit;
106
107extern int	myFileBgPixel;
108extern int	myFileFgPixel;
109extern char	*myFileBgColorStr;
110extern char	*myFileFgColorStr;
111extern XColor	myFileBgColor;
112extern int	myFileBgPixmapW;
113extern int	myFileBgPixmapH;
114extern Pixmap	myFileBgPixmap;
115extern char	*myFileBgGifURL;
116extern char	*gpszProducedBy;
117
118extern int	dumpOneFilePerPage;
119
120extern int	bufferAsFileForWhiteBoard;
121
122extern int	flushColormapOnOpen;
123
124extern struct BBRec	*gpExportClipBBox;
125
126extern int		gnNumFilePSFontAliases;
127extern KeyValInfo	*gaFilePSFontAliases;
128
129extern SpecifyPagesInfo	gPagesToPrintSpec;
130
131extern GenerateByInfo	gGenerateByInfo;
132
133#ifdef _INCLUDE_FROM_FILE_C_
134#undef extern
135#define extern
136#endif /*_INCLUDE_FROM_FILE_C_*/
137
138extern char	* MkTempFile ARGS_DECL((char *buf, int buf_sz, char *psz_dir,
139		                        char *psz_prefix));
140extern int	IsFiletUnSavable ARGS_DECL((void));
141extern void	SetUnSavableFile ARGS_DECL((int unsavable));
142extern void	UpdateDocumentFonts ARGS_DECL((char*));
143extern void	UpdatePropagatedEPSInfo ARGS_DECL((char *line, int *status));
144extern void	SetCmdLineDontCondense ARGS_DECL((void));
145extern void	SetCmdLineCondensedPS ARGS_DECL((void));
146
147extern int	FindProgramInPath ARGS_DECL((char *cmd, char *msg, int no_msg));
148extern int	ExecuteCmd ARGS_DECL((char*, int done_msg));
149extern void	CleanUpComments ARGS_DECL((void));
150extern void	ClearFileInfo ARGS_DECL((int clean_up_comments));
151extern int	OkayToCreateFile ARGS_DECL((char*));
152extern void	SaveObj ARGS_DECL((FILE*, struct ObjRec *ObjPtr, int Level));
153extern int	FileNameHasExtension ARGS_DECL((char *file_name, int file_type,
154		                                int *pn_gzipped,
155		                                int *pn_no_name));
156extern void	RemoveFileNameExtension ARGS_DECL((char*));
157extern int	FixDecimalPoint ARGS_DECL((char*));
158extern void	Save ARGS_DECL((FILE *, struct ObjRec *BotObj, int Level,
159		                int PageNumber));
160extern int	SaveTmpFile ARGS_DECL((char *));
161extern void	SaveNewFile ARGS_DECL((int SaveSelectedOnly, char *pszNewFile));
162extern void	SaveSymInLibrary ARGS_DECL((void));
163extern void	SaveFile ARGS_DECL((void));
164extern void	SavePages ARGS_DECL((SpecifyPagesInfo*));
165extern char	* ParseStr ARGS_DECL((char *Str, int C, char *Left,
166		                      int LeftSz));
167extern char	* FindChar ARGS_DECL((int C, char *Str));
168extern void	SaveCreatorID ARGS_DECL((FILE *FP, struct ObjRec *ObjPtr,
169		                         char *pszPrefix));
170extern int	ReadCreatorID ARGS_DECL((FILE *FP, struct ObjRec **ObjPtr));
171extern int	ReadObj ARGS_DECL((FILE *, struct ObjRec **));
172extern void	AdjForOldVersion ARGS_DECL((struct ObjRec *));
173extern int	DownloadRemoteFile ARGS_DECL((char *file_name,
174		                              char **ppsz_content_type,
175		                              char **ppsz_page_spec,
176		                              int *pn_is_html,
177		                              char *return_tmp_fname,
178		                              char *final_url,
179		                              int cb_final_url));
180extern int	ImportGivenFile ARGS_DECL((char*, int group_and_lock,
181		                           int highlight));
182extern void	ImportFile ARGS_DECL((void));
183extern int	ClearBgColorInfo ARGS_DECL((int nRedraw));
184extern int	ClearBgPixmapInfo ARGS_DECL((int nRedraw));
185extern int	SetFileBgColor ARGS_DECL((void));
186extern int	SetFileFgColor ARGS_DECL((void));
187extern int	SetFileBgPixmap ARGS_DECL((void));
188extern void	CheckFileAttrsInLoad ARGS_DECL((void));
189extern int	LoadFile ARGS_DECL((char *FileName, int ObjFile,
190		                    int GzippedObjFile));
191extern void	DumpPatFill ARGS_DECL((FILE *, int Fill, struct BBRec,
192		                       int Indent, int EOL));
193extern void	DumpSymOutline ARGS_DECL((FILE *, struct ObjRec *));
194extern int	DumpBBox ARGS_DECL((FILE *, int PageOnly, struct BBRec *));
195extern void	ModifyOutputFileName ARGS_DECL((char *));
196extern void	SetPsSetup ARGS_DECL((char *));
197extern void	SetBopHook ARGS_DECL((char *));
198extern void	SetEopHook ARGS_DECL((char *));
199extern int	GetCmdUsingDefAndXDef ARGS_DECL((char *buf, int buf_sz,
200		                                 char *def_cmd, char *option,
201		                                 int verify_count,
202		                                 int msg_box_if_error));
203extern void	SetOutputFileName ARGS_DECL((char *psz_file_return,
204		                             char *psz_ext, int *pn_short_name,
205		                             char **ppsz_rest));
206extern void	Dump ARGS_DECL((char *));
207extern void	DumpPages ARGS_DECL((void));
208extern void	DumpOnePageInTileMode ARGS_DECL((int Row, int Col));
209extern void	DumpOnePageInStackMode ARGS_DECL((void));
210extern void	DumpOneFilePerPage ARGS_DECL((void));
211extern void	PrintWithCommand ARGS_DECL((char *));
212extern void	PrintSelectedObjs ARGS_DECL((void));
213extern void	SetPrintReduction ARGS_DECL((void));
214extern void	NewProc ARGS_DECL((void));
215extern int	BeforeOpenURL ARGS_DECL((int *pn_do_not_save));
216extern void	OpenURL ARGS_DECL((char *psz_url, int do_not_save,
217		                   int *pn_need_to_check_auto_exec));
218extern void	AfterOpenURL ARGS_DECL((int need_to_check_auto_exec));
219extern void	OpenProc ARGS_DECL((char*));
220extern void	SetTemplate ARGS_DECL((void));
221extern int	QuitProc ARGS_DECL((void));
222extern int	SolveProc ARGS_DECL((void));
223extern int	SimulateProc ARGS_DECL((void));
224extern int	ProbeProc ARGS_DECL((void));
225extern int	AnimateProc ARGS_DECL((void));
226extern int	EscapeProc ARGS_DECL((void));
227extern int	RefreshFileMenu ARGS_DECL((TgMenu*));
228extern TgMenu	*CreateFileMenu ARGS_DECL((TgMenu*, int X, int Y, TgMenuInfo*,
229		                           int status_str_xlated));
230extern int	FileMenu ARGS_DECL((int X, int Y, int TrackMenubar));
231extern TgMenu	*CreateRecentFilesMenu ARGS_DECL((TgMenu*, int X, int Y,
232		                                  TgMenuInfo*,
233		                                  int status_str_xlated));
234extern char	* ReadFileIntoBuf ARGS_DECL((char *fname,
235		                             unsigned int *pn_buf_sz));
236extern int	WriteBufIntoTmpFile ARGS_DECL((char *buf, int buf_sz,
237		                               char *tmp_fname,
238		                               int tmp_fname_sz));
239extern void	CleanUpFiles ARGS_DECL((void));
240
241#ifdef _INCLUDE_FROM_FILE_C_
242#undef extern
243#ifndef _NO_RECURSIVE_EXTERN
244#define extern extern
245#endif /* ~_NO_RECURSIVE_EXTERN */
246#endif /*_INCLUDE_FROM_FILE_C_*/
247
248#endif /*_FILE_E_*/
249