summaryrefslogtreecommitdiffstats
path: root/gst/goom/filters.h
diff options
context:
space:
mode:
Diffstat (limited to 'gst/goom/filters.h')
-rw-r--r--gst/goom/filters.h71
1 files changed, 71 insertions, 0 deletions
diff --git a/gst/goom/filters.h b/gst/goom/filters.h
new file mode 100644
index 00000000..33784c29
--- /dev/null
+++ b/gst/goom/filters.h
@@ -0,0 +1,71 @@
+#ifndef FILTERS_H
+#define FILTERS_H
+
+#include <glib.h>
+
+#include "graphic.h"
+
+typedef struct
+{
+ int vitesse ;
+ unsigned char pertedec ;
+ unsigned char sqrtperte ;
+ int middleX,middleY ;
+ char reverse ;
+ char mode ;
+ /** @since June 2001 */
+ int hPlaneEffect ;
+ int vPlaneEffect ;
+ char noisify ;
+} ZoomFilterData ;
+
+
+#define NORMAL_MODE 0
+#define WAVE_MODE 1
+#define CRYSTAL_BALL_MODE 2
+#define SCRUNCH_MODE 3
+#define AMULETTE_MODE 4
+#define WATER_MODE 5
+
+void pointFilter(guint32 *pix1, Color c,
+ float t1, float t2, float t3, float t4,
+ guint32 cycle);
+
+/* filtre de zoom :
+ le contenu de pix1 est copie dans pix2, avec l'effet appliqué
+ midx et midy represente le centre du zoom
+
+void zoomFilter(Uint *pix1, Uint *pix2, Uint middleX, Uint middleY);
+void zoomFilterRGB(Uint *pix1,
+Uint *pix2,
+Uint middleX,
+Uint middleY);
+*/
+
+void zoomFilterFastRGB (guint32 *pix1,
+ guint32 *pix2,
+ ZoomFilterData *zf,
+ guint32 resx, guint32 resy);
+
+
+/* filtre sin :
+ le contenu de pix1 est copie dans pix2, avec l'effet appliqué
+ cycle est la variable de temps.
+ mode vaut SIN_MUL ou SIN_ADD
+ rate est le pourcentage de l'effet appliqué
+ lenght : la longueur d'onde (1..10) [5]
+ speed : la vitesse (1..100) [10]
+*/
+/*
+void sinFilter(Uint *pix1,Uint *pix2,
+ Uint cycle,
+ Uint mode,
+ Uint rate,
+ char lenght,
+ Uint speed);
+*/
+
+#define SIN_MUL 1
+#define SIN_ADD 2
+
+#endif