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

Unified Diff: ui/gfx/render_text.cc

Issue 2523673004: [NOT FOR COMMIT] Fully replace SkCanvas uses.
Patch Set: Support Android build. Created 4 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/gfx/render_text.h ('k') | ui/native_theme/common_theme.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/gfx/render_text.cc
diff --git a/ui/gfx/render_text.cc b/ui/gfx/render_text.cc
index c12d80357bd5d5e0483f13b4b46146e455fe941c..6bf7aa3b3ac1df6c1ce3a553d95c208c14cf5a64 100644
--- a/ui/gfx/render_text.cc
+++ b/ui/gfx/render_text.cc
@@ -17,6 +17,8 @@
#include "base/strings/utf_string_conversions.h"
#include "base/trace_event/trace_event.h"
#include "build/build_config.h"
+#include "skia/ext/cdl_canvas.h"
+#include "skia/ext/cdl_shader.h"
#include "third_party/icu/source/common/unicode/rbbi.h"
#include "third_party/icu/source/common/unicode/utf16.h"
#include "third_party/skia/include/core/SkDrawLooper.h"
@@ -172,15 +174,19 @@ sk_sp<SkShader> CreateFadeShader(const FontList& font_list,
// Converts a FontRenderParams::Hinting value to the corresponding
// SkPaint::Hinting value.
-SkPaint::Hinting FontRenderParamsHintingToSkPaintHinting(
+CdlPaint::Hinting FontRenderParamsHintingToSkPaintHinting(
FontRenderParams::Hinting params_hinting) {
switch (params_hinting) {
- case FontRenderParams::HINTING_NONE: return SkPaint::kNo_Hinting;
- case FontRenderParams::HINTING_SLIGHT: return SkPaint::kSlight_Hinting;
- case FontRenderParams::HINTING_MEDIUM: return SkPaint::kNormal_Hinting;
- case FontRenderParams::HINTING_FULL: return SkPaint::kFull_Hinting;
+ case FontRenderParams::HINTING_NONE:
+ return CdlPaint::kNo_Hinting;
+ case FontRenderParams::HINTING_SLIGHT:
+ return CdlPaint::kSlight_Hinting;
+ case FontRenderParams::HINTING_MEDIUM:
+ return CdlPaint::kNormal_Hinting;
+ case FontRenderParams::HINTING_FULL:
+ return CdlPaint::kFull_Hinting;
}
- return SkPaint::kNo_Hinting;
+ return CdlPaint::kNo_Hinting;
}
// Make sure ranges don't break text graphemes. If a range in |break_list|
@@ -216,12 +222,12 @@ SkiaTextRenderer::SkiaTextRenderer(Canvas* canvas)
underline_thickness_(kUnderlineMetricsNotSet),
underline_position_(0.0f) {
DCHECK(canvas_skia_);
- paint_.setTextEncoding(SkPaint::kGlyphID_TextEncoding);
- paint_.setStyle(SkPaint::kFill_Style);
+ paint_.setTextEncoding(CdlPaint::kGlyphID_TextEncoding);
+ paint_.setStyle(CdlPaint::kFill_Style);
paint_.setAntiAlias(true);
paint_.setSubpixelText(true);
paint_.setLCDRenderText(true);
- paint_.setHinting(SkPaint::kNormal_Hinting);
+ paint_.setHinting(CdlPaint::kNormal_Hinting);
}
SkiaTextRenderer::~SkiaTextRenderer() {
@@ -249,7 +255,7 @@ void SkiaTextRenderer::SetForegroundColor(SkColor foreground) {
}
void SkiaTextRenderer::SetShader(sk_sp<SkShader> shader) {
- paint_.setShader(std::move(shader));
+ paint_.setShader(WrapSkShader(std::move(shader)));
}
void SkiaTextRenderer::SetHaloEffect() {
@@ -297,7 +303,7 @@ void SkiaTextRenderer::DrawUnderline(int x, int y, int width) {
x_scalar, y + underline_position_, x_scalar + width,
y + underline_position_ + underline_thickness_);
if (underline_thickness_ == kUnderlineMetricsNotSet) {
- const SkScalar text_size = paint_.getTextSize();
+ const SkScalar text_size = ToSkPaint(paint_).getTextSize();
r.fTop = SkScalarMulAdd(text_size, kUnderlineOffset, y);
r.fBottom = r.fTop + SkScalarMul(text_size, kLineThickness);
}
@@ -305,7 +311,7 @@ void SkiaTextRenderer::DrawUnderline(int x, int y, int width) {
}
void SkiaTextRenderer::DrawStrike(int x, int y, int width) const {
- const SkScalar text_size = paint_.getTextSize();
+ const SkScalar text_size = ToSkPaint(paint_).getTextSize();
const SkScalar height = SkScalarMul(text_size, kLineThickness);
const SkScalar offset = SkScalarMulAdd(text_size, kStrikeThroughOffset, y);
SkScalar x_scalar = SkIntToScalar(x);
@@ -316,12 +322,8 @@ void SkiaTextRenderer::DrawStrike(int x, int y, int width) const {
SkiaTextRenderer::DiagonalStrike::DiagonalStrike(Canvas* canvas,
Point start,
- const SkPaint& paint)
- : canvas_(canvas),
- start_(start),
- paint_(paint),
- total_length_(0) {
-}
+ const CdlPaint& paint)
+ : canvas_(canvas), start_(start), paint_(paint), total_length_(0) {}
SkiaTextRenderer::DiagonalStrike::~DiagonalStrike() {
}
@@ -410,7 +412,7 @@ Line::~Line() {}
void ApplyRenderParams(const FontRenderParams& params,
bool subpixel_rendering_suppressed,
- SkPaint* paint) {
+ CdlPaint* paint) {
paint->setAntiAlias(params.antialiasing);
paint->setLCDRenderText(!subpixel_rendering_suppressed &&
params.subpixel_rendering != FontRenderParams::SUBPIXEL_RENDERING_NONE);
« no previous file with comments | « ui/gfx/render_text.h ('k') | ui/native_theme/common_theme.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698