blob: ef2a3f540decdbd8f9061e54ef08297f5b6b085d [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"
27
28#ifndef pluginGraphics__DEFINED
29#define pluginGraphics__DEFINED
30
Derek Sollenbergerd7ebf272009-06-18 11:19:41 -040031class BallAnimation : public SubPlugin {
32public:
33 BallAnimation(NPP inst);
34 virtual ~BallAnimation();
Derek Sollenberger21f39912009-07-09 09:19:39 -040035 virtual bool supportsDrawingModel(ANPDrawingModel);
Derek Sollenbergerd7ebf272009-06-18 11:19:41 -040036 virtual int16 handleEvent(const ANPEvent* evt);
37private:
Derek Sollenbergerc0f26572009-07-16 11:38:02 -040038 void drawPlugin(const ANPBitmap& bitmap, const ANPRectI& clip);
Derek Sollenbergerc654bce2009-07-20 10:03:58 -040039 void showEntirePluginOnScreen();
Derek Sollenbergerc0f26572009-07-16 11:38:02 -040040
Derek Sollenbergerd7ebf272009-06-18 11:19:41 -040041 float m_x;
42 float m_y;
43 float m_dx;
44 float m_dy;
Grace Klobafbe47c02009-05-14 17:31:45 -070045
Derek Sollenbergerd7ebf272009-06-18 11:19:41 -040046 ANPRectF m_oval;
47 ANPPaint* m_paint;
48
49 static const float SCALE = 0.1;
50};
51
Grace Klobafbe47c02009-05-14 17:31:45 -070052#endif // pluginGraphics__DEFINED