//-----------------------------------------------------------------------------
// DeferredDevice
//-----------------------------------------------------------------------------
-class DeferredDevice : public SkBaseDevice {
+// FIXME: Derive from SkBaseDevice.
+class DeferredDevice : public SkBitmapDevice {
public:
explicit DeferredDevice(SkSurface* surface);
~DeferredDevice();
virtual uint32_t getDeviceCapabilities() SK_OVERRIDE;
virtual int width() const SK_OVERRIDE;
virtual int height() const SK_OVERRIDE;
- virtual SkBitmap::Config config() const SK_OVERRIDE;
- virtual bool isOpaque() const SK_OVERRIDE;
- virtual SkImageInfo imageInfo() const SK_OVERRIDE;
-
virtual GrRenderTarget* accessRenderTarget() SK_OVERRIDE;
virtual SkBaseDevice* onCreateCompatibleDevice(SkBitmap::Config config,
virtual void drawRect(const SkDraw&, const SkRect& r,
const SkPaint& paint) SK_OVERRIDE
{SkASSERT(0);}
- virtual void drawOval(const SkDraw&, const SkRect&, const SkPaint&) SK_OVERRIDE
- {SkASSERT(0);}
virtual void drawRRect(const SkDraw&, const SkRRect& rr,
const SkPaint& paint) SK_OVERRIDE
- {SkASSERT(0);}
+ {SkASSERT(0);}
virtual void drawPath(const SkDraw&, const SkPath& path,
const SkPaint& paint,
const SkMatrix* prePathMatrix = NULL,
virtual void drawBitmap(const SkDraw&, const SkBitmap& bitmap,
const SkMatrix& matrix, const SkPaint& paint) SK_OVERRIDE
{SkASSERT(0);}
- virtual void drawBitmapRect(const SkDraw&, const SkBitmap&, const SkRect*,
- const SkRect&, const SkPaint&,
- SkCanvas::DrawBitmapRectFlags) SK_OVERRIDE
- {SkASSERT(0);}
virtual void drawSprite(const SkDraw&, const SkBitmap& bitmap,
int x, int y, const SkPaint& paint) SK_OVERRIDE
{SkASSERT(0);}
virtual void drawDevice(const SkDraw&, SkBaseDevice*, int x, int y,
const SkPaint&) SK_OVERRIDE
{SkASSERT(0);}
-
- virtual void lockPixels() SK_OVERRIDE { SkASSERT(0); }
- virtual void unlockPixels() SK_OVERRIDE { SkASSERT(0); }
-
- virtual bool allowImageFilter(const SkImageFilter*) SK_OVERRIDE {
- return false;
- }
- virtual bool canHandleImageFilter(const SkImageFilter*) SK_OVERRIDE {
- return false;
- }
- virtual bool filterImage(const SkImageFilter*, const SkBitmap&,
- const SkMatrix&, SkBitmap*, SkIPoint*) SK_OVERRIDE {
- return false;
- }
-
private:
virtual void flush() SK_OVERRIDE;
- virtual void replaceBitmapBackendForRasterSurface(const SkBitmap&) SK_OVERRIDE {}
void beginRecording();
void init();
size_t fBitmapSizeThreshold;
};
-DeferredDevice::DeferredDevice(SkSurface* surface) {
+DeferredDevice::DeferredDevice(SkSurface* surface)
+ : SkBitmapDevice(SkBitmap::kNo_Config,
+ surface->getCanvas()->getDevice()->width(),
+ surface->getCanvas()->getDevice()->height(),
+ surface->getCanvas()->getDevice()->isOpaque(),
+ surface->getCanvas()->getDevice()->getDeviceProperties()) {
fMaxRecordingStorageBytes = kDefaultMaxRecordingStorageBytes;
fNotificationClient = NULL;
fImmediateCanvas = NULL;
return immediateDevice()->height();
}
-SkBitmap::Config DeferredDevice::config() const {
- return immediateDevice()->config();
-}
-
-bool DeferredDevice::isOpaque() const {
- return immediateDevice()->isOpaque();
-}
-
-SkImageInfo DeferredDevice::imageInfo() const {
- return immediateDevice()->imageInfo();
-}
-
GrRenderTarget* DeferredDevice::accessRenderTarget() {
this->flushPendingCommands(kNormal_PlaybackMode);
return immediateDevice()->accessRenderTarget();