1cb93a386Sopenharmony_ci#if 0  // Disabled until updated to use current API.
2cb93a386Sopenharmony_ci// Copyright 2019 Google LLC.
3cb93a386Sopenharmony_ci// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4cb93a386Sopenharmony_ci#include "tools/fiddle/examples.h"
5cb93a386Sopenharmony_ci// HASH=6b9e101f49e9c2c28755c5bdcef64dfb
6cb93a386Sopenharmony_ciREG_FIDDLE(Paint_getTextWidths, 256, 160, false, 0) {
7cb93a386Sopenharmony_civoid draw(SkCanvas* canvas) {
8cb93a386Sopenharmony_ci    SkPaint paint;
9cb93a386Sopenharmony_ci    paint.setAntiAlias(true);
10cb93a386Sopenharmony_ci    paint.setTextSize(50);
11cb93a386Sopenharmony_ci    const char str[] = "abc";
12cb93a386Sopenharmony_ci    const int bytes = sizeof(str) - 1;
13cb93a386Sopenharmony_ci    int count = paint.getTextWidths(str, bytes, nullptr);
14cb93a386Sopenharmony_ci    std::vector<SkScalar> widths;
15cb93a386Sopenharmony_ci    std::vector<SkRect> bounds;
16cb93a386Sopenharmony_ci    widths.resize(count);
17cb93a386Sopenharmony_ci    bounds.resize(count);
18cb93a386Sopenharmony_ci    for (int loop = 0; loop < 2; ++loop) {
19cb93a386Sopenharmony_ci        (void) paint.getTextWidths(str, count, &widths.front(), &bounds.front());
20cb93a386Sopenharmony_ci        SkPoint loc = { 25, 50 };
21cb93a386Sopenharmony_ci        canvas->drawText(str, bytes, loc.fX, loc.fY, paint);
22cb93a386Sopenharmony_ci        paint.setStyle(SkPaint::kStroke_Style);
23cb93a386Sopenharmony_ci        paint.setStrokeWidth(0);
24cb93a386Sopenharmony_ci        SkScalar advanceY = loc.fY + 10;
25cb93a386Sopenharmony_ci        for (int index = 0; index < count; ++index) {
26cb93a386Sopenharmony_ci            bounds[index].offset(loc.fX, loc.fY);
27cb93a386Sopenharmony_ci            canvas->drawRect(bounds[index], paint);
28cb93a386Sopenharmony_ci            canvas->drawLine(loc.fX, advanceY, loc.fX + widths[index], advanceY, paint);
29cb93a386Sopenharmony_ci            loc.fX += widths[index];
30cb93a386Sopenharmony_ci            advanceY += 5;
31cb93a386Sopenharmony_ci        }
32cb93a386Sopenharmony_ci        canvas->translate(0, 80);
33cb93a386Sopenharmony_ci        paint.setStrokeWidth(3);
34cb93a386Sopenharmony_ci    }
35cb93a386Sopenharmony_ci}
36cb93a386Sopenharmony_ci}  // END FIDDLE
37cb93a386Sopenharmony_ci#endif  // Disabled until updated to use current API.
38