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
13class SkImage_Base : public SkImage {
14public:
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
26private:
27    typedef SkImage INHERITED;
28};
29
30#endif
31