/*! \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-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+** Copyright (c) 2007, 2008 Chris Moore
**
** This package is free software; you can redistribute it and/or
** modify it under the terms of the GNU General Public License as
/*! \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
{
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_; }
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; }