Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Stage Class Referenceabstract
Inheritance diagram for Stage:
CanvasArcStage CanvasLinePathStage CanvasLineSegmentStage

Public Member Functions

 Stage (SkSize size, int startingObjectCount, int objectIncrement)
 
virtual ~Stage ()=default
 
virtual void draw (SkCanvas *canvas)
 
virtual bool animate (double nanos)
 
virtual bool onChar (SkUnichar uni)
 

Protected Member Functions

virtual std::unique_ptr< MMObjectcreateObject ()=0
 
void initializeObjects ()
 

Protected Attributes

SkSize fSize
 
int fStartingObjectCount
 
int fObjectIncrement
 
std::vector< std::unique_ptr< MMObject > > fObjects
 
SkRandom fRandom
 

Detailed Description

Definition at line 31 of file MotionMarkSlide.cpp.

Constructor & Destructor Documentation

◆ Stage()

Stage::Stage ( SkSize  size,
int  startingObjectCount,
int  objectIncrement 
)
inline

Definition at line 33 of file MotionMarkSlide.cpp.

34 : fSize(size)
35 , fStartingObjectCount(startingObjectCount)
36 , fObjectIncrement(objectIncrement) {}
SkSize fSize
int fStartingObjectCount
int fObjectIncrement

◆ ~Stage()

virtual Stage::~Stage ( )
virtualdefault

Member Function Documentation

◆ animate()

virtual bool Stage::animate ( double  nanos)
inlinevirtual

Reimplemented in CanvasLineSegmentStage, and CanvasLinePathStage.

Definition at line 47 of file MotionMarkSlide.cpp.

47 {
48 for (size_t i = 0; i < fObjects.size(); ++i) {
49 fObjects[i]->animate(nanos);
50 }
51 return true;
52 }
std::vector< std::unique_ptr< MMObject > > fObjects

◆ createObject()

virtual std::unique_ptr< MMObject > Stage::createObject ( )
protectedpure virtual

◆ draw()

virtual void Stage::draw ( SkCanvas canvas)
inlinevirtual

Reimplemented in CanvasLineSegmentStage, CanvasArcStage, and CanvasLinePathStage.

Definition at line 41 of file MotionMarkSlide.cpp.

41 {
42 for (size_t i = 0; i < fObjects.size(); ++i) {
43 fObjects[i]->draw(canvas);
44 }
45 }

◆ initializeObjects()

void Stage::initializeObjects ( )
inlineprotected

Definition at line 82 of file MotionMarkSlide.cpp.

82 {
83 for (int i = 0; i < fStartingObjectCount; ++i) {
84 fObjects.push_back(this->createObject());
85 }
86 }
virtual std::unique_ptr< MMObject > createObject()=0

◆ onChar()

virtual bool Stage::onChar ( SkUnichar  uni)
inlinevirtual

Definition at line 55 of file MotionMarkSlide.cpp.

55 {
56 bool handled = false;
57 switch (uni) {
58 case '+':
59 case '=':
60 for (int i = 0; i < fObjectIncrement; ++i) {
61 fObjects.push_back(this->createObject());
62 }
63 handled = true;
64 break;
65 case '-':
66 case '_':
67 if (fObjects.size() > (size_t) fObjectIncrement) {
68 fObjects.resize(fObjects.size() - (size_t) fObjectIncrement);
69 }
70 handled = true;
71 break;
72 default:
73 break;
74 }
75
76 return handled;
77 }

Member Data Documentation

◆ fObjectIncrement

int Stage::fObjectIncrement
protected

Definition at line 91 of file MotionMarkSlide.cpp.

◆ fObjects

std::vector<std::unique_ptr<MMObject> > Stage::fObjects
protected

Definition at line 93 of file MotionMarkSlide.cpp.

◆ fRandom

SkRandom Stage::fRandom
protected

Definition at line 94 of file MotionMarkSlide.cpp.

◆ fSize

SkSize Stage::fSize
protected

Definition at line 88 of file MotionMarkSlide.cpp.

◆ fStartingObjectCount

int Stage::fStartingObjectCount
protected

Definition at line 90 of file MotionMarkSlide.cpp.


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