| Index: src/pipe/SkGPipeWrite.cpp
|
| diff --git a/src/pipe/SkGPipeWrite.cpp b/src/pipe/SkGPipeWrite.cpp
|
| index 2e73be83f11231d9602b0127c55be35ea48763be..83e5c57d274b8dd92dafc0ac6bcc4ffbedf1e8a0 100644
|
| --- a/src/pipe/SkGPipeWrite.cpp
|
| +++ b/src/pipe/SkGPipeWrite.cpp
|
| @@ -272,9 +272,12 @@
|
| void onDrawBitmap(const SkBitmap&, SkScalar left, SkScalar top, const SkPaint*) override;
|
| void onDrawBitmapRect(const SkBitmap&, const SkRect* src, const SkRect& dst, const SkPaint*,
|
| DrawBitmapRectFlags flags) override;
|
| +#if 0
|
| + // rely on decomposition into bitmap (for now)
|
| void onDrawImage(const SkImage*, SkScalar left, SkScalar top, const SkPaint*) override;
|
| void onDrawImageRect(const SkImage*, const SkRect* src, const SkRect& dst,
|
| const SkPaint*) override;
|
| +#endif
|
| void onDrawBitmapNine(const SkBitmap&, const SkIRect& center, const SkRect& dst,
|
| const SkPaint*) override;
|
| void onDrawSprite(const SkBitmap&, int left, int top, const SkPaint*) override;
|
| @@ -297,7 +300,6 @@
|
|
|
| SkNamedFactorySet* fFactorySet;
|
| SkBitmapHeap* fBitmapHeap;
|
| - SkImageHeap* fImageHeap;
|
| SkGPipeController* fController;
|
| SkWriter32& fWriter;
|
| size_t fBlockSize; // amount allocated for writer
|
| @@ -346,8 +348,8 @@
|
|
|
| // Common code used by drawBitmap*. Behaves differently depending on the
|
| // type of SkBitmapHeap being used, which is determined by the flags used.
|
| - bool commonDrawBitmap(const SkBitmap&, DrawOps, unsigned flags, size_t bytes, const SkPaint*);
|
| - bool commonDrawImage(const SkImage*, DrawOps, unsigned flags, size_t bytes, const SkPaint*);
|
| + bool commonDrawBitmap(const SkBitmap& bm, DrawOps op, unsigned flags,
|
| + size_t opBytesNeeded, const SkPaint* paint);
|
|
|
| SkPaint fPaint;
|
| void writePaint(const SkPaint&);
|
| @@ -460,13 +462,6 @@
|
| }
|
| }
|
| fFlattenableHeap.setBitmapStorage(fBitmapHeap);
|
| -
|
| - fImageHeap = SkNEW(SkImageHeap);
|
| - if (this->needOpBytes(sizeof(void*))) {
|
| - this->writeOp(kShareImageHeap_DrawOp);
|
| - fWriter.writePtr(static_cast<void*>(fImageHeap));
|
| - }
|
| -
|
| this->doNotify();
|
| }
|
|
|
| @@ -474,7 +469,6 @@
|
| this->finish(true);
|
| SkSafeUnref(fFactorySet);
|
| SkSafeUnref(fBitmapHeap);
|
| - SkSafeUnref(fImageHeap);
|
| }
|
|
|
| bool SkGPipeCanvas::needOpBytes(size_t needed) {
|
| @@ -829,53 +823,6 @@
|
| }
|
| }
|
|
|
| -bool SkGPipeCanvas::commonDrawImage(const SkImage* image, DrawOps op, unsigned flags,
|
| - size_t opBytesNeeded, const SkPaint* paint) {
|
| - if (fDone) {
|
| - return false;
|
| - }
|
| -
|
| - if (paint != NULL) {
|
| - flags |= kDrawBitmap_HasPaint_DrawOpFlag;
|
| - this->writePaint(*paint);
|
| - }
|
| - // This needs to run first so its calls to needOpBytes() and its writes
|
| - // don't interlace with the needOpBytes() and write below.
|
| - int32_t slot = fImageHeap->insert(image);
|
| - SkASSERT(slot != 0);
|
| - if (this->needOpBytes(opBytesNeeded)) {
|
| - this->writeOp(op, flags, slot);
|
| - return true;
|
| - }
|
| - return false;
|
| -}
|
| -
|
| -void SkGPipeCanvas::onDrawImage(const SkImage* image, SkScalar x, SkScalar y,
|
| - const SkPaint* paint) {
|
| - NOTIFY_SETUP(this);
|
| - if (this->commonDrawImage(image, kDrawImage_DrawOp, 0, sizeof(SkScalar) * 2, paint)) {
|
| - fWriter.writeScalar(x);
|
| - fWriter.writeScalar(y);
|
| - }
|
| -}
|
| -
|
| -void SkGPipeCanvas::onDrawImageRect(const SkImage* image, const SkRect* src, const SkRect& dst,
|
| - const SkPaint* paint) {
|
| - NOTIFY_SETUP(this);
|
| - unsigned flags = 0;
|
| - size_t opBytesNeeded = sizeof(SkRect); // dst
|
| - if (src) {
|
| - flags |= kDrawBitmap_HasSrcRect_DrawOpFlag;
|
| - opBytesNeeded += sizeof(SkRect); // src
|
| - }
|
| - if (this->commonDrawImage(image, kDrawImageRect_DrawOp, flags, opBytesNeeded, paint)) {
|
| - if (src) {
|
| - fWriter.writeRect(*src);
|
| - }
|
| - fWriter.writeRect(dst);
|
| - }
|
| -}
|
| -
|
| void SkGPipeCanvas::onDrawText(const void* text, size_t byteLength, SkScalar x, SkScalar y,
|
| const SkPaint& paint) {
|
| if (byteLength) {
|
| @@ -1390,34 +1337,3 @@
|
| fCanvas->unref();
|
| fCanvas = NULL;
|
| }
|
| -
|
| -///////////////////////////////////////////////////////////////////////////////////////////////////
|
| -
|
| -SkImageHeap::SkImageHeap() {}
|
| -
|
| -SkImageHeap::~SkImageHeap() {
|
| - fArray.unrefAll();
|
| -}
|
| -
|
| -const SkImage* SkImageHeap::get(int32_t slot) const {
|
| - SkASSERT(slot > 0);
|
| - return fArray[slot - 1];
|
| -}
|
| -
|
| -int32_t SkImageHeap::find(const SkImage* img) const {
|
| - int index = fArray.find(img);
|
| - if (index >= 0) {
|
| - return index + 1; // found
|
| - }
|
| - return 0; // not found
|
| -}
|
| -
|
| -int32_t SkImageHeap::insert(const SkImage* img) {
|
| - int32_t slot = this->find(img);
|
| - if (slot) {
|
| - return slot;
|
| - }
|
| - *fArray.append() = SkRef(img);
|
| - return fArray.count(); // slot is always index+1
|
| -}
|
| -
|
|
|