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

Unified Diff: ui/gfx/render_text.cc

Issue 1634103003: Fix gfx::Canvas::DrawStringRectWithHalo (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: check halo pixels Created 4 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/gfx/render_text.h ('k') | no next file » | 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 1757575b32f7a5e094856d9c74d01ca199f9d3cc..eabef14aa906ca7652bab04329181c6ff53dfa0f 100644
--- a/ui/gfx/render_text.cc
+++ b/ui/gfx/render_text.cc
@@ -22,6 +22,7 @@
#include "third_party/skia/include/core/SkDrawLooper.h"
#include "third_party/skia/include/core/SkTypeface.h"
#include "third_party/skia/include/effects/SkGradientShader.h"
+#include "third_party/skia/include/effects/SkMorphologyImageFilter.h"
#include "ui/gfx/canvas.h"
#include "ui/gfx/geometry/insets.h"
#include "ui/gfx/geometry/safe_integer_conversions.h"
@@ -273,6 +274,10 @@ void SkiaTextRenderer::SetShader(SkShader* shader) {
paint_.setShader(shader);
}
+void SkiaTextRenderer::SetHaloEffect() {
+ paint_.setImageFilter(SkDilateImageFilter::Create(1, 1));
Stephen White 2016/02/08 16:24:51 I think there's a memory leak here. Objects in Sk
Stephen White 2016/02/08 16:27:10 (Or auto filter = skia::AdoptRef(SkDilateImageFil
+}
+
void SkiaTextRenderer::SetUnderlineMetrics(SkScalar thickness,
SkScalar position) {
underline_thickness_ = thickness;
@@ -828,6 +833,8 @@ void RenderText::Draw(Canvas* canvas) {
if (!text().empty()) {
internal::SkiaTextRenderer renderer(canvas);
+ if (halo_effect())
+ renderer.SetHaloEffect();
DrawVisualText(&renderer);
}
« no previous file with comments | « ui/gfx/render_text.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698