12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- /*
- * Copyright 2011 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
- #ifndef SkNWayCanvas_DEFINED
- #define SkNWayCanvas_DEFINED
- #include "../private/SkTDArray.h"
- #include "SkCanvasVirtualEnforcer.h"
- #include "SkNoDrawCanvas.h"
- class SK_API SkNWayCanvas : public SkCanvasVirtualEnforcer<SkNoDrawCanvas> {
- public:
- SkNWayCanvas(int width, int height);
- ~SkNWayCanvas() override;
- virtual void addCanvas(SkCanvas*);
- virtual void removeCanvas(SkCanvas*);
- virtual void removeAll();
- protected:
- SkTDArray<SkCanvas*> fList;
- void willSave() override;
- SaveLayerStrategy getSaveLayerStrategy(const SaveLayerRec&) override;
- void willRestore() override;
- void didConcat(const SkMatrix&) override;
- void didSetMatrix(const SkMatrix&) override;
- void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&) override;
- virtual void onDrawText(const void* text, size_t byteLength, SkScalar x, SkScalar y,
- const SkPaint&) override;
- virtual void onDrawPosText(const void* text, size_t byteLength, const SkPoint pos[],
- const SkPaint&) override;
- virtual void onDrawPosTextH(const void* text, size_t byteLength, const SkScalar xpos[],
- SkScalar constY, const SkPaint&) override;
- virtual void onDrawTextBlob(const SkTextBlob* blob, SkScalar x, SkScalar y,
- const SkPaint& paint) override;
- void onDrawTextRSXform(const void* text, size_t byteLength, const SkRSXform xform[],
- const SkRect* cull, const SkPaint& paint) override;
- virtual 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 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 onDrawBitmap(const SkBitmap&, SkScalar left, SkScalar top, const SkPaint*) override;
- void onDrawBitmapRect(const SkBitmap&, const SkRect* src, const SkRect& dst, const SkPaint*,
- SrcRectConstraint) override;
- void onDrawImage(const SkImage*, SkScalar left, SkScalar top, const SkPaint*) override;
- void onDrawImageRect(const SkImage*, const SkRect* src, const SkRect& dst,
- const SkPaint*, SrcRectConstraint) override;
- void onDrawBitmapLattice(const SkBitmap&, const Lattice&, const SkRect&,
- const SkPaint*) override;
- void onDrawImageLattice(const SkImage*, const Lattice&, const SkRect&, const SkPaint*) override;
- void onDrawImageNine(const SkImage*, const SkIRect& center, const SkRect& dst,
- const SkPaint*) override;
- void onDrawImageSet(const SkCanvas::ImageSetEntry[], int count, SkFilterQuality,
- SkBlendMode) override;
- void onDrawBitmapNine(const SkBitmap&, const SkIRect& center, const SkRect& dst,
- const SkPaint*) override;
- void onDrawVerticesObject(const SkVertices*, const SkVertices::Bone bones[], int boneCount,
- SkBlendMode, const SkPaint&) override;
- void onDrawAtlas(const SkImage*, const SkRSXform[], const SkRect[], const SkColor[],
- int, SkBlendMode, const SkRect*, 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 onClipRegion(const SkRegion&, SkClipOp) 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 onFlush() override;
- class Iter;
- private:
- typedef SkCanvasVirtualEnforcer<SkNoDrawCanvas> INHERITED;
- };
- #endif
|