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 frame_producer_ptr& producer, load_option::type option = load_option::none);
\r
32 frame_producer_ptr foreground() const;
\r
33 frame_producer_ptr background() const;
\r
35 producer_frame receive();
\r
37 struct implementation;
\r
38 std::shared_ptr<implementation> impl_;
\r
40 typedef std::shared_ptr<layer> layer_ptr;
\r
41 typedef std::unique_ptr<layer> layer_uptr;
\r