1/*
2 * Copyright 2014 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8#ifndef sk_tool_utils_DEFINED
9#define sk_tool_utils_DEFINED
10
11#include "SkImageInfo.h"
12#include "SkTypeface.h"
13
14class SkBitmap;
15class SkCanvas;
16class SkPaint;
17class SkTestFont;
18
19namespace sk_tool_utils {
20
21    const char* colortype_name(SkColorType);
22
23    /**
24     * Sets the paint to use a platform-independent text renderer.
25     */
26    void set_portable_typeface(SkPaint* paint, const char* name = NULL,
27                               SkTypeface::Style style = SkTypeface::kNormal);
28    SkTypeface* create_portable_typeface(const char* name, SkTypeface::Style style);
29    void report_used_chars();
30
31    /**
32     *  Call canvas->writePixels() by using the pixels from bitmap, but with an info that claims
33     *  the pixels are colorType + alphaType
34     */
35    void write_pixels(SkCanvas*, const SkBitmap&, int x, int y, SkColorType, SkAlphaType);
36
37    // private to sk_tool_utils
38    SkTypeface* create_font(const char* name, SkTypeface::Style );
39    SkTypeface* resource_font(const char* name, SkTypeface::Style );
40
41}  // namespace sk_tool_utils
42
43#endif  // sk_tool_utils_DEFINED
44