Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
GradientBench Class Reference
Inheritance diagram for GradientBench:
Benchmark SkRefCnt SkRefCntBase

Public Member Functions

 GradientBench (GradType gradType, GradData data=gGradData[0], SkTileMode tm=SkTileMode::kClamp, GeomType geomType=kRect_GeomType, float scale=1.0f)
 
 GradientBench (GradType gradType, GradData data, bool dither)
 
- Public Member Functions inherited from Benchmark
 Benchmark ()
 
const char * getName ()
 
const char * getUniqueName ()
 
SkISize getSize ()
 
virtual bool isSuitableFor (Backend backend)
 
virtual void modifyGrContextOptions (GrContextOptions *)
 
virtual bool shouldLoop () const
 
void delayedSetup ()
 
void perCanvasPreDraw (SkCanvas *)
 
void perCanvasPostDraw (SkCanvas *)
 
void preDraw (SkCanvas *)
 
void postDraw (SkCanvas *)
 
void draw (int loops, SkCanvas *)
 
virtual void getGpuStats (SkCanvas *, skia_private::TArray< SkString > *keys, skia_private::TArray< double > *values)
 
virtual bool getDMSAAStats (GrRecordingContext *)
 
int getUnits () const
 
- Public Member Functions inherited from SkRefCntBase
 SkRefCntBase ()
 
virtual ~SkRefCntBase ()
 
bool unique () const
 
void ref () const
 
void unref () const
 

Protected Member Functions

const char * onGetName () override
 
SkISize onGetSize () override
 
void onDraw (int loops, SkCanvas *canvas) override
 
- Protected Member Functions inherited from Benchmark
void setUnits (int units)
 
virtual void setupPaint (SkPaint *paint)
 
virtual const char * onGetUniqueName ()
 
virtual void onDelayedSetup ()
 
virtual void onPerCanvasPreDraw (SkCanvas *)
 
virtual void onPerCanvasPostDraw (SkCanvas *)
 
virtual void onPreDraw (SkCanvas *)
 
virtual void onPostDraw (SkCanvas *)
 

Additional Inherited Members

- Public Types inherited from Benchmark
enum class  Backend {
  kNonRendering , kRaster , kGanesh , kGraphite ,
  kPDF , kHWUI
}
 

Detailed Description

Definition at line 174 of file GradientBench.cpp.

Constructor & Destructor Documentation

◆ GradientBench() [1/2]

GradientBench::GradientBench ( GradType  gradType,
GradData  data = gGradData[0],
SkTileMode  tm = SkTileMode::kClamp,
GeomType  geomType = kRect_GeomType,
float  scale = 1.0f 
)
inline

Definition at line 176 of file GradientBench.cpp.

181 : fGeomType(geomType) {
182
183 fName.printf("gradient_%s_%s", gGrads[gradType].fName,
185 if (geomType != kRect_GeomType) {
186 fName.appendf("_%s", geomtypename(geomType));
187 }
188
189 if (scale != 1.f) {
190 fName.appendf("_scale_%g", scale);
191 }
192
193 fName.append(data.fName);
194
195 this->setupPaint(&fPaint);
196 fPaint.setShader(MakeShader(gradType, data, tm, scale));
197 }
const char * fName
static const char * geomtypename(GeomType gt)
@ kRect_GeomType
static const struct @225 gGrads[]
virtual void setupPaint(SkPaint *paint)
Definition Benchmark.cpp:55
void setShader(sk_sp< SkShader > shader)
void printf(const char format[],...) SK_PRINTF_LIKE(2
Definition SkString.cpp:534
const char * tilemode_name(SkTileMode mode)
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot data
Definition switches.h:41
const Scalar scale

◆ GradientBench() [2/2]

GradientBench::GradientBench ( GradType  gradType,
GradData  data,
bool  dither 
)
inline

Definition at line 199 of file GradientBench.cpp.

200 : fGeomType(kRect_GeomType) {
201
202 const char *tmname = ToolUtils::tilemode_name(SkTileMode::kClamp);
203 fName.printf("gradient_%s_%s", gGrads[gradType].fName, tmname);
204 fName.append(data.fName);
205
206 if (dither) {
207 fName.appendf("_dither");
208 }
209
210 this->setupPaint(&fPaint);
211 fPaint.setShader(MakeShader(gradType, data, SkTileMode::kClamp, 1.0f));
212 fPaint.setDither(dither);
213 }
void setDither(bool dither)
Definition SkPaint.h:182

Member Function Documentation

◆ onDraw()

void GradientBench::onDraw ( int  loops,
SkCanvas canvas 
)
inlineoverrideprotectedvirtual

Implements Benchmark.

Definition at line 224 of file GradientBench.cpp.

224 {
225 const SkRect r = SkRect::MakeIWH(kSize, kSize);
226
227 for (int i = 0; i < loops; i++) {
228 switch (fGeomType) {
229 case kRect_GeomType:
230 canvas->drawRect(r, fPaint);
231 break;
232 case kOval_GeomType:
233 canvas->drawOval(r, fPaint);
234 break;
235 }
236 }
237 }
@ kOval_GeomType
void drawRect(const SkRect &rect, const SkPaint &paint)
void drawOval(const SkRect &oval, const SkPaint &paint)
static SkRect MakeIWH(int w, int h)
Definition SkRect.h:623

◆ onGetName()

const char * GradientBench::onGetName ( )
inlineoverrideprotectedvirtual

Implements Benchmark.

Definition at line 216 of file GradientBench.cpp.

216 {
217 return fName.c_str();
218 }
const char * c_str() const
Definition SkString.h:133

◆ onGetSize()

SkISize GradientBench::onGetSize ( )
inlineoverrideprotectedvirtual

Reimplemented from Benchmark.

Definition at line 220 of file GradientBench.cpp.

220 {
221 return SkISize::Make(kSize, kSize);
222 }
static constexpr SkISize Make(int32_t w, int32_t h)
Definition SkSize.h:20

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