| Index: src/core/SkPictureStateTree.h | 
| diff --git a/src/core/SkPictureStateTree.h b/src/core/SkPictureStateTree.h | 
| deleted file mode 100644 | 
| index 15bb02f354860f4ef871712d2d19789b3c7f65d3..0000000000000000000000000000000000000000 | 
| --- a/src/core/SkPictureStateTree.h | 
| +++ /dev/null | 
| @@ -1,162 +0,0 @@ | 
| - | 
| -/* | 
| - * Copyright 2012 Google Inc. | 
| - * | 
| - * Use of this source code is governed by a BSD-style license that can be | 
| - * found in the LICENSE file. | 
| - */ | 
| - | 
| -#ifndef SkPictureStateTree_DEFINED | 
| -#define SkPictureStateTree_DEFINED | 
| - | 
| -#include "SkTDArray.h" | 
| -#include "SkChunkAlloc.h" | 
| -#include "SkDeque.h" | 
| -#include "SkMatrix.h" | 
| -#include "SkRefCnt.h" | 
| - | 
| -class SkCanvas; | 
| - | 
| -/** | 
| - * Provides an interface that, given a sequence of draws into an SkPicture with corresponding | 
| - * offsets, allows for playback of an arbitrary subset of the draws (note that Z-order is only | 
| - * guaranteed if the draws are explicitly sorted). | 
| - */ | 
| -class SkPictureStateTree : public SkRefCnt { | 
| -private: | 
| -    struct Node; | 
| -public: | 
| -    SK_DECLARE_INST_COUNT(SkPictureStateTree) | 
| - | 
| -    /** | 
| -     * A draw call, stores offset into command buffer, a pointer to the matrix, and a pointer to | 
| -     * the node in the tree that corresponds to its clip/layer state | 
| -     */ | 
| -    struct Draw { | 
| -        SkMatrix* fMatrix; | 
| -        Node* fNode; | 
| -        uint32_t fOffset; | 
| -        bool operator<(const Draw& other) const { return fOffset < other.fOffset; } | 
| -    }; | 
| - | 
| -    class Iterator; | 
| - | 
| -    SkPictureStateTree(); | 
| -    ~SkPictureStateTree(); | 
| - | 
| -    /** | 
| -     * Creates and returns a struct representing a draw at the given offset. | 
| -     */ | 
| -    Draw* appendDraw(size_t offset); | 
| - | 
| -    /** | 
| -     * Given a list of draws, and a canvas, initialize an iterator that produces the correct | 
| -     * sequence of offsets into the command buffer to carry out those calls with correct | 
| -     * matrix/clip state. This handles saves/restores, and does all necessary matrix setup. | 
| -     */ | 
| -    void initIterator(SkPictureStateTree::Iterator* iter, | 
| -                      const SkTDArray<void*>& draws, | 
| -                      SkCanvas* canvas); | 
| - | 
| -    void appendSave(); | 
| -    void appendSaveLayer(size_t offset); | 
| -    void appendRestore(); | 
| -    void appendTransform(const SkMatrix& trans); | 
| -    void appendClip(size_t offset); | 
| - | 
| -    /** | 
| -     * Call this immediately after an appendRestore call that is associated | 
| -     * a save or saveLayer that was removed from the command stream | 
| -     * due to a command pattern optimization in SkPicture. | 
| -     */ | 
| -    void saveCollapsed(); | 
| - | 
| -    /** | 
| -     * Playback helper | 
| -     */ | 
| -    class Iterator { | 
| -    public: | 
| -        /** Returns the next op offset needed to create the drawing state | 
| -            required by the queued up draw operation or the offset of the queued | 
| -            up draw operation itself. In the latter case, the next draw operation | 
| -            will move into the queued up slot. | 
| -            It retuns kDrawComplete when done. | 
| -            TODO: this might be better named nextOp | 
| -        */ | 
| -        uint32_t nextDraw(); | 
| -        static const uint32_t kDrawComplete = SK_MaxU32; | 
| -        Iterator() : fValid(false) { } | 
| -        bool isValid() const { return fValid; } | 
| - | 
| -    private: | 
| -        void init(const SkTDArray<void*>& draws, SkCanvas* canvas, Node* root); | 
| - | 
| -        void setCurrentMatrix(const SkMatrix*); | 
| - | 
| -        // The draws this iterator is associated with | 
| -        const SkTDArray<void*>* fDraws; | 
| - | 
| -        // canvas this is playing into (so we can insert saves/restores as necessary) | 
| -        SkCanvas* fCanvas; | 
| - | 
| -        // current state node | 
| -        Node* fCurrentNode; | 
| - | 
| -        // List of nodes whose state we need to apply to reach TargetNode | 
| -        SkTDArray<Node*> fNodes; | 
| - | 
| -        // The matrix of the canvas we're playing back into | 
| -        SkMatrix fPlaybackMatrix; | 
| - | 
| -        // Cache of current matrix, so we can avoid redundantly setting it | 
| -        const SkMatrix* fCurrentMatrix; | 
| - | 
| -        // current position in the array of draws | 
| -        int fPlaybackIndex; | 
| -        // Whether or not we need to do a save next iteration | 
| -        bool fSave; | 
| - | 
| -        // Whether or not this is a valid iterator (the default public constructor sets this false) | 
| -        bool fValid; | 
| - | 
| -        uint32_t finish(); | 
| - | 
| -        friend class SkPictureStateTree; | 
| -    }; | 
| - | 
| -private: | 
| - | 
| -    void appendNode(size_t offset); | 
| - | 
| -    SkChunkAlloc fAlloc; | 
| -    // Needed by saveCollapsed() because nodes do not currently store | 
| -    // references to their children.  If they did, we could just retrieve the | 
| -    // last added child. | 
| -    Node* fLastRestoredNode; | 
| - | 
| -    // The currently active state | 
| -    Draw fCurrentState; | 
| -    // A stack of states for tracking save/restores | 
| -    SkDeque fStateStack; | 
| - | 
| -    // Represents a notable piece of state that requires an offset into the command buffer, | 
| -    // corresponding to a clip/saveLayer/etc call, to apply. | 
| -    struct Node { | 
| -        Node* fParent; | 
| -        uint32_t fOffset; | 
| -        uint16_t fLevel; | 
| -        uint16_t fFlags; | 
| -        SkMatrix* fMatrix; | 
| -        enum Flags { | 
| -            kSave_Flag      = 0x1, | 
| -            kSaveLayer_Flag = 0x2 | 
| -        }; | 
| -    }; | 
| - | 
| -    Node fRoot; | 
| -    SkMatrix fRootMatrix; | 
| - | 
| -    typedef SkRefCnt INHERITED; | 
| -}; | 
| - | 
| -#endif | 
|  |