X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=core%2Fmixer%2Fimage%2Fimage_kernel.h;h=13827e734b4c1982c5bd1a99c378b348a55c2ed2;hb=134faacd0105bffe3bd051d708f175010dd1e9b8;hp=2af0d5bcf60bb4326bf2f18809bc0e3b5484acf6;hpb=2cfe40e47c46a652eed324a73cd68bc23bbcf4b7;p=casparcg diff --git a/core/mixer/image/image_kernel.h b/core/mixer/image/image_kernel.h index 2af0d5bcf..13827e734 100644 --- a/core/mixer/image/image_kernel.h +++ b/core/mixer/image/image_kernel.h @@ -33,27 +33,24 @@ namespace caspar { namespace core { class device_buffer; class ogl_device; -struct render_item +struct draw_params { pixel_format_desc pix_desc; std::vector> textures; frame_transform transform; blend_mode::type blend_mode; + std::shared_ptr background; + std::shared_ptr local_key; + std::shared_ptr layer_key; - render_item() : blend_mode(blend_mode::normal){} + draw_params() : blend_mode(blend_mode::normal){} }; -bool operator==(const render_item& lhs, const render_item& rhs); - class image_kernel : boost::noncopyable { public: image_kernel(); - void draw(ogl_device& ogl, - render_item&& item, - device_buffer& background, - const std::shared_ptr& local_key = nullptr, - const std::shared_ptr& layer_key = nullptr); + void draw(ogl_device& ogl, draw_params&& params); private: struct implementation; safe_ptr impl_;