提交 c4fd79b5 编写于 作者: A Adam Barth

Use SkImage instead of SkBitmap

Apparently SkImage is the new hotness.
上级 e7d1dc73
......@@ -57,7 +57,9 @@ void CanvasImageDecoder::OnDataComplete() {
}
RefPtr<CanvasImage> resultImage = CanvasImage::create();
resultImage->setBitmap(decoder->frameBufferAtIndex(0)->getSkBitmap());
ImageFrame* imageFrame = decoder->frameBufferAtIndex(0);
RefPtr<SkImage> skImage = adoptRef(SkImage::NewFromBitmap(imageFrame->getSkBitmap()));
resultImage->setImage(skImage.release());
callback_->handleEvent(resultImage.get());
}
......
......@@ -229,14 +229,14 @@ void Canvas::drawImage(const CanvasImage* image, const Point& p, const Paint* pa
if (!m_canvas)
return;
ASSERT(image);
m_canvas->drawBitmap(image->bitmap(), p.sk_point.x(), p.sk_point.y(), &paint->paint());
m_canvas->drawImage(image->image(), p.sk_point.x(), p.sk_point.y(), &paint->paint());
}
void Canvas::drawImageRect(const CanvasImage* image, Rect& src, Rect& dst, Paint* paint) {
if (!m_canvas)
return;
ASSERT(image);
m_canvas->drawBitmapRect(image->bitmap(), &src.sk_rect, dst.sk_rect, &paint->paint());
m_canvas->drawImageRect(image->image(), &src.sk_rect, dst.sk_rect, &paint->paint());
}
void Canvas::drawPicture(Picture* picture)
......@@ -272,7 +272,7 @@ void Canvas::drawAtlas(CanvasImage* atlas,
{
if (!m_canvas)
return;
RefPtr<SkImage> skImage = adoptRef(SkImage::NewFromBitmap(atlas->bitmap()));
RefPtr<SkImage> skImage = atlas->image();
if (transforms.size() != rects.size())
return es.ThrowRangeError("transforms and rects lengths must match");
if (colors.size() && colors.size() != rects.size())
......
......@@ -13,11 +13,11 @@ CanvasImage::~CanvasImage() {
}
int CanvasImage::width() const {
return bitmap_.width();
return image_->width();
}
int CanvasImage::height() const {
return bitmap_.height();
return image_->height();
}
} // namespace blink
......@@ -9,7 +9,7 @@
#include "sky/engine/tonic/dart_wrappable.h"
#include "sky/engine/wtf/PassRefPtr.h"
#include "sky/engine/wtf/text/AtomicString.h"
#include "third_party/skia/include/core/SkBitmap.h"
#include "third_party/skia/include/core/SkImage.h"
namespace blink {
......@@ -23,13 +23,13 @@ class CanvasImage final : public RefCounted<CanvasImage>,
int width() const;
int height() const;
const SkBitmap& bitmap() const { return bitmap_; }
void setBitmap(const SkBitmap& bitmap) { bitmap_ = bitmap; }
SkImage* image() const { return image_.get(); }
void setImage(PassRefPtr<SkImage> image) { image_ = image; }
private:
CanvasImage();
SkBitmap bitmap_;
RefPtr<SkImage> image_;
};
} // namespace blink
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册