xref: /aosp_15_r20/external/skia/gm/text_scale_skew.cpp (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker /*
2*c8dee2aaSAndroid Build Coastguard Worker  * Copyright 2017 Google Inc.
3*c8dee2aaSAndroid Build Coastguard Worker  *
4*c8dee2aaSAndroid Build Coastguard Worker  * Use of this source code is governed by a BSD-style license that can be
5*c8dee2aaSAndroid Build Coastguard Worker  * found in the LICENSE file.
6*c8dee2aaSAndroid Build Coastguard Worker  */
7*c8dee2aaSAndroid Build Coastguard Worker 
8*c8dee2aaSAndroid Build Coastguard Worker #include "gm/gm.h"
9*c8dee2aaSAndroid Build Coastguard Worker #include "include/core/SkFont.h"
10*c8dee2aaSAndroid Build Coastguard Worker #include "include/core/SkPaint.h"
11*c8dee2aaSAndroid Build Coastguard Worker #include "include/utils/SkTextUtils.h"
12*c8dee2aaSAndroid Build Coastguard Worker #include "tools/fonts/FontToolUtils.h"
13*c8dee2aaSAndroid Build Coastguard Worker 
14*c8dee2aaSAndroid Build Coastguard Worker #include <initializer_list>
15*c8dee2aaSAndroid Build Coastguard Worker 
16*c8dee2aaSAndroid Build Coastguard Worker class SkCanvas;
17*c8dee2aaSAndroid Build Coastguard Worker 
18*c8dee2aaSAndroid Build Coastguard Worker // http://bug.skia.org/7315
19*c8dee2aaSAndroid Build Coastguard Worker DEF_SIMPLE_GM(text_scale_skew, canvas, 256, 128) {
20*c8dee2aaSAndroid Build Coastguard Worker     SkPaint p;
21*c8dee2aaSAndroid Build Coastguard Worker     p.setAntiAlias(true);
22*c8dee2aaSAndroid Build Coastguard Worker     SkFont font = ToolUtils::DefaultPortableFont();
23*c8dee2aaSAndroid Build Coastguard Worker     font.setSize(18.0f);
24*c8dee2aaSAndroid Build Coastguard Worker     float y = 10.0f;
25*c8dee2aaSAndroid Build Coastguard Worker     for (float scale : { 0.5f, 0.71f, 1.0f, 1.41f, 2.0f }) {
26*c8dee2aaSAndroid Build Coastguard Worker         font.setScaleX(scale);
27*c8dee2aaSAndroid Build Coastguard Worker         y += font.getSpacing();
28*c8dee2aaSAndroid Build Coastguard Worker         float x = 50.0f;
29*c8dee2aaSAndroid Build Coastguard Worker         for (float skew : { -0.5f, 0.0f, 0.5f }) {
30*c8dee2aaSAndroid Build Coastguard Worker             font.setSkewX(skew);
31*c8dee2aaSAndroid Build Coastguard Worker             SkTextUtils::DrawString(canvas, "Skia", x, y, font, p, SkTextUtils::kCenter_Align);
32*c8dee2aaSAndroid Build Coastguard Worker             x += 78.0f;
33*c8dee2aaSAndroid Build Coastguard Worker         }
34*c8dee2aaSAndroid Build Coastguard Worker     }
35*c8dee2aaSAndroid Build Coastguard Worker }
36