4 #include "goom_config.h"
5 #include "goom_typedefs.h"
6 #include "goom_visual_fx.h"
7 #include "goom_graphic.h"
9 VisualFX zoomFilterVisualFXWrapper_create(void);
11 struct _ZOOM_FILTER_DATA
13 int vitesse; /* 128 = vitesse nule... * * 256 = en arriere
14 * hyper vite.. * * 0 = en avant hype vite. */
15 unsigned char pertedec;
16 unsigned char sqrtperte;
17 int middleX, middleY; /* milieu de l'effet */
18 char reverse; /* inverse la vitesse */
19 char mode; /* type d'effet à appliquer (cf les #define) */
20 /** @since June 2001 */
21 int hPlaneEffect; /* deviation horitontale */
22 int vPlaneEffect; /* deviation verticale */
23 /** @since April 2002 */
24 int waveEffect; /* applique une "surcouche" de wave effect */
25 int hypercosEffect; /* applique une "surcouche de hypercos effect */
27 char noisify; /* ajoute un bruit a la transformation */
32 #define CRYSTAL_BALL_MODE 2
33 #define SCRUNCH_MODE 3
34 #define AMULETTE_MODE 4
36 #define HYPERCOS1_MODE 6
37 #define HYPERCOS2_MODE 7
39 #define SPEEDWAY_MODE 9
41 void pointFilter (PluginInfo *goomInfo, Pixel * pix1, Color c,
42 float t1, float t2, float t3, float t4, guint32 cycle);
45 * le contenu de pix1 est copie dans pix2.
46 * zf : si non NULL, configure l'effet.
47 * resx,resy : taille des buffers.
49 void zoomFilterFastRGB (PluginInfo *goomInfo, Pixel * pix1, Pixel * pix2, ZoomFilterData * zf, guint32 resx,
50 guint32 resy, int switchIncr, float switchMult);