3 #include "../producer/frame_producer.h"
\r
5 #include <boost/noncopyable.hpp>
\r
7 namespace caspar { namespace core {
\r
19 class layer : boost::noncopyable
\r
23 layer(layer&& other);
\r
24 layer& operator=(layer&& other);
\r
26 void load(const safe_ptr<frame_producer>& producer, load_option::type option = load_option::none);
\r
34 safe_ptr<frame_producer> foreground() const;
\r
35 safe_ptr<frame_producer> background() const;
\r
37 safe_ptr<draw_frame> receive();
\r
39 struct implementation;
\r
40 std::shared_ptr<implementation> impl_;
\r
42 typedef std::shared_ptr<layer> layer_ptr;
\r
43 typedef std::unique_ptr<layer> layer_uptr;
\r