1df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger/*
2df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger * Copyright 2009, The Android Open Source Project
3df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger *
4df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger * Redistribution and use in source and binary forms, with or without
5df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger * modification, are permitted provided that the following conditions
6df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger * are met:
7df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger *  * Redistributions of source code must retain the above copyright
8df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger *    notice, this list of conditions and the following disclaimer.
9df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger *  * Redistributions in binary form must reproduce the above copyright
10df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger *    notice, this list of conditions and the following disclaimer in the
11df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger *    documentation and/or other materials provided with the distribution.
12df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger *
13df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
14df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
17df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger */
25df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger
26df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger#include "PluginObject.h"
27df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger
28df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger#ifndef eventPlugin__DEFINED
29df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger#define eventPlugin__DEFINED
30df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger
31df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenbergerclass EventPlugin : public SubPlugin {
32df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenbergerpublic:
33df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger    EventPlugin(NPP inst);
34df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger    virtual ~EventPlugin();
35ccee91085913ccb486b063616afae13b53b2e92bBen Murdoch    virtual int16_t handleEvent(const ANPEvent* evt);
36df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger
37df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenbergerprivate:
380b3a5d65247be1fb79d66af534fa78a94743864fDerek Sollenberger    void drawPlugin(const ANPBitmap& bitmap, const ANPRectI& clip);
39df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger    void printToDiv(const char* text, int length);
40df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger};
41df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger
42df8a3f31d871db25e952972c2eb346a71186e9e3Derek Sollenberger#endif // eventPlugin__DEFINED
43