Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Private Member Functions | Friends | List of all members
skgpu::ganesh::DrawableOp Class Referencefinal

#include <DrawableOp.h>

Inheritance diagram for skgpu::ganesh::DrawableOp:
GrOp SkNoncopyable

Public Member Functions

const char * name () const override
 
- Public Member Functions inherited from GrOp
virtual ~GrOp ()=default
 
virtual void visitProxies (const GrVisitProxyFunc &) const
 
CombineResult combineIfPossible (GrOp *that, SkArenaAlloc *alloc, const GrCaps &caps)
 
const SkRectbounds () const
 
void setClippedBounds (const SkRect &clippedBounds)
 
bool hasAABloat () const
 
bool hasZeroArea () const
 
void operator delete (void *p)
 
template<typename T >
const Tcast () const
 
template<typename T >
Tcast ()
 
uint32_t classID () const
 
uint32_t uniqueID () const
 
void prePrepare (GrRecordingContext *context, const GrSurfaceProxyView &dstView, GrAppliedClip *clip, const GrDstProxyView &dstProxyView, GrXferBarrierFlags renderPassXferBarriers, GrLoadOp colorLoadOp)
 
void prepare (GrOpFlushState *state)
 
void execute (GrOpFlushState *state, const SkRect &chainBounds)
 
void chainConcat (GrOp::Owner)
 
bool isChainHead () const
 
bool isChainTail () const
 
GrOpnextInChain () const
 
GrOpprevInChain () const
 
GrOp::Owner cutChain ()
 
void setBounds (const SkRect &newBounds, HasAABloat aabloat, IsHairline zeroArea)
 
void setTransformedBounds (const SkRect &srcBounds, const SkMatrix &m, HasAABloat aabloat, IsHairline zeroArea)
 
void makeFullScreen (GrSurfaceProxy *proxy)
 

Static Public Member Functions

static DEFINE_OP_CLASS_ID GrOp::Owner Make (GrRecordingContext *, std::unique_ptr< SkDrawable::GpuDrawHandler > drawable, const SkRect &bounds)
 
- Static Public Member Functions inherited from GrOp
template<typename Op , typename... Args>
static Owner Make (GrRecordingContext *context, Args &&... args)
 
template<typename Op , typename... Args>
static Owner MakeWithProcessorSet (GrRecordingContext *context, const SkPMColor4f &color, GrPaint &&paint, Args &&... args)
 
template<typename Op , typename... Args>
static Owner MakeWithExtraMemory (GrRecordingContext *context, size_t extraSize, Args &&... args)
 
static uint32_t GenOpClassID ()
 

Private Member Functions

CombineResult onCombineIfPossible (GrOp *that, SkArenaAlloc *, const GrCaps &caps) override
 
void onPrePrepare (GrRecordingContext *, const GrSurfaceProxyView &writeView, GrAppliedClip *, const GrDstProxyView &, GrXferBarrierFlags renderPassXferBarriers, GrLoadOp colorLoadOp) override
 
void onPrepare (GrOpFlushState *) override
 
void onExecute (GrOpFlushState *, const SkRect &chainBounds) override
 

Friends

class GrOp
 

Additional Inherited Members

- Public Types inherited from GrOp
enum class  CombineResult { kMerged , kMayChain , kCannotCombine }
 
enum class  HasAABloat : bool { kNo = false , kYes = true }
 
enum class  IsHairline : bool { kNo = false , kYes = true }
 
using Owner = std::unique_ptr< GrOp >
 

Detailed Description

Definition at line 18 of file DrawableOp.h.

Member Function Documentation

◆ Make()

GrOp::Owner skgpu::ganesh::DrawableOp::Make ( GrRecordingContext context,
std::unique_ptr< SkDrawable::GpuDrawHandler drawable,
const SkRect bounds 
)
static

Definition at line 19 of file DrawableOp.cpp.

21 {
22 return GrOp::Make<DrawableOp>(context, std::move(drawable), bounds);
23}
const SkRect & bounds() const
Definition GrOp.h:122

◆ name()

const char * skgpu::ganesh::DrawableOp::name ( ) const
inlineoverridevirtual

Implements GrOp.

Definition at line 26 of file DrawableOp.h.

26{ return "Drawable"; }

◆ onCombineIfPossible()

CombineResult skgpu::ganesh::DrawableOp::onCombineIfPossible ( GrOp that,
SkArenaAlloc ,
const GrCaps caps 
)
inlineoverrideprivatevirtual

Reimplemented from GrOp.

Definition at line 33 of file DrawableOp.h.

◆ onExecute()

void skgpu::ganesh::DrawableOp::onExecute ( GrOpFlushState state,
const SkRect chainBounds 
)
overrideprivatevirtual

Implements GrOp.

Definition at line 32 of file DrawableOp.cpp.

32 {
33 SkASSERT(state->opsRenderPass());
34 state->opsRenderPass()->executeDrawable(std::move(fDrawable));
35}
#define SkASSERT(cond)
Definition SkAssert.h:116
AtkStateType state

◆ onPrepare()

void skgpu::ganesh::DrawableOp::onPrepare ( GrOpFlushState )
inlineoverrideprivatevirtual

Implements GrOp.

Definition at line 44 of file DrawableOp.h.

44{}

◆ onPrePrepare()

void skgpu::ganesh::DrawableOp::onPrePrepare ( GrRecordingContext ,
const GrSurfaceProxyView writeView,
GrAppliedClip ,
const GrDstProxyView ,
GrXferBarrierFlags  renderPassXferBarriers,
GrLoadOp  colorLoadOp 
)
inlineoverrideprivatevirtual

Implements GrOp.

Definition at line 37 of file DrawableOp.h.

42 {}

Friends And Related Symbol Documentation

◆ GrOp

friend class GrOp
friend

Definition at line 29 of file DrawableOp.h.


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