blend_modes_[index] = value;\r
}, high_priority);\r
}\r
+\r
+ void clear_blend_mode(int index)\r
+ {\r
+ executor_.begin_invoke([=]\r
+ {\r
+ blend_modes_.erase(index);\r
+ }, high_priority);\r
+ }\r
+\r
+ void clear_blend_modes()\r
+ {\r
+ executor_.begin_invoke([=]\r
+ {\r
+ blend_modes_.clear();\r
+ }, high_priority);\r
+ }\r
\r
void set_video_format_desc(const video_format_desc& format_desc)\r
{\r
core::video_format_desc mixer::get_video_format_desc() const { return impl_->get_video_format_desc(); }\r
safe_ptr<core::write_frame> mixer::create_frame(const void* tag, const core::pixel_format_desc& desc){ return impl_->create_frame(tag, desc); } \r
void mixer::set_blend_mode(int index, blend_mode::type value){impl_->set_blend_mode(index, value);}\r
+void mixer::clear_blend_mode(int index) { impl_->clear_blend_mode(index); }\r
+void mixer::clear_blend_modes() { impl_->clear_blend_modes(); }\r
void mixer::set_video_format_desc(const video_format_desc& format_desc){impl_->set_video_format_desc(format_desc);}\r
boost::unique_future<boost::property_tree::wptree> mixer::info() const{return impl_->info();}\r
}}
\ No newline at end of file
void set_video_format_desc(const video_format_desc& format_desc);\r
\r
void set_blend_mode(int index, blend_mode::type value);\r
-\r
+ void clear_blend_mode(int index);\r
+ void clear_blend_modes();\r\r
boost::unique_future<boost::property_tree::wptree> info() const;\r
\r
private:\r
else if(_parameters[0] == L"CLEAR")\r
{\r
int layer = GetLayerIndex(std::numeric_limits<int>::max());\r
- if(layer == std::numeric_limits<int>::max())\r
+ if (layer == std::numeric_limits<int>::max())\r
+ {\r
GetChannel()->stage()->clear_transforms();\r
+ GetChannel()->mixer()->clear_blend_modes();\r
+ }\r
else\r
+ {\r
GetChannel()->stage()->clear_transforms(layer);\r
+ GetChannel()->mixer()->clear_blend_mode(layer);\r
+ }\r
}\r
else if(_parameters[0] == L"COMMIT")\r
{\r