Code

moving trunk for module inkscape
[inkscape.git] / src / trace / filterset.h
1 /*
2  * Some filters for Potrace in Inkscape
3  *
4  * Authors:
5  *   Bob Jamison <rjamison@titan.com>
6  *
7  * Copyright (C) 2004 Bob Jamison
8  *
9  * Released under GNU GPL, read the file 'COPYING' for more information
10  */
12 #ifndef __FILTERSET_H__
13 #define __FILTERSET_H__
15 #include "imagemap.h"
17 #include <gdk-pixbuf/gdk-pixbuf.h>
19 #ifndef TRUE
20 #define TRUE  1
21 #endif
23 #ifndef FALSE
24 #define FALSE 0
25 #endif
27 /*#########################################################################
28 ### C A N N Y    E D G E    D E T E C T I O N
29 #########################################################################*/
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
38 /**
39  *
40  */
41 GrayMap *grayMapGaussian(GrayMap *me);
43 /**
44  *
45  */
46 RgbMap *rgbMapGaussian(RgbMap *me);
48 /**
49  *
50  */
51 GrayMap *grayMapCanny(GrayMap *gm, 
52              double lowThreshold, double highThreshold);
54 /**
55  *
56  */
57 GdkPixbuf *gdkCanny(GdkPixbuf *img,
58             double lowThreshold, double highThreshold);
60 /**
61  * Quantize an RGB image to a reduced number of colors.  bitsPerSample
62  * is usually 3 - 5 out of 8 to conserve cpu and memory
63  */
64 IndexedMap *rgbMapQuantize(RgbMap *rgbMap, int bitsPerSample, int nrColors);
66 /**
67  *
68  */
69 GrayMap *quantizeBand(RgbMap *rgbmap, int nrColors);
73 #ifdef __cplusplus
74 }
75 #endif
78 #endif /* __FILTERSET_H__ */
80 /*#########################################################################
81 ### E N D    O F    F I L E
82 #########################################################################*/