Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(416)

Side by Side Diff: include/core/SkCanvas.h

Issue 1917693002: Remove SkCanvas::LayerIter guard (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | public.bzl » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 1202 matching lines...) Expand 10 before | Expand all | Expand 10 after
1213 typedef SkCanvasClipVisitor ClipVisitor; 1213 typedef SkCanvasClipVisitor ClipVisitor;
1214 /** 1214 /**
1215 * Replays the clip operations, back to front, that have been applied to 1215 * Replays the clip operations, back to front, that have been applied to
1216 * the canvas, calling the appropriate method on the visitor for each 1216 * the canvas, calling the appropriate method on the visitor for each
1217 * clip. All clips have already been transformed into device space. 1217 * clip. All clips have already been transformed into device space.
1218 */ 1218 */
1219 void replayClips(ClipVisitor*) const; 1219 void replayClips(ClipVisitor*) const;
1220 1220
1221 /////////////////////////////////////////////////////////////////////////// 1221 ///////////////////////////////////////////////////////////////////////////
1222 1222
1223 #ifndef SK_SUPPORT_LEGACY_LAYERITER 1223 // don't call
1224 GrRenderTarget* internal_private_accessTopLayerRenderTarget();
1225
1226 // don't call
1227 static void Internal_Private_SetIgnoreSaveLayerBounds(bool);
1228 static bool Internal_Private_GetIgnoreSaveLayerBounds();
1229 static void Internal_Private_SetTreatSpriteAsBitmap(bool);
1230 static bool Internal_Private_GetTreatSpriteAsBitmap();
1231
1232 // TEMP helpers until we switch virtual over to const& for src-rect
1233 void legacy_drawImageRect(const SkImage* image, const SkRect* src, const SkR ect& dst,
1234 const SkPaint* paint,
1235 SrcRectConstraint constraint = kStrict_SrcRectCons traint);
1236 void legacy_drawBitmapRect(const SkBitmap& bitmap, const SkRect* src, const SkRect& dst,
1237 const SkPaint* paint,
1238 SrcRectConstraint constraint = kStrict_SrcRectCon straint);
1239
1224 protected: 1240 protected:
1225 #endif
1226 /** After calling saveLayer(), there can be any number of devices that make 1241 /** After calling saveLayer(), there can be any number of devices that make
1227 up the top-most drawing area. LayerIter can be used to iterate through 1242 up the top-most drawing area. LayerIter can be used to iterate through
1228 those devices. Note that the iterator is only valid until the next API 1243 those devices. Note that the iterator is only valid until the next API
1229 call made on the canvas. Ownership of all pointers in the iterator stays 1244 call made on the canvas. Ownership of all pointers in the iterator stays
1230 with the canvas, so none of them should be modified or deleted. 1245 with the canvas, so none of them should be modified or deleted.
1231 */ 1246 */
1232 class SK_API LayerIter /*: SkNoncopyable*/ { 1247 class LayerIter /*: SkNoncopyable*/ {
1233 public: 1248 public:
1234 /** Initialize iterator with canvas, and set values for 1st device */ 1249 /** Initialize iterator with canvas, and set values for 1st device */
1235 LayerIter(SkCanvas*, bool skipEmptyClips); 1250 LayerIter(SkCanvas*, bool skipEmptyClips);
1236 ~LayerIter(); 1251 ~LayerIter();
1237 1252
1238 /** Return true if the iterator is done */ 1253 /** Return true if the iterator is done */
1239 bool done() const { return fDone; } 1254 bool done() const { return fDone; }
1240 /** Cycle to the next device */ 1255 /** Cycle to the next device */
1241 void next(); 1256 void next();
1242 1257
(...skipping 11 matching lines...) Expand all
1254 // having to expose that class def to the public. There is an assert 1269 // having to expose that class def to the public. There is an assert
1255 // in our constructor to ensure that fStorage is large enough 1270 // in our constructor to ensure that fStorage is large enough
1256 // (though needs to be a compile-time-assert!). We use intptr_t to work 1271 // (though needs to be a compile-time-assert!). We use intptr_t to work
1257 // safely with 32 and 64 bit machines (to ensure the storage is enough) 1272 // safely with 32 and 64 bit machines (to ensure the storage is enough)
1258 intptr_t fStorage[32]; 1273 intptr_t fStorage[32];
1259 class SkDrawIter* fImpl; // this points at fStorage 1274 class SkDrawIter* fImpl; // this points at fStorage
1260 SkPaint fDefaultPaint; 1275 SkPaint fDefaultPaint;
1261 bool fDone; 1276 bool fDone;
1262 }; 1277 };
1263 1278
1264 public:
1265 // don't call
1266 GrRenderTarget* internal_private_accessTopLayerRenderTarget();
1267
1268 // don't call
1269 static void Internal_Private_SetIgnoreSaveLayerBounds(bool);
1270 static bool Internal_Private_GetIgnoreSaveLayerBounds();
1271 static void Internal_Private_SetTreatSpriteAsBitmap(bool);
1272 static bool Internal_Private_GetTreatSpriteAsBitmap();
1273
1274 // TEMP helpers until we switch virtual over to const& for src-rect
1275 void legacy_drawImageRect(const SkImage* image, const SkRect* src, const SkR ect& dst,
1276 const SkPaint* paint,
1277 SrcRectConstraint constraint = kStrict_SrcRectCons traint);
1278 void legacy_drawBitmapRect(const SkBitmap& bitmap, const SkRect* src, const SkRect& dst,
1279 const SkPaint* paint,
1280 SrcRectConstraint constraint = kStrict_SrcRectCon straint);
1281
1282 protected:
1283 // default impl defers to getDevice()->newSurface(info) 1279 // default impl defers to getDevice()->newSurface(info)
1284 virtual sk_sp<SkSurface> onNewSurface(const SkImageInfo&, const SkSurfacePro ps&); 1280 virtual sk_sp<SkSurface> onNewSurface(const SkImageInfo&, const SkSurfacePro ps&);
1285 1281
1286 // default impl defers to its device 1282 // default impl defers to its device
1287 virtual bool onPeekPixels(SkPixmap*); 1283 virtual bool onPeekPixels(SkPixmap*);
1288 virtual bool onAccessTopLayerPixels(SkPixmap*); 1284 virtual bool onAccessTopLayerPixels(SkPixmap*);
1289 1285
1290 // Subclass save/restore notifiers. 1286 // Subclass save/restore notifiers.
1291 // Overriders should call the corresponding INHERITED method up the inherita nce chain. 1287 // Overriders should call the corresponding INHERITED method up the inherita nce chain.
1292 // getSaveLayerStrategy()'s return value may suppress full layer allocation. 1288 // getSaveLayerStrategy()'s return value may suppress full layer allocation.
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
1582 1578
1583 class SkCanvasClipVisitor { 1579 class SkCanvasClipVisitor {
1584 public: 1580 public:
1585 virtual ~SkCanvasClipVisitor(); 1581 virtual ~SkCanvasClipVisitor();
1586 virtual void clipRect(const SkRect&, SkRegion::Op, bool antialias) = 0; 1582 virtual void clipRect(const SkRect&, SkRegion::Op, bool antialias) = 0;
1587 virtual void clipRRect(const SkRRect&, SkRegion::Op, bool antialias) = 0; 1583 virtual void clipRRect(const SkRRect&, SkRegion::Op, bool antialias) = 0;
1588 virtual void clipPath(const SkPath&, SkRegion::Op, bool antialias) = 0; 1584 virtual void clipPath(const SkPath&, SkRegion::Op, bool antialias) = 0;
1589 }; 1585 };
1590 1586
1591 #endif 1587 #endif
OLDNEW
« no previous file with comments | « no previous file | public.bzl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698