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

Side by Side Diff: src/core/SkPaint.cpp

Issue 152073003: Adding code to calculate Underline Thickness from Font Metrics, this will be useful when Skia is us… (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Comment fix and addition of underline position Created 6 years, 10 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 /* 2 /*
3 * Copyright 2006 The Android Open Source Project 3 * Copyright 2006 The Android Open Source Project
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 #include "SkPaint.h" 9 #include "SkPaint.h"
10 #include "SkAnnotation.h" 10 #include "SkAnnotation.h"
(...skipping 1278 matching lines...) Expand 10 before | Expand all | Expand 10 after
1289 if (scale) { 1289 if (scale) {
1290 metrics->fTop = SkScalarMul(metrics->fTop, scale); 1290 metrics->fTop = SkScalarMul(metrics->fTop, scale);
1291 metrics->fAscent = SkScalarMul(metrics->fAscent, scale); 1291 metrics->fAscent = SkScalarMul(metrics->fAscent, scale);
1292 metrics->fDescent = SkScalarMul(metrics->fDescent, scale); 1292 metrics->fDescent = SkScalarMul(metrics->fDescent, scale);
1293 metrics->fBottom = SkScalarMul(metrics->fBottom, scale); 1293 metrics->fBottom = SkScalarMul(metrics->fBottom, scale);
1294 metrics->fLeading = SkScalarMul(metrics->fLeading, scale); 1294 metrics->fLeading = SkScalarMul(metrics->fLeading, scale);
1295 metrics->fAvgCharWidth = SkScalarMul(metrics->fAvgCharWidth, scale); 1295 metrics->fAvgCharWidth = SkScalarMul(metrics->fAvgCharWidth, scale);
1296 metrics->fXMin = SkScalarMul(metrics->fXMin, scale); 1296 metrics->fXMin = SkScalarMul(metrics->fXMin, scale);
1297 metrics->fXMax = SkScalarMul(metrics->fXMax, scale); 1297 metrics->fXMax = SkScalarMul(metrics->fXMax, scale);
1298 metrics->fXHeight = SkScalarMul(metrics->fXHeight, scale); 1298 metrics->fXHeight = SkScalarMul(metrics->fXHeight, scale);
1299 metrics->fUnderlineThickness = SkScalarMul(metrics->fUnderlineThickness, scale);
1300 metrics->fUnderlinePosition = SkScalarMul(metrics->fUnderlinePosition, s cale);
1299 } 1301 }
1300 return metrics->fDescent - metrics->fAscent + metrics->fLeading; 1302 return metrics->fDescent - metrics->fAscent + metrics->fLeading;
1301 } 1303 }
1302 1304
1303 /////////////////////////////////////////////////////////////////////////////// 1305 ///////////////////////////////////////////////////////////////////////////////
1304 1306
1305 static void set_bounds(const SkGlyph& g, SkRect* bounds, SkScalar scale) { 1307 static void set_bounds(const SkGlyph& g, SkRect* bounds, SkScalar scale) {
1306 bounds->set(g.fLeft * scale, 1308 bounds->set(g.fLeft * scale,
1307 g.fTop * scale, 1309 g.fTop * scale,
1308 (g.fLeft + g.fWidth) * scale, 1310 (g.fLeft + g.fWidth) * scale,
(...skipping 1234 matching lines...) Expand 10 before | Expand all | Expand 10 after
2543 case SkXfermode::kPlus_Mode: 2545 case SkXfermode::kPlus_Mode:
2544 return 0 == this->getAlpha(); 2546 return 0 == this->getAlpha();
2545 case SkXfermode::kDst_Mode: 2547 case SkXfermode::kDst_Mode:
2546 return true; 2548 return true;
2547 default: 2549 default:
2548 break; 2550 break;
2549 } 2551 }
2550 } 2552 }
2551 return false; 2553 return false;
2552 } 2554 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698