blob: ab6ca0aa7ab9e7e48fbb87299a5894a0d281dcb9 [file] [log] [blame]
* Copyright 2014 Google Inc.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
#ifndef SkDrawPictureCallback_DEFINED
#define SkDrawPictureCallback_DEFINED
#include "SkTypes.h"
#include "SkPicture.h"
* Subclasses of this can be passed to canvas.drawPicture(). During the drawing
* of the picture, this callback will periodically be invoked. If its
* abortDrawing() returns true, then picture playback will be interrupted.
* The resulting drawing is undefined, as there is no guarantee how often the
* callback will be invoked. If the abort happens inside some level of nested
* calls to save(), restore will automatically be called to return the state
* to the same level it was before the drawPicture call was made.
class SK_API SkDrawPictureCallback : public SkPicture::AbortCallback {
virtual bool abortDrawing() = 0;
bool abort() override { return this->abortDrawing(); }
#endif // SkDrawPictureCallback_DEFINED