| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2003, 2006, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv
ed. | 2 * Copyright (C) 2003, 2006, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv
ed. |
| 3 * Copyright (C) 2008 Holger Hans Peter Freyther | 3 * Copyright (C) 2008 Holger Hans Peter Freyther |
| 4 * Copyright (C) 2014 Google Inc. All rights reserved. | 4 * Copyright (C) 2014 Google Inc. All rights reserved. |
| 5 * | 5 * |
| 6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
| 7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
| 8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
| 9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
| 10 * | 10 * |
| (...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 226 if (glyphBuffer) | 226 if (glyphBuffer) |
| 227 glyphBuffer->add(glyph, fontData, width); | 227 glyphBuffer->add(glyph, fontData, width); |
| 228 } | 228 } |
| 229 | 229 |
| 230 unsigned consumedCharacters = textIterator.currentCharacter() - m_currentCha
racter; | 230 unsigned consumedCharacters = textIterator.currentCharacter() - m_currentCha
racter; |
| 231 m_currentCharacter = textIterator.currentCharacter(); | 231 m_currentCharacter = textIterator.currentCharacter(); |
| 232 | 232 |
| 233 return consumedCharacters; | 233 return consumedCharacters; |
| 234 } | 234 } |
| 235 | 235 |
| 236 unsigned SimpleShaper::advance(int offset, GlyphBuffer* glyphBuffer) | 236 unsigned SimpleShaper::advance(unsigned offset, GlyphBuffer* glyphBuffer) |
| 237 { | 237 { |
| 238 int length = m_run.length(); | 238 unsigned length = m_run.length(); |
| 239 | 239 |
| 240 if (offset > length) | 240 if (offset > length) |
| 241 offset = length; | 241 offset = length; |
| 242 | 242 |
| 243 if (m_currentCharacter >= static_cast<unsigned>(offset)) | 243 if (m_currentCharacter >= offset) |
| 244 return 0; | 244 return 0; |
| 245 | 245 |
| 246 if (m_run.is8Bit()) { | 246 if (m_run.is8Bit()) { |
| 247 Latin1TextIterator textIterator(m_run.data8(m_currentCharacter), m_curre
ntCharacter, offset, length); | 247 Latin1TextIterator textIterator(m_run.data8(m_currentCharacter), m_curre
ntCharacter, offset, length); |
| 248 return advanceInternal(textIterator, glyphBuffer); | 248 return advanceInternal(textIterator, glyphBuffer); |
| 249 } | 249 } |
| 250 | 250 |
| 251 SurrogatePairAwareTextIterator textIterator(m_run.data16(m_currentCharacter)
, m_currentCharacter, offset, length); | 251 SurrogatePairAwareTextIterator textIterator(m_run.data16(m_currentCharacter)
, m_currentCharacter, offset, length); |
| 252 return advanceInternal(textIterator, glyphBuffer); | 252 return advanceInternal(textIterator, glyphBuffer); |
| 253 } | 253 } |
| 254 | 254 |
| 255 bool SimpleShaper::advanceOneCharacter(float& width) | 255 bool SimpleShaper::advanceOneCharacter(float& width) |
| 256 { | 256 { |
| 257 float initialWidth = m_runWidthSoFar; | 257 float initialWidth = m_runWidthSoFar; |
| 258 | 258 |
| 259 if (!advance(m_currentCharacter + 1)) | 259 if (!advance(m_currentCharacter + 1)) |
| 260 return false; | 260 return false; |
| 261 | 261 |
| 262 width = m_runWidthSoFar - initialWidth; | 262 width = m_runWidthSoFar - initialWidth; |
| 263 return true; | 263 return true; |
| 264 } | 264 } |
| 265 | 265 |
| 266 } // namespace blink | 266 } // namespace blink |
| OLD | NEW |