virtual void onDraw(SkCanvas* canvas) { this->drawBG(canvas); SkScalar x = SkIntToScalar(20); SkScalar y = SkIntToScalar(300); SkPaint paint; paint.setAntiAlias(true); paint.setTextSize(SkIntToScalar(240)); paint.setTypeface(SkTypeface::CreateFromName("sans-serif", SkTypeface::kBold)); SkString str("9"); paint.setTypeface(fFace); apply_shader(&paint, fInterp); canvas->drawText(str.c_str(), str.size(), x, y, paint); // drawdots(canvas, paint); if (false) { fInterp += fDx; if (fInterp > 1) { fInterp = 1; fDx = -fDx; } else if (fInterp < 0) { fInterp = 0; fDx = -fDx; } this->inval(NULL); } }
void onDraw(SkCanvas* canvas) override { canvas->save(); SkPaint paint; paint.setAntiAlias(true); sk_tool_utils::set_portable_typeface(&paint); paint.setTextSize(SkIntToScalar(56)); SkScalar x = SkIntToScalar(20); SkScalar y = paint.getTextSize(); SkString str("Hamburgefons"); for (int i = 0; i < static_cast<int>(SK_ARRAY_COUNT(gRastProcs)); i++) { apply_shader(&paint, i); // paint.setMaskFilter(NULL); // paint.setColor(SK_ColorBLACK); canvas->drawText(str.c_str(), str.size(), x, y, paint); y += paint.getFontSpacing(); } canvas->restore(); }
static void texteffect_slide(SkCanvas* canvas) { const char* str = "Google"; size_t len = strlen(str); SkScalar x = 20; SkScalar y = 80; SkPaint paint; paint.setTypeface(SkTypeface::CreateFromName("Georgia", SkTypeface::kItalic)); paint.setTextSize(75); paint.setAntiAlias(true); paint.setColor(SK_ColorBLUE); for (size_t i = 0; i < SK_ARRAY_COUNT(gRastProcs); i++) { apply_shader(&paint, (int)i); canvas->drawText(str, len, x, y, paint); y += 80; if (i == 4) { x += 320; y = 80; } } }