File indexing completed on 2024-05-05 12:16:21
0001 /* 0002 Copyright (C) 2007 Eric Seidel <eric@webkit.org> 0003 0004 This file is part of the WebKit project 0005 0006 This library is free software; you can redistribute it and/or 0007 modify it under the terms of the GNU Library General Public 0008 License as published by the Free Software Foundation; either 0009 version 2 of the License, or (at your option) any later version. 0010 0011 This library is distributed in the hope that it will be useful, 0012 but WITHOUT ANY WARRANTY; without even the implied warranty of 0013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 0014 Library General Public License for more details. 0015 0016 You should have received a copy of the GNU Library General Public License 0017 along with this library; see the file COPYING.LIB. If not, write to 0018 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 0019 Boston, MA 02110-1301, USA. 0020 */ 0021 0022 #ifndef ColorDistance_h 0023 #define ColorDistance_h 0024 #if ENABLE(SVG) 0025 0026 namespace WebCore 0027 { 0028 0029 class Color; 0030 0031 class ColorDistance 0032 { 0033 public: 0034 ColorDistance(); 0035 ColorDistance(const Color &fromColor, const Color &toColor); 0036 ColorDistance(int redDiff, int blueDiff, int greenDiff); 0037 0038 ColorDistance scaledDistance(float scaleFactor) const; 0039 Color addToColorAndClamp(const Color &) const; 0040 0041 static Color addColorsAndClamp(const Color &, const Color &); 0042 0043 bool isZero() const; 0044 0045 float distance() const; 0046 0047 private: 0048 short m_redDiff; 0049 short m_greenDiff; 0050 short m_blueDiff; 0051 }; 0052 } 0053 0054 #endif // ENABLE(SVG) 0055 #endif // ColorDistance_h