Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
SkNWayCanvas Class Reference

#include <SkNWayCanvas.h>

Inheritance diagram for SkNWayCanvas:
SkCanvasVirtualEnforcer< SkNoDrawCanvas > SkNoDrawCanvas SkCanvasVirtualEnforcer< SkCanvas > SkCanvas SkCanvasVirtualEnforcer< SkNWayCanvas > SkCanvasStack SkOverdrawCanvas SkPaintFilterCanvas DebugPaintFilterCanvas OveridePaintFilterCanvas

Classes

class  Iter
 

Public Member Functions

 SkNWayCanvas (int width, int height)
 
 ~SkNWayCanvas () override
 
virtual void addCanvas (SkCanvas *)
 
virtual void removeCanvas (SkCanvas *)
 
virtual void removeAll ()
 
- Public Member Functions inherited from SkNoDrawCanvas
 SkNoDrawCanvas (int width, int height)
 
 SkNoDrawCanvas (const SkIRect &)
 
void resetCanvas (int w, int h)
 
void resetCanvas (const SkIRect &rect)
 
- Public Member Functions inherited from SkCanvas
 SkCanvas ()
 
 SkCanvas (int width, int height, const SkSurfaceProps *props=nullptr)
 
 SkCanvas (sk_sp< SkDevice > device)
 
 SkCanvas (const SkBitmap &bitmap)
 
 SkCanvas (const SkBitmap &bitmap, const SkSurfaceProps &props)
 
virtual ~SkCanvas ()
 
SkImageInfo imageInfo () const
 
bool getProps (SkSurfaceProps *props) const
 
SkSurfaceProps getBaseProps () const
 
SkSurfaceProps getTopProps () const
 
virtual SkISize getBaseLayerSize () const
 
sk_sp< SkSurfacemakeSurface (const SkImageInfo &info, const SkSurfaceProps *props=nullptr)
 
virtual GrRecordingContextrecordingContext () const
 
virtual skgpu::graphite::Recorderrecorder () const
 
SkSurfacegetSurface () const
 
void * accessTopLayerPixels (SkImageInfo *info, size_t *rowBytes, SkIPoint *origin=nullptr)
 
SkRasterHandleAllocator::Handle accessTopRasterHandle () const
 
bool peekPixels (SkPixmap *pixmap)
 
bool readPixels (const SkImageInfo &dstInfo, void *dstPixels, size_t dstRowBytes, int srcX, int srcY)
 
bool readPixels (const SkPixmap &pixmap, int srcX, int srcY)
 
bool readPixels (const SkBitmap &bitmap, int srcX, int srcY)
 
bool writePixels (const SkImageInfo &info, const void *pixels, size_t rowBytes, int x, int y)
 
bool writePixels (const SkBitmap &bitmap, int x, int y)
 
int save ()
 
int saveLayer (const SkRect *bounds, const SkPaint *paint)
 
int saveLayer (const SkRect &bounds, const SkPaint *paint)
 
int saveLayerAlphaf (const SkRect *bounds, float alpha)
 
int saveLayerAlpha (const SkRect *bounds, U8CPU alpha)
 
int saveLayer (const SaveLayerRec &layerRec)
 
void restore ()
 
int getSaveCount () const
 
void restoreToCount (int saveCount)
 
void translate (SkScalar dx, SkScalar dy)
 
void scale (SkScalar sx, SkScalar sy)
 
void rotate (SkScalar degrees)
 
void rotate (SkScalar degrees, SkScalar px, SkScalar py)
 
void skew (SkScalar sx, SkScalar sy)
 
void concat (const SkMatrix &matrix)
 
void concat (const SkM44 &)
 
void setMatrix (const SkM44 &matrix)
 
void setMatrix (const SkMatrix &matrix)
 
void resetMatrix ()
 
void clipRect (const SkRect &rect, SkClipOp op, bool doAntiAlias)
 
void clipRect (const SkRect &rect, SkClipOp op)
 
void clipRect (const SkRect &rect, bool doAntiAlias=false)
 
void clipIRect (const SkIRect &irect, SkClipOp op=SkClipOp::kIntersect)
 
void androidFramework_setDeviceClipRestriction (const SkIRect &rect)
 
void clipRRect (const SkRRect &rrect, SkClipOp op, bool doAntiAlias)
 
void clipRRect (const SkRRect &rrect, SkClipOp op)
 
void clipRRect (const SkRRect &rrect, bool doAntiAlias=false)
 
void clipPath (const SkPath &path, SkClipOp op, bool doAntiAlias)
 
void clipPath (const SkPath &path, SkClipOp op)
 
void clipPath (const SkPath &path, bool doAntiAlias=false)
 
void clipShader (sk_sp< SkShader >, SkClipOp=SkClipOp::kIntersect)
 
void clipRegion (const SkRegion &deviceRgn, SkClipOp op=SkClipOp::kIntersect)
 
bool quickReject (const SkRect &rect) const
 
bool quickReject (const SkPath &path) const
 
SkRect getLocalClipBounds () const
 
bool getLocalClipBounds (SkRect *bounds) const
 
SkIRect getDeviceClipBounds () const
 
bool getDeviceClipBounds (SkIRect *bounds) const
 
void drawColor (SkColor color, SkBlendMode mode=SkBlendMode::kSrcOver)
 
void drawColor (const SkColor4f &color, SkBlendMode mode=SkBlendMode::kSrcOver)
 
void clear (SkColor color)
 
void clear (const SkColor4f &color)
 
void discard ()
 
void drawPaint (const SkPaint &paint)
 
void drawPoints (PointMode mode, size_t count, const SkPoint pts[], const SkPaint &paint)
 
void drawPoint (SkScalar x, SkScalar y, const SkPaint &paint)
 
void drawPoint (SkPoint p, const SkPaint &paint)
 
void drawLine (SkScalar x0, SkScalar y0, SkScalar x1, SkScalar y1, const SkPaint &paint)
 
void drawLine (SkPoint p0, SkPoint p1, const SkPaint &paint)
 
void drawRect (const SkRect &rect, const SkPaint &paint)
 
void drawIRect (const SkIRect &rect, const SkPaint &paint)
 
void drawRegion (const SkRegion &region, const SkPaint &paint)
 
void drawOval (const SkRect &oval, const SkPaint &paint)
 
void drawRRect (const SkRRect &rrect, const SkPaint &paint)
 
void drawDRRect (const SkRRect &outer, const SkRRect &inner, const SkPaint &paint)
 
void drawCircle (SkScalar cx, SkScalar cy, SkScalar radius, const SkPaint &paint)
 
void drawCircle (SkPoint center, SkScalar radius, const SkPaint &paint)
 
void drawArc (const SkRect &oval, SkScalar startAngle, SkScalar sweepAngle, bool useCenter, const SkPaint &paint)
 
void drawArc (const SkArc &arc, const SkPaint &paint)
 
void drawRoundRect (const SkRect &rect, SkScalar rx, SkScalar ry, const SkPaint &paint)
 
void drawPath (const SkPath &path, const SkPaint &paint)
 
void drawImage (const SkImage *image, SkScalar left, SkScalar top)
 
void drawImage (const sk_sp< SkImage > &image, SkScalar left, SkScalar top)
 
void drawImage (const SkImage *, SkScalar x, SkScalar y, const SkSamplingOptions &, const SkPaint *=nullptr)
 
void drawImage (const sk_sp< SkImage > &image, SkScalar x, SkScalar y, const SkSamplingOptions &sampling, const SkPaint *paint=nullptr)
 
void drawImageRect (const SkImage *, const SkRect &src, const SkRect &dst, const SkSamplingOptions &, const SkPaint *, SrcRectConstraint)
 
void drawImageRect (const SkImage *, const SkRect &dst, const SkSamplingOptions &, const SkPaint *=nullptr)
 
void drawImageRect (const sk_sp< SkImage > &image, const SkRect &src, const SkRect &dst, const SkSamplingOptions &sampling, const SkPaint *paint, SrcRectConstraint constraint)
 
void drawImageRect (const sk_sp< SkImage > &image, const SkRect &dst, const SkSamplingOptions &sampling, const SkPaint *paint=nullptr)
 
void drawImageNine (const SkImage *image, const SkIRect &center, const SkRect &dst, SkFilterMode filter, const SkPaint *paint=nullptr)
 
void drawImageLattice (const SkImage *image, const Lattice &lattice, const SkRect &dst, SkFilterMode filter, const SkPaint *paint=nullptr)
 
void drawImageLattice (const SkImage *image, const Lattice &lattice, const SkRect &dst)
 
void experimental_DrawEdgeAAQuad (const SkRect &rect, const SkPoint clip[4], QuadAAFlags aaFlags, const SkColor4f &color, SkBlendMode mode)
 
void experimental_DrawEdgeAAQuad (const SkRect &rect, const SkPoint clip[4], QuadAAFlags aaFlags, SkColor color, SkBlendMode mode)
 
void experimental_DrawEdgeAAImageSet (const ImageSetEntry imageSet[], int cnt, const SkPoint dstClips[], const SkMatrix preViewMatrices[], const SkSamplingOptions &, const SkPaint *paint=nullptr, SrcRectConstraint constraint=kStrict_SrcRectConstraint)
 
void drawSimpleText (const void *text, size_t byteLength, SkTextEncoding encoding, SkScalar x, SkScalar y, const SkFont &font, const SkPaint &paint)
 
void drawString (const char str[], SkScalar x, SkScalar y, const SkFont &font, const SkPaint &paint)
 
void drawString (const SkString &str, SkScalar x, SkScalar y, const SkFont &font, const SkPaint &paint)
 
void drawGlyphs (int count, const SkGlyphID glyphs[], const SkPoint positions[], const uint32_t clusters[], int textByteCount, const char utf8text[], SkPoint origin, const SkFont &font, const SkPaint &paint)
 
void drawGlyphs (int count, const SkGlyphID glyphs[], const SkPoint positions[], SkPoint origin, const SkFont &font, const SkPaint &paint)
 
void drawGlyphs (int count, const SkGlyphID glyphs[], const SkRSXform xforms[], SkPoint origin, const SkFont &font, const SkPaint &paint)
 
void drawTextBlob (const SkTextBlob *blob, SkScalar x, SkScalar y, const SkPaint &paint)
 
void drawTextBlob (const sk_sp< SkTextBlob > &blob, SkScalar x, SkScalar y, const SkPaint &paint)
 
void drawPicture (const SkPicture *picture)
 
void drawPicture (const sk_sp< SkPicture > &picture)
 
void drawPicture (const SkPicture *picture, const SkMatrix *matrix, const SkPaint *paint)
 
void drawPicture (const sk_sp< SkPicture > &picture, const SkMatrix *matrix, const SkPaint *paint)
 
void drawVertices (const SkVertices *vertices, SkBlendMode mode, const SkPaint &paint)
 
void drawVertices (const sk_sp< SkVertices > &vertices, SkBlendMode mode, const SkPaint &paint)
 
void drawMesh (const SkMesh &mesh, sk_sp< SkBlender > blender, const SkPaint &paint)
 
void drawPatch (const SkPoint cubics[12], const SkColor colors[4], const SkPoint texCoords[4], SkBlendMode mode, const SkPaint &paint)
 
void drawAtlas (const SkImage *atlas, const SkRSXform xform[], const SkRect tex[], const SkColor colors[], int count, SkBlendMode mode, const SkSamplingOptions &sampling, const SkRect *cullRect, const SkPaint *paint)
 
void drawDrawable (SkDrawable *drawable, const SkMatrix *matrix=nullptr)
 
void drawDrawable (SkDrawable *drawable, SkScalar x, SkScalar y)
 
void drawAnnotation (const SkRect &rect, const char key[], SkData *value)
 
void drawAnnotation (const SkRect &rect, const char key[], const sk_sp< SkData > &value)
 
virtual bool isClipEmpty () const
 
virtual bool isClipRect () const
 
SkM44 getLocalToDevice () const
 
SkMatrix getLocalToDeviceAs3x3 () const
 
SkMatrix getTotalMatrix () const
 
void temporary_internal_getRgnClip (SkRegion *region)
 
void private_draw_shadow_rec (const SkPath &, const SkDrawShadowRec &)
 

Protected Member Functions

void willSave () override
 
SaveLayerStrategy getSaveLayerStrategy (const SaveLayerRec &) override
 
bool onDoSaveBehind (const SkRect *) override
 
void willRestore () override
 
void didConcat44 (const SkM44 &) override
 
void didSetM44 (const SkM44 &) override
 
void didScale (SkScalar, SkScalar) override
 
void didTranslate (SkScalar, SkScalar) override
 
void onDrawDRRect (const SkRRect &, const SkRRect &, const SkPaint &) override
 
void onDrawGlyphRunList (const sktext::GlyphRunList &, const SkPaint &) override
 
void onDrawTextBlob (const SkTextBlob *blob, SkScalar x, SkScalar y, const SkPaint &paint) override
 
void onDrawSlug (const sktext::gpu::Slug *slug, const SkPaint &paint) override
 
void onDrawPatch (const SkPoint cubics[12], const SkColor colors[4], const SkPoint texCoords[4], SkBlendMode, const SkPaint &paint) override
 
void onDrawPaint (const SkPaint &) override
 
void onDrawBehind (const SkPaint &) override
 
void onDrawPoints (PointMode, size_t count, const SkPoint pts[], const SkPaint &) override
 
void onDrawRect (const SkRect &, const SkPaint &) override
 
void onDrawRegion (const SkRegion &, const SkPaint &) override
 
void onDrawOval (const SkRect &, const SkPaint &) override
 
void onDrawArc (const SkRect &, SkScalar, SkScalar, bool, const SkPaint &) override
 
void onDrawRRect (const SkRRect &, const SkPaint &) override
 
void onDrawPath (const SkPath &, const SkPaint &) override
 
void onDrawImage2 (const SkImage *, SkScalar, SkScalar, const SkSamplingOptions &, const SkPaint *) override
 
void onDrawImageRect2 (const SkImage *, const SkRect &, const SkRect &, const SkSamplingOptions &, const SkPaint *, SrcRectConstraint) override
 
void onDrawImageLattice2 (const SkImage *, const Lattice &, const SkRect &, SkFilterMode, const SkPaint *) override
 
void onDrawAtlas2 (const SkImage *, const SkRSXform[], const SkRect[], const SkColor[], int, SkBlendMode, const SkSamplingOptions &, const SkRect *, const SkPaint *) override
 
void onDrawVerticesObject (const SkVertices *, SkBlendMode, const SkPaint &) override
 
void onDrawShadowRec (const SkPath &, const SkDrawShadowRec &) override
 
void onClipRect (const SkRect &, SkClipOp, ClipEdgeStyle) override
 
void onClipRRect (const SkRRect &, SkClipOp, ClipEdgeStyle) override
 
void onClipPath (const SkPath &, SkClipOp, ClipEdgeStyle) override
 
void onClipShader (sk_sp< SkShader >, SkClipOp) override
 
void onClipRegion (const SkRegion &, SkClipOp) override
 
void onResetClip () override
 
void onDrawPicture (const SkPicture *, const SkMatrix *, const SkPaint *) override
 
void onDrawDrawable (SkDrawable *, const SkMatrix *) override
 
void onDrawAnnotation (const SkRect &, const char[], SkData *) override
 
void onDrawEdgeAAQuad (const SkRect &, const SkPoint[4], QuadAAFlags, const SkColor4f &, SkBlendMode) override
 
void onDrawEdgeAAImageSet2 (const ImageSetEntry[], int count, const SkPoint[], const SkMatrix[], const SkSamplingOptions &, const SkPaint *, SrcRectConstraint) override
 
- Protected Member Functions inherited from SkCanvas
virtual sk_sp< SkSurfaceonNewSurface (const SkImageInfo &info, const SkSurfaceProps &props)
 
virtual bool onPeekPixels (SkPixmap *pixmap)
 
virtual bool onAccessTopLayerPixels (SkPixmap *pixmap)
 
virtual SkImageInfo onImageInfo () const
 
virtual bool onGetProps (SkSurfaceProps *props, bool top) const
 
virtual void didRestore ()
 
virtual void onDrawMesh (const SkMesh &, sk_sp< SkBlender >, const SkPaint &)
 
virtual void onDiscard ()
 
virtual sk_sp< sktext::gpu::SlugonConvertGlyphRunListToSlug (const sktext::GlyphRunList &glyphRunList, const SkPaint &paint)
 
 SkCanvas (const SkIRect &bounds)
 

Protected Attributes

SkTDArray< SkCanvas * > fList
 

Additional Inherited Members

- Public Types inherited from SkCanvas
enum  SaveLayerFlagsSet { kPreserveLCDText_SaveLayerFlag = 1 << 1 , kInitWithPrevious_SaveLayerFlag = 1 << 2 , kF16ColorType = 1 << 4 }
 
enum  PointMode { kPoints_PointMode , kLines_PointMode , kPolygon_PointMode }
 
enum  SrcRectConstraint { kStrict_SrcRectConstraint , kFast_SrcRectConstraint }
 
enum  QuadAAFlags : unsigned {
  kLeft_QuadAAFlag = 0b0001 , kTop_QuadAAFlag = 0b0010 , kRight_QuadAAFlag = 0b0100 , kBottom_QuadAAFlag = 0b1000 ,
  kNone_QuadAAFlags = 0b0000 , kAll_QuadAAFlags = 0b1111
}
 
using SaveLayerFlags = uint32_t
 
using FilterSpan = SkSpan< sk_sp< SkImageFilter > >
 
- Static Public Member Functions inherited from SkCanvas
static std::unique_ptr< SkCanvasMakeRasterDirect (const SkImageInfo &info, void *pixels, size_t rowBytes, const SkSurfaceProps *props=nullptr)
 
static std::unique_ptr< SkCanvasMakeRasterDirectN32 (int width, int height, SkPMColor *pixels, size_t rowBytes)
 
- Static Public Attributes inherited from SkCanvas
static constexpr int kMaxFiltersPerLayer = 16
 
- Protected Types inherited from SkCanvas
enum  SaveLayerStrategy { kFullLayer_SaveLayerStrategy , kNoLayer_SaveLayerStrategy }
 
enum  ClipEdgeStyle { kHard_ClipEdgeStyle , kSoft_ClipEdgeStyle }
 

Detailed Description

Definition at line 50 of file SkNWayCanvas.h.

Constructor & Destructor Documentation

◆ SkNWayCanvas()

SkNWayCanvas::SkNWayCanvas ( int  width,
int  height 
)

Definition at line 45 of file SkNWayCanvas.cpp.

45: INHERITED(width, height) {}
int32_t height
int32_t width

◆ ~SkNWayCanvas()

SkNWayCanvas::~SkNWayCanvas ( )
override

Definition at line 47 of file SkNWayCanvas.cpp.

47 {
48 this->removeAll();
49}
virtual void removeAll()

Member Function Documentation

◆ addCanvas()

void SkNWayCanvas::addCanvas ( SkCanvas canvas)
virtual

Reimplemented in SkCanvasStack.

Definition at line 51 of file SkNWayCanvas.cpp.

51 {
52 if (!fList.empty()) {
53 // We are using the nway canvas as a wrapper for the originally added canvas, and the device
54 // on the nway may contradict calls for the device on this canvas. So, to add a second
55 // canvas, the devices on the first canvas, and the nway base device must be different.
56 SkASSERT(fList[0]->rootDevice() != this->rootDevice());
57 }
58 if (canvas) {
59 *fList.append() = canvas;
60 }
61}
#define SkASSERT(cond)
Definition SkAssert.h:116
SkTDArray< SkCanvas * > fList
bool empty() const
Definition SkTDArray.h:135
T * append()
Definition SkTDArray.h:191

◆ didConcat44()

void SkNWayCanvas::didConcat44 ( const SkM44 m)
overrideprotectedvirtual

Reimplemented from SkCanvas.

Definition at line 135 of file SkNWayCanvas.cpp.

135 {
136 Iter iter(fList);
137 while (iter.next()) {
138 iter->concat(m);
139 }
140}

◆ didScale()

void SkNWayCanvas::didScale ( SkScalar  x,
SkScalar  y 
)
overrideprotectedvirtual

Reimplemented from SkCanvas.

Definition at line 156 of file SkNWayCanvas.cpp.

156 {
157 Iter iter(fList);
158 while (iter.next()) {
159 iter->scale(x, y);
160 }
161}
double y
double x

◆ didSetM44()

void SkNWayCanvas::didSetM44 ( const SkM44 matrix)
overrideprotectedvirtual

Reimplemented from SkCanvas.

Definition at line 142 of file SkNWayCanvas.cpp.

142 {
143 Iter iter(fList);
144 while (iter.next()) {
145 iter->setMatrix(matrix);
146 }
147}

◆ didTranslate()

void SkNWayCanvas::didTranslate ( SkScalar  x,
SkScalar  y 
)
overrideprotectedvirtual

Reimplemented from SkCanvas.

Definition at line 149 of file SkNWayCanvas.cpp.

149 {
150 Iter iter(fList);
151 while (iter.next()) {
152 iter->translate(x, y);
153 }
154}

◆ getSaveLayerStrategy()

SkCanvas::SaveLayerStrategy SkNWayCanvas::getSaveLayerStrategy ( const SaveLayerRec rec)
overrideprotectedvirtual

Reimplemented from SkNoDrawCanvas.

Definition at line 107 of file SkNWayCanvas.cpp.

107 {
108 Iter iter(fList);
109 while (iter.next()) {
110 iter->saveLayer(rec);
111 }
112
114 // No need for a layer.
116}
virtual SaveLayerStrategy getSaveLayerStrategy(const SaveLayerRec &)
Definition SkCanvas.h:2270
@ kNoLayer_SaveLayerStrategy
Definition SkCanvas.h:2265

◆ onClipPath()

void SkNWayCanvas::onClipPath ( const SkPath path,
SkClipOp  op,
ClipEdgeStyle  edgeStyle 
)
overrideprotectedvirtual

Reimplemented from SkCanvas.

Definition at line 179 of file SkNWayCanvas.cpp.

179 {
180 Iter iter(fList);
181 while (iter.next()) {
182 iter->clipPath(path, op, kSoft_ClipEdgeStyle == edgeStyle);
183 }
184 this->INHERITED::onClipPath(path, op, edgeStyle);
185}
virtual void onClipPath(const SkPath &path, SkClipOp op, ClipEdgeStyle edgeStyle)
@ kSoft_ClipEdgeStyle
Definition SkCanvas.h:2337

◆ onClipRect()

void SkNWayCanvas::onClipRect ( const SkRect rect,
SkClipOp  op,
ClipEdgeStyle  edgeStyle 
)
overrideprotectedvirtual

Reimplemented from SkCanvas.

Definition at line 163 of file SkNWayCanvas.cpp.

163 {
164 Iter iter(fList);
165 while (iter.next()) {
166 iter->clipRect(rect, op, kSoft_ClipEdgeStyle == edgeStyle);
167 }
168 this->INHERITED::onClipRect(rect, op, edgeStyle);
169}
virtual void onClipRect(const SkRect &rect, SkClipOp op, ClipEdgeStyle edgeStyle)

◆ onClipRegion()

void SkNWayCanvas::onClipRegion ( const SkRegion deviceRgn,
SkClipOp  op 
)
overrideprotectedvirtual

Reimplemented from SkCanvas.

Definition at line 195 of file SkNWayCanvas.cpp.

195 {
196 Iter iter(fList);
197 while (iter.next()) {
198 iter->clipRegion(deviceRgn, op);
199 }
200 this->INHERITED::onClipRegion(deviceRgn, op);
201}
virtual void onClipRegion(const SkRegion &deviceRgn, SkClipOp op)

◆ onClipRRect()

void SkNWayCanvas::onClipRRect ( const SkRRect rrect,
SkClipOp  op,
ClipEdgeStyle  edgeStyle 
)
overrideprotectedvirtual

Reimplemented from SkCanvas.

Definition at line 171 of file SkNWayCanvas.cpp.

171 {
172 Iter iter(fList);
173 while (iter.next()) {
174 iter->clipRRect(rrect, op, kSoft_ClipEdgeStyle == edgeStyle);
175 }
176 this->INHERITED::onClipRRect(rrect, op, edgeStyle);
177}
virtual void onClipRRect(const SkRRect &rrect, SkClipOp op, ClipEdgeStyle edgeStyle)

◆ onClipShader()

void SkNWayCanvas::onClipShader ( sk_sp< SkShader sh,
SkClipOp  op 
)
overrideprotectedvirtual

Reimplemented from SkCanvas.

Definition at line 187 of file SkNWayCanvas.cpp.

187 {
188 Iter iter(fList);
189 while (iter.next()) {
190 iter->clipShader(sh, op);
191 }
192 this->INHERITED::onClipShader(std::move(sh), op);
193}
virtual void onClipShader(sk_sp< SkShader >, SkClipOp)

◆ onDoSaveBehind()

bool SkNWayCanvas::onDoSaveBehind ( const SkRect bounds)
overrideprotectedvirtual

Reimplemented from SkNoDrawCanvas.

Definition at line 118 of file SkNWayCanvas.cpp.

118 {
119 Iter iter(fList);
120 while (iter.next()) {
121 SkCanvasPriv::SaveBehind(iter.get(), bounds);
122 }
123 this->INHERITED::onDoSaveBehind(bounds);
124 return false;
125}
static int SaveBehind(SkCanvas *canvas, const SkRect *subset)
virtual bool onDoSaveBehind(const SkRect *)
Definition SkCanvas.h:2275

◆ onDrawAnnotation()

void SkNWayCanvas::onDrawAnnotation ( const SkRect rect,
const char  key[],
SkData data 
)
overrideprotectedvirtual

Implements SkCanvasVirtualEnforcer< SkNoDrawCanvas >.

Reimplemented in SkOverdrawCanvas, and SkPaintFilterCanvas.

Definition at line 381 of file SkNWayCanvas.cpp.

381 {
382 Iter iter(fList);
383 while (iter.next()) {
384 iter->drawAnnotation(rect, key, data);
385 }
386}

◆ onDrawArc()

void SkNWayCanvas::onDrawArc ( const SkRect rect,
SkScalar  startAngle,
SkScalar  sweepAngle,
bool  useCenter,
const SkPaint paint 
)
overrideprotectedvirtual

Implements SkCanvasVirtualEnforcer< SkNoDrawCanvas >.

Reimplemented in SkOverdrawCanvas, and SkPaintFilterCanvas.

Definition at line 254 of file SkNWayCanvas.cpp.

255 {
256 Iter iter(fList);
257 while (iter.next()) {
258 iter->drawArc(rect, startAngle, sweepAngle, useCenter, paint);
259 }
260}
const Paint & paint

◆ onDrawAtlas2()

void SkNWayCanvas::onDrawAtlas2 ( const SkImage image,
const SkRSXform  xform[],
const SkRect  tex[],
const SkColor  colors[],
int  count,
SkBlendMode  bmode,
const SkSamplingOptions sampling,
const SkRect cull,
const SkPaint paint 
)
overrideprotectedvirtual

Reimplemented from SkNoDrawCanvas.

Reimplemented in SkOverdrawCanvas, and SkPaintFilterCanvas.

Definition at line 309 of file SkNWayCanvas.cpp.

312 {
313 Iter iter(fList);
314 while (iter.next()) {
315 iter->drawAtlas(image, xform, tex, colors, count, bmode, sampling, cull, paint);
316 }
317}
int count
sk_sp< SkImage > image
Definition examples.cpp:29

◆ onDrawBehind()

void SkNWayCanvas::onDrawBehind ( const SkPaint paint)
overrideprotectedvirtual

Reimplemented from SkCanvasVirtualEnforcer< SkNoDrawCanvas >.

Reimplemented in SkPaintFilterCanvas, and SkOverdrawCanvas.

Definition at line 218 of file SkNWayCanvas.cpp.

218 {
219 Iter iter(fList);
220 while (iter.next()) {
221 SkCanvasPriv::DrawBehind(iter.get(), paint);
222 }
223}
static void DrawBehind(SkCanvas *canvas, const SkPaint &paint)

◆ onDrawDrawable()

void SkNWayCanvas::onDrawDrawable ( SkDrawable drawable,
const SkMatrix matrix 
)
overrideprotectedvirtual

Implements SkCanvasVirtualEnforcer< SkNoDrawCanvas >.

Reimplemented in SkOverdrawCanvas, and SkPaintFilterCanvas.

Definition at line 350 of file SkNWayCanvas.cpp.

350 {
351 Iter iter(fList);
352 while (iter.next()) {
353 iter->drawDrawable(drawable, matrix);
354 }
355}

◆ onDrawDRRect()

void SkNWayCanvas::onDrawDRRect ( const SkRRect outer,
const SkRRect inner,
const SkPaint paint 
)
overrideprotectedvirtual

Implements SkCanvasVirtualEnforcer< SkNoDrawCanvas >.

Reimplemented in SkOverdrawCanvas, and SkPaintFilterCanvas.

Definition at line 269 of file SkNWayCanvas.cpp.

269 {
270 Iter iter(fList);
271 while (iter.next()) {
272 iter->drawDRRect(outer, inner, paint);
273 }
274}

◆ onDrawEdgeAAImageSet2()

void SkNWayCanvas::onDrawEdgeAAImageSet2 ( const ImageSetEntry  set[],
int  count,
const SkPoint  dstClips[],
const SkMatrix  preViewMatrices[],
const SkSamplingOptions sampling,
const SkPaint paint,
SrcRectConstraint  constraint 
)
overrideprotectedvirtual

Reimplemented from SkNoDrawCanvas.

Reimplemented in SkOverdrawCanvas, and SkPaintFilterCanvas.

Definition at line 396 of file SkNWayCanvas.cpp.

399 {
400 Iter iter(fList);
401 while (iter.next()) {
402 iter->experimental_DrawEdgeAAImageSet(
403 set, count, dstClips, preViewMatrices, sampling, paint, constraint);
404 }
405}

◆ onDrawEdgeAAQuad()

void SkNWayCanvas::onDrawEdgeAAQuad ( const SkRect rect,
const SkPoint  clip[4],
QuadAAFlags  aa,
const SkColor4f color,
SkBlendMode  mode 
)
overrideprotectedvirtual

Implements SkCanvasVirtualEnforcer< SkNoDrawCanvas >.

Reimplemented in SkPaintFilterCanvas, and SkOverdrawCanvas.

Definition at line 388 of file SkNWayCanvas.cpp.

389 {
390 Iter iter(fList);
391 while (iter.next()) {
392 iter->experimental_DrawEdgeAAQuad(rect, clip, aa, color, mode);
393 }
394}
SkColor4f color
static SkPath clip(const SkPath &path, const SkHalfPlane &plane)
Definition SkPath.cpp:3824

◆ onDrawGlyphRunList()

void SkNWayCanvas::onDrawGlyphRunList ( const sktext::GlyphRunList list,
const SkPaint paint 
)
overrideprotectedvirtual

Reimplemented from SkCanvas.

Reimplemented in SkPaintFilterCanvas, and SkOverdrawCanvas.

Definition at line 319 of file SkNWayCanvas.cpp.

320 {
321 Iter iter(fList);
322 while (iter.next()) {
323 iter->onDrawGlyphRunList(list, paint);
324 }
325}

◆ onDrawImage2()

void SkNWayCanvas::onDrawImage2 ( const SkImage image,
SkScalar  left,
SkScalar  top,
const SkSamplingOptions sampling,
const SkPaint paint 
)
overrideprotectedvirtual

Reimplemented from SkNoDrawCanvas.

Reimplemented in SkOverdrawCanvas, and SkPaintFilterCanvas.

Definition at line 283 of file SkNWayCanvas.cpp.

284 {
285 Iter iter(fList);
286 while (iter.next()) {
287 iter->drawImage(image, left, top, sampling, paint);
288 }
289}
static bool left(const SkPoint &p0, const SkPoint &p1)

◆ onDrawImageLattice2()

void SkNWayCanvas::onDrawImageLattice2 ( const SkImage image,
const Lattice lattice,
const SkRect dst,
SkFilterMode  filter,
const SkPaint paint 
)
overrideprotectedvirtual

Reimplemented from SkNoDrawCanvas.

Reimplemented in SkOverdrawCanvas, and SkPaintFilterCanvas.

Definition at line 300 of file SkNWayCanvas.cpp.

302 {
303 Iter iter(fList);
304 while (iter.next()) {
305 iter->drawImageLattice(image, lattice, dst, filter, paint);
306 }
307}

◆ onDrawImageRect2()

void SkNWayCanvas::onDrawImageRect2 ( const SkImage image,
const SkRect src,
const SkRect dst,
const SkSamplingOptions sampling,
const SkPaint paint,
SrcRectConstraint  constraint 
)
overrideprotectedvirtual

Reimplemented from SkNoDrawCanvas.

Reimplemented in SkOverdrawCanvas, and SkPaintFilterCanvas.

Definition at line 291 of file SkNWayCanvas.cpp.

293 {
294 Iter iter(fList);
295 while (iter.next()) {
296 iter->drawImageRect(image, src, dst, sampling, paint, constraint);
297 }
298}

◆ onDrawOval()

void SkNWayCanvas::onDrawOval ( const SkRect rect,
const SkPaint paint 
)
overrideprotectedvirtual

Implements SkCanvasVirtualEnforcer< SkNoDrawCanvas >.

Reimplemented in SkOverdrawCanvas, and SkPaintFilterCanvas.

Definition at line 247 of file SkNWayCanvas.cpp.

247 {
248 Iter iter(fList);
249 while (iter.next()) {
250 iter->drawOval(rect, paint);
251 }
252}

◆ onDrawPaint()

void SkNWayCanvas::onDrawPaint ( const SkPaint paint)
overrideprotectedvirtual

Implements SkCanvasVirtualEnforcer< SkNoDrawCanvas >.

Reimplemented in SkOverdrawCanvas, and SkPaintFilterCanvas.

Definition at line 211 of file SkNWayCanvas.cpp.

211 {
212 Iter iter(fList);
213 while (iter.next()) {
214 iter->drawPaint(paint);
215 }
216}

◆ onDrawPatch()

void SkNWayCanvas::onDrawPatch ( const SkPoint  cubics[12],
const SkColor  colors[4],
const SkPoint  texCoords[4],
SkBlendMode  bmode,
const SkPaint paint 
)
overrideprotectedvirtual

Implements SkCanvasVirtualEnforcer< SkNoDrawCanvas >.

Reimplemented in SkPaintFilterCanvas, and SkOverdrawCanvas.

Definition at line 365 of file SkNWayCanvas.cpp.

367 {
368 Iter iter(fList);
369 while (iter.next()) {
370 iter->drawPatch(cubics, colors, texCoords, bmode, paint);
371 }
372}

◆ onDrawPath()

void SkNWayCanvas::onDrawPath ( const SkPath path,
const SkPaint paint 
)
overrideprotectedvirtual

Implements SkCanvasVirtualEnforcer< SkNoDrawCanvas >.

Reimplemented in SkOverdrawCanvas, and SkPaintFilterCanvas.

Definition at line 276 of file SkNWayCanvas.cpp.

276 {
277 Iter iter(fList);
278 while (iter.next()) {
279 iter->drawPath(path, paint);
280 }
281}

◆ onDrawPicture()

void SkNWayCanvas::onDrawPicture ( const SkPicture picture,
const SkMatrix matrix,
const SkPaint paint 
)
overrideprotectedvirtual

Implements SkCanvasVirtualEnforcer< SkNoDrawCanvas >.

Reimplemented in SkOverdrawCanvas, and SkPaintFilterCanvas.

Definition at line 342 of file SkNWayCanvas.cpp.

343 {
344 Iter iter(fList);
345 while (iter.next()) {
346 iter->drawPicture(picture, matrix, paint);
347 }
348}

◆ onDrawPoints()

void SkNWayCanvas::onDrawPoints ( PointMode  mode,
size_t  count,
const SkPoint  pts[],
const SkPaint paint 
)
overrideprotectedvirtual

Implements SkCanvasVirtualEnforcer< SkNoDrawCanvas >.

Reimplemented in SkPaintFilterCanvas, and SkOverdrawCanvas.

Definition at line 225 of file SkNWayCanvas.cpp.

226 {
227 Iter iter(fList);
228 while (iter.next()) {
229 iter->drawPoints(mode, count, pts, paint);
230 }
231}

◆ onDrawRect()

void SkNWayCanvas::onDrawRect ( const SkRect rect,
const SkPaint paint 
)
overrideprotectedvirtual

Implements SkCanvasVirtualEnforcer< SkNoDrawCanvas >.

Reimplemented in SkOverdrawCanvas, and SkPaintFilterCanvas.

Definition at line 233 of file SkNWayCanvas.cpp.

233 {
234 Iter iter(fList);
235 while (iter.next()) {
236 iter->drawRect(rect, paint);
237 }
238}

◆ onDrawRegion()

void SkNWayCanvas::onDrawRegion ( const SkRegion region,
const SkPaint paint 
)
overrideprotectedvirtual

Implements SkCanvasVirtualEnforcer< SkNoDrawCanvas >.

Reimplemented in SkOverdrawCanvas, and SkPaintFilterCanvas.

Definition at line 240 of file SkNWayCanvas.cpp.

240 {
241 Iter iter(fList);
242 while (iter.next()) {
243 iter->drawRegion(region, paint);
244 }
245}

◆ onDrawRRect()

void SkNWayCanvas::onDrawRRect ( const SkRRect rrect,
const SkPaint paint 
)
overrideprotectedvirtual

Implements SkCanvasVirtualEnforcer< SkNoDrawCanvas >.

Reimplemented in SkOverdrawCanvas, and SkPaintFilterCanvas.

Definition at line 262 of file SkNWayCanvas.cpp.

262 {
263 Iter iter(fList);
264 while (iter.next()) {
265 iter->drawRRect(rrect, paint);
266 }
267}

◆ onDrawShadowRec()

void SkNWayCanvas::onDrawShadowRec ( const SkPath path,
const SkDrawShadowRec rec 
)
overrideprotectedvirtual

Implements SkCanvasVirtualEnforcer< SkNoDrawCanvas >.

Reimplemented in SkOverdrawCanvas, and SkPaintFilterCanvas.

Definition at line 374 of file SkNWayCanvas.cpp.

374 {
375 Iter iter(fList);
376 while (iter.next()) {
377 iter->private_draw_shadow_rec(path, rec);
378 }
379}

◆ onDrawSlug()

void SkNWayCanvas::onDrawSlug ( const sktext::gpu::Slug slug,
const SkPaint paint 
)
overrideprotectedvirtual

Reimplemented from SkCanvas.

Definition at line 335 of file SkNWayCanvas.cpp.

335 {
336 Iter iter(fList);
337 while (iter.next()) {
338 iter->drawSlug(slug, paint);
339 }
340}

◆ onDrawTextBlob()

void SkNWayCanvas::onDrawTextBlob ( const SkTextBlob blob,
SkScalar  x,
SkScalar  y,
const SkPaint paint 
)
overrideprotectedvirtual

Implements SkCanvasVirtualEnforcer< SkNoDrawCanvas >.

Reimplemented in SkOverdrawCanvas, and SkPaintFilterCanvas.

Definition at line 327 of file SkNWayCanvas.cpp.

328 {
329 Iter iter(fList);
330 while (iter.next()) {
331 iter->drawTextBlob(blob, x, y, paint);
332 }
333}

◆ onDrawVerticesObject()

void SkNWayCanvas::onDrawVerticesObject ( const SkVertices vertices,
SkBlendMode  bmode,
const SkPaint paint 
)
overrideprotectedvirtual

Reimplemented from SkNoDrawCanvas.

Reimplemented in SkOverdrawCanvas, and SkPaintFilterCanvas.

Definition at line 357 of file SkNWayCanvas.cpp.

358 {
359 Iter iter(fList);
360 while (iter.next()) {
361 iter->drawVertices(vertices, bmode, paint);
362 }
363}

◆ onResetClip()

void SkNWayCanvas::onResetClip ( )
overrideprotectedvirtual

Reimplemented from SkCanvas.

Definition at line 203 of file SkNWayCanvas.cpp.

203 {
204 Iter iter(fList);
205 while (iter.next()) {
206 SkCanvasPriv::ResetClip(iter.get());
207 }
209}
static void ResetClip(SkCanvas *canvas)
virtual void onResetClip()

◆ removeAll()

void SkNWayCanvas::removeAll ( )
virtual

Reimplemented in SkCanvasStack.

Definition at line 70 of file SkNWayCanvas.cpp.

70 {
71 fList.reset();
72}
void reset()
Definition SkTDArray.h:171

◆ removeCanvas()

void SkNWayCanvas::removeCanvas ( SkCanvas canvas)
virtual

Reimplemented in SkCanvasStack.

Definition at line 63 of file SkNWayCanvas.cpp.

63 {
64 auto found = std::find(fList.begin(), fList.end(), canvas);
65 if (found != fList.end()) {
66 fList.removeShuffle(std::distance(fList.begin(), found));
67 }
68}
T * end()
Definition SkTDArray.h:152
T * begin()
Definition SkTDArray.h:150
void removeShuffle(int index)
Definition SkTDArray.h:214

◆ willRestore()

void SkNWayCanvas::willRestore ( )
overrideprotectedvirtual

Reimplemented from SkCanvas.

Definition at line 127 of file SkNWayCanvas.cpp.

127 {
128 Iter iter(fList);
129 while (iter.next()) {
130 iter->restore();
131 }
133}
virtual void willRestore()
Definition SkCanvas.h:2276

◆ willSave()

void SkNWayCanvas::willSave ( )
overrideprotectedvirtual

Reimplemented from SkCanvas.

Definition at line 98 of file SkNWayCanvas.cpp.

98 {
99 Iter iter(fList);
100 while (iter.next()) {
101 iter->save();
102 }
103
104 this->INHERITED::willSave();
105}
virtual void willSave()
Definition SkCanvas.h:2268

Member Data Documentation

◆ fList

SkTDArray<SkCanvas*> SkNWayCanvas::fList
protected

Definition at line 60 of file SkNWayCanvas.h.


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