+ layer& operator=(layer&& other); \r
+\r
+ void swap(layer& other); \r
+ \r
+ void load(spl::shared_ptr<class frame_producer> producer, bool preview, const boost::optional<int32_t>& auto_play_delta = nullptr); \r
+ void play(); \r
+ void pause(); \r
+ void stop(); \r
+ \r
+ class draw_frame receive(const struct video_format_desc& format_desc); \r
+ \r
+ // monitor::observable\r
+\r
+ void subscribe(const monitor::observable::observer_ptr& o) override;\r
+ void unsubscribe(const monitor::observable::observer_ptr& o) override;\r
+\r
+ // Properties\r
+ \r
+ spl::shared_ptr<class frame_producer> foreground() const; \r
+ spl::shared_ptr<class frame_producer> background() const; \r