VideoOutputChild.h 952 B

1234567891011121314151617181920212223242526272829303132333435
  1. #ifndef NULLSOFT_VIDEOOUTPUTCHILDH
  2. #define NULLSOFT_VIDEOOUTPUTCHILDH
  3. class SubsItem;
  4. #include <windows.h>
  5. #include "VideoAspectAdjuster.h"
  6. /*
  7. VideoRenderer is the base classes for the various video rendering classes
  8. */
  9. class VideoRenderer
  10. {
  11. public:
  12. virtual ~VideoRenderer()
  13. {
  14. }
  15. virtual int create(HWND parent, VideoAspectAdjuster *_adjuster, int w, int h, unsigned int type, int flipit, double aspectratio) = 0; //return 1 if ok
  16. virtual int needChange() = 0; //return 1 if need to renegociate video output
  17. virtual int onPaint(HWND hwnd) { return 0; } //return 1 if override
  18. virtual void displayFrame(const char *buf, int size, int time) = 0;
  19. virtual void close()= 0; // hides any output of the video
  20. virtual void timerCallback() { }
  21. virtual void setPalette(RGBQUAD *pal) { }
  22. virtual void drawSubtitle(SubsItem *item) { }
  23. virtual void resetSubtitle() { }
  24. virtual void setVFlip(int on) { }
  25. virtual void Refresh()=0;
  26. };
  27. #endif