33784c299913874a6cbb3cad7e2049d2d7f9bd11
[platform/upstream/gst-plugins-good.git] / gst / goom / filters.h
1 #ifndef FILTERS_H
2 #define FILTERS_H
3
4 #include <glib.h>
5
6 #include "graphic.h"
7
8 typedef struct
9 {
10         int vitesse ;
11         unsigned char pertedec ;
12         unsigned char sqrtperte ;
13         int middleX,middleY ;
14         char reverse ;
15         char mode ;
16         /** @since June 2001 */
17         int hPlaneEffect ;
18         int vPlaneEffect ;
19         char noisify ;
20 } ZoomFilterData ;
21
22
23 #define NORMAL_MODE 0
24 #define WAVE_MODE 1
25 #define CRYSTAL_BALL_MODE 2
26 #define SCRUNCH_MODE 3
27 #define AMULETTE_MODE 4
28 #define WATER_MODE 5
29
30 void pointFilter(guint32 *pix1, Color c,
31                                  float t1, float t2, float t3, float t4,
32                                  guint32 cycle);
33
34 /* filtre de zoom :
35  le contenu de pix1 est copie dans pix2, avec l'effet appliqué
36  midx et midy represente le centre du zoom
37
38 void zoomFilter(Uint *pix1, Uint *pix2, Uint middleX, Uint middleY);
39 void zoomFilterRGB(Uint *pix1,
40 Uint *pix2,
41 Uint middleX,
42 Uint middleY);
43 */
44
45 void zoomFilterFastRGB (guint32 *pix1,
46                                                 guint32 *pix2,
47                                                 ZoomFilterData *zf,
48                                                 guint32 resx, guint32 resy);
49
50
51 /* filtre sin :
52  le contenu de pix1 est copie dans pix2, avec l'effet appliqué
53  cycle est la variable de temps.
54  mode vaut SIN_MUL ou SIN_ADD
55  rate est le pourcentage de l'effet appliqué
56  lenght : la longueur d'onde (1..10) [5]
57  speed : la vitesse (1..100) [10]
58 */
59 /*
60 void sinFilter(Uint *pix1,Uint *pix2,
61                            Uint cycle,
62                            Uint mode,
63                            Uint rate,
64                            char lenght,
65                            Uint speed);
66 */
67
68 #define SIN_MUL 1
69 #define SIN_ADD 2
70
71 #endif