| Index: Source/core/platform/graphics/WidthIterator.h
|
| diff --git a/Source/core/platform/graphics/WidthIterator.h b/Source/core/platform/graphics/WidthIterator.h
|
| deleted file mode 100644
|
| index 9f4f28801c7166452615e1ee504db972e0af7af5..0000000000000000000000000000000000000000
|
| --- a/Source/core/platform/graphics/WidthIterator.h
|
| +++ /dev/null
|
| @@ -1,103 +0,0 @@
|
| -/*
|
| - * Copyright (C) 2003, 2006, 2008, 2011 Apple Inc. All rights reserved.
|
| - * Copyright (C) 2008 Holger Hans Peter Freyther
|
| - *
|
| - * 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 WidthIterator_h
|
| -#define WidthIterator_h
|
| -
|
| -#include "core/platform/graphics/Font.h"
|
| -#include "core/platform/graphics/SVGGlyph.h"
|
| -#include "platform/graphics/TextRun.h"
|
| -#include "wtf/HashSet.h"
|
| -#include "wtf/unicode/Unicode.h"
|
| -#include "wtf/Vector.h"
|
| -
|
| -namespace WebCore {
|
| -
|
| -class Font;
|
| -class GlyphBuffer;
|
| -class SimpleFontData;
|
| -class TextRun;
|
| -struct GlyphData;
|
| -
|
| -struct WidthIterator {
|
| - WTF_MAKE_FAST_ALLOCATED;
|
| -public:
|
| - WidthIterator(const Font*, const TextRun&, HashSet<const SimpleFontData*>* fallbackFonts = 0, bool accountForGlyphBounds = false, bool forTextEmphasis = false);
|
| -
|
| - unsigned advance(int to, GlyphBuffer*);
|
| - bool advanceOneCharacter(float& width, GlyphBuffer&);
|
| -
|
| - float maxGlyphBoundingBoxY() const { ASSERT(m_accountForGlyphBounds); return m_maxGlyphBoundingBoxY; }
|
| - float minGlyphBoundingBoxY() const { ASSERT(m_accountForGlyphBounds); return m_minGlyphBoundingBoxY; }
|
| - float firstGlyphOverflow() const { ASSERT(m_accountForGlyphBounds); return m_firstGlyphOverflow; }
|
| - float lastGlyphOverflow() const { ASSERT(m_accountForGlyphBounds); return m_lastGlyphOverflow; }
|
| -
|
| - const TextRun& run() const { return m_run; }
|
| - float runWidthSoFar() const { return m_runWidthSoFar; }
|
| -
|
| -#if ENABLE(SVG_FONTS)
|
| - String lastGlyphName() const { return m_lastGlyphName; }
|
| - void setLastGlyphName(const String& name) { m_lastGlyphName = name; }
|
| - Vector<SVGGlyph::ArabicForm>& arabicForms() { return m_arabicForms; }
|
| -#endif
|
| -
|
| - static bool supportsTypesettingFeatures(const Font& font)
|
| - {
|
| -
|
| - return !font.typesettingFeatures();
|
| - }
|
| -
|
| - const Font* m_font;
|
| -
|
| - const TextRun& m_run;
|
| -
|
| - unsigned m_currentCharacter;
|
| - float m_runWidthSoFar;
|
| - float m_expansion;
|
| - float m_expansionPerOpportunity;
|
| - bool m_isAfterExpansion;
|
| - float m_finalRoundingWidth;
|
| -
|
| -#if ENABLE(SVG_FONTS)
|
| - String m_lastGlyphName;
|
| - Vector<SVGGlyph::ArabicForm> m_arabicForms;
|
| -#endif
|
| -
|
| -private:
|
| - GlyphData glyphDataForCharacter(UChar32, bool mirror, int currentCharacter, unsigned& advanceLength);
|
| - template <typename TextIterator>
|
| - inline unsigned advanceInternal(TextIterator&, GlyphBuffer*);
|
| -
|
| - bool shouldApplyFontTransforms() const { return m_run.length() > 1 && (m_typesettingFeatures & (Kerning | Ligatures)); }
|
| -
|
| - TypesettingFeatures m_typesettingFeatures;
|
| - HashSet<const SimpleFontData*>* m_fallbackFonts;
|
| - bool m_accountForGlyphBounds;
|
| - float m_maxGlyphBoundingBoxY;
|
| - float m_minGlyphBoundingBoxY;
|
| - float m_firstGlyphOverflow;
|
| - float m_lastGlyphOverflow;
|
| - bool m_forTextEmphasis;
|
| -};
|
| -
|
| -}
|
| -
|
| -#endif
|
|
|