diff options
author | Mike Reed <reed@google.com> | 2019-01-04 09:41:49 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2019-01-04 16:11:27 +0000 |
commit | 60a0e87c6c0d4d368376d8aa022cf8031fc99f90 (patch) | |
tree | c34e96f56fea81c8abfc2b43945a1c0fc47b7f73 /tools | |
parent | 7d06735443b9b4d495dbbf980ed82c8652d732b7 (diff) | |
download | skqp-60a0e87c6c0d4d368376d8aa022cf8031fc99f90.tar.gz |
remove blob iterator::applyFontToPaint
Bug: skia:
Change-Id: I4cc66e19ceab7914b8895e23c21860842c9fadbf
Reviewed-on: https://skia-review.googlesource.com/c/181164
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/debugger/SkDrawCommand.cpp | 63 |
1 files changed, 43 insertions, 20 deletions
diff --git a/tools/debugger/SkDrawCommand.cpp b/tools/debugger/SkDrawCommand.cpp index d1114f8e74..a77c76429c 100644 --- a/tools/debugger/SkDrawCommand.cpp +++ b/tools/debugger/SkDrawCommand.cpp @@ -34,6 +34,7 @@ #define SKDEBUGCANVAS_ATTRIBUTE_MATRIX "matrix" #define SKDEBUGCANVAS_ATTRIBUTE_DRAWDEPTHTRANS "drawDepthTranslation" #define SKDEBUGCANVAS_ATTRIBUTE_COORDS "coords" +#define SKDEBUGCANVAS_ATTRIBUTE_EDGING "edging" #define SKDEBUGCANVAS_ATTRIBUTE_HINTING "hinting" #define SKDEBUGCANVAS_ATTRIBUTE_BOUNDS "bounds" #define SKDEBUGCANVAS_ATTRIBUTE_PAINT "paint" @@ -190,6 +191,10 @@ #define SKDEBUGCANVAS_HINTING_NORMAL "normal" #define SKDEBUGCANVAS_HINTING_FULL "full" +#define SKDEBUGCANVAS_EDGING_ALIAS "alias" +#define SKDEBUGCANVAS_EDGING_ANTIALIAS "antialias" +#define SKDEBUGCANVAS_EDGING_SUBPIXELANTIALIAS "subpixelantialias" + #define SKDEBUGCANVAS_SHADOWFLAG_TRANSPARENT_OCC "transparentOccluder" #define SKDEBUGCANVAS_SHADOWFLAG_GEOMETRIC_ONLY "geometricOnly" @@ -786,8 +791,8 @@ bool SkDrawCommand::flatten(const SkBitmap& bitmap, Json::Value* target, return success; } -static void apply_paint_hinting(const SkPaint& paint, Json::Value* target) { - SkFontHinting hinting = (SkFontHinting)paint.getHinting(); +static void apply_font_hinting(const SkFont& font, Json::Value* target) { + SkFontHinting hinting = font.getHinting(); if (hinting != SkPaintDefaults_Hinting) { switch (hinting) { case kNo_SkFontHinting: @@ -806,6 +811,20 @@ static void apply_paint_hinting(const SkPaint& paint, Json::Value* target) { } } +static void apply_font_edging(const SkFont& font, Json::Value* target) { + switch (font.getEdging()) { + case SkFont::Edging::kAlias: + (*target)[SKDEBUGCANVAS_ATTRIBUTE_EDGING] = SKDEBUGCANVAS_EDGING_ALIAS; + break; + case SkFont::Edging::kAntiAlias: + (*target)[SKDEBUGCANVAS_ATTRIBUTE_EDGING] = SKDEBUGCANVAS_EDGING_ANTIALIAS; + break; + case SkFont::Edging::kSubpixelAntiAlias: + (*target)[SKDEBUGCANVAS_ATTRIBUTE_EDGING] = SKDEBUGCANVAS_EDGING_SUBPIXELANTIALIAS; + break; + } +} + static void apply_paint_color(const SkPaint& paint, Json::Value* target) { SkColor color = paint.getColor(); if (color != SK_ColorBLACK) { @@ -959,9 +978,9 @@ static void apply_paint_patheffect(const SkPaint& paint, Json::Value* target, } } -static void apply_paint_typeface(const SkPaint& paint, Json::Value* target, +static void apply_font_typeface(const SkFont& font, Json::Value* target, UrlDataManager& urlDataManager) { - SkTypeface* typeface = paint.getTypeface(); + SkTypeface* typeface = font.getTypeface(); if (typeface != nullptr) { Json::Value jsonTypeface; SkDynamicMemoryWStream buffer; @@ -1024,19 +1043,7 @@ Json::Value SkDrawCommand::MakeJsonPaint(const SkPaint& paint, UrlDataManager& u SkPaintDefaults_MiterLimit); store_bool(&result, SKDEBUGCANVAS_ATTRIBUTE_ANTIALIAS, paint.isAntiAlias(), false); store_bool(&result, SKDEBUGCANVAS_ATTRIBUTE_DITHER, paint.isDither(), false); - store_bool(&result, SKDEBUGCANVAS_ATTRIBUTE_FAKEBOLDTEXT, paint.isFakeBoldText(), false); - store_bool(&result, SKDEBUGCANVAS_ATTRIBUTE_LINEARTEXT, paint.isLinearText(), false); - store_bool(&result, SKDEBUGCANVAS_ATTRIBUTE_SUBPIXELTEXT, paint.isSubpixelText(), false); - store_bool(&result, SKDEBUGCANVAS_ATTRIBUTE_LCDRENDERTEXT, paint.isLCDRenderText(), false); - store_bool(&result, SKDEBUGCANVAS_ATTRIBUTE_EMBEDDEDBITMAPTEXT, paint.isEmbeddedBitmapText(), false); - store_bool(&result, SKDEBUGCANVAS_ATTRIBUTE_AUTOHINTING, paint.isAutohinted(), false); - //kGenA8FromLCD_Flag - - store_scalar(&result, SKDEBUGCANVAS_ATTRIBUTE_TEXTSIZE, paint.getTextSize(), - SkPaintDefaults_TextSize); - store_scalar(&result, SKDEBUGCANVAS_ATTRIBUTE_TEXTSCALEX, paint.getTextScaleX(), SK_Scalar1); - store_scalar(&result, SKDEBUGCANVAS_ATTRIBUTE_TEXTSCALEX, paint.getTextSkewX(), 0.0f); - apply_paint_hinting(paint, &result); + apply_paint_color(paint, &result); apply_paint_style(paint, &result); apply_paint_blend_mode(paint, &result); @@ -1049,7 +1056,24 @@ Json::Value SkDrawCommand::MakeJsonPaint(const SkPaint& paint, UrlDataManager& u apply_paint_looper(paint, &result, urlDataManager); apply_paint_imagefilter(paint, &result, urlDataManager); apply_paint_colorfilter(paint, &result, urlDataManager); - apply_paint_typeface(paint, &result, urlDataManager); + return result; +} + +static Json::Value MakeJsonFont(const SkFont& font, UrlDataManager& urlDataManager) { + Json::Value result(Json::objectValue); + store_bool(&result, SKDEBUGCANVAS_ATTRIBUTE_FAKEBOLDTEXT, font.isEmbolden(), false); + store_bool(&result, SKDEBUGCANVAS_ATTRIBUTE_LINEARTEXT, font.isLinearMetrics(), false); + store_bool(&result, SKDEBUGCANVAS_ATTRIBUTE_SUBPIXELTEXT, font.isSubpixel(), false); + store_bool(&result, SKDEBUGCANVAS_ATTRIBUTE_EMBEDDEDBITMAPTEXT, font.isEmbeddedBitmaps(), false); + store_bool(&result, SKDEBUGCANVAS_ATTRIBUTE_AUTOHINTING, font.isForceAutoHinting(), false); + + store_scalar(&result, SKDEBUGCANVAS_ATTRIBUTE_TEXTSIZE, font.getSize(), + SkPaintDefaults_TextSize); + store_scalar(&result, SKDEBUGCANVAS_ATTRIBUTE_TEXTSCALEX, font.getScaleX(), SK_Scalar1); + store_scalar(&result, SKDEBUGCANVAS_ATTRIBUTE_TEXTSCALEX, font.getSkewX(), 0.0f); + apply_font_edging(font, &result); + apply_font_hinting(font, &result); + apply_font_typeface(font, &result, urlDataManager); return result; } @@ -1864,8 +1888,7 @@ Json::Value SkDrawTextBlobCommand::toJSON(UrlDataManager& urlDataManager) const } run[SKDEBUGCANVAS_ATTRIBUTE_GLYPHS] = jsonGlyphs; SkPaint fontPaint; - iter.applyFontToPaint(&fontPaint); - run[SKDEBUGCANVAS_ATTRIBUTE_FONT] = MakeJsonPaint(fontPaint, urlDataManager); + run[SKDEBUGCANVAS_ATTRIBUTE_FONT] = MakeJsonFont(iter.font(), urlDataManager); run[SKDEBUGCANVAS_ATTRIBUTE_COORDS] = MakeJsonPoint(iter.offset()); runs.append(run); iter.next(); |