Home | History | Annotate | Download | only in svg
      1 /*
      2  Copyright (C) 2007 Eric Seidel <eric (at) webkit.org>
      3 
      4  This file is part of the WebKit project
      5 
      6  This library is free software; you can redistribute it and/or
      7  modify it under the terms of the GNU Library General Public
      8  License as published by the Free Software Foundation; either
      9  version 2 of the License, or (at your option) any later version.
     10 
     11  This library is distributed in the hope that it will be useful,
     12  but WITHOUT ANY WARRANTY; without even the implied warranty of
     13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     14  Library General Public License for more details.
     15 
     16  You should have received a copy of the GNU Library General Public License
     17  along with this library; see the file COPYING.LIB.  If not, write to
     18  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
     19  Boston, MA 02110-1301, USA.
     20  */
     21 
     22 #ifndef ColorDistance_h
     23 #define ColorDistance_h
     24 #if ENABLE(SVG)
     25 
     26 namespace WebCore {
     27 
     28     class Color;
     29 
     30     class ColorDistance {
     31     public:
     32         ColorDistance();
     33         ColorDistance(const Color& fromColor, const Color& toColor);
     34         ColorDistance(int redDiff, int blueDiff, int greenDiff);
     35 
     36         ColorDistance scaledDistance(float scaleFactor) const;
     37         Color addToColorAndClamp(const Color&) const;
     38 
     39         static Color addColorsAndClamp(const Color&, const Color&);
     40 
     41         bool isZero() const;
     42 
     43         float distance() const;
     44 
     45     private:
     46         short m_redDiff;
     47         short m_greenDiff;
     48         short m_blueDiff;
     49     };
     50 }
     51 
     52 #endif // ENABLE(SVG)
     53 #endif // ColorDistance_h
     54