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

Public Member Functions

 AnimatedImageBlurs ()
 
- 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)
 
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
 

Protected Member Functions

bool runAsBench () const override
 
SkString getName () const override
 
SkISize getISize () override
 
void onOnceBeforeDraw () override
 
void onDraw (SkCanvas *canvas) override
 
bool onAnimate (double nanos) override
 
- Protected Member Functions inherited from skiagm::GM
virtual DrawResult onGpuSetup (SkCanvas *, SkString *, GraphiteTestContext *)
 
virtual void onGpuTeardown ()
 
virtual DrawResult onDraw (SkCanvas *, SkString *errorMsg)
 
virtual bool onGetControls (SkMetaData *)
 
virtual void onSetControls (const SkMetaData &)
 
GraphiteTestContextgraphiteTestContext () const
 

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 []
 

Detailed Description

Definition at line 32 of file animatedimageblurs.cpp.

Constructor & Destructor Documentation

◆ AnimatedImageBlurs()

AnimatedImageBlurs::AnimatedImageBlurs ( )
inline

Definition at line 34 of file animatedimageblurs.cpp.

34 : fLastTime(0.0f) {
35 this->setBGColor(0xFFCCCCCC);
36 }
void setBGColor(SkColor)
Definition gm.cpp:159

Member Function Documentation

◆ getISize()

SkISize AnimatedImageBlurs::getISize ( )
inlineoverrideprotectedvirtual

Implements skiagm::GM.

Definition at line 43 of file animatedimageblurs.cpp.

43{ return SkISize::Make(kWidth, kHeight); }
static const int kHeight
static const int kWidth
static constexpr SkISize Make(int32_t w, int32_t h)
Definition SkSize.h:20

◆ getName()

SkString AnimatedImageBlurs::getName ( ) const
inlineoverrideprotectedvirtual

Implements skiagm::GM.

Definition at line 41 of file animatedimageblurs.cpp.

41{ return SkString("animated-image-blurs"); }

◆ onAnimate()

bool AnimatedImageBlurs::onAnimate ( double  nanos)
inlineoverrideprotectedvirtual

Reimplemented from skiagm::GM.

Definition at line 72 of file animatedimageblurs.cpp.

72 {
73 if (0.0f != fLastTime) {
74 for (int i = 0; i < kNumNodes; ++i) {
75 fNodes[i].update(nanos, fLastTime);
76 }
77 }
78
79 fLastTime = 1e-9 * nanos;
80 return true;
81 }
static const int kNumNodes

◆ onDraw()

void AnimatedImageBlurs::onDraw ( SkCanvas canvas)
inlineoverrideprotectedvirtual

Reimplemented from skiagm::GM.

Definition at line 51 of file animatedimageblurs.cpp.

51 {
53 paint.setAntiAlias(true);
54
55 for (int i = 0; i < kNumNodes; ++i) {
56 SkPaint layerPaint;
57 layerPaint.setImageFilter(SkImageFilters::Blur(fNodes[i].sigma(), fNodes[i].sigma(),
58 nullptr));
59
60 canvas->saveLayer(nullptr, &layerPaint);
61 // The rect is outset to block the circle case
62 SkRect rect = SkRect::MakeLTRB(fNodes[i].pos().fX - fNodes[i].size()-0.5f,
63 fNodes[i].pos().fY - fNodes[i].size()-0.5f,
64 fNodes[i].pos().fX + fNodes[i].size()+0.5f,
65 fNodes[i].pos().fY + fNodes[i].size()+0.5f);
66 SkRRect rrect = SkRRect::MakeRectXY(rect, fNodes[i].size(), fNodes[i].size());
67 canvas->drawRRect(rrect, paint);
68 canvas->restore();
69 }
70 }
SkPoint pos
int saveLayer(const SkRect *bounds, const SkPaint *paint)
Definition SkCanvas.cpp:500
void restore()
Definition SkCanvas.cpp:465
void drawRRect(const SkRRect &rrect, const SkPaint &paint)
static sk_sp< SkImageFilter > Blur(SkScalar sigmaX, SkScalar sigmaY, SkTileMode tileMode, sk_sp< SkImageFilter > input, const CropRect &cropRect={})
void setImageFilter(sk_sp< SkImageFilter > imageFilter)
static SkRRect MakeRectXY(const SkRect &rect, SkScalar xRad, SkScalar yRad)
Definition SkRRect.h:180
const Paint & paint
SkRRect rrect
Definition SkRecords.h:232
sk_sp< SkBlender > blender SkRect rect
Definition SkRecords.h:350
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive keep the shell running after the Dart script has completed enable serial On low power devices with low core running concurrent GC tasks on threads can cause them to contend with the UI thread which could potentially lead to jank This option turns off all concurrent GC activities domain network JSON encoded network policy per domain This overrides the DisallowInsecureConnections switch Embedder can specify whether to allow or disallow insecure connections at a domain level old gen heap size
Definition switches.h:259
static constexpr SkRect MakeLTRB(float l, float t, float r, float b)
Definition SkRect.h:646

◆ onOnceBeforeDraw()

void AnimatedImageBlurs::onOnceBeforeDraw ( )
inlineoverrideprotectedvirtual

Reimplemented from skiagm::GM.

Definition at line 45 of file animatedimageblurs.cpp.

45 {
46 for (int i = 0; i < kNumNodes; ++i) {
47 fNodes[i].init(&fRand);
48 }
49 }

◆ runAsBench()

bool AnimatedImageBlurs::runAsBench ( ) const
inlineoverrideprotectedvirtual

Reimplemented from skiagm::GM.

Definition at line 39 of file animatedimageblurs.cpp.

39{ return true; }

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