OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2013 Google Inc. | 2 * Copyright 2013 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #ifndef SkNulCanvas_DEFINED | 8 #ifndef SkNulCanvas_DEFINED |
9 #define SkNulCanvas_DEFINED | 9 #define SkNulCanvas_DEFINED |
10 | 10 |
11 #include "SkCanvas.h" | 11 #include "SkCanvas.h" |
12 | 12 |
13 /** \class SkNulCanvas | 13 /** \class SkNulCanvas |
14 * | 14 * |
15 * Nul Canvas is a canvas that does nothing. It is used to measure the perf of
just parsing | 15 * Nul Canvas is a canvas that does nothing. It is used to measure the perf of
just parsing |
16 * a pdf, without actually rendering anything. | 16 * a pdf, without actually rendering anything. |
17 * | 17 * |
18 */ | 18 */ |
19 class SK_API SkNulCanvas : public SkCanvas { | 19 class SK_API SkNulCanvas : public SkCanvas { |
20 public: | 20 public: |
21 SK_DECLARE_INST_COUNT(SkNulCanvas); | 21 SK_DECLARE_INST_COUNT(SkNulCanvas); |
22 | 22 |
23 SkNulCanvas() {} | 23 SkNulCanvas() {} |
24 explicit SkNulCanvas(SkBaseDevice* device) : SkCanvas(device) {} | 24 explicit SkNulCanvas(SkBaseDevice* device) : SkCanvas(device) {} |
25 | 25 |
26 explicit SkNulCanvas(const SkBitmap& bitmap) : SkCanvas(bitmap) {} | 26 explicit SkNulCanvas(const SkBitmap& bitmap) : SkCanvas(bitmap) {} |
27 virtual ~SkNulCanvas() {} | 27 virtual ~SkNulCanvas() {} |
28 | 28 |
29 virtual int save(SaveFlags flags = kMatrixClip_SaveFlag) {return 0;} | 29 virtual int save(SaveFlags flags = kMatrixClip_SaveFlag) SK_OVERRIDE {return
0;} |
30 virtual int saveLayer(const SkRect* bounds, const SkPaint* paint, | 30 virtual int saveLayer(const SkRect* bounds, const SkPaint* paint, |
31 SaveFlags flags = kARGB_ClipLayer_SaveFlag) {return 0;
} | 31 SaveFlags flags = kARGB_ClipLayer_SaveFlag) SK_OVERRID
E {return 0;} |
32 int saveLayerAlpha(const SkRect* bounds, U8CPU alpha, | 32 int saveLayerAlpha(const SkRect* bounds, U8CPU alpha, |
33 SaveFlags flags = kARGB_ClipLayer_SaveFlag) {return 0;} | 33 SaveFlags flags = kARGB_ClipLayer_SaveFlag) {return 0;} |
34 virtual void restore() {} | 34 virtual void restore() SK_OVERRIDE {} |
35 int getSaveCount() const {return 0;} | 35 int getSaveCount() const {return 0;} |
36 virtual bool isDrawingToLayer() const {return false;} | 36 virtual bool isDrawingToLayer() const SK_OVERRIDE {return false;} |
37 virtual bool translate(SkScalar dx, SkScalar dy) {return true;} | 37 virtual bool translate(SkScalar dx, SkScalar dy) SK_OVERRIDE {return true;} |
38 virtual bool scale(SkScalar sx, SkScalar sy) {return true;} | 38 virtual bool scale(SkScalar sx, SkScalar sy) SK_OVERRIDE {return true;} |
39 virtual bool rotate(SkScalar degrees) {return true;} | 39 virtual bool rotate(SkScalar degrees) SK_OVERRIDE {return true;} |
40 virtual bool skew(SkScalar sx, SkScalar sy) {return true;} | 40 virtual bool skew(SkScalar sx, SkScalar sy) SK_OVERRIDE {return true;} |
41 virtual bool concat(const SkMatrix& matrix) {return true;} | 41 virtual bool concat(const SkMatrix& matrix) SK_OVERRIDE {return true;} |
42 virtual void setMatrix(const SkMatrix& matrix) {} | 42 virtual void setMatrix(const SkMatrix& matrix) SK_OVERRIDE {} |
43 virtual bool clipRect(const SkRect& rect, | 43 virtual void clear(SkColor) SK_OVERRIDE {} |
44 SkRegion::Op op = SkRegion::kIntersect_Op, | 44 virtual void drawPaint(const SkPaint& paint) SK_OVERRIDE {} |
45 bool doAntiAlias = false) {return true;} | |
46 virtual bool clipRRect(const SkRRect& rrect, | |
47 SkRegion::Op op = SkRegion::kIntersect_Op, | |
48 bool doAntiAlias = false) {return true;} | |
49 virtual bool clipPath(const SkPath& path, | |
50 SkRegion::Op op = SkRegion::kIntersect_Op, | |
51 bool doAntiAlias = false) {return true;} | |
52 virtual bool clipRegion(const SkRegion& deviceRgn, | |
53 SkRegion::Op op = SkRegion::kIntersect_Op) {return t
rue;} | |
54 virtual void clear(SkColor) {} | |
55 virtual void drawPaint(const SkPaint& paint) {} | |
56 virtual void drawPoints(PointMode mode, size_t count, const SkPoint pts[], | 45 virtual void drawPoints(PointMode mode, size_t count, const SkPoint pts[], |
57 const SkPaint& paint) {} | 46 const SkPaint& paint) SK_OVERRIDE {} |
58 virtual void drawRect(const SkRect& rect, const SkPaint& paint) {} | 47 virtual void drawRect(const SkRect& rect, const SkPaint& paint) SK_OVERRIDE
{} |
59 virtual void drawOval(const SkRect& oval, const SkPaint&) {} | 48 virtual void drawOval(const SkRect& oval, const SkPaint&) SK_OVERRIDE {} |
60 virtual void drawRRect(const SkRRect& rrect, const SkPaint& paint) {} | 49 virtual void drawRRect(const SkRRect& rrect, const SkPaint& paint) SK_OVERRI
DE {} |
61 virtual void drawPath(const SkPath& path, const SkPaint& paint) {} | 50 virtual void drawPath(const SkPath& path, const SkPaint& paint) SK_OVERRIDE
{} |
62 virtual void drawBitmap(const SkBitmap& bitmap, SkScalar left, SkScalar top, | 51 virtual void drawBitmap(const SkBitmap& bitmap, SkScalar left, SkScalar top, |
63 const SkPaint* paint = NULL) {} | 52 const SkPaint* paint = NULL) SK_OVERRIDE {} |
64 virtual void drawBitmapRectToRect(const SkBitmap& bitmap, const SkRect* src, | 53 virtual void drawBitmapRectToRect(const SkBitmap& bitmap, const SkRect* src, |
65 const SkRect& dst, | 54 const SkRect& dst, |
66 const SkPaint* paint, | 55 const SkPaint* paint, |
67 DrawBitmapRectFlags flags) {} | 56 DrawBitmapRectFlags flags) SK_OVERRIDE {} |
68 virtual void drawBitmapMatrix(const SkBitmap& bitmap, const SkMatrix& m, | 57 virtual void drawBitmapMatrix(const SkBitmap& bitmap, const SkMatrix& m, |
69 const SkPaint* paint = NULL) {} | 58 const SkPaint* paint = NULL) SK_OVERRIDE {} |
70 virtual void drawBitmapNine(const SkBitmap& bitmap, const SkIRect& center, | 59 virtual void drawBitmapNine(const SkBitmap& bitmap, const SkIRect& center, |
71 const SkRect& dst, const SkPaint* paint = NULL)
{} | 60 const SkRect& dst, const SkPaint* paint = NULL)
SK_OVERRIDE {} |
72 virtual void drawSprite(const SkBitmap& bitmap, int left, int top, | 61 virtual void drawSprite(const SkBitmap& bitmap, int left, int top, |
73 const SkPaint* paint = NULL) {} | 62 const SkPaint* paint = NULL) SK_OVERRIDE {} |
74 virtual void drawText(const void* text, size_t byteLength, SkScalar x, | 63 virtual void drawText(const void* text, size_t byteLength, SkScalar x, |
75 SkScalar y, const SkPaint& paint) {} | 64 SkScalar y, const SkPaint& paint) SK_OVERRIDE {} |
76 virtual void drawPosText(const void* text, size_t byteLength, | 65 virtual void drawPosText(const void* text, size_t byteLength, |
77 const SkPoint pos[], const SkPaint& paint) {} | 66 const SkPoint pos[], const SkPaint& paint) SK_OVERR
IDE {} |
78 virtual void drawPosTextH(const void* text, size_t byteLength, | 67 virtual void drawPosTextH(const void* text, size_t byteLength, |
79 const SkScalar xpos[], SkScalar constY, | 68 const SkScalar xpos[], SkScalar constY, |
80 const SkPaint& paint) {} | 69 const SkPaint& paint) SK_OVERRIDE {} |
81 virtual void drawTextOnPath(const void* text, size_t byteLength, | 70 virtual void drawTextOnPath(const void* text, size_t byteLength, |
82 const SkPath& path, const SkMatrix* matrix, | 71 const SkPath& path, const SkMatrix* matrix, |
83 const SkPaint& paint) {} | 72 const SkPaint& paint) SK_OVERRIDE {} |
84 virtual void drawPicture(SkPicture& picture) {} | 73 virtual void drawPicture(SkPicture& picture) SK_OVERRIDE {} |
85 virtual void drawVertices(VertexMode vmode, int vertexCount, | 74 virtual void drawVertices(VertexMode vmode, int vertexCount, |
86 const SkPoint vertices[], const SkPoint texs[], | 75 const SkPoint vertices[], const SkPoint texs[], |
87 const SkColor colors[], SkXfermode* xmode, | 76 const SkColor colors[], SkXfermode* xmode, |
88 const uint16_t indices[], int indexCount, | 77 const uint16_t indices[], int indexCount, |
89 const SkPaint& paint) {} | 78 const SkPaint& paint) SK_OVERRIDE {} |
90 virtual void drawData(const void* data, size_t length) {} | 79 virtual void drawData(const void* data, size_t length) SK_OVERRIDE {} |
91 virtual void beginCommentGroup(const char* description) {} | 80 virtual void beginCommentGroup(const char* description) SK_OVERRIDE {} |
92 virtual void addComment(const char* kywd, const char* value) {} | 81 virtual void addComment(const char* kywd, const char* value) SK_OVERRIDE {} |
93 virtual void endCommentGroup() {} | 82 virtual void endCommentGroup() SK_OVERRIDE {} |
94 virtual SkBounder* setBounder(SkBounder* bounder) {return NULL;} | 83 virtual SkBounder* setBounder(SkBounder* bounder) SK_OVERRIDE {return NULL;} |
95 virtual SkDrawFilter* setDrawFilter(SkDrawFilter* filter) {return NULL;} | 84 virtual SkDrawFilter* setDrawFilter(SkDrawFilter* filter) SK_OVERRIDE {retur
n NULL;} |
| 85 |
| 86 virtual bool isClipEmpty() const SK_OVERRIDE { return false; } |
| 87 virtual ClipType getClipType() const SK_OVERRIDE { return kRect_ClipType; } |
| 88 virtual bool getClipBounds(SkRect* bounds) const SK_OVERRIDE { |
| 89 if (NULL != bounds) { |
| 90 bounds->setXYWH(0, 0, |
| 91 SkIntToScalar(this->imageInfo().fWidth), |
| 92 SkIntToScalar(this->imageInfo().fHeight)); |
| 93 } |
| 94 return true; |
| 95 } |
| 96 virtual bool getClipDeviceBounds(SkIRect* bounds) const SK_OVERRIDE { |
| 97 if (NULL != bounds) { |
| 98 bounds->setLargest(); |
| 99 } |
| 100 return true; |
| 101 } |
96 | 102 |
97 protected: | 103 protected: |
98 virtual SkCanvas* canvasForDrawIter() {return NULL;} | 104 virtual SkCanvas* canvasForDrawIter() {return NULL;} |
99 virtual SkBaseDevice* setDevice(SkBaseDevice* device) {return NULL;} | 105 virtual SkBaseDevice* setDevice(SkBaseDevice* device) {return NULL;} |
100 | 106 |
| 107 virtual void onClipRect(const SkRect&, SkRegion::Op, ClipEdgeStyle) SK_OVERR
IDE {} |
| 108 virtual void onClipRRect(const SkRRect&, SkRegion::Op, ClipEdgeStyle) SK_OVE
RRIDE {} |
| 109 virtual void onClipPath(const SkPath&, SkRegion::Op, ClipEdgeStyle) SK_OVERR
IDE {} |
| 110 virtual void onClipRegion(const SkRegion&, SkRegion::Op) SK_OVERRIDE {} |
| 111 |
101 private: | 112 private: |
102 typedef SkCanvas INHERITED; | 113 typedef SkCanvas INHERITED; |
103 }; | 114 }; |
104 | 115 |
105 #endif // SkNulCanvas_DEFINED | 116 #endif // SkNulCanvas_DEFINED |
OLD | NEW |