29 for (
size_t i = 0; i < std::size(colors); ++i) {
57 paint.setAntiAlias(
true);
71 paint.setAlphaf(0.5f);
120 void onOnceBeforeDraw() override {
122 fBitmap.allocN32Pixels(100, 100);
127 paint.setAntiAlias(
true);
130 paint.setStrokeWidth(20);
132 canvas.drawCircle(50, 50, 39,
paint);
134 fBitmap.extractAlpha(&fAlpha);
147 paint.setAntiAlias(
true);
@ kARGB_4444_SkColorType
pixel with 4 bits for alpha, red, green, blue; in 16-bit word
@ kRGB_565_SkColorType
pixel with 5 bits red, 6 bits green, 5 bits blue, in 16-bit word
SK_API SkPMColor SkPreMultiplyColor(SkColor c)
constexpr SkColor SK_ColorBLUE
constexpr SkColor SK_ColorRED
constexpr SkColor SK_ColorGREEN
constexpr SkColor SK_ColorWHITE
#define INHERITED(method,...)
static SkScalar draw_bm(SkCanvas *canvas, sk_sp< SkImage > img, SkScalar x, SkScalar y, const SkSamplingOptions &sampling, SkPaint *paint)
static SkScalar draw_set(SkCanvas *c, sk_sp< SkImage > img, SkScalar x, SkPaint *p)
static SkScalar draw_row(SkCanvas *canvas, sk_sp< SkImage > img)
static sk_sp< SkImage > make_bm()
SkString getName() const override
void onOnceBeforeDraw() override
SkISize getISize() override
void onDraw(SkCanvas *canvas) override
sk_sp< SkImage > fImg4444
sk_sp< SkImage > asImage() const
void allocN32Pixels(int width, int height, bool isOpaque=false)
uint32_t * getAddr32(int x, int y) const
void translate(SkScalar dx, SkScalar dy)
void scale(SkScalar sx, SkScalar sy)
void drawString(const char str[], SkScalar x, SkScalar y, const SkFont &font, const SkPaint &paint)
void drawImage(const SkImage *image, SkScalar left, SkScalar top)
@ kStroke_Style
set to stroke geometry
static constexpr SkISize Make(int32_t w, int32_t h)