9c6df9240ce1d35b310e4a79499b68801db02850
[platform/upstream/gst-plugins-good.git] / gst / goom / lines.h
1 #ifndef _LINES_H
2 #define _LINES_H
3
4 /*
5  *  lines.h
6  *  Goom
7  *  Copyright (c) 2000-2003 iOS-software. All rights reserved.
8  */
9
10 #include "goom_typedefs.h"
11 #include "goom_graphic.h"
12 #include "goom_config.h"
13
14 struct _GMUNITPOINTER
15 {
16         float   x;
17         float   y;
18         float   angle;
19 };
20
21 /* tableau de points */
22 struct _GMLINE
23 {
24
25         GMUnitPointer *points;
26         GMUnitPointer *points2;
27         int     IDdest;
28         float   param;
29         float   amplitudeF;
30         float   amplitude;
31
32         int     nbPoints;
33         guint32 color;     /* pour l'instant je stocke la couleur a terme, on stockera le mode couleur et l'on animera */
34         guint32 color2;
35
36         int     screenX;
37         int     screenY;
38
39         float   power;
40         float   powinc;
41
42         PluginInfo *goomInfo;
43 };
44
45 /* les ID possibles */
46
47 #define GML_CIRCLE 0
48 /* (param = radius) */
49
50 #define GML_HLINE 1
51 /* (param = y) */
52
53 #define GML_VLINE 2
54 /* (param = x) */
55
56 /* les modes couleur possible (si tu mets un autre c'est noir) */
57
58 #define GML_BLEUBLANC 0
59 #define GML_RED 1
60 #define GML_ORANGE_V 2
61 #define GML_ORANGE_J 3
62 #define GML_VERT 4
63 #define GML_BLEU 5
64 #define GML_BLACK 6
65
66 /* construit un effet de line (une ligne horitontale pour commencer) */
67 GMLine *goom_lines_init (PluginInfo *goomInfo, int rx, int ry,
68                          int IDsrc, float paramS, int modeCoulSrc,
69                          int IDdest, float paramD, int modeCoulDest);
70
71 void    goom_lines_switch_to (GMLine * gml, int IDdest, float param,
72                         float amplitude,
73                         int modeCoul);
74
75 void    goom_lines_set_res (GMLine * gml, int rx, int ry);
76
77 void    goom_lines_free (GMLine ** gml);
78
79 void    goom_lines_draw (PluginInfo *plugInfo, GMLine * gml, gint16 data[512], Pixel *p);
80
81 #endif /* _LINES_H */