gfx/skia/trunk/src/animator/SkDrawTo.cpp

branch
TOR_BUG_9701
changeset 11
deefc01c0e14
equal deleted inserted replaced
-1:000000000000 0:ddcb9efc3c1a
1
2 /*
3 * Copyright 2006 The Android Open Source Project
4 *
5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file.
7 */
8
9
10 #include "SkDrawTo.h"
11 #include "SkAnimateMaker.h"
12 #include "SkCanvas.h"
13 #include "SkDrawBitmap.h"
14
15 #if SK_USE_CONDENSED_INFO == 0
16
17 const SkMemberInfo SkDrawTo::fInfo[] = {
18 SK_MEMBER(drawOnce, Boolean),
19 SK_MEMBER(use, Bitmap)
20 };
21
22 #endif
23
24 DEFINE_GET_MEMBER(SkDrawTo);
25
26 SkDrawTo::SkDrawTo() : drawOnce(false), use(NULL), fDrawnOnce(false) {
27 }
28
29 #if 0
30 SkDrawTo::~SkDrawTo() {
31 SkASSERT(0);
32 }
33 #endif
34
35 bool SkDrawTo::draw(SkAnimateMaker& maker) {
36 if (fDrawnOnce)
37 return false;
38 SkCanvas canvas(use->fBitmap);
39 SkCanvas* save = maker.fCanvas;
40 maker.fCanvas = &canvas;
41 INHERITED::draw(maker);
42 maker.fCanvas = save;
43 fDrawnOnce = drawOnce;
44 return false;
45 }
46
47 #ifdef SK_DUMP_ENABLED
48 void SkDrawTo::dump(SkAnimateMaker* maker) {
49 dumpBase(maker);
50 dumpAttrs(maker);
51 if (use)
52 SkDebugf("use=\"%s\" ", use->id);
53 dumpDrawables(maker);
54 }
55 #endif

mercurial