1 /* 2 * Copyright 2012 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 #ifndef SkImage_Base_DEFINED 9 #define SkImage_Base_DEFINED 10 11 #include "SkImage.h" 12 13 class SkImage_Base : public SkImage { 14 public: 15 SkImage_Base(int width, int height) : INHERITED(width, height) {} 16 17 virtual void onDraw(SkCanvas*, SkScalar x, SkScalar y, const SkPaint*) = 0; 18 virtual void onDrawRectToRect(SkCanvas*, const SkRect* src, 19 const SkRect& dst, const SkPaint*) = 0; 20 virtual GrTexture* onGetTexture() { return NULL; } 21 22 // return a read-only copy of the pixels. We promise to not modify them, 23 // but only inspect them (or encode them). 24 virtual bool getROPixels(SkBitmap*) const { return false; } 25 26 private: 27 typedef SkImage INHERITED; 28 }; 29 30 #endif 31