| Index: src/core/SkPicture.cpp | 
| diff --git a/src/core/SkPicture.cpp b/src/core/SkPicture.cpp | 
| index d8b69d4c2b289abc9c16d0f7476f694f5b2df430..6c7da8a69b4873867930039ea0d0a2eda1823d1f 100644 | 
| --- a/src/core/SkPicture.cpp | 
| +++ b/src/core/SkPicture.cpp | 
| @@ -12,6 +12,7 @@ | 
| #include "SkPicturePlayback.h" | 
| #include "SkPictureRecord.h" | 
| #include "SkPictureRecorder.h" | 
| +#include "SkPictureStateTree.h" | 
|  | 
| #include "SkBBHFactory.h" | 
| #include "SkBitmapDevice.h" | 
| @@ -46,9 +47,6 @@ template <typename T> int SafeCount(const T* obj) { | 
|  | 
| #define DUMP_BUFFER_SIZE 65536 | 
|  | 
| -//#define ENABLE_TIME_DRAW    // dumps milliseconds for each draw | 
| - | 
| - | 
| #ifdef SK_DEBUG | 
| // enable SK_DEBUG_TRACE to trace DrawType elements when | 
| //     recorded and played back | 
| @@ -293,6 +291,16 @@ SkPicture::AccelData::Domain SkPicture::AccelData::GenerateDomain() { | 
|  | 
| /////////////////////////////////////////////////////////////////////////////// | 
|  | 
| +uint32_t SkPicture::OperationList::offset(int index) const { | 
| +    SkASSERT(index < fOps.count()); | 
| +    return ((SkPictureStateTree::Draw*)fOps[index])->fOffset; | 
| +} | 
| + | 
| +const SkMatrix& SkPicture::OperationList::matrix(int index) const { | 
| +    SkASSERT(index < fOps.count()); | 
| +    return *((SkPictureStateTree::Draw*)fOps[index])->fMatrix; | 
| +} | 
| + | 
| // fRecord TODO | 
| const SkPicture::OperationList* SkPicture::EXPERIMENTAL_getActiveOps(const SkIRect& queryRect) const { | 
| SkASSERT(NULL != fData.get()); | 
|  |