fx_dmove.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #ifndef __FX_DMOVE_H
  2. #define __FX_DMOVE_H
  3. #include "fx.h"
  4. #include <tataki/canvas/bltcanvas.h>
  5. class Layer;
  6. class FxDynamicMove : public Fx {
  7. public:
  8. FxDynamicMove();
  9. ~FxDynamicMove();
  10. virtual int render(Layer *l, int _w, int _h, int *input, int tw, int th, int twpitch);
  11. virtual void setWrap(int i);
  12. virtual void setRect(int i);
  13. virtual void setBilinear(int i);
  14. virtual void setAlphaMode(int i);
  15. virtual void setAlphaOnce(int i);
  16. virtual void setCanCache(int i);
  17. virtual void setGridSize(int x, int y);
  18. virtual BltCanvas *getBltCanvas();
  19. virtual void prepareCanvas(int w, int h);
  20. virtual void flushCache();
  21. private:
  22. BltCanvas fx_canvas;
  23. int last_w, last_h;
  24. int cache_w, cache_h;
  25. int m_lastw,m_lasth;
  26. int m_lastxres, m_lastyres, m_xres, m_yres, m_lastpitch;
  27. int *m_wmul;
  28. int *m_tab;
  29. int *last_m_tab;
  30. int m_tab_size;
  31. int subpixel,rectcoords,blend,wrap;
  32. int inited;
  33. int need_alpha;
  34. int alpha_once;
  35. int can_cache;
  36. bool need_flush;
  37. double *alpha_table;
  38. };
  39. #endif