| Index: include/core/SkPicture.h
|
| ===================================================================
|
| --- include/core/SkPicture.h (revision 13850)
|
| +++ include/core/SkPicture.h (working copy)
|
| @@ -308,11 +308,41 @@
|
| // SkBBoxHierarchy implementation
|
| virtual SkBBoxHierarchy* createBBoxHierarchy() const;
|
| private:
|
| + // An OperationList encapsulates a set of operation offsets into the picture byte
|
| + // stream along with the CTMs needed for those operation.
|
| + class OperationList : public SkNoncopyable {
|
| + public:
|
| + virtual ~OperationList() {}
|
| +
|
| + // If valid returns false then there is no optimization data
|
| + // present. All the draw operations need to be issued.
|
| + virtual bool valid() const { return false; }
|
| +
|
| + // The following three entry points should only be accessed if
|
| + // 'valid' returns true.
|
| + virtual int numOps() const { SkASSERT(false); return 0; };
|
| + // The offset in the picture of the operation to execute.
|
| + virtual uint32_t offset(int index) const { SkASSERT(false); return 0; };
|
| + // The CTM that must be installed for the operation to behave correctly
|
| + virtual const SkMatrix& matrix(int index) const { SkASSERT(false); return SkMatrix::I(); }
|
| +
|
| + static const OperationList& InvalidList();
|
| +
|
| + private:
|
| + typedef SkNoncopyable INHERITED;
|
| + };
|
| +
|
| + /** PRIVATE / EXPERIMENTAL -- do not call
|
| + Return the operations required to render the content inside 'queryRect'.
|
| + */
|
| + const OperationList& EXPERIMENTAL_getActiveOps(const SkIRect& queryRect);
|
| +
|
| void createHeader(SkPictInfo* info) const;
|
| static bool IsValidPictInfo(const SkPictInfo& info);
|
|
|
| friend class SkFlatPicture;
|
| friend class SkPicturePlayback;
|
| + friend class SkGpuDevice;
|
|
|
| typedef SkRefCnt INHERITED;
|
| };
|
|
|