1cb93a386Sopenharmony_ci/* 2cb93a386Sopenharmony_ci * Copyright 2011 Google Inc. 3cb93a386Sopenharmony_ci * 4cb93a386Sopenharmony_ci * Use of this source code is governed by a BSD-style license that can be 5cb93a386Sopenharmony_ci * found in the LICENSE file. 6cb93a386Sopenharmony_ci */ 7cb93a386Sopenharmony_ci#include "include/core/SkCanvas.h" 8cb93a386Sopenharmony_ci#include "include/core/SkFont.h" 9cb93a386Sopenharmony_ci#include "include/core/SkPaint.h" 10cb93a386Sopenharmony_ci#include "include/core/SkShader.h" 11cb93a386Sopenharmony_ci#include "samplecode/Sample.h" 12cb93a386Sopenharmony_ci 13cb93a386Sopenharmony_ciclass LCDView : public Sample { 14cb93a386Sopenharmony_cipublic: 15cb93a386Sopenharmony_ci LCDView() {} 16cb93a386Sopenharmony_ci 17cb93a386Sopenharmony_ciprotected: 18cb93a386Sopenharmony_ci SkString name() override { return SkString("LCD Text"); } 19cb93a386Sopenharmony_ci 20cb93a386Sopenharmony_ci void drawBG(SkCanvas* canvas) { 21cb93a386Sopenharmony_ci canvas->drawColor(SK_ColorWHITE); 22cb93a386Sopenharmony_ci } 23cb93a386Sopenharmony_ci 24cb93a386Sopenharmony_ci void onDrawContent(SkCanvas* canvas) override { 25cb93a386Sopenharmony_ci this->drawBG(canvas); 26cb93a386Sopenharmony_ci 27cb93a386Sopenharmony_ci SkPaint paint; 28cb93a386Sopenharmony_ci 29cb93a386Sopenharmony_ci SkScalar textSize = SkIntToScalar(6); 30cb93a386Sopenharmony_ci SkScalar delta = SK_Scalar1; 31cb93a386Sopenharmony_ci const char* text = "HHHamburgefonts iii"; 32cb93a386Sopenharmony_ci size_t len = strlen(text); 33cb93a386Sopenharmony_ci SkScalar x0 = SkIntToScalar(10); 34cb93a386Sopenharmony_ci SkScalar x1 = SkIntToScalar(310); 35cb93a386Sopenharmony_ci SkScalar y = SkIntToScalar(20); 36cb93a386Sopenharmony_ci 37cb93a386Sopenharmony_ci SkFont font; 38cb93a386Sopenharmony_ci for (int i = 0; i < 20; i++) { 39cb93a386Sopenharmony_ci font.setSize(textSize); 40cb93a386Sopenharmony_ci textSize += delta; 41cb93a386Sopenharmony_ci 42cb93a386Sopenharmony_ci font.setEdging(SkFont::Edging::kAntiAlias); 43cb93a386Sopenharmony_ci canvas->drawSimpleText(text, len, SkTextEncoding::kUTF8, x0, y, font, paint); 44cb93a386Sopenharmony_ci font.setEdging(SkFont::Edging::kSubpixelAntiAlias); 45cb93a386Sopenharmony_ci canvas->drawSimpleText(text, len, SkTextEncoding::kUTF8, x1, y, font, paint); 46cb93a386Sopenharmony_ci 47cb93a386Sopenharmony_ci y += font.getSpacing(); 48cb93a386Sopenharmony_ci } 49cb93a386Sopenharmony_ci } 50cb93a386Sopenharmony_ci 51cb93a386Sopenharmony_ciprivate: 52cb93a386Sopenharmony_ci using INHERITED = Sample; 53cb93a386Sopenharmony_ci}; 54cb93a386Sopenharmony_ci 55cb93a386Sopenharmony_ci////////////////////////////////////////////////////////////////////////////// 56cb93a386Sopenharmony_ci 57cb93a386Sopenharmony_ciDEF_SAMPLE( return new LCDView(); ) 58