**
** \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
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)
}
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) { }