X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Flayer_composite.h;h=cb9497dd357d6f2415f509dddeb37c6f0a1d2de6;hb=9459638ad6797b8139f1e9f0715c96076dbf0890;hp=2c9853d3f54f5412f0633de4ef7b7ac889191ebf;hpb=28f28705612902c15cd0702cc891fba35bf2d2df;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/layer_composite.h b/synfig-core/trunk/src/synfig/layer_composite.h index 2c9853d..cb9497d 100644 --- a/synfig-core/trunk/src/synfig/layer_composite.h +++ b/synfig-core/trunk/src/synfig/layer_composite.h @@ -2,19 +2,21 @@ /*! \file layer_composite.h ** \brief Composite Layer Class Implementation ** -** $Id: layer_composite.h,v 1.2 2005/01/24 03:08:18 darco Exp $ +** $Id$ ** ** \legal -** Copyright (c) 2002 Robert B. Quattlebaum Jr. +** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 2007, 2008 Chris Moore ** -** This software and associated documentation -** are CONFIDENTIAL and PROPRIETARY property of -** the above-mentioned copyright holder. +** This package is free software; you can redistribute it and/or +** modify it under the terms of the GNU General Public License as +** published by the Free Software Foundation; either version 2 of +** the License, or (at your option) any later version. ** -** You may not copy, print, publish, or in any -** other way distribute this software without -** a prior written agreement with -** the copyright holder. +** This package is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** General Public License for more details. ** \endlegal */ /* ========================================================================= */ @@ -41,7 +43,7 @@ class Layer_NoDeform {}; /*! \class Layer_Composite -** \brief Base class for layers that put stuff ontop of lower layers +** \brief Base class for layers that put stuff on top of lower layers */ class Layer_Composite : public Layer { @@ -58,9 +60,14 @@ protected: Color::BlendMethod blend_method=Color::BLEND_COMPOSITE ): amount_ (amount), - blend_method_ (blend_method) + blend_method_ (blend_method), + converted_blend_ (false), + transparent_color_ (false) { } + bool converted_blend_; + bool transparent_color_; + public: float get_amount()const { return amount_; } @@ -71,10 +78,10 @@ public: Layer_Composite& set_blend_method(Color::BlendMethod x) { blend_method_=x; return *this; } - bool is_solid_color()const { return amount_==1.0f && blend_method_==Color::BLEND_STRAIGHT; } - + virtual bool is_solid_color()const { return amount_==1.0f && blend_method_==Color::BLEND_STRAIGHT; } + bool is_disabled()const { return amount_==0.0f; } - + virtual Vocab get_param_vocab()const; virtual bool set_param(const String ¶m, const ValueBase &value);