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/xbitmap.e,v 1.12 2011/05/16 16:22:00 william Exp $
19 */
20
21#ifndef _XBITMAP_E_
22#define _XBITMAP_E_
23
24extern GC	xbmGC;
25extern int	askForXBmSpec;
26extern int	stripEPSComments;
27extern int	saveEPSLines;
28extern int	leftExportPixelTrim;
29extern int	topExportPixelTrim;
30extern int	rightExportPixelTrim;
31extern int	bottomExportPixelTrim;
32extern int	xpmOutputVersion;
33extern Pixmap	dummyBitmap;
34extern char	gszHhtmlExportTemplate[MAXPATHLENGTH];
35
36#ifdef _INCLUDE_FROM_XBITMAP_C_
37#undef extern
38#define extern
39#endif /*_INCLUDE_FROM_XBITMAP_C_*/
40
41extern void	SetHtmlExportTemplate ARGS_DECL((void));
42extern int	ReadHtmlExportTemplate ARGS_DECL((char *buf));
43extern void	SetExportPixelTrim ARGS_DECL((int cur_val_is_too_large));
44extern int	GetXpmOutputVersion ARGS_DECL((void));
45extern void	SetXpmOutputVersion ARGS_DECL((int));
46extern void	InitXBm ARGS_DECL((void));
47extern void	ExportHalfToneBitmap ARGS_DECL((void));
48extern void	ExportThresholdBitmap ARGS_DECL((void));
49extern void	SetExportBitmapThreshold ARGS_DECL((char*));
50extern int	RefreshBitPixmapMenu ARGS_DECL((TgMenu*));
51extern TgMenu	*CreateBitPixmapMenu ARGS_DECL((TgMenu*, int X, int Y,
52                                                TgMenuInfo*,
53                                                int status_str_xlated));
54extern void	CleanUpXBm ARGS_DECL((void));
55extern void	CalcTransform ARGS_DECL((struct MtrxRec *));
56extern void	MakeCachedBitmap ARGS_DECL((struct ObjRec *));
57extern int	ExtractBitmap ARGS_DECL((Pixmap OrigBitmap, XImage *OrigImage,
58		                         int X, int Y, int W, int H,
59		                         Pixmap *Bitmap, XImage **Image));
60extern int	AutoTrimBitmap ARGS_DECL((Pixmap OrigBitmap, int *pnImageW,
61		                          int *pnImageH, Pixmap *Bitmap,
62		                          XImage **Image, int *pnEmptyImage,
63		                          int *pnDontFreeOrigBitmap));
64extern void	InvertXBitmaps ARGS_DECL((void));
65extern void	ParseCutSpec ARGS_DECL((char *Spec, int ImageW, int ImageH,
66		                        float *Mag, int *SrcX, int *SrcY,
67		                        int *SrcW, int *SrcH));
68extern void	CutXBitmap ARGS_DECL((void));
69extern int	InitTrueColorInfo ARGS_DECL((XImage*, TrueColorInfo*,
70                                             int image_w));
71extern void	GenPreviewBitmap ARGS_DECL((FILE *, int llxPage, int llyPage,
72		                            int urxPage, int uryPage));
73extern void	GetRealBaseName ARGS_DECL((char *fname));
74extern void	SetAColorByteInfo ARGS_DECL((ColorBytes*, XColor*));
75extern int	DumpXImageToPpmFile ARGS_DECL((XImage*, int w, int h,
76		                               char *tmp_fname, int deflate));
77extern void	DumpXBitmapFile ARGS_DECL((int nInImageProc,
78		                           int nDumpPpmPreferred,
79		                           int nPageNumInFileName));
80extern int	DumpXImageToFile ARGS_DECL((XImage*, int W, int H,
81		                            char *tmp_fname, char *ext));
82extern void	ExportXPixmapDeckToGIF ARGS_DECL((void));
83extern void	DumpBitmap ARGS_DECL((FILE*, XImage*, char*, int ImageW,
84		                      int ImageH, int Transformed, int OrigX,
85		                      int OrigY, int AdjX, struct MtrxRec *,
86		                      int Indent));
87extern void	DumpXBmObj ARGS_DECL((FILE*, struct ObjRec *));
88extern int	NeedsToCacheXBmObj ARGS_DECL((struct ObjRec *));
89extern void	DrawXBmObj ARGS_DECL((Window, int XOff, int YOff,
90		                      struct ObjRec *));
91extern struct ObjRec	* CreateXBmObj ARGS_DECL((int ImageW, int ImageH, int W,
92			                          int H, Pixmap, XImage *));
93extern void	BreakUpXBitmap ARGS_DECL((struct ObjRec *, int ColsAndRows,
94		                          int W, int H));
95extern void	DumpXBmData ARGS_DECL((FILE*, Pixmap bitmap, XImage**,
96		                       int W, int H));
97extern void	SaveXBmObj ARGS_DECL((FILE *, struct ObjRec *));
98extern void	ReadXBmObj ARGS_DECL((FILE *, char *Inbuf, struct ObjRec **));
99extern void	SetXBmPropMask ARGS_DECL((struct ObjRec *, long *plMask,
100		                          long *plSkip,
101		                          struct PropertiesRec *pProp));
102extern void	FreeXBmObj ARGS_DECL((struct ObjRec *));
103
104#ifdef _INCLUDE_FROM_XBITMAP_C_
105#undef extern
106#ifndef _NO_RECURSIVE_EXTERN
107#define extern extern
108#endif /* ~_NO_RECURSIVE_EXTERN */
109#endif /*_INCLUDE_FROM_XBITMAP_C_*/
110
111#endif /*_XBITMAP_E_*/
112