summaryrefslogtreecommitdiffstats
path: root/WebCore/rendering/SVGRootInlineBox.h
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/rendering/SVGRootInlineBox.h')
-rw-r--r--WebCore/rendering/SVGRootInlineBox.h23
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