MythTV
master
mythtv
libs
libmythtv
visualisations
goom
filters.h
Go to the documentation of this file.
1
#ifndef FILTERS_H
2
#define FILTERS_H
3
4
#include <cmath>
5
6
#include "
goomconfig.h
"
7
#include "
graphic.h
"
8
9
struct
ZoomFilterData
10
{
11
int
vitesse
;
/* 128 = vitesse nule... * * 256 = en arriere
12
* hyper vite.. * * 0 = en avant hype vite. */
13
unsigned
char
pertedec
;
14
unsigned
char
sqrtperte
;
15
int
middleX
,
middleY
;
/* milieu de l'effet */
16
bool
reverse
;
/* inverse la vitesse */
17
char
mode
;
/* type d'effet à appliquer (cf les #define) */
19
int
hPlaneEffect
;
/* deviation horitontale */
20
int
vPlaneEffect
;
/* deviation verticale */
22
bool
waveEffect
;
/* applique une "surcouche" de wave effect */
23
bool
hypercosEffect
;
/* applique une "surcouche de hypercos effect */
24
25
char
noisify
;
/* ajoute un bruit a la transformation */
26
};
27
28
29
#define NORMAL_MODE 0
30
#define WAVE_MODE 1
31
#define CRYSTAL_BALL_MODE 2
32
#define SCRUNCH_MODE 3
33
#define AMULETTE_MODE 4
34
#define WATER_MODE 5
35
#define HYPERCOS1_MODE 6
36
#define HYPERCOS2_MODE 7
37
#define YONLY_MODE 8
38
#define SPEEDWAY_MODE 9
39
40
void
pointFilter
(
guint32
* pix1,
Color
c,
float
t1,
float
t2,
float
t3,
float
t4,
guint32
cycle
);
41
42
/* filtre de zoom :
43
* le contenu de pix1 est copie dans pix2.
44
* zf : si non NULL, configure l'effet.
45
* resx,resy : taille des buffers.
46
*/
47
48
void
zoomFilterFastRGB
(
guint32
* pix1,
guint32
* pix2,
ZoomFilterData
* zf,
guint32
resx,
guint32
resy,
int
switchIncr,
float
switchMult);
49
50
#define SIN_MUL 1
51
#define SIN_ADD 2
52
53
#endif
zoomFilterFastRGB
void zoomFilterFastRGB(guint32 *pix1, guint32 *pix2, ZoomFilterData *zf, guint32 resx, guint32 resy, int switchIncr, float switchMult)
graphic.h
ZoomFilterData::sqrtperte
unsigned char sqrtperte
Definition:
filters.h:14
goomconfig.h
ZoomFilterData::reverse
bool reverse
Definition:
filters.h:16
ZoomFilterData::waveEffect
bool waveEffect
Definition:
filters.h:22
ZoomFilterData::vitesse
int vitesse
Definition:
filters.h:11
ZoomFilterData::noisify
char noisify
Definition:
filters.h:25
ZoomFilterData::hypercosEffect
bool hypercosEffect
Definition:
filters.h:23
pointFilter
void pointFilter(guint32 *pix1, Color c, float t1, float t2, float t3, float t4, guint32 cycle)
ZoomFilterData::pertedec
unsigned char pertedec
Definition:
filters.h:13
ZoomFilterData
Definition:
filters.h:9
ZoomFilterData::middleX
int middleX
Definition:
filters.h:15
cycle
static guint32 cycle
Definition:
goom_core.cpp:27
ZoomFilterData::vPlaneEffect
int vPlaneEffect
Definition:
filters.h:20
ZoomFilterData::mode
char mode
Definition:
filters.h:17
guint32
#define guint32
Definition:
goomconfig.h:35
ZoomFilterData::hPlaneEffect
int hPlaneEffect
Definition:
filters.h:19
Color
Definition:
graphic.h:6
ZoomFilterData::middleY
int middleY
Definition:
filters.h:15
Generated on Mon Nov 25 2024 03:16:13 for MythTV by
1.8.17