]> git.sesse.net Git - casparcg/blobdiff - core/mixer/mixer.h
Merged screen consumer improvements from trunk
[casparcg] / core / mixer / mixer.h
index 0d4879fe8f719220d2ee5812198526d123c0b963..328b852387743b7300f86138ec9787cba859fac0 100644 (file)
 #include "image/blend_modes.h"\r
 \r
 #include <common/forward.h>\r
-#include <common/spl/memory.h>\r
+#include <common/future_fwd.h>\r
+#include <common/memory.h>\r
 #include <common/reactive.h>\r
 \r
-#include <boost/noncopyable.hpp>\r
+#include <core/video_format.h>\r
+\r
 #include <boost/property_tree/ptree_fwd.hpp>\r
 \r
 #include <map>\r
 \r
-FORWARD1(boost, template<typename> class unique_future);\r
 FORWARD2(caspar, diagnostics, class graph);\r
 \r
 namespace caspar { namespace core {\r
        \r
-class mixer sealed : boost::noncopyable\r
+class mixer sealed\r
 {\r
-public:        \r
-       explicit mixer(spl::shared_ptr<struct image_mixer> image_mixer);\r
+       mixer(const mixer&);\r
+       mixer& operator=(const mixer&);\r
+public:\r
+       \r
+       // Static Members\r
                                        \r
-       spl::shared_ptr<const struct data_frame> operator()(std::map<int, spl::shared_ptr<class draw_frame>> frames, const struct video_format_desc& format_desc);\r
+       // Constructors\r
+       \r
+       explicit mixer(spl::shared_ptr<diagnostics::graph> graph, spl::shared_ptr<class image_mixer> image_mixer);\r
+\r
+       // Methods\r
+               \r
+       class const_frame operator()(std::map<int, class draw_frame> frames, const struct video_format_desc& format_desc);\r
        \r
        void set_blend_mode(int index, blend_mode value);\r
 \r
+       class mutable_frame create_frame(const void* tag, const struct pixel_format_desc& desc);\r
+\r
+       // Properties\r
+\r
        boost::unique_future<boost::property_tree::wptree> info() const;\r
 \r
-       spl::shared_ptr<struct write_frame> create_frame(const void* tag, const struct pixel_format_desc& desc);\r
 private:\r
        struct impl;\r
        spl::shared_ptr<impl> impl_;\r