Split up monolithic EXPERIMENTAL_drawPicture method
This is prep for the new multi-picture API.
This is split out of (Add new API to allow layer hoisting/atlasing across picture piles - https://codereview.chromium.org/474623002/)
R=bsalomon@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/489103002
diff --git a/include/gpu/SkGpuDevice.h b/include/gpu/SkGpuDevice.h
index b856d66..75e7eb5 100644
--- a/include/gpu/SkGpuDevice.h
+++ b/include/gpu/SkGpuDevice.h
@@ -21,6 +21,8 @@
struct SkDrawProcs;
struct GrSkDrawProcs;
+class GrAccelData;
+struct GrCachedLayer;
class GrTextContext;
/**
@@ -140,6 +142,15 @@
virtual bool onReadPixels(const SkImageInfo&, void*, size_t, int, int) SK_OVERRIDE;
virtual bool onWritePixels(const SkImageInfo&, const void*, size_t, int, int) SK_OVERRIDE;
+ static bool FindLayersToHoist(const GrAccelData *gpuData,
+ const SkPicture::OperationList* ops,
+ const SkIRect& query,
+ bool* pullForward);
+ void drawLayers(const SkPicture* picture,
+ const SkTDArray<GrCachedLayer*>& atlased,
+ const SkTDArray<GrCachedLayer*>& nonAtlased);
+ void unlockLayers(const SkPicture* picture);
+
/** PRIVATE / EXPERIMENTAL -- do not call */
virtual void EXPERIMENTAL_optimize(const SkPicture* picture) SK_OVERRIDE;
/** PRIVATE / EXPERIMENTAL -- do not call */