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/imgproc.e,v 1.18 2011/05/16 16:21:58 william Exp $
19 */
20
21#ifndef _IMGPROC_E_
22#define _IMGPROC_E_
23
24extern int numImageProc;
25extern int gnInImageProc;
26extern int gnConvolving;
27extern int gnNumNewColorsInPixmapFile;
28extern char gszImageProcXPmFile[MAXPATHLENGTH+1];
29
30extern float gfVectorWarpSoftness;
31
32extern int threshFillReplaceEnabled;
33extern int fillReplaceRedThresh;
34extern int fillReplaceGreenThresh;
35extern int fillReplaceBlueThresh;
36
37#ifdef _INCLUDE_FROM_IMGPROC_C_
38#undef extern
39#define extern
40#endif /*_INCLUDE_FROM_IMGPROC_C_*/
41
42extern void	CleanUpConvolution ARGS_DECL((void));
43extern int	DoConvolution ARGS_DECL((FILE*, XImage *image,
44		                         XImage *bitmap_image, int W, int H,
45		                         struct XPmRec *));
46extern FILE	*GetImageProcOutputFileName ARGS_DECL((char *pszPath,
47		                                       int path_buf_sz,
48		                                       int *pnShortName,
49		                                       char **ppszRest));
50
51extern void	RGBtoHSV ARGS_DECL((int r, int g, int b, int *h, double *s,
52		                    int *v));
53extern void	HSVtoRGB ARGS_DECL((int h, double s, int v, int *r, int *g,
54		                    int *b));
55extern void	MakeGray ARGS_DECL((void));
56extern void	InvertColor ARGS_DECL((void));
57extern void	InterpolateColor ARGS_DECL((void));
58extern void	BrightenDarken ARGS_DECL((void));
59extern void	ChangeSaturation ARGS_DECL((void));
60extern void	ChangeHue ARGS_DECL((void));
61extern void	ContrastEnhance ARGS_DECL((void));
62extern void	ColorBalance ARGS_DECL((void));
63extern void	Gamma ARGS_DECL((char*));
64extern void	EdgeDetect ARGS_DECL((void));
65extern void	Emboss ARGS_DECL((void));
66extern void	ReduceColors ARGS_DECL((void));
67extern void	ReduceToPixmapColors ARGS_DECL((void));
68extern void	ReduceToMobileWebSafeColors ARGS_DECL((void));
69extern void	SetDefaultColorLevels ARGS_DECL((void));
70extern void	ReduceToDefaultColors ARGS_DECL((void));
71extern void	DefaultErrorDiffuse ARGS_DECL((void));
72extern void	Spread ARGS_DECL((void));
73extern void	Sharpen ARGS_DECL((void));
74extern void	Blur3 ARGS_DECL((void));
75extern void	Blur5 ARGS_DECL((void));
76extern void	Blur7 ARGS_DECL((void));
77extern void	RunBggen ARGS_DECL((void));
78extern void	CircularBggen ARGS_DECL((void));
79extern void	SimpleRectBggen ARGS_DECL((void));
80extern void	RegenerateImage ARGS_DECL((void));
81extern void	CreatePixmapFromSelected ARGS_DECL((void));
82extern void	CropImage ARGS_DECL((void));
83extern void	GetColor ARGS_DECL((void));
84extern void	ReplaceColor ARGS_DECL((void));
85extern void	ReplaceColorWithTrans ARGS_DECL((void));
86extern void	FloodFill ARGS_DECL((void));
87extern void	ToggleFloodReplaceColorThreshold ARGS_DECL((void));
88extern void	SetFloodReplaceColorThreshold ARGS_DECL((void));
89extern void	CreateContour ARGS_DECL((void));
90extern void	Subtract ARGS_DECL((void));
91extern void	XorColors ARGS_DECL((void));
92extern void	AlphaCombine ARGS_DECL((void));
93extern int	BuildTrapMapNode ARGS_DECL((TrapMapSpec*, int*, TrapMap*));
94extern void	VectorWarp ARGS_DECL((void));
95
96extern void	CleanUpImageProc ARGS_DECL((void));
97extern void	InitImageProc ARGS_DECL((void));
98extern int	RefreshImageProcMenu ARGS_DECL((TgMenu*));
99extern TgMenu	*CreateImageProcMenu ARGS_DECL((TgMenu*, int X, int Y,
100		                                TgMenuInfo*,
101		                                int status_str_xlated));
102extern int	ImageProcMenu ARGS_DECL((int X, int Y, int TrackMenubar));
103
104#ifdef _INCLUDE_FROM_IMGPROC_C_
105#undef extern
106#ifndef _NO_RECURSIVE_EXTERN
107#define extern extern
108#endif /* ~_NO_RECURSIVE_EXTERN */
109#endif /*_INCLUDE_FROM_IMGPROC_C_*/
110
111#endif /*_IMGPROC_E_*/
112