58 this->setBGColor(0xFFDDDDDD);
73 SkColor colors[] = { 0xFFFF0000, 0x2000FF00, 0xFF0000FF};
82 *errorMsg = kErrorMsg_DrawSkippedGpuOnly;
93 constexpr GrColor kPaintColors[] = {
103 for (
size_t paintType = 0; paintType < std::size(kPaintColors) + 1; ++paintType) {
104 for (
size_t procColor = 0; procColor < std::size(kColors); ++procColor) {
113 std::unique_ptr<GrFragmentProcessor> baseFP;
114 if (paintType >= std::size(kPaintColors)) {
125 std::unique_ptr<GrFragmentProcessor> colorFP;
139 if (
auto op = sk_gpu_test::test_ops::MakeRect(rContext,
144 sdc->addDrawOp(std::move(op));
156 if (paintType >= std::size(kPaintColors)) {
157 inputLabel.
append(
"gradient");
159 inputLabel.
appendf(
"0x%08x", kPaintColors[paintType]);
162 procLabel.
printf(
"Proc: [0x%08x]", kColors[procColor]);
169 labelFont, labelPaint);
177 inputLabelBounds.
fBottom + 2.f - procLabelBounds.
fTop,
178 labelFont, labelPaint);
180 inputLabelBounds.
fBottom + 2.f - procLabelBounds.
fTop);
184 canvas->
drawRect(renderRect, labelPaint);
191 maxW = std::max(maxW,
width);
209 inline static constexpr SkScalar kPad = 10.f;
210 inline static constexpr SkScalar kRectSize = 20.f;
211 inline static constexpr int kWidth = 820;
212 inline static constexpr int kHeight = 500;
214 using INHERITED =
GM;
@ kUTF8
uses bytes to represent UTF-8 or ASCII
static std::unique_ptr< GrFragmentProcessor > MakeColor(SkPMColor4f color)
static std::unique_ptr< GrFragmentProcessor > ModulateRGBA(std::unique_ptr< GrFragmentProcessor > child, const SkPMColor4f &color)
void drawRect(const SkRect &rect, const SkPaint &paint)
void translate(SkScalar dx, SkScalar dy)
void drawString(const char str[], SkScalar x, SkScalar y, const SkFont &font, const SkPaint &paint)
void setTypeface(sk_sp< SkTypeface > tf)
SkScalar measureText(const void *text, size_t byteLength, SkTextEncoding encoding, SkRect *bounds=nullptr) const
void setEdging(Edging edging)
void setSize(SkScalar textSize)
@ 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)
static const SkMatrix & I()
void setStyle(Style style)
void setAntiAlias(bool aa)
@ kStroke_Style
set to stroke geometry
void setStrokeWidth(SkScalar width)
void printf(const char format[],...) SK_PRINTF_LIKE(2
void append(const char text[])
const char * c_str() const
void void void appendf(const char format[],...) SK_PRINTF_LIKE(2
DrawResult onDraw(GrRecordingContext *rContext, SkCanvas *canvas, SkString *errorMsg) override
SkString getName() const override
SkISize getISize() override
void onOnceBeforeDraw() override
ColorProcessor(TestMode mode)
G_BEGIN_DECLS G_MODULE_EXPORT FlValue * args
std::unique_ptr< GrFragmentProcessor > Make(const SkMaskFilter *maskfilter, const GrFPArgs &args, const SkMatrix &ctm)
SurfaceDrawContext * TopDeviceSurfaceDrawContext(const SkCanvas *canvas)
static constexpr SkISize Make(int32_t w, int32_t h)
static constexpr SkPoint Make(float x, float y)
static SkRGBA4f FromBytes_RGBA(uint32_t color)
SkScalar fBottom
larger y-axis bounds
constexpr SkRect makeOffset(float dx, float dy) const
static constexpr SkRect MakeXYWH(float x, float y, float w, float h)
SkScalar fRight
larger x-axis bounds
void offset(float dx, float dy)
constexpr float height() const
SkScalar fTop
smaller y-axis bounds