| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2006 The Android Open Source Project | 2 * Copyright 2006 The Android Open Source Project |
| 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 SkCanvas_DEFINED | 8 #ifndef SkCanvas_DEFINED |
| 9 #define SkCanvas_DEFINED | 9 #define SkCanvas_DEFINED |
| 10 | 10 |
| (...skipping 1067 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1078 | 1078 |
| 1079 // Called by child classes that override clipPath and clipRRect to only | 1079 // Called by child classes that override clipPath and clipRRect to only |
| 1080 // track fast conservative clip bounds, rather than exact clips. | 1080 // track fast conservative clip bounds, rather than exact clips. |
| 1081 bool updateClipConservativelyUsingBounds(const SkRect&, SkRegion::Op, | 1081 bool updateClipConservativelyUsingBounds(const SkRect&, SkRegion::Op, |
| 1082 bool inverseFilled); | 1082 bool inverseFilled); |
| 1083 | 1083 |
| 1084 // notify our surface (if we have one) that we are about to draw, so it | 1084 // notify our surface (if we have one) that we are about to draw, so it |
| 1085 // can perform copy-on-write or invalidate any cached images | 1085 // can perform copy-on-write or invalidate any cached images |
| 1086 void predrawNotify(); | 1086 void predrawNotify(); |
| 1087 | 1087 |
| 1088 /** | |
| 1089 DEPRECATED -- need to remove when subclass stop relying on it. | |
| 1090 Marked as 'protected' to avoid new clients using this before we can | |
| 1091 completely remove it. | |
| 1092 | |
| 1093 Specify a device for this canvas to draw into. If it is not null, its | |
| 1094 reference count is incremented. If the canvas was already holding a | |
| 1095 device, its reference count is decremented. The new device is returned. | |
| 1096 */ | |
| 1097 virtual SkBaseDevice* setDevice(SkBaseDevice* device); | |
| 1098 | |
| 1099 private: | 1088 private: |
| 1100 class MCRec; | 1089 class MCRec; |
| 1101 | 1090 |
| 1102 SkClipStack fClipStack; | 1091 SkClipStack fClipStack; |
| 1103 SkDeque fMCStack; | 1092 SkDeque fMCStack; |
| 1104 // points to top of stack | 1093 // points to top of stack |
| 1105 MCRec* fMCRec; | 1094 MCRec* fMCRec; |
| 1106 // the first N recs that can fit here mean we won't call malloc | 1095 // the first N recs that can fit here mean we won't call malloc |
| 1107 uint32_t fMCRecStorage[32]; | 1096 uint32_t fMCRecStorage[32]; |
| 1108 | 1097 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 1122 bool fDeviceCMDirty; // cleared by updateDeviceCMCache() | 1111 bool fDeviceCMDirty; // cleared by updateDeviceCMCache() |
| 1123 void updateDeviceCMCache(); | 1112 void updateDeviceCMCache(); |
| 1124 | 1113 |
| 1125 friend class SkDrawIter; // needs setupDrawForLayerDevice() | 1114 friend class SkDrawIter; // needs setupDrawForLayerDevice() |
| 1126 friend class AutoDrawLooper; | 1115 friend class AutoDrawLooper; |
| 1127 | 1116 |
| 1128 SkBaseDevice* createLayerDevice(const SkImageInfo&); | 1117 SkBaseDevice* createLayerDevice(const SkImageInfo&); |
| 1129 | 1118 |
| 1130 SkBaseDevice* init(SkBaseDevice*); | 1119 SkBaseDevice* init(SkBaseDevice*); |
| 1131 | 1120 |
| 1121 /** |
| 1122 * DEPRECATED |
| 1123 * |
| 1124 * Specify a device for this canvas to draw into. If it is not null, its |
| 1125 * reference count is incremented. If the canvas was already holding a |
| 1126 * device, its reference count is decremented. The new device is returned. |
| 1127 */ |
| 1128 SkBaseDevice* setRootDevice(SkBaseDevice* device); |
| 1129 |
| 1130 |
| 1132 // internal methods are not virtual, so they can safely be called by other | 1131 // internal methods are not virtual, so they can safely be called by other |
| 1133 // canvas apis, without confusing subclasses (like SkPictureRecording) | 1132 // canvas apis, without confusing subclasses (like SkPictureRecording) |
| 1134 void internalDrawBitmap(const SkBitmap&, const SkMatrix& m, const SkPaint* p
aint); | 1133 void internalDrawBitmap(const SkBitmap&, const SkMatrix& m, const SkPaint* p
aint); |
| 1135 void internalDrawBitmapRect(const SkBitmap& bitmap, const SkRect* src, | 1134 void internalDrawBitmapRect(const SkBitmap& bitmap, const SkRect* src, |
| 1136 const SkRect& dst, const SkPaint* paint, | 1135 const SkRect& dst, const SkPaint* paint, |
| 1137 DrawBitmapRectFlags flags); | 1136 DrawBitmapRectFlags flags); |
| 1138 void internalDrawBitmapNine(const SkBitmap& bitmap, const SkIRect& center, | 1137 void internalDrawBitmapNine(const SkBitmap& bitmap, const SkIRect& center, |
| 1139 const SkRect& dst, const SkPaint* paint); | 1138 const SkRect& dst, const SkPaint* paint); |
| 1140 void internalDrawPaint(const SkPaint& paint); | 1139 void internalDrawPaint(const SkPaint& paint); |
| 1141 int internalSaveLayer(const SkRect* bounds, const SkPaint* paint, | 1140 int internalSaveLayer(const SkRect* bounds, const SkPaint* paint, |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1285 bool asROBitmap(SkBitmap*) const; | 1284 bool asROBitmap(SkBitmap*) const; |
| 1286 | 1285 |
| 1287 private: | 1286 private: |
| 1288 SkBitmap fBitmap; // used if peekPixels() fails | 1287 SkBitmap fBitmap; // used if peekPixels() fails |
| 1289 const void* fAddr; // NULL on failure | 1288 const void* fAddr; // NULL on failure |
| 1290 SkImageInfo fInfo; | 1289 SkImageInfo fInfo; |
| 1291 size_t fRowBytes; | 1290 size_t fRowBytes; |
| 1292 }; | 1291 }; |
| 1293 | 1292 |
| 1294 #endif | 1293 #endif |
| OLD | NEW |