Updating the sample plugin with performance optimizations and better audio support.
diff --git a/samples/BrowserPlugin/jni/audio/AudioPlugin.h b/samples/BrowserPlugin/jni/audio/AudioPlugin.h
index c357fd5..2291f0f 100644
--- a/samples/BrowserPlugin/jni/audio/AudioPlugin.h
+++ b/samples/BrowserPlugin/jni/audio/AudioPlugin.h
@@ -24,15 +24,24 @@
*/
#include "PluginObject.h"
-#include "android_npapi.h"
+#include <stdio.h>
#ifndef audioPlugin__DEFINED
#define audioPlugin__DEFINED
+struct SoundPlay {
+ NPP instance;
+ ANPAudioTrack* track;
+ FILE* file;
+ int fileSize;
+ int progress; // value between 0 and 100
+};
+
class AudioPlugin : public SubPlugin {
public:
AudioPlugin(NPP inst);
virtual ~AudioPlugin();
+ virtual bool supportsDrawingModel(ANPDrawingModel);
virtual void draw(ANPCanvas*);
virtual int16 handleEvent(const ANPEvent* evt);
private:
@@ -46,15 +55,21 @@
ANPPaint* m_paintRect;
ANPPaint* m_paintText;
- ANPAudioTrack* m_track;
+ ANPPaint* m_paintTrackProgress;
+ ANPPaint* m_paintActiveRect;
+
+ SoundPlay* m_soundPlay;
bool m_activeTouch;
+ ANPRectF* m_activeTouchRect;
ANPRectF* m_activeRect;
+ ANPPaint* getPaint(ANPRectF*);
ANPRectF* validTouch(int x, int y);
void handleTouch(int x, int y);
void invalActiveRect();
+
};
#endif // audioPlugin__DEFINED