You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.6 KiB
63 lines
1.6 KiB
/* |
|
* Copyright 2011 Google Inc. |
|
* |
|
* Use of this source code is governed by a BSD-style license that can be |
|
* found in the LICENSE file. |
|
*/ |
|
#include <SkFont.h> |
|
#include "Sample.h" |
|
#include "SkCanvas.h" |
|
#include "SkPaint.h" |
|
#include "SkShader.h" |
|
|
|
class LCDView : public Sample { |
|
public: |
|
LCDView() {} |
|
|
|
protected: |
|
bool onQuery(Sample::Event* evt) override { |
|
if (Sample::TitleQ(*evt)) { |
|
Sample::TitleR(evt, "LCD Text"); |
|
return true; |
|
} |
|
return this->INHERITED::onQuery(evt); |
|
} |
|
|
|
void drawBG(SkCanvas* canvas) { |
|
canvas->drawColor(SK_ColorWHITE); |
|
} |
|
|
|
void onDrawContent(SkCanvas* canvas) override { |
|
this->drawBG(canvas); |
|
|
|
SkPaint paint; |
|
|
|
SkScalar textSize = SkIntToScalar(6); |
|
SkScalar delta = SK_Scalar1; |
|
const char* text = "HHHamburgefonts iii"; |
|
size_t len = strlen(text); |
|
SkScalar x0 = SkIntToScalar(10); |
|
SkScalar x1 = SkIntToScalar(310); |
|
SkScalar y = SkIntToScalar(20); |
|
|
|
SkFont font; |
|
for (int i = 0; i < 20; i++) { |
|
font.setSize(textSize); |
|
textSize += delta; |
|
|
|
font.setEdging(SkFont::Edging::kAntiAlias); |
|
canvas->drawSimpleText(text, len, kUTF8_SkTextEncoding, x0, y, font, paint); |
|
font.setEdging(SkFont::Edging::kSubpixelAntiAlias); |
|
canvas->drawSimpleText(text, len, kUTF8_SkTextEncoding, x1, y, font, paint); |
|
|
|
y += font.getSpacing(); |
|
} |
|
} |
|
|
|
private: |
|
typedef Sample INHERITED; |
|
}; |
|
|
|
////////////////////////////////////////////////////////////////////////////// |
|
|
|
DEF_SAMPLE( return new LCDView(); )
|
|
|