| Index: Source/core/platform/graphics/FontMetrics.h
|
| diff --git a/Source/core/platform/graphics/FontMetrics.h b/Source/core/platform/graphics/FontMetrics.h
|
| deleted file mode 100644
|
| index dbf1636a6bc6496b1873b859b593e35d248840e9..0000000000000000000000000000000000000000
|
| --- a/Source/core/platform/graphics/FontMetrics.h
|
| +++ /dev/null
|
| @@ -1,157 +0,0 @@
|
| -/*
|
| - * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved.
|
| - *
|
| - * This library is free software; you can redistribute it and/or
|
| - * modify it under the terms of the GNU Library General Public
|
| - * License as published by the Free Software Foundation; either
|
| - * version 2 of the License, or (at your option) any later version.
|
| - *
|
| - * This library is distributed in the hope that it will be useful,
|
| - * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
| - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
| - * Library General Public License for more details.
|
| - *
|
| - * You should have received a copy of the GNU Library General Public License
|
| - * along with this library; see the file COPYING.LIB. If not, write to
|
| - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
| - * Boston, MA 02110-1301, USA.
|
| - */
|
| -
|
| -#ifndef FontMetrics_h
|
| -#define FontMetrics_h
|
| -
|
| -#include "platform/fonts/FontBaseline.h"
|
| -#include "wtf/MathExtras.h"
|
| -
|
| -namespace WebCore {
|
| -
|
| -const unsigned gDefaultUnitsPerEm = 1000;
|
| -
|
| -class FontMetrics {
|
| -public:
|
| - FontMetrics()
|
| - : m_unitsPerEm(gDefaultUnitsPerEm)
|
| - , m_ascent(0)
|
| - , m_descent(0)
|
| - , m_lineGap(0)
|
| - , m_lineSpacing(0)
|
| - , m_xHeight(0)
|
| - , m_zeroWidth(0)
|
| - , m_hasXHeight(false)
|
| - , m_hasZeroWidth(false)
|
| - {
|
| - }
|
| -
|
| - unsigned unitsPerEm() const { return m_unitsPerEm; }
|
| - void setUnitsPerEm(unsigned unitsPerEm) { m_unitsPerEm = unitsPerEm; }
|
| -
|
| - float floatAscent(FontBaseline baselineType = AlphabeticBaseline) const
|
| - {
|
| - if (baselineType == AlphabeticBaseline)
|
| - return m_ascent;
|
| - return floatHeight() / 2;
|
| - }
|
| -
|
| - void setAscent(float ascent) { m_ascent = ascent; }
|
| -
|
| - float floatDescent(FontBaseline baselineType = AlphabeticBaseline) const
|
| - {
|
| - if (baselineType == AlphabeticBaseline)
|
| - return m_descent;
|
| - return floatHeight() / 2;
|
| - }
|
| -
|
| - void setDescent(float descent) { m_descent = descent; }
|
| -
|
| - float floatHeight(FontBaseline baselineType = AlphabeticBaseline) const
|
| - {
|
| - return floatAscent(baselineType) + floatDescent(baselineType);
|
| - }
|
| -
|
| - float floatLineGap() const { return m_lineGap; }
|
| - void setLineGap(float lineGap) { m_lineGap = lineGap; }
|
| -
|
| - float floatLineSpacing() const { return m_lineSpacing; }
|
| - void setLineSpacing(float lineSpacing) { m_lineSpacing = lineSpacing; }
|
| -
|
| - float xHeight() const { return m_xHeight; }
|
| - void setXHeight(float xHeight)
|
| - {
|
| - m_xHeight = xHeight;
|
| - m_hasXHeight = true;
|
| - }
|
| -
|
| - bool hasXHeight() const { return m_hasXHeight && m_xHeight > 0; }
|
| - void setHasXHeight(bool hasXHeight) { m_hasXHeight = hasXHeight; }
|
| -
|
| - // Integer variants of certain metrics, used for HTML rendering.
|
| - int ascent(FontBaseline baselineType = AlphabeticBaseline) const
|
| - {
|
| - if (baselineType == AlphabeticBaseline)
|
| - return lroundf(m_ascent);
|
| - return height() - height() / 2;
|
| - }
|
| -
|
| - int descent(FontBaseline baselineType = AlphabeticBaseline) const
|
| - {
|
| - if (baselineType == AlphabeticBaseline)
|
| - return lroundf(m_descent);
|
| - return height() / 2;
|
| - }
|
| -
|
| - int height(FontBaseline baselineType = AlphabeticBaseline) const
|
| - {
|
| - return ascent(baselineType) + descent(baselineType);
|
| - }
|
| -
|
| - int lineGap() const { return lroundf(m_lineGap); }
|
| - int lineSpacing() const { return lroundf(m_lineSpacing); }
|
| -
|
| - bool hasIdenticalAscentDescentAndLineGap(const FontMetrics& other) const
|
| - {
|
| - return ascent() == other.ascent() && descent() == other.descent() && lineGap() == other.lineGap();
|
| - }
|
| -
|
| - float zeroWidth() const { return m_zeroWidth; }
|
| - void setZeroWidth(float zeroWidth)
|
| - {
|
| - m_zeroWidth = zeroWidth;
|
| - m_hasZeroWidth = true;
|
| - }
|
| -
|
| - bool hasZeroWidth() const { return m_hasZeroWidth; }
|
| - void setHasZeroWidth(bool hasZeroWidth) { m_hasZeroWidth = hasZeroWidth; }
|
| -
|
| -private:
|
| - friend class SimpleFontData;
|
| -
|
| - void reset()
|
| - {
|
| - m_unitsPerEm = gDefaultUnitsPerEm;
|
| - m_ascent = 0;
|
| - m_descent = 0;
|
| - m_lineGap = 0;
|
| - m_lineSpacing = 0;
|
| - m_xHeight = 0;
|
| - m_hasXHeight = false;
|
| - }
|
| -
|
| - unsigned m_unitsPerEm;
|
| - float m_ascent;
|
| - float m_descent;
|
| - float m_lineGap;
|
| - float m_lineSpacing;
|
| - float m_xHeight;
|
| - float m_zeroWidth;
|
| - bool m_hasXHeight;
|
| - bool m_hasZeroWidth;
|
| -};
|
| -
|
| -static inline float scaleEmToUnits(float x, unsigned unitsPerEm)
|
| -{
|
| - return unitsPerEm ? x / unitsPerEm : x;
|
| -}
|
| -
|
| -} // namespace WebCore
|
| -
|
| -#endif // FontMetrics_h
|
|
|