OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006 Oliver Hunt <ojh16@student.canterbury.ac.nz> | 2 * Copyright (C) 2006 Oliver Hunt <ojh16@student.canterbury.ac.nz> |
3 * Copyright (C) 2006 Apple Computer Inc. | 3 * Copyright (C) 2006 Apple Computer Inc. |
4 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> | 4 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> |
5 * Copyright (C) 2008 Rob Buis <buis@kde.org> | 5 * Copyright (C) 2008 Rob Buis <buis@kde.org> |
6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
7 * | 7 * |
8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 ASSERT(position < static_cast<int>(textLength())); | 134 ASSERT(position < static_cast<int>(textLength())); |
135 | 135 |
136 // Each <textPath> element starts a new text chunk, regardless of any x/y va
lues. | 136 // Each <textPath> element starts a new text chunk, regardless of any x/y va
lues. |
137 if (!position && parent()->isSVGTextPath() && !previousSibling()) | 137 if (!position && parent()->isSVGTextPath() && !previousSibling()) |
138 return true; | 138 return true; |
139 | 139 |
140 const SVGCharacterDataMap::const_iterator it = m_layoutAttributes.characterD
ataMap().find(static_cast<unsigned>(position + 1)); | 140 const SVGCharacterDataMap::const_iterator it = m_layoutAttributes.characterD
ataMap().find(static_cast<unsigned>(position + 1)); |
141 if (it == m_layoutAttributes.characterDataMap().end()) | 141 if (it == m_layoutAttributes.characterDataMap().end()) |
142 return false; | 142 return false; |
143 | 143 |
144 return !SVGTextLayoutAttributes::isEmptyValue(it->value.x) || !SVGTextLayout
Attributes::isEmptyValue(it->value.y); | 144 return it->value.hasX() || it->value.hasY(); |
145 } | 145 } |
146 | 146 |
147 PositionWithAffinity LayoutSVGInlineText::positionForPoint(const LayoutPoint& po
int) | 147 PositionWithAffinity LayoutSVGInlineText::positionForPoint(const LayoutPoint& po
int) |
148 { | 148 { |
149 if (!hasTextBoxes() || !textLength()) | 149 if (!hasTextBoxes() || !textLength()) |
150 return createPositionWithAffinity(0); | 150 return createPositionWithAffinity(0); |
151 | 151 |
152 ASSERT(m_scalingFactor); | 152 ASSERT(m_scalingFactor); |
153 float baseline = m_scaledFont.getFontMetrics().floatAscent() / m_scalingFact
or; | 153 float baseline = m_scaledFont.getFontMetrics().floatAscent() / m_scalingFact
or; |
154 | 154 |
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
379 | 379 |
380 PassRefPtr<StringImpl> LayoutSVGInlineText::originalText() const | 380 PassRefPtr<StringImpl> LayoutSVGInlineText::originalText() const |
381 { | 381 { |
382 RefPtr<StringImpl> result = LayoutText::originalText(); | 382 RefPtr<StringImpl> result = LayoutText::originalText(); |
383 if (!result) | 383 if (!result) |
384 return nullptr; | 384 return nullptr; |
385 return normalizeWhitespace(result); | 385 return normalizeWhitespace(result); |
386 } | 386 } |
387 | 387 |
388 } // namespace blink | 388 } // namespace blink |
OLD | NEW |