2 * Copyright 2014 Google Inc.
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
8 #ifndef SkDrawPictureCallback_DEFINED
9 #define SkDrawPictureCallback_DEFINED
13 #ifdef SK_LEGACY_DRAWPICTURECALLBACK
14 #include "SkPicture.h"
17 * Subclasses of this can be passed to canvas.drawPicture(). During the drawing
18 * of the picture, this callback will periodically be invoked. If its
19 * abortDrawing() returns true, then picture playback will be interrupted.
21 * The resulting drawing is undefined, as there is no guarantee how often the
22 * callback will be invoked. If the abort happens inside some level of nested
23 * calls to save(), restore will automatically be called to return the state
24 * to the same level it was before the drawPicture call was made.
26 class SK_API SkDrawPictureCallback : public SkPicture::AbortCallback {
28 virtual bool abortDrawing() = 0;
30 bool abort() SK_OVERRIDE { return this->abortDrawing(); }
34 #endif // SkDrawPictureCallback_DEFINED