7 #include "gpu_frame.h"
\r
9 namespace caspar { namespace core {
\r
11 class gpu_composite_frame : public gpu_frame
\r
14 gpu_composite_frame(size_t width, size_t height);
\r
16 virtual void write_lock();
\r
17 virtual bool write_unlock();
\r
18 virtual void read_lock(GLenum mode);
\r
19 virtual bool read_unlock();
\r
20 virtual void draw();
\r
22 void add(const gpu_frame_ptr& frame);
\r
24 static gpu_frame_ptr interlace(const gpu_frame_ptr& frame1 ,const gpu_frame_ptr& frame2, video_mode mode);
\r
27 virtual unsigned char* data();
\r
29 struct implementation;
\r
30 std::shared_ptr<implementation> impl_;
\r
32 typedef std::shared_ptr<gpu_composite_frame> gpu_composite_frame_ptr;
\r