Home | History | Annotate | Download | only in core
      1 /*
      2  * Copyright 2012 Google Inc.
      3  *
      4  * Use of this source code is governed by a BSD-style license that can be
      5  * found in the LICENSE file.
      6  */
      7 
      8 #ifndef SkTileGridPicture_DEFINED
      9 #define SkTileGridPicture_DEFINED
     10 
     11 #include "SkPicture.h"
     12 
     13 /**
     14  * Subclass of SkPicture that override the behavior of the
     15  * kOptimizeForClippedPlayback_RecordingFlag by creating an SkTileGrid
     16  * structure rather than an R-Tree. The tile grid has lower recording
     17  * and playback costs, but is less effective at eliminating extraneous
     18  * primitives for arbitrary query rectangles. It is most effective for
     19  * tiled playback when the tile structure is known at record time.
     20  */
     21 class SK_API SkTileGridPicture : public SkPicture {
     22 public:
     23     SkTileGridPicture(int tileWidth, int tileHeight, int width, int height);
     24     virtual SkBBoxHierarchy* createBBoxHierarchy() const SK_OVERRIDE;
     25 private:
     26     int fTileWidth, fTileHeight, fXTileCount, fYTileCount;
     27 };
     28 
     29 #endif
     30