Added copyright lines for files I've edited this year.
[synfig.git] / synfig-core / trunk / src / synfig / layer.h
index 3e332d9..1e01f58 100644 (file)
@@ -6,6 +6,7 @@
 **
 **     \legal
 **     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**     Copyright (c) 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
@@ -322,6 +323,12 @@ public:
        //! \writeme
        void set_description(const String& x);
 
+       //! Returns the layer's description if it's not empty, else its local name
+       const String get_non_empty_description()const { return get_description().empty() ? get_local_name() : get_description(); }
+
+       //! Returns the localised version of the given layer parameter
+       const String get_param_local_name(const String &param_name)const;
+
        /*
  --    ** -- V I R T U A L   F U N C T I O N S -----------------------------------
        */
@@ -422,6 +429,14 @@ public:
        //! Duplicates the Layer
        virtual Handle clone(const GUID& deriv_guid=GUID())const;
 
+       //! Returns true if the layer needs to be able to examine its context.
+       /*! context to render itself, other than for simple blending.  For
+       **  example, the blur layer will return true - it can't do its job
+       **  if it can't see its context, and the circle layer will return
+       **  false - rendering a circle doesn't depend on the underlying
+       **  context until the final blend operation. */
+       virtual bool reads_context()const;
+
 #ifdef THIS_CODE_IS_NOT_USED
        //! Duplicates the Layer without duplicating the value nodes
        virtual Layer *simple_clone()const;