blob: fa60a8ae091df356ef3f02a172412b770f0b9162 [file] [log] [blame]
Grace Klobafbe47c02009-05-14 17:31:45 -07001/*
2 * Copyright 2008, The Android Open Source Project
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 *
13 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */
Derek Sollenbergerd7ebf272009-06-18 11:19:41 -040025
Grace Klobafbe47c02009-05-14 17:31:45 -070026#include "PluginObject.h"
Derek Sollenbergerd7ebf272009-06-18 11:19:41 -040027#include "android_npapi.h"
Grace Klobafbe47c02009-05-14 17:31:45 -070028
29#ifndef pluginGraphics__DEFINED
30#define pluginGraphics__DEFINED
31
Derek Sollenbergerd7ebf272009-06-18 11:19:41 -040032class BallAnimation : public SubPlugin {
33public:
34 BallAnimation(NPP inst);
35 virtual ~BallAnimation();
36 virtual void draw(ANPCanvas*);
37 virtual int16 handleEvent(const ANPEvent* evt);
38private:
39 float m_x;
40 float m_y;
41 float m_dx;
42 float m_dy;
Grace Klobafbe47c02009-05-14 17:31:45 -070043
Derek Sollenbergerd7ebf272009-06-18 11:19:41 -040044 int32_t mUnichar;
45
46 ANPRectF m_oval;
47 ANPPaint* m_paint;
48
49 static const float SCALE = 0.1;
Derek Sollenberger5b011e32009-06-22 11:39:40 -040050
51 void centerPluginOnScreen();
52 int m_scrollX;
53 int m_scrollY;
54 int m_screenH;
55 int m_screenW;
Derek Sollenbergerd7ebf272009-06-18 11:19:41 -040056};
57
Grace Klobafbe47c02009-05-14 17:31:45 -070058uint32_t getMSecs();
59
60#endif // pluginGraphics__DEFINED