| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2007 The Android Open Source Project | 3 * Copyright 2007 The Android Open Source Project |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 | 9 |
| 10 #include "SkPictureFlat.h" | 10 #include "SkPictureFlat.h" |
| (...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 320 SkASSERT(index < fOps.count()); | 320 SkASSERT(index < fOps.count()); |
| 321 return ((SkPictureStateTree::Draw*)fOps[index])->fOffset; | 321 return ((SkPictureStateTree::Draw*)fOps[index])->fOffset; |
| 322 } | 322 } |
| 323 | 323 |
| 324 const SkMatrix& SkPicture::OperationList::matrix(int index) const { | 324 const SkMatrix& SkPicture::OperationList::matrix(int index) const { |
| 325 SkASSERT(index < fOps.count()); | 325 SkASSERT(index < fOps.count()); |
| 326 return *((SkPictureStateTree::Draw*)fOps[index])->fMatrix; | 326 return *((SkPictureStateTree::Draw*)fOps[index])->fMatrix; |
| 327 } | 327 } |
| 328 | 328 |
| 329 // fRecord OK | 329 // fRecord OK |
| 330 void SkPicture::draw(SkCanvas* canvas, SkDrawPictureCallback* callback) const { | 330 void SkPicture::playback(SkCanvas* canvas, SkDrawPictureCallback* callback) cons
t { |
| 331 SkASSERT(NULL != canvas); | 331 SkASSERT(NULL != canvas); |
| 332 SkASSERT(NULL != fData.get() || NULL != fRecord.get()); | 332 SkASSERT(NULL != fData.get() || NULL != fRecord.get()); |
| 333 | 333 |
| 334 // If the query contains the whole picture, don't bother with the BBH. | 334 // If the query contains the whole picture, don't bother with the BBH. |
| 335 SkRect clipBounds = { 0, 0, 0, 0 }; | 335 SkRect clipBounds = { 0, 0, 0, 0 }; |
| 336 (void)canvas->getClipBounds(&clipBounds); | 336 (void)canvas->getClipBounds(&clipBounds); |
| 337 const bool useBBH = !clipBounds.contains(this->cullRect()); | 337 const bool useBBH = !clipBounds.contains(this->cullRect()); |
| 338 | 338 |
| 339 if (NULL != fData.get()) { | 339 if (NULL != fData.get()) { |
| 340 SkPicturePlayback playback(this); | 340 SkPicturePlayback playback(this); |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 452 : fData(data) | 452 : fData(data) |
| 453 , fCullWidth(width) | 453 , fCullWidth(width) |
| 454 , fCullHeight(height) | 454 , fCullHeight(height) |
| 455 , fAnalysis() { | 455 , fAnalysis() { |
| 456 this->needsNewGenID(); | 456 this->needsNewGenID(); |
| 457 } | 457 } |
| 458 | 458 |
| 459 SkPicture* SkPicture::Forwardport(const SkPicture& src) { | 459 SkPicture* SkPicture::Forwardport(const SkPicture& src) { |
| 460 SkAutoTDelete<SkRecord> record(SkNEW(SkRecord)); | 460 SkAutoTDelete<SkRecord> record(SkNEW(SkRecord)); |
| 461 SkRecorder canvas(record.get(), src.cullRect().width(), src.cullRect().heigh
t()); | 461 SkRecorder canvas(record.get(), src.cullRect().width(), src.cullRect().heigh
t()); |
| 462 src.draw(&canvas); | 462 src.playback(&canvas); |
| 463 return SkNEW_ARGS(SkPicture, (src.cullRect().width(), src.cullRect().height(
), | 463 return SkNEW_ARGS(SkPicture, (src.cullRect().width(), src.cullRect().height(
), |
| 464 record.detach(), NULL/*bbh*/)); | 464 record.detach(), NULL/*bbh*/)); |
| 465 } | 465 } |
| 466 | 466 |
| 467 // fRecord OK | 467 // fRecord OK |
| 468 SkPicture* SkPicture::CreateFromStream(SkStream* stream, InstallPixelRefProc pro
c) { | 468 SkPicture* SkPicture::CreateFromStream(SkStream* stream, InstallPixelRefProc pro
c) { |
| 469 SkPictInfo info; | 469 SkPictInfo info; |
| 470 | 470 |
| 471 if (!InternalOnly_StreamIsSKP(stream, &info)) { | 471 if (!InternalOnly_StreamIsSKP(stream, &info)) { |
| 472 return NULL; | 472 return NULL; |
| (...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 674 int SkPicture::approximateOpCount() const { | 674 int SkPicture::approximateOpCount() const { |
| 675 SkASSERT(fRecord.get() || fData.get()); | 675 SkASSERT(fRecord.get() || fData.get()); |
| 676 if (fRecord.get()) { | 676 if (fRecord.get()) { |
| 677 return fRecord->count(); | 677 return fRecord->count(); |
| 678 } | 678 } |
| 679 if (fData.get()) { | 679 if (fData.get()) { |
| 680 return fData->opCount(); | 680 return fData->opCount(); |
| 681 } | 681 } |
| 682 return 0; | 682 return 0; |
| 683 } | 683 } |
| OLD | NEW |