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 CopyTilesRenderer_DEFINED 9 #define CopyTilesRenderer_DEFINED 10 11 #include "PictureRenderer.h" 12 #include "SkTypes.h" 13 14 class SkPicture; 15 class SkString; 16 17 namespace sk_tools { 18 /** 19 * PictureRenderer that draws the picture and then extracts it into tiles. For large pictures, 20 * it will divide the picture into large tiles and draw the picture once for each large tile. 21 */ 22 class CopyTilesRenderer : public TiledPictureRenderer { 23 24 public: 25 CopyTilesRenderer(int x, int y); 26 virtual void init(SkPicture* pict) SK_OVERRIDE; 27 28 /** 29 * Similar to TiledPictureRenderer, this will draw a PNG for each tile. However, the 30 * numbering (and actual tiles) will be different. 31 */ 32 virtual bool render(const SkString* path, SkBitmap** out) SK_OVERRIDE; 33 34 virtual bool supportsTimingIndividualTiles() SK_OVERRIDE { return false; } 35 36 private: 37 int fXTilesPerLargeTile; 38 int fYTilesPerLargeTile; 39 40 int fLargeTileWidth; 41 int fLargeTileHeight; 42 43 virtual SkString getConfigNameInternal() SK_OVERRIDE; 44 45 typedef TiledPictureRenderer INHERITED; 46 }; 47 } // sk_tools 48 #endif // CopyTilesRenderer_DEFINED 49