CopyTilesRenderer.h revision 3f0451772109959fcb79bacf2c9a03e0eb39ff27
14a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com/* 24a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com * Copyright 2012 Google Inc. 34a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com * 44a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com * Use of this source code is governed by a BSD-style license that can be 54a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com * found in the LICENSE file. 64a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com */ 74a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com 84a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com#ifndef CopyTilesRenderer_DEFINED 94a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com#define CopyTilesRenderer_DEFINED 104a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com 114a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com#include "PictureRenderer.h" 124a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com#include "SkTypes.h" 134a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com 144a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.comclass SkPicture; 154a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.comclass SkString; 164a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com 174a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.comnamespace sk_tools { 184a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com /** 194a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com * PictureRenderer that draws the picture and then extracts it into tiles. For large pictures, 204a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com * it will divide the picture into large tiles and draw the picture once for each large tile. 214a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com */ 224a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com class CopyTilesRenderer : public TiledPictureRenderer { 234a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com 244a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com public: 254a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com CopyTilesRenderer(int x, int y); 263f0451772109959fcb79bacf2c9a03e0eb39ff27commit-bot@chromium.org virtual void init(SkPicture* pict, const SkString* writePath, const SkString* mismatchPath, 273f0451772109959fcb79bacf2c9a03e0eb39ff27commit-bot@chromium.org const SkString* inputFilename, 28f5e315ccf1ae2941f7cf53fa53e5c8c4bb665fe1commit-bot@chromium.org bool useChecksumBasedFilenames) SK_OVERRIDE; 294a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com 304a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com /** 314a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com * Similar to TiledPictureRenderer, this will draw a PNG for each tile. However, the 324a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com * numbering (and actual tiles) will be different. 334a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com */ 34f5e315ccf1ae2941f7cf53fa53e5c8c4bb665fe1commit-bot@chromium.org virtual bool render(SkBitmap** out) SK_OVERRIDE; 354a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com 36161e1ba4c0a82e21c7d68808529699fd2394ad6cscroggo@google.com virtual bool supportsTimingIndividualTiles() SK_OVERRIDE { return false; } 37161e1ba4c0a82e21c7d68808529699fd2394ad6cscroggo@google.com 384a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com private: 394a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com int fXTilesPerLargeTile; 404a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com int fYTilesPerLargeTile; 414a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com 424a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com int fLargeTileWidth; 434a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com int fLargeTileHeight; 444a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com 454a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com virtual SkString getConfigNameInternal() SK_OVERRIDE; 464a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com 474a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com typedef TiledPictureRenderer INHERITED; 484a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com }; 494a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com} // sk_tools 504a26d9d62a6d762a518c0ca08d43189916b75cf2scroggo@google.com#endif // CopyTilesRenderer_DEFINED 51