31#define W SkIntToScalar(80)
32#define H SkIntToScalar(60)
37 paint->setShader(
nullptr);
42 const SkPoint pts[] = { { 0, 0 }, {
W,
H } };
57 p.setStrokeWidth(
H/5);
87 paint.setColor(0x80F60000);
89 const Proc procs[] = {
101 for (
int aa = 0; aa <= 1; ++aa) {
105 for (
size_t i = 0; i < std::size(paintProcs); ++i) {
106 paintProcs[i](&
paint);
107 for (
size_t x = 0;
x < std::size(modes); ++
x) {
108 paint.setBlendMode(modes[
x]);
110 for (
size_t y = 0;
y < std::size(procs); ++
y) {
112 canvas->translate(0,
H * 5 / 4);
115 canvas->translate(
W * 5 / 4, 0);
119 canvas->translate(0, (
H * 5 / 4) * std::size(procs));
134 auto surf(compat_surface(canvas, this->
getISize()));
136 this->drawContent(surf->getCanvas());
137 surf->draw(canvas, 0, 0);
static void info(const char *fmt,...) SK_PRINTF_LIKE(1
@ kSrcOver
r = s + (1-sa)*d
constexpr SkColor SK_ColorBLUE
constexpr SkColor SK_ColorBLACK
constexpr SkColor SK_ColorGREEN
constexpr SkColor SK_ColorWHITE
static constexpr bool SkToBool(const T &x)
void drawRect(const SkRect &rect, const SkPaint &paint)
void drawOval(const SkRect &oval, const SkPaint &paint)
void translate(SkScalar dx, SkScalar dy)
sk_sp< SkSurface > makeSurface(const SkImageInfo &info, const SkSurfaceProps *props=nullptr)
void drawLine(SkScalar x0, SkScalar y0, SkScalar x1, SkScalar y1, const SkPaint &paint)
void drawString(const char str[], SkScalar x, SkScalar y, const SkFont &font, const SkPaint &paint)
@ kAntiAlias
may have transparent pixels on glyph edges
static sk_sp< SkShader > MakeLinear(const SkPoint pts[2], const SkColor colors[], const SkScalar pos[], int count, SkTileMode mode, uint32_t flags=0, const SkMatrix *localMatrix=nullptr)
SkString getName() const override
void onDraw(SkCanvas *canvas) override
void onOnceBeforeDraw() override
SkISize getISize() override
SK_API sk_sp< SkSurface > Raster(const SkImageInfo &imageInfo, size_t rowBytes, const SkSurfaceProps *surfaceProps)
font
Font Metadata and Metrics.
void(* PaintProc)(SkPaint *)
static void draw_hair(SkCanvas *canvas, const SkPaint &paint, const SkFont &)
static void draw_rect(SkCanvas *canvas, const SkPaint &paint, const SkFont &)
static void draw_text(SkCanvas *canvas, const SkPaint &paint, const SkFont &font)
static void gradient_paintproc(SkPaint *paint)
static void draw_thick(SkCanvas *canvas, const SkPaint &paint, const SkFont &)
static void draw_oval(SkCanvas *canvas, const SkPaint &paint, const SkFont &)
static void identity_paintproc(SkPaint *paint)
void(* Proc)(SkCanvas *, const SkPaint &, const SkFont &)
static SkImageInfo MakeN32Premul(int width, int height)
static constexpr SkRect MakeWH(float w, float h)