summaryrefslogtreecommitdiffstats
path: root/gst/goom/goom_core.h
diff options
context:
space:
mode:
Diffstat (limited to 'gst/goom/goom_core.h')
-rw-r--r--gst/goom/goom_core.h38
1 files changed, 34 insertions, 4 deletions
diff --git a/gst/goom/goom_core.h b/gst/goom/goom_core.h
index 15f942d2..1fbc0ee8 100644
--- a/gst/goom/goom_core.h
+++ b/gst/goom/goom_core.h
@@ -3,11 +3,41 @@
#include <glib.h>
-void goom_init (guint32 resx, guint32 resy);
-void goom_set_resolution (guint32 resx, guint32 resy);
+typedef struct ZoomFilterData ZoomFilterData;
-guint32 * goom_update (gint16 data [2][512]);
+typedef struct
+{
+/**-----------------------------------------------------**
+ ** SHARED DATA **
+ **-----------------------------------------------------**/
+ guint32 *pixel;
+ guint32 *back;
+ guint32 *p1, *p2;
+ guint32 cycle;
-void goom_close ();
+ guint32 resolx, resoly, buffsize;
+
+ int lockvar; /* pour empecher de nouveaux changements */
+ int goomvar; /* boucle des gooms */
+ int totalgoom; /* nombre de gooms par seconds */
+ int agoom; /* un goom a eu lieu.. */
+ int loopvar; /* mouvement des points */
+ int speedvar; /* vitesse des particules */
+ int lineMode; /* l'effet lineaire a dessiner */
+ char goomlimit; /* sensibilité du goom */
+
+ ZoomFilterData *zfd;
+
+ /* Random table */
+ gint *rand_tab;
+ guint rand_pos;
+} GoomData;
+
+void goom_init (GoomData *goomdata, guint32 resx, guint32 resy);
+void goom_set_resolution (GoomData *goomdata, guint32 resx, guint32 resy);
+
+guint32 *goom_update (GoomData *goomdata, gint16 data [2][512]);
+
+void goom_close (GoomData *goomdata);
#endif