/xbmc/visualizations/Goom/goom2k4-0/src/goom_filters.h

http://github.com/xbmc/xbmc · C Header · 52 lines · 36 code · 8 blank · 8 comment · 0 complexity · 5aaf78688d9a1cd64f5acdf1f1fcd7f5 MD5 · raw file

  1. #ifndef FILTERS_H
  2. #define FILTERS_H
  3. #include "goom_config.h"
  4. #include "goom_typedefs.h"
  5. #include "goom_visual_fx.h"
  6. #include "goom_graphic.h"
  7. VisualFX zoomFilterVisualFXWrapper_create(void);
  8. struct _ZOOM_FILTER_DATA
  9. {
  10. int vitesse; /* 128 = vitesse nule... * * 256 = en arriere
  11. * hyper vite.. * * 0 = en avant hype vite. */
  12. unsigned char pertedec;
  13. unsigned char sqrtperte;
  14. int middleX, middleY; /* milieu de l'effet */
  15. char reverse; /* inverse la vitesse */
  16. char mode; /* type d'effet ? appliquer (cf les #define) */
  17. /** @since June 2001 */
  18. int hPlaneEffect; /* deviation horitontale */
  19. int vPlaneEffect; /* deviation verticale */
  20. /** @since April 2002 */
  21. int waveEffect; /* applique une "surcouche" de wave effect */
  22. int hypercosEffect; /* applique une "surcouche de hypercos effect */
  23. char noisify; /* ajoute un bruit a la transformation */
  24. };
  25. #define NORMAL_MODE 0
  26. #define WAVE_MODE 1
  27. #define CRYSTAL_BALL_MODE 2
  28. #define SCRUNCH_MODE 3
  29. #define AMULETTE_MODE 4
  30. #define WATER_MODE 5
  31. #define HYPERCOS1_MODE 6
  32. #define HYPERCOS2_MODE 7
  33. #define YONLY_MODE 8
  34. #define SPEEDWAY_MODE 9
  35. void pointFilter (PluginInfo *goomInfo, Pixel * pix1, Color c,
  36. float t1, float t2, float t3, float t4, guint32 cycle);
  37. /* filtre de zoom :
  38. * le contenu de pix1 est copie dans pix2.
  39. * zf : si non NULL, configure l'effet.
  40. * resx,resy : taille des buffers.
  41. */
  42. void zoomFilterFastRGB (PluginInfo *goomInfo, Pixel * pix1, Pixel * pix2, ZoomFilterData * zf, guint32 resx,
  43. guint32 resy, int switchIncr, float switchMult);
  44. #endif