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

Side by Side Diff: src/gpu/text/GrAtlasTextBlob.h

Issue 1985163002: Remove GrFontScaler class (Closed) Base URL: https://chromium.googlesource.com/skia.git@rmkey
Patch Set: remove comments Created 4 years, 7 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
OLDNEW
1 /* 1 /*
2 * Copyright 2015 Google Inc. 2 * Copyright 2015 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #ifndef GrAtlasTextBlob_DEFINED 8 #ifndef GrAtlasTextBlob_DEFINED
9 #define GrAtlasTextBlob_DEFINED 9 #define GrAtlasTextBlob_DEFINED
10 10
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 const SkPaint& skPaint, 153 const SkPaint& skPaint,
154 const SkMatrix* viewMatrix); 154 const SkMatrix* viewMatrix);
155 155
156 // Appends a glyph to the blob. If the glyph is too large, the glyph will b e appended 156 // Appends a glyph to the blob. If the glyph is too large, the glyph will b e appended
157 // as a path. 157 // as a path.
158 void appendGlyph(int runIndex, 158 void appendGlyph(int runIndex,
159 const SkRect& positions, 159 const SkRect& positions,
160 GrColor color, 160 GrColor color,
161 GrBatchTextStrike* strike, 161 GrBatchTextStrike* strike,
162 GrGlyph* glyph, 162 GrGlyph* glyph,
163 GrFontScaler* scaler, const SkGlyph& skGlyph, 163 SkGlyphCache*, const SkGlyph& skGlyph,
164 SkScalar x, SkScalar y, SkScalar scale, bool applyVM); 164 SkScalar x, SkScalar y, SkScalar scale, bool applyVM);
165 165
166 static size_t GetVertexStride(GrMaskFormat maskFormat) { 166 static size_t GetVertexStride(GrMaskFormat maskFormat) {
167 switch (maskFormat) { 167 switch (maskFormat) {
168 case kA8_GrMaskFormat: 168 case kA8_GrMaskFormat:
169 return kGrayTextVASize; 169 return kGrayTextVASize;
170 case kARGB_GrMaskFormat: 170 case kARGB_GrMaskFormat:
171 return kColorTextVASize; 171 return kColorTextVASize;
172 default: 172 default:
173 return kLCDTextVASize; 173 return kLCDTextVASize;
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
251 fPaintColor = color; 251 fPaintColor = color;
252 this->setupViewMatrix(viewMatrix, x, y); 252 this->setupViewMatrix(viewMatrix, x, y);
253 } 253 }
254 254
255 void initThrowawayBlob(const SkMatrix& viewMatrix, SkScalar x, SkScalar y) { 255 void initThrowawayBlob(const SkMatrix& viewMatrix, SkScalar x, SkScalar y) {
256 this->setupViewMatrix(viewMatrix, x, y); 256 this->setupViewMatrix(viewMatrix, x, y);
257 } 257 }
258 258
259 void regenInBatch(GrDrawBatch::Target* target, GrBatchFontCache* fontCache, 259 void regenInBatch(GrDrawBatch::Target* target, GrBatchFontCache* fontCache,
260 GrBlobRegenHelper *helper, int run, int subRun, SkGlyphCac he** cache, 260 GrBlobRegenHelper *helper, int run, int subRun, SkGlyphCac he** cache,
261 SkTypeface** typeface, GrFontScaler** scaler, 261 SkTypeface** typeface, const SkDescriptor** desc, size_t v ertexStride,
262 const SkDescriptor** desc, size_t vertexStride,
263 const SkMatrix& viewMatrix, SkScalar x, SkScalar y, 262 const SkMatrix& viewMatrix, SkScalar x, SkScalar y,
264 GrColor color, 263 GrColor color,
265 void** vertices, size_t* byteCount, int* glyphCount); 264 void** vertices, size_t* byteCount, int* glyphCount);
266 265
267 const Key& key() const { return fKey; } 266 const Key& key() const { return fKey; }
268 267
269 ~GrAtlasTextBlob() { 268 ~GrAtlasTextBlob() {
270 for (int i = 0; i < fRunCount; i++) { 269 for (int i = 0; i < fRunCount; i++) {
271 fRuns[i].~Run(); 270 fRuns[i].~Run();
272 } 271 }
273 } 272 }
274 273
275 //////////////////////////////////////////////////////////////////////////// //////////////////// 274 //////////////////////////////////////////////////////////////////////////// ////////////////////
276 // Internal test methods 275 // Internal test methods
277 GrDrawBatch* test_createBatch(int glyphCount, int run, int subRun, 276 GrDrawBatch* test_createBatch(int glyphCount, int run, int subRun,
278 const SkMatrix& viewMatrix, SkScalar x, SkScal ar y, GrColor color, 277 const SkMatrix& viewMatrix, SkScalar x, SkScal ar y, GrColor color,
279 const SkPaint& skPaint, const SkSurfaceProps& props, 278 const SkPaint& skPaint, const SkSurfaceProps& props,
280 const GrDistanceFieldAdjustTable* distanceAdju stTable, 279 const GrDistanceFieldAdjustTable* distanceAdju stTable,
281 GrBatchFontCache* cache); 280 GrBatchFontCache* cache);
282 281
283 private: 282 private:
284 GrAtlasTextBlob() 283 GrAtlasTextBlob()
285 : fMaxMinScale(-SK_ScalarMax) 284 : fMaxMinScale(-SK_ScalarMax)
286 , fMinMaxScale(SK_ScalarMax) 285 , fMinMaxScale(SK_ScalarMax)
287 , fTextType(0) {} 286 , fTextType(0) {}
288 287
289 void appendLargeGlyph(GrGlyph* glyph, GrFontScaler* scaler, const SkGlyph& s kGlyph, 288 void appendLargeGlyph(GrGlyph* glyph, SkGlyphCache* cache, const SkGlyph& sk Glyph,
290 SkScalar x, SkScalar y, SkScalar scale, bool applyVM); 289 SkScalar x, SkScalar y, SkScalar scale, bool applyVM);
291 290
292 inline void flushRun(GrDrawContext* dc, GrPipelineBuilder* pipelineBuilder, const GrClip&, 291 inline void flushRun(GrDrawContext* dc, GrPipelineBuilder* pipelineBuilder, const GrClip&,
293 int run, const SkMatrix& viewMatrix, SkScalar x, SkScal ar y, GrColor color, 292 int run, const SkMatrix& viewMatrix, SkScalar x, SkScal ar y, GrColor color,
294 const SkPaint& skPaint, const SkSurfaceProps& props, 293 const SkPaint& skPaint, const SkSurfaceProps& props,
295 const GrDistanceFieldAdjustTable* distanceAdjustTable, 294 const GrDistanceFieldAdjustTable* distanceAdjustTable,
296 GrBatchFontCache* cache); 295 GrBatchFontCache* cache);
297 296
298 void flushBigGlyphs(GrContext* context, GrDrawContext* dc, 297 void flushBigGlyphs(GrContext* context, GrDrawContext* dc,
299 const GrClip& clip, const SkPaint& skPaint, 298 const GrClip& clip, const SkPaint& skPaint,
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
484 SkAutoTDelete<SkAutoDescriptor> fOverrideDescriptor; // df properties 483 SkAutoTDelete<SkAutoDescriptor> fOverrideDescriptor; // df properties
485 bool fInitialized; 484 bool fInitialized;
486 bool fDrawAsPaths; 485 bool fDrawAsPaths;
487 }; 486 };
488 487
489 template <bool regenPos, bool regenCol, bool regenTexCoords, bool regenGlyph s> 488 template <bool regenPos, bool regenCol, bool regenTexCoords, bool regenGlyph s>
490 void regenInBatch(GrDrawBatch::Target* target, 489 void regenInBatch(GrDrawBatch::Target* target,
491 GrBatchFontCache* fontCache, 490 GrBatchFontCache* fontCache,
492 GrBlobRegenHelper* helper, 491 GrBlobRegenHelper* helper,
493 Run* run, Run::SubRunInfo* info, SkGlyphCache** cache, 492 Run* run, Run::SubRunInfo* info, SkGlyphCache** cache,
494 SkTypeface** typeface, GrFontScaler** scaler, 493 SkTypeface** typeface, const SkDescriptor** desc,
495 const SkDescriptor** desc,
496 int glyphCount, size_t vertexStride, 494 int glyphCount, size_t vertexStride,
497 GrColor color, SkScalar transX, 495 GrColor color, SkScalar transX,
498 SkScalar transY) const; 496 SkScalar transY) const;
499 497
500 inline GrDrawBatch* createBatch(const Run::SubRunInfo& info, 498 inline GrDrawBatch* createBatch(const Run::SubRunInfo& info,
501 int glyphCount, int run, int subRun, 499 int glyphCount, int run, int subRun,
502 const SkMatrix& viewMatrix, SkScalar x, SkSc alar y, 500 const SkMatrix& viewMatrix, SkScalar x, SkSc alar y,
503 GrColor color, 501 GrColor color,
504 const SkPaint& skPaint, const SkSurfaceProps & props, 502 const SkPaint& skPaint, const SkSurfaceProps & props,
505 const GrDistanceFieldAdjustTable* distanceAd justTable, 503 const GrDistanceFieldAdjustTable* distanceAd justTable,
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
550 // We can reuse distance field text, but only if the new viewmatrix would no t result in 548 // We can reuse distance field text, but only if the new viewmatrix would no t result in
551 // a mip change. Because there can be multiple runs in a blob, we track the overall 549 // a mip change. Because there can be multiple runs in a blob, we track the overall
552 // maximum minimum scale, and minimum maximum scale, we can support before w e need to regen 550 // maximum minimum scale, and minimum maximum scale, we can support before w e need to regen
553 SkScalar fMaxMinScale; 551 SkScalar fMaxMinScale;
554 SkScalar fMinMaxScale; 552 SkScalar fMinMaxScale;
555 int fRunCount; 553 int fRunCount;
556 uint8_t fTextType; 554 uint8_t fTextType;
557 }; 555 };
558 556
559 #endif 557 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698