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

Side by Side Diff: Source/core/rendering/svg/SVGTextRunRenderingContext.h

Issue 565063003: Eliminate SVGTextRunRenderingContext::m_activePaintingResource (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase. Created 6 years, 3 months 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) Research In Motion Limited 2011. All rights reserved. 2 * Copyright (C) Research In Motion Limited 2011. All rights reserved.
3 * 3 *
4 * This library is free software; you can redistribute it and/or 4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public 5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either 6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version. 7 * version 2 of the License, or (at your option) any later version.
8 * 8 *
9 * This library is distributed in the hope that it will be useful, 9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 21 matching lines...) Expand all
32 class SVGTextRunRenderingContext FINAL : public TextRun::RenderingContext { 32 class SVGTextRunRenderingContext FINAL : public TextRun::RenderingContext {
33 public: 33 public:
34 static PassRefPtr<SVGTextRunRenderingContext> create(RenderObject* renderer) 34 static PassRefPtr<SVGTextRunRenderingContext> create(RenderObject* renderer)
35 { 35 {
36 return adoptRef(new SVGTextRunRenderingContext(renderer)); 36 return adoptRef(new SVGTextRunRenderingContext(renderer));
37 } 37 }
38 38
39 RenderObject* renderer() const { return m_renderer; } 39 RenderObject* renderer() const { return m_renderer; }
40 40
41 #if ENABLE(SVG_FONTS) 41 #if ENABLE(SVG_FONTS)
42 RenderSVGResource* activePaintingResource() const { return m_activePaintingR esource; }
43 void setActivePaintingResource(RenderSVGResource* object) { m_activePainting Resource = object; }
44
45 virtual GlyphData glyphDataForCharacter(const Font&, const TextRun&, WidthIt erator&, UChar32 character, bool mirror, int currentCharacter, unsigned& advance Length) OVERRIDE; 42 virtual GlyphData glyphDataForCharacter(const Font&, const TextRun&, WidthIt erator&, UChar32 character, bool mirror, int currentCharacter, unsigned& advance Length) OVERRIDE;
46 virtual void drawSVGGlyphs(GraphicsContext*, const TextRun&, const SimpleFon tData*, const GlyphBuffer&, int from, int to, const FloatPoint&) const OVERRIDE; 43 virtual void drawSVGGlyphs(GraphicsContext*, const TextRun&, const SimpleFon tData*, const GlyphBuffer&, int from, int to, const FloatPoint&) const OVERRIDE;
47 virtual float floatWidthUsingSVGFont(const Font&, const TextRun&, int& chars Consumed, Glyph& glyphId) const OVERRIDE; 44 virtual float floatWidthUsingSVGFont(const Font&, const TextRun&, int& chars Consumed, Glyph& glyphId) const OVERRIDE;
48 #else 45 #else
49 virtual GlyphData glyphDataForCharacter(const Font&, const TextRun&, WidthIt erator&, UChar32 character, bool mirror, int currentCharacter, unsigned& advance Length) OVERRIDE { return 0; } 46 virtual GlyphData glyphDataForCharacter(const Font&, const TextRun&, WidthIt erator&, UChar32 character, bool mirror, int currentCharacter, unsigned& advance Length) OVERRIDE { return 0; }
50 virtual void drawSVGGlyphs(GraphicsContext*, const TextRun&, const SimpleFon tData*, const GlyphBuffer&, int from, int to, const FloatPoint&) const OVERRIDE { } 47 virtual void drawSVGGlyphs(GraphicsContext*, const TextRun&, const SimpleFon tData*, const GlyphBuffer&, int from, int to, const FloatPoint&) const OVERRIDE { }
51 virtual float floatWidthUsingSVGFont(const Font&, const TextRun&, int& chars Consumed, Glyph& glyphId) const OVERRIDE { return 0; } 48 virtual float floatWidthUsingSVGFont(const Font&, const TextRun&, int& chars Consumed, Glyph& glyphId) const OVERRIDE { return 0; }
52 #endif 49 #endif
53 50
54 private: 51 private:
55 SVGTextRunRenderingContext(RenderObject* renderer) 52 SVGTextRunRenderingContext(RenderObject* renderer)
56 : m_renderer(renderer) 53 : m_renderer(renderer)
57 #if ENABLE(SVG_FONTS)
58 , m_activePaintingResource(0)
59 #endif
60 { 54 {
61 } 55 }
62 56
63 virtual ~SVGTextRunRenderingContext() { } 57 virtual ~SVGTextRunRenderingContext() { }
64 58
65 RenderObject* m_renderer; 59 RenderObject* m_renderer;
66
67 #if ENABLE(SVG_FONTS)
68 RenderSVGResource* m_activePaintingResource;
69 #endif
70 }; 60 };
71 61
72 inline bool textRunNeedsRenderingContext(const Font& font) 62 inline bool textRunNeedsRenderingContext(const Font& font)
73 { 63 {
74 // Only save the extra data if SVG Fonts are used, which depend on them. 64 // Only save the extra data if SVG Fonts are used, which depend on them.
75 // FIXME: SVG Fonts won't work as segmented fonts at the moment, if that's f ixed, we need to check for them as well below. 65 // FIXME: SVG Fonts won't work as segmented fonts at the moment, if that's f ixed, we need to check for them as well below.
76 ASSERT(font.primaryFont()); 66 ASSERT(font.primaryFont());
77 return font.primaryFont()->isSVGFont(); 67 return font.primaryFont()->isSVGFont();
78 } 68 }
79 69
80 } // namespace blink 70 } // namespace blink
81 71
82 #endif // SVGTextRunRenderingContext_h 72 #endif // SVGTextRunRenderingContext_h
OLDNEW
« no previous file with comments | « Source/core/rendering/svg/SVGInlineTextBox.cpp ('k') | Source/core/rendering/svg/SVGTextRunRenderingContext.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698