Add my copyright to files I've modified.
[synfig.git] / synfig-core / trunk / src / synfig / color.h
index 447bd56..f21a396 100644 (file)
@@ -6,6 +6,7 @@
 **
 **     \legal
 **     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**     Copyright (c) 2007 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
 /* === H E A D E R S ======================================================= */
 
 
-#include <iostream>
-#include <iomanip>
-#include <sstream>
-#include <string>
-
 //#include <cmath>
 #include <math.h>
 #include <cassert>
 
 /* === M A C R O S ========================================================= */
 
+#define use_colorspace_gamma() App::use_colorspace_gamma
+#define colorspace_gamma()             (2.2f)
+#define gamma_in(x)                            ((x>=0) ? pow((float)x,1.0f/colorspace_gamma()) : -pow((float)-x,1.0f/colorspace_gamma()))
+#define gamma_out(x)                   ((x>=0) ? pow((float)x,     colorspace_gamma()) : -pow((float)-x,     colorspace_gamma()))
+
 #ifdef WIN32
 #include <float.h>
 #ifndef isnan
@@ -115,12 +116,7 @@ private:
 
 public:
 
-       inline const String get_string(void)const
-       {
-               std::ostringstream o;
-               o << std::fixed << std::setprecision(3) << "#" << get_hex() << " : " << std::setw(6) << a_;
-               return String(o.str().c_str());
-       }
+       const String get_string(void)const;
 
        Color &
        operator+=(const Color &rhs)
@@ -214,7 +210,11 @@ public:
        }
 
 public:
-       Color() /*:r_(0), g_(0), b_(0), a_(0)*/ { }
+       // ETL/trunk/ETL/_gaussian.h does:
+       //   SR1=SR2=SR3=typename T::value_type();
+       // and expects that to give it initialised colors
+       // Otherwise the 'gaussian' blur type is random.
+       Color() :a_(0), r_(0), g_(0), b_(0) { }
        Color(const value_type &f) :a_(f),r_(f), g_(f), b_(f) { }
        Color(int f) :a_(f),r_(f), g_(f), b_(f) { }