Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: tools/PictureRenderer.cpp

Issue 500373005: Remove SkQuadTree. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tools/PictureRenderer.h ('k') | tools/PictureRenderingFlags.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2012 Google Inc. 2 * Copyright 2012 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #include "PictureRenderer.h" 8 #include "PictureRenderer.h"
9 #include "picture_utils.h" 9 #include "picture_utils.h"
10 #include "SamplePipeControllers.h" 10 #include "SamplePipeControllers.h"
(...skipping 30 matching lines...) Expand all
41 return SkScalarLog(x) * log2_conversion_factor; 41 return SkScalarLog(x) * log2_conversion_factor;
42 } 42 }
43 43
44 namespace sk_tools { 44 namespace sk_tools {
45 45
46 enum { 46 enum {
47 kDefaultTileWidth = 256, 47 kDefaultTileWidth = 256,
48 kDefaultTileHeight = 256 48 kDefaultTileHeight = 256
49 }; 49 };
50 50
51 void PictureRenderer::init(const SkPicture* pict, 51 void PictureRenderer::init(const SkPicture* pict,
52 const SkString* writePath, 52 const SkString* writePath,
53 const SkString* mismatchPath, 53 const SkString* mismatchPath,
54 const SkString* inputFilename, 54 const SkString* inputFilename,
55 bool useChecksumBasedFilenames) { 55 bool useChecksumBasedFilenames) {
56 this->CopyString(&fWritePath, writePath); 56 this->CopyString(&fWritePath, writePath);
57 this->CopyString(&fMismatchPath, mismatchPath); 57 this->CopyString(&fMismatchPath, mismatchPath);
58 this->CopyString(&fInputFilename, inputFilename); 58 this->CopyString(&fInputFilename, inputFilename);
59 fUseChecksumBasedFilenames = useChecksumBasedFilenames; 59 fUseChecksumBasedFilenames = useChecksumBasedFilenames;
60 60
61 SkASSERT(NULL == fPicture); 61 SkASSERT(NULL == fPicture);
62 SkASSERT(NULL == fCanvas.get()); 62 SkASSERT(NULL == fCanvas.get());
63 if (NULL != fPicture || NULL != fCanvas.get()) { 63 if (NULL != fPicture || NULL != fCanvas.get()) {
64 return; 64 return;
(...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after
439 } 439 }
440 440
441 SkString SimplePictureRenderer::getConfigNameInternal() { 441 SkString SimplePictureRenderer::getConfigNameInternal() {
442 return SkString("simple"); 442 return SkString("simple");
443 } 443 }
444 444
445 //////////////////////////////////////////////////////////////////////////////// /////////////// 445 //////////////////////////////////////////////////////////////////////////////// ///////////////
446 446
447 #if SK_SUPPORT_GPU 447 #if SK_SUPPORT_GPU
448 TiledPictureRenderer::TiledPictureRenderer(const GrContext::Options& opts) 448 TiledPictureRenderer::TiledPictureRenderer(const GrContext::Options& opts)
449 : INHERITED(opts) 449 : INHERITED(opts)
450 , fTileWidth(kDefaultTileWidth) 450 , fTileWidth(kDefaultTileWidth)
451 #else 451 #else
452 TiledPictureRenderer::TiledPictureRenderer() 452 TiledPictureRenderer::TiledPictureRenderer()
453 : fTileWidth(kDefaultTileWidth) 453 : fTileWidth(kDefaultTileWidth)
454 #endif 454 #endif
455 , fTileHeight(kDefaultTileHeight) 455 , fTileHeight(kDefaultTileHeight)
456 , fTileWidthPercentage(0.0) 456 , fTileWidthPercentage(0.0)
457 , fTileHeightPercentage(0.0) 457 , fTileHeightPercentage(0.0)
458 , fTileMinPowerOf2Width(0) 458 , fTileMinPowerOf2Width(0)
459 , fCurrentTileOffset(-1) 459 , fCurrentTileOffset(-1)
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
581 } 581 }
582 } 582 }
583 } 583 }
584 584
585 /** 585 /**
586 * Draw the specified picture to the canvas translated to rectangle provided, so that this mini 586 * Draw the specified picture to the canvas translated to rectangle provided, so that this mini
587 * canvas represents the rectangle's portion of the overall picture. 587 * canvas represents the rectangle's portion of the overall picture.
588 * Saves and restores so that the initial clip and matrix return to their state before this function 588 * Saves and restores so that the initial clip and matrix return to their state before this function
589 * is called. 589 * is called.
590 */ 590 */
591 static void draw_tile_to_canvas(SkCanvas* canvas, 591 static void draw_tile_to_canvas(SkCanvas* canvas,
592 const SkRect& tileRect, 592 const SkRect& tileRect,
593 const SkPicture* picture) { 593 const SkPicture* picture) {
594 int saveCount = canvas->save(); 594 int saveCount = canvas->save();
595 // Translate so that we draw the correct portion of the picture. 595 // Translate so that we draw the correct portion of the picture.
596 // Perform a postTranslate so that the scaleFactor does not interfere with t he positioning. 596 // Perform a postTranslate so that the scaleFactor does not interfere with t he positioning.
597 SkMatrix mat(canvas->getTotalMatrix()); 597 SkMatrix mat(canvas->getTotalMatrix());
598 mat.postTranslate(-tileRect.fLeft, -tileRect.fTop); 598 mat.postTranslate(-tileRect.fLeft, -tileRect.fTop);
599 canvas->setMatrix(mat); 599 canvas->setMatrix(mat);
600 canvas->drawPicture(picture); 600 canvas->drawPicture(picture);
601 canvas->restoreToCount(saveCount); 601 canvas->restoreToCount(saveCount);
602 canvas->flush(); 602 canvas->flush();
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
729 return SkString("playback_creation"); 729 return SkString("playback_creation");
730 } 730 }
731 731
732 //////////////////////////////////////////////////////////////////////////////// /////////////// 732 //////////////////////////////////////////////////////////////////////////////// ///////////////
733 // SkPicture variants for each BBoxHierarchy type 733 // SkPicture variants for each BBoxHierarchy type
734 734
735 SkBBHFactory* PictureRenderer::getFactory() { 735 SkBBHFactory* PictureRenderer::getFactory() {
736 switch (fBBoxHierarchyType) { 736 switch (fBBoxHierarchyType) {
737 case kNone_BBoxHierarchyType: 737 case kNone_BBoxHierarchyType:
738 return NULL; 738 return NULL;
739 case kQuadTree_BBoxHierarchyType:
740 return SkNEW(SkQuadTreeFactory);
741 case kRTree_BBoxHierarchyType: 739 case kRTree_BBoxHierarchyType:
742 return SkNEW(SkRTreeFactory); 740 return SkNEW(SkRTreeFactory);
743 case kTileGrid_BBoxHierarchyType: 741 case kTileGrid_BBoxHierarchyType:
744 return SkNEW_ARGS(SkTileGridFactory, (fGridInfo)); 742 return SkNEW_ARGS(SkTileGridFactory, (fGridInfo));
745 } 743 }
746 SkASSERT(0); // invalid bbhType 744 SkASSERT(0); // invalid bbhType
747 return NULL; 745 return NULL;
748 } 746 }
749 747
750 /////////////////////////////////////////////////////////////////////////////// 748 ///////////////////////////////////////////////////////////////////////////////
(...skipping 25 matching lines...) Expand all
776 PictureRenderer* CreateGatherPixelRefsRenderer(const GrContext::Options& opts) { 774 PictureRenderer* CreateGatherPixelRefsRenderer(const GrContext::Options& opts) {
777 return SkNEW_ARGS(GatherRenderer, (opts)); 775 return SkNEW_ARGS(GatherRenderer, (opts));
778 } 776 }
779 #else 777 #else
780 PictureRenderer* CreateGatherPixelRefsRenderer() { 778 PictureRenderer* CreateGatherPixelRefsRenderer() {
781 return SkNEW(GatherRenderer); 779 return SkNEW(GatherRenderer);
782 } 780 }
783 #endif 781 #endif
784 782
785 } // namespace sk_tools 783 } // namespace sk_tools
OLDNEW
« no previous file with comments | « tools/PictureRenderer.h ('k') | tools/PictureRenderingFlags.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698