Bugfix: PGS YVU => YUV
[xy_vsfilter.git] / src / subtitles / xy_clipper_paint_machine.h
blob432021c55a1a7aa76f45be3aabced094da959463
1 #ifndef __XY_CLIPPER_PAINT_MACHINE_98D7A2E7_B2FA_44BC_9678_8B27CE8EB9DB_H__
2 #define __XY_CLIPPER_PAINT_MACHINE_98D7A2E7_B2FA_44BC_9678_8B27CE8EB9DB_H__
4 #include <boost/shared_ptr.hpp>
6 class CClipper;
7 typedef ::boost::shared_ptr<CClipper> SharedPtrCClipper;
9 struct GrayImage2;
10 typedef ::boost::shared_ptr<GrayImage2> SharedPtrGrayImage2;
12 class ClipperAlphaMaskCacheKey;
14 class CClipperPaintMachine
16 public:
17 CClipperPaintMachine(const SharedPtrCClipper& clipper)
18 : m_clipper(clipper)
19 , m_hash_key(clipper){ m_hash_key.UpdateHashValue(); }
21 void Paint(SharedPtrGrayImage2* output);
22 CRect CalcDirtyRect();
23 const ClipperAlphaMaskCacheKey& GetHashKey();
24 private:
25 SharedPtrCClipper m_clipper;
26 ClipperAlphaMaskCacheKey m_hash_key;
29 #endif // __XY_CLIPPER_PAINT_MACHINE_98D7A2E7_B2FA_44BC_9678_8B27CE8EB9DB_H__