#include <string>\r
#include <vector>\r
\r
-namespace caspar {\r
+namespace caspar { namespace core {\r
\r
enum transition_type\r
{\r
enum transition_direction\r
{\r
from_left = 1,\r
- from_right,\r
- from_top,\r
- from_bottom\r
+ from_right\r
};\r
\r
struct transition_info\r
{\r
- transition_info() : type(transition_type::cut), duration(0), border_width(0), border_color(TEXT("#00000000")), direction(transition_direction::from_left){}\r
+ transition_info() : type(transition_type::cut), duration(0), direction(transition_direction::from_left){}\r
\r
- unsigned short duration;\r
- unsigned short border_width;\r
- transition_direction direction;\r
- transition_type type;\r
- std::wstring border_color;\r
- std::wstring border_image;\r
+ size_t duration;\r
+ transition_direction direction;\r
+ transition_type type;\r
};\r
\r
class transition_producer : public frame_producer\r
public:\r
transition_producer(const frame_producer_ptr& destination, const transition_info& info, const frame_format_desc& fmt);\r
\r
- frame_ptr get_frame();\r
+ gpu_frame_ptr get_frame();\r
\r
frame_producer_ptr get_following_producer() const;\r
void set_leading_producer(const frame_producer_ptr& producer);\r
const frame_format_desc& get_frame_format_desc() const;\r
+ virtual void initialize(const frame_factory_ptr& factory);\r
private:\r
struct implementation;\r
std::shared_ptr<implementation> impl_;\r
};\r
typedef std::shared_ptr<transition_producer> transition_producer_ptr;\r
\r
-}
\ No newline at end of file
+}}
\ No newline at end of file