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

Side by Side Diff: Source/platform/fonts/harfbuzz/FontHarfBuzz.cpp

Issue 327243005: Remove GlyphBufferAdvance abstraction. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: rebase again Created 6 years, 6 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) 2007, 2008, 2010 Google Inc. All rights reserved. 2 * Copyright (c) 2007, 2008, 2010 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 gc->setCTM(savedMatrix); 146 gc->setCTM(savedMatrix);
147 return; 147 return;
148 } 148 }
149 149
150 // FIXME: text rendering speed: 150 // FIXME: text rendering speed:
151 // Android has code in their WebCore fork to special case when the 151 // Android has code in their WebCore fork to special case when the
152 // GlyphBuffer has no advances other than the defaults. In that case the 152 // GlyphBuffer has no advances other than the defaults. In that case the
153 // text drawing can proceed faster. However, it's unclear when those 153 // text drawing can proceed faster. However, it's unclear when those
154 // patches may be upstreamed to WebKit so we always use the slower path 154 // patches may be upstreamed to WebKit so we always use the slower path
155 // here. 155 // here.
156 const GlyphBufferAdvance* adv = glyphBuffer.advances(from); 156 const FloatSize* adv = glyphBuffer.advances(from);
157 for (unsigned i = 0; i < numGlyphs; i++) { 157 for (unsigned i = 0; i < numGlyphs; i++) {
158 pos[i].set(x, y); 158 pos[i].set(x, y);
159 x += SkFloatToScalar(adv[i].width()); 159 x += SkFloatToScalar(adv[i].width());
160 y += SkFloatToScalar(adv[i].height()); 160 y += SkFloatToScalar(adv[i].height());
161 } 161 }
162 162
163 const Glyph* glyphs = glyphBuffer.glyphs(from); 163 const Glyph* glyphs = glyphBuffer.glyphs(from);
164 paintGlyphs(gc, font, glyphs, numGlyphs, pos, textRect); 164 paintGlyphs(gc, font, glyphs, numGlyphs, pos, textRect);
165 } 165 }
166 166
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 const FloatPoint& point, int height, 236 const FloatPoint& point, int height,
237 int from, int to) const 237 int from, int to) const
238 { 238 {
239 HarfBuzzShaper shaper(this, run); 239 HarfBuzzShaper shaper(this, run);
240 if (!shaper.shape()) 240 if (!shaper.shape())
241 return FloatRect(); 241 return FloatRect();
242 return shaper.selectionRect(point, height, from, to); 242 return shaper.selectionRect(point, height, from, to);
243 } 243 }
244 244
245 } // namespace WebCore 245 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/platform/fonts/WidthIterator.cpp ('k') | Source/platform/fonts/harfbuzz/HarfBuzzFaceCoreText.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698