24 static constexpr SkScalar kTextHeight = 36;
33 drawText(canvas,
SkString(
"TEXT: SubpixelTrue LCDRenderTrue"),
35 drawText(canvas,
SkString(
"TEXT: SubpixelTrue LCDRenderFalse"),
37 drawText(canvas,
SkString(
"TEXT: SubpixelFalse LCDRenderTrue"),
39 drawText(canvas,
SkString(
"TEXT: SubpixelFalse LCDRenderFalse"),
44 bool subpixelTextEnabled,
bool lcdRenderTextEnabled) {
47 paint.setDither(
true);
49 if (subpixelTextEnabled) {
50 font.setSubpixel(
true);
52 if (lcdRenderTextEnabled) {
69 m.setScale(sx, sy, px, py);
78 const char* lcd_text =
"LCD";
79 const char* gray_text =
"GRAY";
81 constexpr static float kLCDTextSizeLimit = 48;
89 { { 10, 50 }, kLCDTextSizeLimit - 1, 1, lcd_text },
90 { { 160, 50 }, kLCDTextSizeLimit + 1, 1, gray_text },
91 { { 10, 100 }, kLCDTextSizeLimit / 2, 1.99f, lcd_text },
92 { { 160, 100 }, kLCDTextSizeLimit / 2, 2.01f, gray_text },
95 for (
size_t i = 0; i < std::size(rec); ++i) {
96 const SkPoint loc = rec[i].fLoc;
102 ScaleAbout(canvas, rec[i].fScale, rec[i].fScale, loc.
x(), loc.
y());
116 drawText(canvas,
SkString(
"SaveLayer PreserveLCDText"), 50,
118 drawText(canvas,
SkString(
"SaveLayer Default (LCDText not preserved)"), 150, 0);
constexpr SkColor SK_ColorBLACK
constexpr SkColor SK_ColorWHITE
void onDraw(SkCanvas *canvas) override
SkString getName() const override
SkISize getISize() override
SkISize getISize() override
SkString getName() const override
void onDraw(SkCanvas *canvas) override
SkISize getISize() override
void onDraw(SkCanvas *canvas) override
SkString getName() const override
int saveLayer(const SkRect *bounds, const SkPaint *paint)
void drawRect(const SkRect &rect, const SkPaint &paint)
@ kPreserveLCDText_SaveLayerFlag
void concat(const SkMatrix &matrix)
void drawString(const char str[], SkScalar x, SkScalar y, const SkFont &font, const SkPaint &paint)
@ kSubpixelAntiAlias
glyph positioned in pixel using transparency
constexpr SkScalar kTextHeight
font
Font Metadata and Metrics.
constexpr float y() const
constexpr float x() const
static constexpr SkRect MakeXYWH(float x, float y, float w, float h)