1 #ifndef _GOOMCORE_H
2 #define _GOOMCORE_H
3 
4 #include <glib.h>
5 
6 typedef struct ZoomFilterData ZoomFilterData;
7 
8 typedef struct
9 {
10 /**-----------------------------------------------------**
11  **  SHARED DATA                                        **
12  **-----------------------------------------------------**/
13   guint32 *pixel;
14   guint32 *back;
15   guint32 *p1, *p2;
16   guint32 cycle;
17 
18   guint32 resolx, resoly, buffsize;
19 
20   int lockvar;       /* pour empecher de nouveaux changements */
21   int goomvar;       /* boucle des gooms */
22   int totalgoom;     /* nombre de gooms par seconds */
23   int agoom;         /* un goom a eu lieu..       */
24   int loopvar;       /* mouvement des points */
25   int speedvar;      /* vitesse des particules */
26   int lineMode;      /* l'effet lineaire a dessiner */
27   char goomlimit;    /* sensibilité du goom */
28 
29   ZoomFilterData *zfd;
30 
31   /* Random table */
32   gint  *rand_tab;
33   guint  rand_pos;
34 } GoomData;
35 
36 void goom_init (GoomData *goomdata, guint32 resx, guint32 resy);
37 void goom_set_resolution (GoomData *goomdata, guint32 resx, guint32 resy);
38 
39 guint32 *goom_update (GoomData *goomdata, gint16 data [2][512]);
40 
41 void goom_close (GoomData *goomdata);
42 
43 #endif
44