OLD | NEW |
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 #ifndef PictureRenderer_DEFINED | 8 #ifndef PictureRenderer_DEFINED |
9 #define PictureRenderer_DEFINED | 9 #define PictureRenderer_DEFINED |
10 | 10 |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 * | 83 * |
84 * @param pict The SkPicture to render. | 84 * @param pict The SkPicture to render. |
85 * @param writePath The output directory within which this renderer should w
rite all images, | 85 * @param writePath The output directory within which this renderer should w
rite all images, |
86 * or NULL if this renderer should not write all images. | 86 * or NULL if this renderer should not write all images. |
87 * @param mismatchPath The output directory within which this renderer shoul
d write any images | 87 * @param mismatchPath The output directory within which this renderer shoul
d write any images |
88 * which do not match expectations, or NULL if this renderer should not
write mismatches. | 88 * which do not match expectations, or NULL if this renderer should not
write mismatches. |
89 * @param inputFilename The name of the input file we are rendering. | 89 * @param inputFilename The name of the input file we are rendering. |
90 * @param useChecksumBasedFilenames Whether to use checksum-based filenames
when writing | 90 * @param useChecksumBasedFilenames Whether to use checksum-based filenames
when writing |
91 * bitmap images to disk. | 91 * bitmap images to disk. |
92 */ | 92 */ |
93 virtual void init(SkPicture* pict, const SkString* writePath, const SkString
* mismatchPath, | 93 virtual void init(const SkPicture* pict, |
94 const SkString* inputFilename, bool useChecksumBasedFilena
mes); | 94 const SkString* writePath, |
| 95 const SkString* mismatchPath, |
| 96 const SkString* inputFilename, |
| 97 bool useChecksumBasedFilenames); |
95 | 98 |
96 /** | 99 /** |
97 * TODO(epoger): Temporary hack, while we work on http://skbug.com/2584 ('be
nch_pictures is | 100 * TODO(epoger): Temporary hack, while we work on http://skbug.com/2584 ('be
nch_pictures is |
98 * timing reading pixels and writing json files'), such that: | 101 * timing reading pixels and writing json files'), such that: |
99 * - render_pictures can call this method and continue to work | 102 * - render_pictures can call this method and continue to work |
100 * - any other callers (bench_pictures) will skip calls to write() by defaul
t | 103 * - any other callers (bench_pictures) will skip calls to write() by defaul
t |
101 */ | 104 */ |
102 void enableWrites() { fEnableWrites = true; } | 105 void enableWrites() { fEnableWrites = true; } |
103 | 106 |
104 /** | 107 /** |
(...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
399 | 402 |
400 GrContext* getGrContext() { | 403 GrContext* getGrContext() { |
401 return fGrContext; | 404 return fGrContext; |
402 } | 405 } |
403 #endif | 406 #endif |
404 | 407 |
405 SkCanvas* getCanvas() { | 408 SkCanvas* getCanvas() { |
406 return fCanvas; | 409 return fCanvas; |
407 } | 410 } |
408 | 411 |
409 SkPicture* getPicture() { | 412 const SkPicture* getPicture() { |
410 return fPicture; | 413 return fPicture; |
411 } | 414 } |
412 | 415 |
413 PictureRenderer() | 416 PictureRenderer() |
414 : fJsonSummaryPtr(NULL) | 417 : fJsonSummaryPtr(NULL) |
415 , fDeviceType(kBitmap_DeviceType) | 418 , fDeviceType(kBitmap_DeviceType) |
416 , fEnableWrites(false) | 419 , fEnableWrites(false) |
417 , fBBoxHierarchyType(kNone_BBoxHierarchyType) | 420 , fBBoxHierarchyType(kNone_BBoxHierarchyType) |
418 , fScaleFactor(SK_Scalar1) | 421 , fScaleFactor(SK_Scalar1) |
419 #if SK_SUPPORT_GPU | 422 #if SK_SUPPORT_GPU |
420 , fGrContext(NULL) | 423 , fGrContext(NULL) |
421 , fSampleCount(0) | 424 , fSampleCount(0) |
422 #endif | 425 #endif |
423 { | 426 { |
424 fGridInfo.fMargin.setEmpty(); | 427 fGridInfo.fMargin.setEmpty(); |
425 fGridInfo.fOffset.setZero(); | 428 fGridInfo.fOffset.setZero(); |
426 fGridInfo.fTileInterval.set(1, 1); | 429 fGridInfo.fTileInterval.set(1, 1); |
427 sk_bzero(fDrawFilters, sizeof(fDrawFilters)); | 430 sk_bzero(fDrawFilters, sizeof(fDrawFilters)); |
428 fViewport.set(0, 0); | 431 fViewport.set(0, 0); |
429 } | 432 } |
430 | 433 |
431 #if SK_SUPPORT_GPU | 434 #if SK_SUPPORT_GPU |
432 virtual ~PictureRenderer() { | 435 virtual ~PictureRenderer() { |
433 SkSafeUnref(fGrContext); | 436 SkSafeUnref(fGrContext); |
434 } | 437 } |
435 #endif | 438 #endif |
436 | 439 |
437 protected: | 440 protected: |
438 SkAutoTUnref<SkCanvas> fCanvas; | 441 SkAutoTUnref<SkCanvas> fCanvas; |
439 SkAutoTUnref<SkPicture> fPicture; | 442 SkAutoTUnref<const SkPicture> fPicture; |
440 bool fUseChecksumBasedFilenames; | 443 bool fUseChecksumBasedFilenames; |
441 ImageResultsAndExpectations* fJsonSummaryPtr; | 444 ImageResultsAndExpectations* fJsonSummaryPtr; |
442 SkDeviceTypes fDeviceType; | 445 SkDeviceTypes fDeviceType; |
443 bool fEnableWrites; | 446 bool fEnableWrites; |
444 BBoxHierarchyType fBBoxHierarchyType; | 447 BBoxHierarchyType fBBoxHierarchyType; |
445 DrawFilterFlags fDrawFilters[SkDrawFilter::kTypeCount]; | 448 DrawFilterFlags fDrawFilters[SkDrawFilter::kTypeCount]; |
446 SkString fDrawFiltersConfig; | 449 SkString fDrawFiltersConfig; |
447 SkString fWritePath; | 450 SkString fWritePath; |
448 SkString fMismatchPath; | 451 SkString fMismatchPath; |
449 SkString fInputFilename; | 452 SkString fInputFilename; |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
515 virtual bool render(SkBitmap** out = NULL) SK_OVERRIDE; | 518 virtual bool render(SkBitmap** out = NULL) SK_OVERRIDE; |
516 | 519 |
517 private: | 520 private: |
518 virtual SkString getConfigNameInternal() SK_OVERRIDE; | 521 virtual SkString getConfigNameInternal() SK_OVERRIDE; |
519 | 522 |
520 typedef PictureRenderer INHERITED; | 523 typedef PictureRenderer INHERITED; |
521 }; | 524 }; |
522 | 525 |
523 class SimplePictureRenderer : public PictureRenderer { | 526 class SimplePictureRenderer : public PictureRenderer { |
524 public: | 527 public: |
525 virtual void init(SkPicture* pict, const SkString* writePath, const SkString
* mismatchPath, | 528 virtual void init(const SkPicture* pict, |
526 const SkString* inputFilename, bool useChecksumBasedFilena
mes) SK_OVERRIDE; | 529 const SkString* writePath, |
| 530 const SkString* mismatchPath, |
| 531 const SkString* inputFilename, |
| 532 bool useChecksumBasedFilenames) SK_OVERRIDE; |
527 | 533 |
528 virtual bool render(SkBitmap** out = NULL) SK_OVERRIDE; | 534 virtual bool render(SkBitmap** out = NULL) SK_OVERRIDE; |
529 | 535 |
530 private: | 536 private: |
531 virtual SkString getConfigNameInternal() SK_OVERRIDE; | 537 virtual SkString getConfigNameInternal() SK_OVERRIDE; |
532 | 538 |
533 typedef PictureRenderer INHERITED; | 539 typedef PictureRenderer INHERITED; |
534 }; | 540 }; |
535 | 541 |
536 class TiledPictureRenderer : public PictureRenderer { | 542 class TiledPictureRenderer : public PictureRenderer { |
537 public: | 543 public: |
538 TiledPictureRenderer(); | 544 TiledPictureRenderer(); |
539 | 545 |
540 virtual void init(SkPicture* pict, const SkString* writePath, const SkString
* mismatchPath, | 546 virtual void init(const SkPicture* pict, |
541 const SkString* inputFilename, bool useChecksumBasedFilena
mes) SK_OVERRIDE; | 547 const SkString* writePath, |
| 548 const SkString* mismatchPath, |
| 549 const SkString* inputFilename, |
| 550 bool useChecksumBasedFilenames) SK_OVERRIDE; |
542 | 551 |
543 /** | 552 /** |
544 * Renders to tiles, rather than a single canvas. | 553 * Renders to tiles, rather than a single canvas. |
545 * If fWritePath was provided, a separate file is | 554 * If fWritePath was provided, a separate file is |
546 * created for each tile, named "path0.png", "path1.png", etc. | 555 * created for each tile, named "path0.png", "path1.png", etc. |
547 */ | 556 */ |
548 virtual bool render(SkBitmap** out = NULL) SK_OVERRIDE; | 557 virtual bool render(SkBitmap** out = NULL) SK_OVERRIDE; |
549 | 558 |
550 virtual void end() SK_OVERRIDE; | 559 virtual void end() SK_OVERRIDE; |
551 | 560 |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
673 virtual SkString getConfigNameInternal() SK_OVERRIDE; | 682 virtual SkString getConfigNameInternal() SK_OVERRIDE; |
674 | 683 |
675 typedef PictureRenderer INHERITED; | 684 typedef PictureRenderer INHERITED; |
676 }; | 685 }; |
677 | 686 |
678 extern PictureRenderer* CreateGatherPixelRefsRenderer(); | 687 extern PictureRenderer* CreateGatherPixelRefsRenderer(); |
679 | 688 |
680 } | 689 } |
681 | 690 |
682 #endif // PictureRenderer_DEFINED | 691 #endif // PictureRenderer_DEFINED |
OLD | NEW |