Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | List of all members
Tiling2GM Class Reference
Inheritance diagram for Tiling2GM:
skiagm::GM

Public Member Functions

 Tiling2GM (ShaderProc proc, const char name[])
 
- Public Member Functions inherited from skiagm::GM
 GM (SkColor backgroundColor=SK_ColorWHITE)
 
virtual ~GM ()
 
void setMode (Mode mode)
 
Mode getMode () const
 
DrawResult gpuSetup (SkCanvas *, SkString *errorMsg, GraphiteTestContext *=nullptr)
 
void gpuTeardown ()
 
void onceBeforeDraw ()
 
DrawResult draw (SkCanvas *canvas)
 
DrawResult draw (SkCanvas *, SkString *errorMsg)
 
void drawBackground (SkCanvas *)
 
DrawResult drawContent (SkCanvas *canvas)
 
DrawResult drawContent (SkCanvas *, SkString *errorMsg)
 
virtual bool runAsBench () const
 
SkScalar width ()
 
SkScalar height ()
 
SkColor getBGColor () const
 
void setBGColor (SkColor)
 
void drawSizeBounds (SkCanvas *, SkColor)
 
bool animate (double)
 
virtual bool onChar (SkUnichar)
 
bool getControls (SkMetaData *controls)
 
void setControls (const SkMetaData &controls)
 
virtual void modifyGrContextOptions (GrContextOptions *)
 
virtual void modifyGraphiteContextOptions (skgpu::graphite::ContextOptions *) const
 
virtual bool isBazelOnly () const
 
virtual std::map< std::string, std::string > getGoldKeys () const
 

Private Member Functions

SkString getName () const override
 
SkISize getISize () override
 
void onDraw (SkCanvas *canvas) override
 

Additional Inherited Members

- Public Types inherited from skiagm::GM
enum  Mode { kGM_Mode , kSample_Mode , kBench_Mode }
 
using DrawResult = skiagm::DrawResult
 
using GraphiteTestContext = skiatest::graphite::GraphiteTestContext
 
- Static Public Attributes inherited from skiagm::GM
static constexpr char kErrorMsg_DrawSkippedGpuOnly []
 
- Protected Member Functions inherited from skiagm::GM
virtual DrawResult onGpuSetup (SkCanvas *, SkString *, GraphiteTestContext *)
 
virtual void onGpuTeardown ()
 
virtual void onOnceBeforeDraw ()
 
virtual DrawResult onDraw (SkCanvas *, SkString *errorMsg)
 
virtual bool onAnimate (double)
 
virtual bool onGetControls (SkMetaData *)
 
virtual void onSetControls (const SkMetaData &)
 
GraphiteTestContextgraphiteTestContext () const
 

Detailed Description

Definition at line 203 of file tilemodes.cpp.

Constructor & Destructor Documentation

◆ Tiling2GM()

Tiling2GM::Tiling2GM ( ShaderProc  proc,
const char  name[] 
)
inline

Definition at line 208 of file tilemodes.cpp.

208: fProc(proc), fName(name) {}
const char * name
Definition fuchsia.cc:50

Member Function Documentation

◆ getISize()

SkISize Tiling2GM::getISize ( )
inlineoverrideprivatevirtual

Implements skiagm::GM.

Definition at line 213 of file tilemodes.cpp.

213{ return SkISize::Make(650, 610); }
static constexpr SkISize Make(int32_t w, int32_t h)
Definition SkSize.h:20

◆ getName()

SkString Tiling2GM::getName ( ) const
inlineoverrideprivatevirtual

Implements skiagm::GM.

Definition at line 211 of file tilemodes.cpp.

211{ return SkString(fName); }

◆ onDraw()

void Tiling2GM::onDraw ( SkCanvas canvas)
inlineoverrideprivatevirtual

Reimplemented from skiagm::GM.

Definition at line 215 of file tilemodes.cpp.

215 {
216 canvas->scale(SkIntToScalar(3)/2, SkIntToScalar(3)/2);
217
220 SkRect r = { -w, -h, w*2, h*2 };
221
222 constexpr SkTileMode gModes[] = {
224 };
225 const char* gModeNames[] = {
226 "Clamp", "Repeat", "Mirror"
227 };
228
231
233
234 for (size_t kx = 0; kx < std::size(gModes); kx++) {
235 SkString str(gModeNames[kx]);
236 SkTextUtils::DrawString(canvas, str.c_str(), x + r.width()/2, y, font, SkPaint(),
238 x += r.width() * 4 / 3;
239 }
240
241 y += SkIntToScalar(16) + h;
242
243 for (size_t ky = 0; ky < std::size(gModes); ky++) {
244 x = SkIntToScalar(16) + w;
245
246 SkString str(gModeNames[ky]);
247 SkTextUtils::DrawString(canvas, str.c_str(), x, y + h/2, font, SkPaint(),
249
250 x += SkIntToScalar(50);
251 for (size_t kx = 0; kx < std::size(gModes); kx++) {
253 paint.setShader(fProc(gModes[kx], gModes[ky]));
254
255 canvas->save();
256 canvas->translate(x, y);
257 canvas->drawRect(r, paint);
258 canvas->restore();
259
260 x += r.width() * 4 / 3;
261 }
262 y += r.height() * 4 / 3;
263 }
264 }
#define SkIntToScalar(x)
Definition SkScalar.h:57
SkTileMode
Definition SkTileMode.h:13
constexpr SkBlendMode gModes[]
void drawRect(const SkRect &rect, const SkPaint &paint)
void restore()
Definition SkCanvas.cpp:465
void translate(SkScalar dx, SkScalar dy)
int save()
Definition SkCanvas.cpp:451
void scale(SkScalar sx, SkScalar sy)
static void DrawString(SkCanvas *canvas, const char text[], SkScalar x, SkScalar y, const SkFont &font, const SkPaint &paint, Align align=kLeft_Align)
Definition SkTextUtils.h:34
const Paint & paint
float SkScalar
Definition extension.cpp:12
double y
double x
SkFont DefaultPortableFont()
font
Font Metadata and Metrics.
SkScalar w
SkScalar h
constexpr float height() const
Definition SkRect.h:769
constexpr float width() const
Definition SkRect.h:762
constexpr int gHeight
constexpr int gWidth

The documentation for this class was generated from the following file: