updating sample plugins to support fixed surface dimensions.
This commit is contained in:
@@ -35,6 +35,16 @@
|
|||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "PluginObject.h"
|
#include "PluginObject.h"
|
||||||
|
|
||||||
|
int SubPlugin::getPluginWidth() {
|
||||||
|
PluginObject *obj = (PluginObject*) inst()->pdata;
|
||||||
|
return obj->window->width;
|
||||||
|
}
|
||||||
|
|
||||||
|
int SubPlugin::getPluginHeight() {
|
||||||
|
PluginObject *obj = (PluginObject*) inst()->pdata;
|
||||||
|
return obj->window->height;
|
||||||
|
}
|
||||||
|
|
||||||
static void pluginInvalidate(NPObject *obj);
|
static void pluginInvalidate(NPObject *obj);
|
||||||
static bool pluginHasProperty(NPObject *obj, NPIdentifier name);
|
static bool pluginHasProperty(NPObject *obj, NPIdentifier name);
|
||||||
static bool pluginHasMethod(NPObject *obj, NPIdentifier name);
|
static bool pluginHasMethod(NPObject *obj, NPIdentifier name);
|
||||||
|
|||||||
@@ -44,6 +44,9 @@ public:
|
|||||||
virtual int16 handleEvent(const ANPEvent* evt) = 0;
|
virtual int16 handleEvent(const ANPEvent* evt) = 0;
|
||||||
virtual bool supportsDrawingModel(ANPDrawingModel) = 0;
|
virtual bool supportsDrawingModel(ANPDrawingModel) = 0;
|
||||||
|
|
||||||
|
int getPluginWidth();
|
||||||
|
int getPluginHeight();
|
||||||
|
|
||||||
NPP inst() const { return m_inst; }
|
NPP inst() const { return m_inst; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@@ -51,6 +51,16 @@ static void surfaceDestroyed(JNIEnv* env, jobject thiz, jint npp) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static jint getSurfaceWidth(JNIEnv* env, jobject thiz, jint npp) {
|
||||||
|
SurfaceSubPlugin* obj = getPluginObject(npp);
|
||||||
|
return obj->getPluginWidth();
|
||||||
|
}
|
||||||
|
|
||||||
|
static jint getSurfaceHeight(JNIEnv* env, jobject thiz, jint npp) {
|
||||||
|
SurfaceSubPlugin* obj = getPluginObject(npp);
|
||||||
|
return obj->getPluginHeight();
|
||||||
|
}
|
||||||
|
|
||||||
static jboolean isFixedSurface(JNIEnv* env, jobject thiz, jint npp) {
|
static jboolean isFixedSurface(JNIEnv* env, jobject thiz, jint npp) {
|
||||||
SurfaceSubPlugin* obj = getPluginObject(npp);
|
SurfaceSubPlugin* obj = getPluginObject(npp);
|
||||||
return obj->isFixedSurface();
|
return obj->isFixedSurface();
|
||||||
@@ -63,6 +73,8 @@ static JNINativeMethod gJavaSamplePluginStubMethods[] = {
|
|||||||
{ "nativeSurfaceCreated", "(ILandroid/view/View;)V", (void*) surfaceCreated },
|
{ "nativeSurfaceCreated", "(ILandroid/view/View;)V", (void*) surfaceCreated },
|
||||||
{ "nativeSurfaceChanged", "(IIII)V", (void*) surfaceChanged },
|
{ "nativeSurfaceChanged", "(IIII)V", (void*) surfaceChanged },
|
||||||
{ "nativeSurfaceDestroyed", "(I)V", (void*) surfaceDestroyed },
|
{ "nativeSurfaceDestroyed", "(I)V", (void*) surfaceDestroyed },
|
||||||
|
{ "nativeGetSurfaceWidth", "(I)I", (void*) getSurfaceWidth },
|
||||||
|
{ "nativeGetSurfaceHeight", "(I)I", (void*) getSurfaceHeight },
|
||||||
{ "nativeIsFixedSurface", "(I)Z", (void*) isFixedSurface },
|
{ "nativeIsFixedSurface", "(I)Z", (void*) isFixedSurface },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -63,10 +63,12 @@ public class SamplePluginStub implements PluginStub {
|
|||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// TODO provide way for native plugin code to reset the size
|
||||||
if (nativeIsFixedSurface(npp)) {
|
if (nativeIsFixedSurface(npp)) {
|
||||||
//TODO get the fixed dimensions from the plugin
|
int width = nativeGetSurfaceWidth(npp);
|
||||||
//view.getHolder().setFixedSize(width, height);
|
int height = nativeGetSurfaceHeight(npp);
|
||||||
|
view.getHolder().setFixedSize(width, height);
|
||||||
}
|
}
|
||||||
|
|
||||||
return view;
|
return view;
|
||||||
@@ -114,5 +116,7 @@ public class SamplePluginStub implements PluginStub {
|
|||||||
private native void nativeSurfaceCreated(int npp, View surfaceView);
|
private native void nativeSurfaceCreated(int npp, View surfaceView);
|
||||||
private native void nativeSurfaceChanged(int npp, int format, int width, int height);
|
private native void nativeSurfaceChanged(int npp, int format, int width, int height);
|
||||||
private native void nativeSurfaceDestroyed(int npp);
|
private native void nativeSurfaceDestroyed(int npp);
|
||||||
|
private native int nativeGetSurfaceWidth(int npp);
|
||||||
|
private native int nativeGetSurfaceHeight(int npp);
|
||||||
private native boolean nativeIsFixedSurface(int npp);
|
private native boolean nativeIsFixedSurface(int npp);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user