X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=synfig-core%2Fsrc%2Fsynfig%2Flayer_composite.h;h=46a07b656141fd26bc437b2e4cb25f2308d12553;hb=d43ed398fd84b93b96eb91d91dafdf65c80537e6;hp=cb9497dd357d6f2415f509dddeb37c6f0a1d2de6;hpb=adfc80c126f482d7ea2bac38001a2c4a7c7df88c;p=synfig.git diff --git a/synfig-core/src/synfig/layer_composite.h b/synfig-core/src/synfig/layer_composite.h index cb9497d..46a07b6 100644 --- a/synfig-core/src/synfig/layer_composite.h +++ b/synfig-core/src/synfig/layer_composite.h @@ -48,48 +48,46 @@ class Layer_NoDeform {}; class Layer_Composite : public Layer { private: - - float amount_; - - Color::BlendMethod blend_method_; + //! The amount of composite + float amount; + //! The blend method for the composition + Color::BlendMethod blend_method; protected: + //! Default constructor. Not used directly. + Layer_Composite(float amount=1.0, Color::BlendMethod blend_method=Color::BLEND_COMPOSITE); - Layer_Composite( - float amount=1.0, - Color::BlendMethod blend_method=Color::BLEND_COMPOSITE - ): - amount_ (amount), - blend_method_ (blend_method), - converted_blend_ (false), - transparent_color_ (false) - { } - + //! Converted blend is used to check if an old version of canvas + //! is used in the composition. Old Straight was used as new Composite + //! \todo verify this bool converted_blend_; + //! Transparent color is used for old canvas versions. + //!Old Straight plus transparent color seems to be the same new than alpha over. bool transparent_color_; public: - - float get_amount()const { return amount_; } - - Layer_Composite& set_amount(float x) { amount_=x; return *this; } - - Color::BlendMethod get_blend_method()const { return blend_method_; } - - Layer_Composite& set_blend_method(Color::BlendMethod x) { blend_method_=x; return *this; } - - virtual bool is_solid_color()const { return amount_==1.0f && blend_method_==Color::BLEND_STRAIGHT; } - - bool is_disabled()const { return amount_==0.0f; } - + //! Gets the amount of the layer + float get_amount()const { return amount; } + //! Sets the amount of the layer and returns this layer + Layer_Composite& set_amount(float x) { amount=x; return *this; } + //! Gets the blend method of the layer + Color::BlendMethod get_blend_method()const { return blend_method; } + //! Sets the blend method of the layer and returns this layer + Layer_Composite& set_blend_method(Color::BlendMethod x) { blend_method=x; return *this; } + //! Returns true is amount is 1 and blend method is straight + virtual bool is_solid_color()const { return amount==1.0f && blend_method==Color::BLEND_STRAIGHT; } + //! Returns true if the amount is zero. + bool is_disabled()const { return amount==0.0f; } + //! Gets the parameter vocabulary. To be overrided by the derived. virtual Vocab get_param_vocab()const; - + //! Sets the value for the given parameter. virtual bool set_param(const String ¶m, const ValueBase &value); - + //! Gets the value of the given parameter virtual ValueBase get_param(const String ¶m)const; - + //!Returns the rectangle that includes the context of the layer and + //! the intersection of the layer in case it is active and not onto virtual Rect get_full_bounding_rect(Context context)const; - + //! Renders the layer composited on the context and puts it on the target surface. virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const; }; // END of class Layer_Composite