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

Side by Side Diff: Source/core/rendering/svg/SVGTextChunkBuilder.cpp

Issue 370803002: Return transform from transformationForTextBox instead of using out-param (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 5 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 2010. All rights reserved. 2 * Copyright (C) Research In Motion Limited 2010. 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 13 matching lines...) Expand all
24 #include "core/rendering/svg/RenderSVGInlineText.h" 24 #include "core/rendering/svg/RenderSVGInlineText.h"
25 #include "core/rendering/svg/SVGInlineTextBox.h" 25 #include "core/rendering/svg/SVGInlineTextBox.h"
26 #include "core/svg/SVGLengthContext.h" 26 #include "core/svg/SVGLengthContext.h"
27 27
28 namespace WebCore { 28 namespace WebCore {
29 29
30 SVGTextChunkBuilder::SVGTextChunkBuilder() 30 SVGTextChunkBuilder::SVGTextChunkBuilder()
31 { 31 {
32 } 32 }
33 33
34 void SVGTextChunkBuilder::transformationForTextBox(SVGInlineTextBox* textBox, Af fineTransform& transform) const 34 AffineTransform SVGTextChunkBuilder::transformationForTextBox(SVGInlineTextBox* textBox) const
35 { 35 {
36 DEFINE_STATIC_LOCAL(const AffineTransform, s_identityTransform, ()); 36 return m_textBoxTransformations.get(textBox);
37 if (!m_textBoxTransformations.contains(textBox)) {
38 transform = s_identityTransform;
39 return;
40 }
41
42 transform = m_textBoxTransformations.get(textBox);
43 } 37 }
44 38
45 void SVGTextChunkBuilder::buildTextChunks(Vector<SVGInlineTextBox*>& lineLayoutB oxes) 39 void SVGTextChunkBuilder::buildTextChunks(Vector<SVGInlineTextBox*>& lineLayoutB oxes)
46 { 40 {
47 if (lineLayoutBoxes.isEmpty()) 41 if (lineLayoutBoxes.isEmpty())
48 return; 42 return;
49 43
50 bool foundStart = false; 44 bool foundStart = false;
51 unsigned lastChunkStartPosition = 0; 45 unsigned lastChunkStartPosition = 0;
52 unsigned boxPosition = 0; 46 unsigned boxPosition = 0;
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 SVGTextFragment& fragment = fragments[i]; 249 SVGTextFragment& fragment = fragments[i];
256 250
257 if (isVerticalText) 251 if (isVerticalText)
258 fragment.y += textAnchorShift; 252 fragment.y += textAnchorShift;
259 else 253 else
260 fragment.x += textAnchorShift; 254 fragment.x += textAnchorShift;
261 } 255 }
262 } 256 }
263 257
264 } 258 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698