diff options
Diffstat (limited to 'WebCore/rendering/SVGRootInlineBox.h')
-rw-r--r-- | WebCore/rendering/SVGRootInlineBox.h | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/WebCore/rendering/SVGRootInlineBox.h b/WebCore/rendering/SVGRootInlineBox.h index 73c88a1..c3e1028 100644 --- a/WebCore/rendering/SVGRootInlineBox.h +++ b/WebCore/rendering/SVGRootInlineBox.h @@ -29,22 +29,15 @@ #include "RootInlineBox.h" #include "SVGCharacterData.h" #include "SVGCharacterLayoutInfo.h" -#include "SVGTextChunkLayoutInfo.h" #include "SVGRenderSupport.h" +#include "SVGTextChunkLayoutInfo.h" namespace WebCore { class InlineTextBox; class RenderSVGRoot; class SVGInlineTextBox; - -struct LastGlyphInfo { - LastGlyphInfo() : isValid(false) { } - - String unicode; - String glyphName; - bool isValid; -}; +struct SVGLastGlyphInfo; class SVGRootInlineBox : public RootInlineBox, protected SVGRenderBase { public: @@ -61,8 +54,8 @@ public: virtual void paint(RenderObject::PaintInfo&, int tx, int ty); - virtual int placeBoxesHorizontally(int x, int& leftPosition, int& rightPosition, bool& needsWordSpacing); - virtual int verticallyAlignBoxes(int heightOfBlock); + virtual int placeBoxesHorizontally(int x, int& leftPosition, int& rightPosition, bool& needsWordSpacing, GlyphOverflowAndFallbackFontsMap&); + virtual int verticallyAlignBoxes(int heightOfBlock, GlyphOverflowAndFallbackFontsMap&); virtual void computePerCharacterLayoutInformation(); @@ -70,7 +63,7 @@ public: virtual FloatRect repaintRectInLocalCoordinates() const { return FloatRect(); } // Used by SVGInlineTextBox - const Vector<SVGTextChunk>& svgTextChunks() const; + const Vector<SVGTextChunk>& svgTextChunks() const { return m_svgTextChunks; } void walkTextChunks(SVGTextChunkWalkerBase*, const SVGInlineTextBox* textBox = 0); @@ -81,7 +74,6 @@ private: void layoutInlineBoxes(InlineFlowBox* start, Vector<SVGChar>::iterator& it, int& minX, int& maxX, int& minY, int& maxY); void buildLayoutInformation(InlineFlowBox* start, SVGCharacterLayoutInfo&); - void buildLayoutInformationForTextBox(SVGCharacterLayoutInfo&, InlineTextBox*, LastGlyphInfo&); void buildTextChunks(Vector<SVGChar>&, Vector<SVGTextChunk>&, InlineFlowBox* start); void buildTextChunks(Vector<SVGChar>&, InlineFlowBox* start, SVGTextChunkLayoutInfo&); @@ -96,11 +88,6 @@ private: }; // Shared with SVGRenderTreeAsText / SVGInlineTextBox -TextRun svgTextRunForInlineTextBox(const UChar*, int len, RenderStyle* style, const InlineTextBox* textBox, float xPos); -FloatPoint topLeftPositionOfCharacterRange(Vector<SVGChar>::iterator start, Vector<SVGChar>::iterator end); -float cummulatedWidthOfInlineBoxCharacterRange(SVGInlineBoxCharacterRange& range); -float cummulatedHeightOfInlineBoxCharacterRange(SVGInlineBoxCharacterRange& range); - RenderSVGRoot* findSVGRootObject(RenderObject* start); } // namespace WebCore |