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

Unified Diff: src/image/SkImage_Gpu.cpp

Issue 577063004: Refactoring in SkImage implementations backed by a SkBitmap (Closed) Base URL: https://skia.googlesource.com/skia.git@small_refactor_skimageCodec
Patch Set: Comments 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/image/SkImage_Codec.cpp ('k') | src/image/SkImage_Raster.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/image/SkImage_Gpu.cpp
diff --git a/src/image/SkImage_Gpu.cpp b/src/image/SkImage_Gpu.cpp
index 5733a89de349074de47e7de85cbcd96635417d2d..cc8d1759e02963a9c283e74b75de271d247b019a 100644
--- a/src/image/SkImage_Gpu.cpp
+++ b/src/image/SkImage_Gpu.cpp
@@ -5,79 +5,45 @@
* found in the LICENSE file.
*/
-#include "SkImage_Base.h"
-#include "SkImagePriv.h"
+#include "SkImage_BitmapBase.h"
+
#include "SkBitmap.h"
-#include "SkCanvas.h"
-#include "GrContext.h"
+#include "SkImagePriv.h"
#include "GrTexture.h"
#include "SkGrPixelRef.h"
-class SkImage_Gpu : public SkImage_Base {
+class SkImage_Gpu : public SkImage_BitmapBase {
public:
SK_DECLARE_INST_COUNT(SkImage_Gpu)
explicit SkImage_Gpu(const SkBitmap&);
virtual ~SkImage_Gpu();
- virtual void onDraw(SkCanvas*, SkScalar x, SkScalar y, const SkPaint*) const SK_OVERRIDE;
- virtual void onDrawRectToRect(SkCanvas*, const SkRect* src, const SkRect& dst,
- const SkPaint*) const SK_OVERRIDE;
virtual GrTexture* onGetTexture() const SK_OVERRIDE;
virtual bool getROPixels(SkBitmap*) const SK_OVERRIDE;
- GrTexture* getTexture() const { return fBitmap.getTexture(); }
-
- virtual SkShader* onNewShader(SkShader::TileMode,
- SkShader::TileMode,
- const SkMatrix* localMatrix) const SK_OVERRIDE;
-
- virtual bool isOpaque() const SK_OVERRIDE;
-
private:
- SkBitmap fBitmap;
-
- typedef SkImage_Base INHERITED;
+ typedef SkImage_BitmapBase INHERITED;
};
///////////////////////////////////////////////////////////////////////////////
SkImage_Gpu::SkImage_Gpu(const SkBitmap& bitmap)
- : INHERITED(bitmap.width(), bitmap.height())
- , fBitmap(bitmap) {
+ : INHERITED(bitmap) {
SkASSERT(fBitmap.getTexture());
}
SkImage_Gpu::~SkImage_Gpu() {
}
-SkShader* SkImage_Gpu::onNewShader(SkShader::TileMode tileX,
- SkShader::TileMode tileY,
- const SkMatrix* localMatrix) const
-{
- return SkShader::CreateBitmapShader(fBitmap, tileX, tileY, localMatrix);
-}
-
-void SkImage_Gpu::onDraw(SkCanvas* canvas, SkScalar x, SkScalar y, const SkPaint* paint) const {
- canvas->drawBitmap(fBitmap, x, y, paint);
-}
-
-void SkImage_Gpu::onDrawRectToRect(SkCanvas* canvas, const SkRect* src, const SkRect& dst,
- const SkPaint* paint) const {
- canvas->drawBitmapRectToRect(fBitmap, src, dst, paint);
-}
-
GrTexture* SkImage_Gpu::onGetTexture() const {
- return fBitmap.getTexture();
+ return this->getBitmap().getTexture();
}
bool SkImage_Gpu::getROPixels(SkBitmap* dst) const {
- return fBitmap.copyTo(dst, kN32_SkColorType);
+ return this->getBitmap().copyTo(dst, kN32_SkColorType);
}
-bool SkImage_Gpu::isOpaque() const {
- return fBitmap.isOpaque();
-}
///////////////////////////////////////////////////////////////////////////////
@@ -90,5 +56,5 @@ SkImage* SkImage::NewTexture(const SkBitmap& bitmap) {
}
GrTexture* SkTextureImageGetTexture(SkImage* image) {
- return ((SkImage_Gpu*)image)->getTexture();
+ return image->getTexture();
}
« no previous file with comments | « src/image/SkImage_Codec.cpp ('k') | src/image/SkImage_Raster.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698