Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(757)

Unified Diff: Source/core/platform/graphics/WidthIterator.h

Issue 99103006: Moving GraphicsContext and dependencies from core to platform. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Final patch - fixes Android Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/platform/graphics/VDMXParser.cpp ('k') | Source/core/platform/graphics/WidthIterator.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « Source/core/platform/graphics/VDMXParser.cpp ('k') | Source/core/platform/graphics/WidthIterator.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698