Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/browser-plugin
diff options
context:
space:
mode:
Diffstat (limited to 'browser-plugin')
-rw-r--r--browser-plugin/glue.cpp295
-rw-r--r--browser-plugin/plugin.cpp177
-rw-r--r--browser-plugin/plugin.h50
-rw-r--r--browser-plugin/scriptable.cpp141
-rw-r--r--browser-plugin/scriptable.h165
5 files changed, 417 insertions, 411 deletions
diff --git a/browser-plugin/glue.cpp b/browser-plugin/glue.cpp
index f7df522..6028f70 100644
--- a/browser-plugin/glue.cpp
+++ b/browser-plugin/glue.cpp
@@ -1,3 +1,4 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8; c-indent-level: 8 -*- */
/* this file is part of evince, a gnome document viewer
*
* Copyright (C) 2009 litl, LLC
@@ -36,80 +37,81 @@ NPNetscapeFuncs NPNFuncs;
char *
NP_GetMIMEDescription (void)
{
- ev_init ();
+ ev_init ();
- GString *desc = g_string_new (NULL);
+ GString *desc = g_string_new (NULL);
GList *all_types = ev_backends_manager_get_all_types_info ();
- for (GList *l = all_types; l; l = g_list_next (l)){
- EvTypeInfo *info = (EvTypeInfo *)l->data;
- const char *mime;
- int i = 0;
+ for (GList *l = all_types; l; l = g_list_next (l)){
+ EvTypeInfo *info = (EvTypeInfo *)l->data;
+ const char *mime;
+ int i = 0;
while ((mime = info->mime_types[i++])) {
- g_string_append_printf (desc, "%s:%s:;", mime, info->desc);
+ g_string_append_printf (desc, "%s:%s:;",
+ mime, info->desc);
}
}
- return g_string_free (desc, FALSE);
+ return g_string_free (desc, FALSE);
}
NPError
NP_Initialize (NPNetscapeFuncs *aNPNFuncs, NPPluginFuncs *aNPPFuncs)
{
- /* We need to force libevview to stay in memory because unloading breaks
- gobject type registration and possibly other things. */
- void *handle;
- handle = dlopen ("libevview.so.1.0.0", RTLD_NOW | RTLD_NODELETE);
- if (!handle) {
- return NPERR_MODULE_LOAD_FAILED_ERROR;
- }
- dlclose (handle);
-
- ev_init ();
-
- if (aNPNFuncs == NULL || aNPPFuncs == NULL) {
- return NPERR_INVALID_FUNCTABLE_ERROR;
- }
-
- if ((aNPNFuncs->version >> 8) > NP_VERSION_MAJOR) {
- return NPERR_INCOMPATIBLE_VERSION_ERROR;
- }
-
- if (aNPNFuncs->size < sizeof (NPNetscapeFuncs)) {
- return NPERR_INVALID_FUNCTABLE_ERROR;
- }
-
- if (aNPPFuncs->size < sizeof (NPPluginFuncs)) {
- return NPERR_INVALID_FUNCTABLE_ERROR;
- }
-
- memcpy (&NPNFuncs, aNPNFuncs, sizeof (NPNetscapeFuncs));
- NPNFuncs.size = sizeof (NPNetscapeFuncs);
-
- aNPPFuncs->size = sizeof (NPPluginFuncs);
- aNPPFuncs->version = (NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR;
- aNPPFuncs->newp = NewNPP_NewProc (NPP_New);
- aNPPFuncs->getvalue = NewNPP_GetValueProc (NPP_GetValue);
- aNPPFuncs->setvalue = NewNPP_SetValueProc (NPP_SetValue);
- aNPPFuncs->setwindow = NewNPP_SetWindowProc (NPP_SetWindow);
- aNPPFuncs->destroy = NewNPP_DestroyProc (NPP_Destroy);
- aNPPFuncs->newstream = NewNPP_NewStreamProc (NPP_NewStream);
- aNPPFuncs->destroystream = NewNPP_DestroyStreamProc (NPP_DestroyStream);
- aNPPFuncs->asfile = NewNPP_StreamAsFileProc (NPP_StreamAsFile);
- aNPPFuncs->writeready = NewNPP_WriteReadyProc (NPP_WriteReady);
- aNPPFuncs->write = NewNPP_WriteProc (NPP_Write);
- aNPPFuncs->print = NewNPP_PrintProc (NPP_Print);
- aNPPFuncs->event = NewNPP_HandleEventProc (NPP_HandleEvent);
- aNPPFuncs->urlnotify = NewNPP_URLNotifyProc (NPP_URLNotify);
-
- return NPERR_NO_ERROR;
+ /* We need to force libevview to stay in memory because unloading
+ breaks gobject type registration and possibly other things. */
+ void *handle;
+ handle = dlopen ("libevview.so.1.0.0", RTLD_NOW | RTLD_NODELETE);
+ if (!handle) {
+ return NPERR_MODULE_LOAD_FAILED_ERROR;
+ }
+ dlclose (handle);
+
+ ev_init ();
+
+ if (aNPNFuncs == NULL || aNPPFuncs == NULL) {
+ return NPERR_INVALID_FUNCTABLE_ERROR;
+ }
+
+ if ((aNPNFuncs->version >> 8) > NP_VERSION_MAJOR) {
+ return NPERR_INCOMPATIBLE_VERSION_ERROR;
+ }
+
+ if (aNPNFuncs->size < sizeof (NPNetscapeFuncs)) {
+ return NPERR_INVALID_FUNCTABLE_ERROR;
+ }
+
+ if (aNPPFuncs->size < sizeof (NPPluginFuncs)) {
+ return NPERR_INVALID_FUNCTABLE_ERROR;
+ }
+
+ memcpy (&NPNFuncs, aNPNFuncs, sizeof (NPNetscapeFuncs));
+ NPNFuncs.size = sizeof (NPNetscapeFuncs);
+
+ aNPPFuncs->size = sizeof (NPPluginFuncs);
+ aNPPFuncs->version = (NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR;
+ aNPPFuncs->newp = NewNPP_NewProc (NPP_New);
+ aNPPFuncs->getvalue = NewNPP_GetValueProc (NPP_GetValue);
+ aNPPFuncs->setvalue = NewNPP_SetValueProc (NPP_SetValue);
+ aNPPFuncs->setwindow = NewNPP_SetWindowProc (NPP_SetWindow);
+ aNPPFuncs->destroy = NewNPP_DestroyProc (NPP_Destroy);
+ aNPPFuncs->newstream = NewNPP_NewStreamProc (NPP_NewStream);
+ aNPPFuncs->destroystream = NewNPP_DestroyStreamProc (NPP_DestroyStream);
+ aNPPFuncs->asfile = NewNPP_StreamAsFileProc (NPP_StreamAsFile);
+ aNPPFuncs->writeready = NewNPP_WriteReadyProc (NPP_WriteReady);
+ aNPPFuncs->write = NewNPP_WriteProc (NPP_Write);
+ aNPPFuncs->print = NewNPP_PrintProc (NPP_Print);
+ aNPPFuncs->event = NewNPP_HandleEventProc (NPP_HandleEvent);
+ aNPPFuncs->urlnotify = NewNPP_URLNotifyProc (NPP_URLNotify);
+
+ return NPERR_NO_ERROR;
}
NPError
NP_Shutdown (void)
{
- return NPERR_NO_ERROR;
+ return NPERR_NO_ERROR;
}
NPError
@@ -117,33 +119,33 @@ NPP_NewStream (NPP instance, NPMIMEType type,
NPStream* stream, NPBool seekable,
uint16* stype)
{
- *stype = NP_ASFILEONLY;
+ *stype = NP_ASFILEONLY;
- return NPERR_NO_ERROR;
+ return NPERR_NO_ERROR;
}
NPError
NPP_DestroyStream (NPP instance, NPStream* stream, NPReason reason)
{
- return NPERR_NO_ERROR;
+ return NPERR_NO_ERROR;
}
int32
NPP_WriteReady (NPP instance, NPStream* stream)
{
- return -1;
+ return -1;
}
int32 NPP_Write (NPP instance, NPStream* stream,
int32 offset, int32 len, void* buffer)
{
- return -1;
+ return -1;
}
void NPP_StreamAsFile (NPP instance, NPStream* stream, const char* fname)
{
- Plugin *plugin = reinterpret_cast<Plugin*> (instance->pdata);
- plugin->Load (fname);
+ Plugin *plugin = reinterpret_cast<Plugin*> (instance->pdata);
+ plugin->Load (fname);
}
void NPP_Print (NPP instance, NPPrint* platformPrint)
@@ -152,7 +154,7 @@ void NPP_Print (NPP instance, NPPrint* platformPrint)
int16 NPP_HandleEvent (NPP instance, void* event)
{
- return FALSE;
+ return FALSE;
}
void
@@ -162,7 +164,7 @@ NPP_URLNotify (NPP instance, const char* url, NPReason reason, void* notifyData)
NPError NPP_SetValue (NPP instance, NPNVariable variable, void *value)
{
- return NPERR_NO_ERROR;
+ return NPERR_NO_ERROR;
}
NPError
@@ -174,304 +176,305 @@ NPP_New (NPMIMEType mimetype,
char *argv[],
NPSavedData *savedData)
{
- Plugin *plugin = new Plugin (instance);
- instance->pdata = reinterpret_cast<void*> (plugin);
+ Plugin *plugin = new Plugin (instance);
+ instance->pdata = reinterpret_cast<void*> (plugin);
- return NPERR_NO_ERROR;
+ return NPERR_NO_ERROR;
}
NPError
NPP_Destroy (NPP instance, NPSavedData** save)
{
- Plugin *plugin = reinterpret_cast<Plugin*> (instance->pdata);
+ Plugin *plugin = reinterpret_cast<Plugin*> (instance->pdata);
- delete plugin;
+ delete plugin;
- return NPERR_NO_ERROR;
+ return NPERR_NO_ERROR;
}
NPError
NPP_GetValue(NPP instance, NPPVariable variable, void *value)
{
- NPError err = NPERR_NO_ERROR;
- Plugin *plugin = reinterpret_cast<Plugin*> (instance->pdata);
+ NPError err = NPERR_NO_ERROR;
+ Plugin *plugin = reinterpret_cast<Plugin*> (instance->pdata);
- switch (variable) {
- case NPPVpluginNeedsXEmbed:
- *(PRBool *)value = PR_TRUE;
- break;
- case NPPVpluginScriptableNPObject:
- *(NPObject **)value = plugin->GetScriptableNPObject ();
- break;
+ switch (variable) {
+ case NPPVpluginNeedsXEmbed:
+ *(PRBool *)value = PR_TRUE;
+ break;
+ case NPPVpluginScriptableNPObject:
+ *(NPObject **)value = plugin->GetScriptableNPObject ();
+ break;
- default:
- err = NPERR_GENERIC_ERROR;
- }
+ default:
+ err = NPERR_GENERIC_ERROR;
+ }
- return err;
+ return err;
}
NPError
NPP_SetWindow (NPP instance, NPWindow *window)
{
- Plugin *plugin = reinterpret_cast<Plugin*> (instance->pdata);
- plugin->SetWindow ((GdkNativeWindow)window->window);
+ Plugin *plugin = reinterpret_cast<Plugin*> (instance->pdata);
+ plugin->SetWindow ((GdkNativeWindow)window->window);
- return NPERR_NO_ERROR;
+ return NPERR_NO_ERROR;
}
void NPN_Version (int *plugin_major, int *plugin_minor, int *netscape_major,
int *netscape_minor)
{
- *plugin_major = NP_VERSION_MAJOR;
- *plugin_minor = NP_VERSION_MINOR;
- *netscape_major = HIBYTE (NPNFuncs.version);
- *netscape_minor = LOBYTE (NPNFuncs.version);
+ *plugin_major = NP_VERSION_MAJOR;
+ *plugin_minor = NP_VERSION_MINOR;
+ *netscape_major = HIBYTE (NPNFuncs.version);
+ *netscape_minor = LOBYTE (NPNFuncs.version);
}
NPError NPN_GetURLNotify (NPP instance, const char *url,
const char *target, void *notifyData)
{
- return NPNFuncs.geturlnotify (instance, url, target, notifyData);
+ return NPNFuncs.geturlnotify (instance, url, target, notifyData);
}
NPError NPN_GetURL (NPP instance, const char *url, const char *target)
{
- return NPNFuncs.geturl (instance, url, target);
+ return NPNFuncs.geturl (instance, url, target);
}
NPError NPN_PostURLNotify (NPP instance, const char *url, const char *window,
uint32_t len, const char *buf, NPBool file,
void *notifyData)
{
- return NPNFuncs.posturlnotify (instance, url, window,
- len, buf, file, notifyData);
+ return NPNFuncs.posturlnotify (instance, url, window,
+ len, buf, file, notifyData);
}
NPError NPN_PostURL (NPP instance, const char *url, const char *window,
uint32_t len, const char *buf, NPBool file)
{
- return NPNFuncs.posturl (instance, url, window, len, buf, file);
+ return NPNFuncs.posturl (instance, url, window, len, buf, file);
}
NPError NPN_RequestRead (NPStream* stream, NPByteRange* rangeList)
{
- return NPNFuncs.requestread (stream, rangeList);
+ return NPNFuncs.requestread (stream, rangeList);
}
NPError NPN_NewStream (NPP instance, NPMIMEType type,
const char *target, NPStream **stream)
{
- return NPNFuncs.newstream (instance, type, target, stream);
+ return NPNFuncs.newstream (instance, type, target, stream);
}
int32_t NPN_Write (NPP instance, NPStream *stream, int32_t len, void *buffer)
{
- return NPNFuncs.write (instance, stream, len, buffer);
+ return NPNFuncs.write (instance, stream, len, buffer);
}
NPError NPN_DestroyStream (NPP instance, NPStream* stream, NPError reason)
{
- return NPNFuncs.destroystream (instance, stream, reason);
+ return NPNFuncs.destroystream (instance, stream, reason);
}
void NPN_Status (NPP instance, const char *message)
{
- NPNFuncs.status (instance, message);
+ NPNFuncs.status (instance, message);
}
const char* NPN_UserAgent(NPP instance)
{
- return NPNFuncs.uagent (instance);
+ return NPNFuncs.uagent (instance);
}
void* NPN_MemAlloc (uint32 size)
{
- return NPNFuncs.memalloc (size);
+ return NPNFuncs.memalloc (size);
}
void NPN_MemFree (void* ptr)
{
- /* Make it null-safe */
- if (!ptr)
- return;
+ /* Make it null-safe */
+ if (!ptr) {
+ return;
+ }
- NPNFuncs.memfree (ptr);
+ NPNFuncs.memfree (ptr);
}
uint32_t NPN_MemFlush (uint32_t size)
{
- return NPNFuncs.memflush (size);
+ return NPNFuncs.memflush (size);
}
void NPN_ReloadPlugins (NPBool reloadPages)
{
- NPNFuncs.reloadplugins (reloadPages);
+ NPNFuncs.reloadplugins (reloadPages);
}
JRIEnv* NPN_GetJavaEnv (void)
{
- return NPNFuncs.getJavaEnv ();
+ return NPNFuncs.getJavaEnv ();
}
jref NPN_GetJavaPeer (NPP instance)
{
- return NPNFuncs.getJavaPeer (instance);
+ return NPNFuncs.getJavaPeer (instance);
}
NPError NPN_GetValue (NPP instance, NPNVariable variable, void *value)
{
- return NPNFuncs.getvalue (instance, variable, value);
+ return NPNFuncs.getvalue (instance, variable, value);
}
NPError NPN_SetValue (NPP instance, NPPVariable variable, void *value)
{
- return NPNFuncs.setvalue (instance, variable, value);
+ return NPNFuncs.setvalue (instance, variable, value);
}
void NPN_InvalidateRect (NPP instance, NPRect *invalidRect)
{
- NPNFuncs.invalidaterect (instance, invalidRect);
+ NPNFuncs.invalidaterect (instance, invalidRect);
}
void NPN_InvalidateRegion (NPP instance, NPRegion invalidRegion)
{
- NPNFuncs.invalidateregion (instance, invalidRegion);
+ NPNFuncs.invalidateregion (instance, invalidRegion);
}
void NPN_ForceRedraw (NPP instance)
{
- NPNFuncs.forceredraw (instance);
+ NPNFuncs.forceredraw (instance);
}
NPIdentifier NPN_GetStringIdentifier (const NPUTF8 *name)
{
- return NPNFuncs.getstringidentifier (name);
+ return NPNFuncs.getstringidentifier (name);
}
void NPN_GetStringIdentifiers (const NPUTF8 **names, int32_t nameCount,
NPIdentifier *identifiers)
{
- return NPNFuncs.getstringidentifiers (names, nameCount, identifiers);
+ return NPNFuncs.getstringidentifiers (names, nameCount, identifiers);
}
NPIdentifier NPN_GetStringIdentifier (int32_t intid)
{
- return NPNFuncs.getintidentifier (intid);
+ return NPNFuncs.getintidentifier (intid);
}
bool NPN_IdentifierIsString (NPIdentifier identifier)
{
- return NPNFuncs.identifierisstring (identifier);
+ return NPNFuncs.identifierisstring (identifier);
}
NPUTF8 *NPN_UTF8FromIdentifier (NPIdentifier identifier)
{
- return NPNFuncs.utf8fromidentifier (identifier);
+ return NPNFuncs.utf8fromidentifier (identifier);
}
int32_t NPN_IntFromIdentifier (NPIdentifier identifier)
{
- return NPNFuncs.intfromidentifier (identifier);
+ return NPNFuncs.intfromidentifier (identifier);
}
NPObject *NPN_CreateObject (NPP npp, NPClass *aClass)
{
- return NPNFuncs.createobject (npp, aClass);
+ return NPNFuncs.createobject (npp, aClass);
}
NPObject *NPN_RetainObject (NPObject *obj)
{
- return NPNFuncs.retainobject (obj);
+ return NPNFuncs.retainobject (obj);
}
void NPN_ReleaseObject(NPObject *obj)
{
- return NPNFuncs.releaseobject (obj);
+ return NPNFuncs.releaseobject (obj);
}
bool NPN_Invoke (NPP npp, NPObject *obj, NPIdentifier methodName,
const NPVariant *args, uint32_t argCount, NPVariant *result)
{
- return NPNFuncs.invoke (npp, obj, methodName, args, argCount, result);
+ return NPNFuncs.invoke (npp, obj, methodName, args, argCount, result);
}
bool NPN_InvokeDefault (NPP npp, NPObject *obj, const NPVariant *args,
uint32_t argCount, NPVariant *result)
{
- return NPNFuncs.invokeDefault (npp, obj, args, argCount, result);
+ return NPNFuncs.invokeDefault (npp, obj, args, argCount, result);
}
bool NPN_Evaluate (NPP npp, NPObject *obj, NPString *script,
NPVariant *result)
{
- return NPNFuncs.evaluate (npp, obj, script, result);
+ return NPNFuncs.evaluate (npp, obj, script, result);
}
bool NPN_GetProperty (NPP npp, NPObject *obj, NPIdentifier propertyName,
NPVariant *result)
{
- return NPNFuncs.getproperty (npp, obj, propertyName, result);
+ return NPNFuncs.getproperty (npp, obj, propertyName, result);
}
bool NPN_SetProperty (NPP npp, NPObject *obj, NPIdentifier propertyName,
const NPVariant *value)
{
- return NPNFuncs.setproperty (npp, obj, propertyName, value);
+ return NPNFuncs.setproperty (npp, obj, propertyName, value);
}
bool NPN_RemoveProperty (NPP npp, NPObject *obj, NPIdentifier propertyName)
{
- return NPNFuncs.removeproperty (npp, obj, propertyName);
+ return NPNFuncs.removeproperty (npp, obj, propertyName);
}
bool NPN_Enumerate (NPP npp, NPObject *obj, NPIdentifier **identifier,
uint32_t *count)
{
- return NPNFuncs.enumerate (npp, obj, identifier, count);
+ return NPNFuncs.enumerate (npp, obj, identifier, count);
}
bool NPN_Construct (NPP npp, NPObject *obj, const NPVariant *args,
uint32_t argCount, NPVariant *result)
{
- return NPNFuncs.construct (npp, obj, args, argCount, result);
+ return NPNFuncs.construct (npp, obj, args, argCount, result);
}
bool NPN_HasProperty (NPP npp, NPObject *obj, NPIdentifier propertyName)
{
- return NPNFuncs.hasproperty (npp, obj, propertyName);
+ return NPNFuncs.hasproperty (npp, obj, propertyName);
}
bool NPN_HasMethod (NPP npp, NPObject *obj, NPIdentifier methodName)
{
- return NPNFuncs.hasmethod (npp, obj, methodName);
+ return NPNFuncs.hasmethod (npp, obj, methodName);
}
void NPN_ReleaseVariantValue (NPVariant *variant)
{
- NPNFuncs.releasevariantvalue (variant);
+ NPNFuncs.releasevariantvalue (variant);
}
void NPN_SetException (NPObject *obj, const NPUTF8 *message)
{
- NPNFuncs.setexception (obj, message);
+ NPNFuncs.setexception (obj, message);
}
void* NPN_MemDup (const void *aMem, uint32 aLen)
{
- if (!aMem || !aLen) {
- return NULL;
- }
+ if (!aMem || !aLen) {
+ return NULL;
+ }
- void *dup = NPN_MemAlloc (aLen);
- if (!dup) {
- return NULL;
- }
+ void *dup = NPN_MemAlloc (aLen);
+ if (!dup) {
+ return NULL;
+ }
- return memcpy (dup, aMem, aLen);
+ return memcpy (dup, aMem, aLen);
}
char* NPN_StrDup (const char *aString)
{
- return (char *) NPN_MemDup(aString, strlen (aString) + 1);
+ return (char *) NPN_MemDup(aString, strlen (aString) + 1);
}
diff --git a/browser-plugin/plugin.cpp b/browser-plugin/plugin.cpp
index 40db488..1896420 100644
--- a/browser-plugin/plugin.cpp
+++ b/browser-plugin/plugin.cpp
@@ -1,3 +1,4 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8; c-indent-level: 8 -*- */
/* this file is part of evince, a gnome document viewer
*
* Copyright (C) 2009 litl, LLC
@@ -23,26 +24,26 @@
Plugin::Plugin (NPP instance)
{
- mInstance = instance;
- mWindow = 0;
- mScriptableObject = NULL;
+ mInstance = instance;
+ mWindow = 0;
+ mScriptableObject = NULL;
- mScrolledWindow = gtk_scrolled_window_new (NULL, NULL);
+ mScrolledWindow = gtk_scrolled_window_new (NULL, NULL);
- mView = ev_view_new ();
- g_signal_connect (G_OBJECT (mView),
- "notify::sizing-mode",
- G_CALLBACK (Plugin::SizingModeCallback),
- reinterpret_cast<void*>(this));
+ mView = ev_view_new ();
+ g_signal_connect (G_OBJECT (mView),
+ "notify::sizing-mode",
+ G_CALLBACK (Plugin::SizingModeCallback),
+ reinterpret_cast<void*>(this));
- /* FIXME should be set automatically in EvView. It seem to be currently
- used only to calculate the minimum and maximux allowed zoom level. */
- ev_view_set_screen_dpi (EV_VIEW(mView), 96);
+ /* FIXME should be set automatically in EvView. It seem to be currently
+ used only to calculate the minimum and maximux allowed zoom level. */
+ ev_view_set_screen_dpi (EV_VIEW(mView), 96);
- gtk_container_add (GTK_CONTAINER(mScrolledWindow), mView);
- gtk_widget_show (mView);
+ gtk_container_add (GTK_CONTAINER(mScrolledWindow), mView);
+ gtk_widget_show (mView);
- UpdateSizingMode ();
+ UpdateSizingMode ();
}
Plugin::~Plugin ()
@@ -52,15 +53,15 @@ Plugin::~Plugin ()
void
Plugin::ZoomIn ()
{
- ev_view_set_sizing_mode (EV_VIEW (mView), EV_SIZING_FREE);
- ev_view_zoom_in (EV_VIEW (mView));
+ ev_view_set_sizing_mode (EV_VIEW (mView), EV_SIZING_FREE);
+ ev_view_zoom_in (EV_VIEW (mView));
}
void
Plugin::ZoomOut ()
{
- ev_view_set_sizing_mode (EV_VIEW (mView), EV_SIZING_FREE);
- ev_view_zoom_out (EV_VIEW (mView));
+ ev_view_set_sizing_mode (EV_VIEW (mView), EV_SIZING_FREE);
+ ev_view_zoom_out (EV_VIEW (mView));
}
void
@@ -76,104 +77,104 @@ Plugin::FindPrevious (const char *text)
void
Plugin::SetWindow (GdkNativeWindow window)
{
- if (mWindow != 0) {
- return;
- }
+ if (mWindow != 0) {
+ return;
+ }
- mWindow = window;
+ mWindow = window;
- GtkWidget *plug = gtk_plug_new (window);
- gtk_container_add (GTK_CONTAINER (plug), mScrolledWindow);
- gtk_widget_show (mScrolledWindow);
+ GtkWidget *plug = gtk_plug_new (window);
+ gtk_container_add (GTK_CONTAINER (plug), mScrolledWindow);
+ gtk_widget_show (mScrolledWindow);
- gtk_widget_show (plug);
+ gtk_widget_show (plug);
}
void
Plugin::Load (const char *fname)
{
- GError *error = NULL;
+ GError *error = NULL;
- GFile *file = g_file_new_for_path (fname);
- char *uri = g_file_get_uri (file);
- g_object_unref (file);
+ GFile *file = g_file_new_for_path (fname);
+ char *uri = g_file_get_uri (file);
+ g_object_unref (file);
- /* FIXME display loading error in the UI */
+ /* FIXME display loading error in the UI */
- EvDocument *document = ev_document_factory_get_document (uri, &error);
- if (error) {
- g_warning ("Cannot create document for %s", uri);
- g_error_free (error);
- return;
- }
+ EvDocument *document = ev_document_factory_get_document (uri, &error);
+ if (error) {
+ g_warning ("Cannot create document for %s", uri);
+ g_error_free (error);
+ return;
+ }
- ev_view_set_document (EV_VIEW (mView), document);
+ ev_view_set_document (EV_VIEW (mView), document);
- ev_document_load (document, uri, &error);
- if (error) {
- g_warning ("Cannot load %s", uri);
- g_error_free (error);
- return;
- }
+ ev_document_load (document, uri, &error);
+ if (error) {
+ g_warning ("Cannot load %s", uri);
+ g_error_free (error);
+ return;
+ }
- g_free (uri);
+ g_free (uri);
}
NPObject *
Plugin::GetScriptableNPObject ()
{
- if (!mScriptableObject) {
- mScriptableObject = NPN_CreateObject (
- mInstance, GET_NPOBJECT_CLASS (ScriptablePluginObject));
- }
+ if (!mScriptableObject) {
+ mScriptableObject = NPN_CreateObject (
+ mInstance, GET_NPOBJECT_CLASS (ScriptablePluginObject));
+ }
- if (mScriptableObject) {
- NPN_RetainObject (mScriptableObject);
- }
+ if (mScriptableObject) {
+ NPN_RetainObject (mScriptableObject);
+ }
- return mScriptableObject;
+ return mScriptableObject;
}
void
Plugin::UpdateSizingMode ()
{
- EvSizingMode sizingMode;
-
- g_signal_handlers_disconnect_by_func (
- mView, (gpointer)ev_view_update_view_size, mScrolledWindow);
-
- g_object_get (G_OBJECT (mView),
- "sizing-mode", &sizingMode,
- NULL);
-
- if (sizingMode != EV_SIZING_FREE)
- ev_view_update_view_size (EV_VIEW (mView),
- GTK_SCROLLED_WINDOW (mScrolledWindow));
-
- switch (sizingMode) {
- case EV_SIZING_BEST_FIT:
- case EV_SIZING_FIT_WIDTH:
- g_object_set (G_OBJECT (mScrolledWindow),
- "hscrollbar-policy", GTK_POLICY_NEVER,
- "vscrollbar-policy", GTK_POLICY_ALWAYS,
- NULL);
- g_signal_connect (mView, "zoom_invalid",
- G_CALLBACK (ev_view_update_view_size),
- mScrolledWindow);
- break;
-
- case EV_SIZING_FREE:
- g_object_set (G_OBJECT (mScrolledWindow),
- "hscrollbar-policy", GTK_POLICY_AUTOMATIC,
- "vscrollbar-policy", GTK_POLICY_AUTOMATIC,
- NULL);
- break;
- }
+ EvSizingMode sizingMode;
+
+ g_signal_handlers_disconnect_by_func (
+ mView, (gpointer)ev_view_update_view_size, mScrolledWindow);
+
+ g_object_get (G_OBJECT (mView),
+ "sizing-mode", &sizingMode,
+ NULL);
+
+ if (sizingMode != EV_SIZING_FREE)
+ ev_view_update_view_size (EV_VIEW (mView),
+ GTK_SCROLLED_WINDOW (mScrolledWindow));
+
+ switch (sizingMode) {
+ case EV_SIZING_BEST_FIT:
+ case EV_SIZING_FIT_WIDTH:
+ g_object_set (G_OBJECT (mScrolledWindow),
+ "hscrollbar-policy", GTK_POLICY_NEVER,
+ "vscrollbar-policy", GTK_POLICY_ALWAYS,
+ NULL);
+ g_signal_connect (mView, "zoom_invalid",
+ G_CALLBACK (ev_view_update_view_size),
+ mScrolledWindow);
+ break;
+
+ case EV_SIZING_FREE:
+ g_object_set (G_OBJECT (mScrolledWindow),
+ "hscrollbar-policy", GTK_POLICY_AUTOMATIC,
+ "vscrollbar-policy", GTK_POLICY_AUTOMATIC,
+ NULL);
+ break;
+ }
}
void
Plugin::SizingModeCallback (EvView *view, GParamSpec *pspec, gpointer data)
{
- Plugin *plugin = reinterpret_cast<Plugin*> (data);
- plugin->UpdateSizingMode ();
+ Plugin *plugin = reinterpret_cast<Plugin*> (data);
+ plugin->UpdateSizingMode ();
}
diff --git a/browser-plugin/plugin.h b/browser-plugin/plugin.h
index 79cfaa3..281affd 100644
--- a/browser-plugin/plugin.h
+++ b/browser-plugin/plugin.h
@@ -1,3 +1,4 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8; c-indent-level: 8 -*- */
/* this file is part of evince, a gnome document viewer
*
* Copyright (C) 2009 litl, LLC
@@ -26,31 +27,30 @@
#include "evince-view.h"
class Plugin {
- public:
- Plugin (NPP instance);
- ~Plugin ();
-
- void SetWindow (GdkNativeWindow window);
- void Load (const char *fname);
- void ZoomIn ();
- void ZoomOut ();
- void FindNext (const char *text);
- void FindPrevious (const char *text);
- NPObject *GetScriptableNPObject ();
-
- private:
-
- void UpdateSizingMode ();
-
- static void SizingModeCallback (EvView *view,
- GParamSpec *pspec,
- gpointer data);
-
- NPP mInstance;
- NPObject *mScriptableObject;
- GdkNativeWindow mWindow;
- GtkWidget *mScrolledWindow;
- GtkWidget *mView;
+ public:
+ Plugin (NPP instance);
+ ~Plugin ();
+
+ void SetWindow (GdkNativeWindow window);
+ void Load (const char *fname);
+ void ZoomIn ();
+ void ZoomOut ();
+ void FindNext (const char *text);
+ void FindPrevious (const char *text);
+ NPObject *GetScriptableNPObject ();
+
+ private:
+ void UpdateSizingMode ();
+
+ static void SizingModeCallback (EvView *view,
+ GParamSpec *pspec,
+ gpointer data);
+
+ NPP mInstance;
+ NPObject *mScriptableObject;
+ GdkNativeWindow mWindow;
+ GtkWidget *mScrolledWindow;
+ GtkWidget *mView;
};
#endif // __PLUGIN_H__
diff --git a/browser-plugin/scriptable.cpp b/browser-plugin/scriptable.cpp
index d44a053..9ede075 100644
--- a/browser-plugin/scriptable.cpp
+++ b/browser-plugin/scriptable.cpp
@@ -1,3 +1,4 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8; c-indent-level: 8 -*- */
/* this file is part of evince, a gnome document viewer
*
* Copyright (C) 2009 litl, LLC
@@ -29,78 +30,78 @@ ScriptablePluginObjectBase::Invalidate ()
bool
ScriptablePluginObjectBase::HasMethod (NPIdentifier name)
{
- return false;
+ return false;
}
bool
ScriptablePluginObjectBase::Invoke (NPIdentifier name, const NPVariant *args,
uint32_t argCount, NPVariant *result)
{
- return false;
+ return false;
}
bool
ScriptablePluginObjectBase::InvokeDefault (const NPVariant *args,
uint32_t argCount, NPVariant *result)
{
- return false;
+ return false;
}
bool
ScriptablePluginObjectBase::HasProperty (NPIdentifier name)
{
- return false;
+ return false;
}
bool
ScriptablePluginObjectBase::GetProperty (NPIdentifier name, NPVariant *result)
{
- return false;
+ return false;
}
bool
ScriptablePluginObjectBase::SetProperty (NPIdentifier name,
const NPVariant *value)
{
- return false;
+ return false;
}
bool
ScriptablePluginObjectBase::RemoveProperty (NPIdentifier name)
{
- return false;
+ return false;
}
bool
ScriptablePluginObjectBase::Enumerate (NPIdentifier **identifier,
uint32_t *count)
{
- return false;
+ return false;
}
bool
ScriptablePluginObjectBase::Construct (const NPVariant *args, uint32_t argCount,
NPVariant *result)
{
- return false;
+ return false;
}
void
ScriptablePluginObjectBase::_Deallocate (NPObject *npobj)
{
- delete (ScriptablePluginObjectBase *)npobj;
+ delete (ScriptablePluginObjectBase *)npobj;
}
void
ScriptablePluginObjectBase::_Invalidate (NPObject *npobj)
{
- ((ScriptablePluginObjectBase *)npobj)->Invalidate ();
+ ((ScriptablePluginObjectBase *)npobj)->Invalidate ();
}
bool
ScriptablePluginObjectBase::_HasMethod (NPObject *npobj, NPIdentifier name)
{
- return ((ScriptablePluginObjectBase *)npobj)->HasMethod (name);
+ return ((ScriptablePluginObjectBase *)npobj)->HasMethod (name);
}
bool
@@ -108,8 +109,8 @@ ScriptablePluginObjectBase::_Invoke (NPObject *npobj, NPIdentifier name,
const NPVariant *args, uint32_t argCount,
NPVariant *result)
{
- return ((ScriptablePluginObjectBase *)npobj)->Invoke (
- name, args, argCount, result);
+ return ((ScriptablePluginObjectBase *)npobj)->Invoke (
+ name, args, argCount, result);
}
bool
@@ -118,34 +119,34 @@ ScriptablePluginObjectBase::_InvokeDefault (NPObject *npobj,
uint32_t argCount,
NPVariant *result)
{
- return ((ScriptablePluginObjectBase *)npobj)->InvokeDefault (
- args, argCount, result);
+ return ((ScriptablePluginObjectBase *)npobj)->InvokeDefault (
+ args, argCount, result);
}
bool
ScriptablePluginObjectBase::_HasProperty (NPObject * npobj, NPIdentifier name)
{
- return ((ScriptablePluginObjectBase *)npobj)->HasProperty (name);
+ return ((ScriptablePluginObjectBase *)npobj)->HasProperty (name);
}
bool
ScriptablePluginObjectBase::_GetProperty (NPObject *npobj, NPIdentifier name,
NPVariant *result)
{
- return ((ScriptablePluginObjectBase *)npobj)->GetProperty (name, result);
+ return ((ScriptablePluginObjectBase *)npobj)->GetProperty (name, result);
}
bool
ScriptablePluginObjectBase::_SetProperty (NPObject *npobj, NPIdentifier name,
const NPVariant *value)
{
- return ((ScriptablePluginObjectBase *)npobj)->SetProperty (name, value);
+ return ((ScriptablePluginObjectBase *)npobj)->SetProperty (name, value);
}
bool
ScriptablePluginObjectBase::_RemoveProperty (NPObject *npobj, NPIdentifier name)
{
- return ((ScriptablePluginObjectBase *)npobj)->RemoveProperty (name);
+ return ((ScriptablePluginObjectBase *)npobj)->RemoveProperty (name);
}
bool
@@ -153,110 +154,110 @@ ScriptablePluginObjectBase::_Enumerate (NPObject *npobj,
NPIdentifier **identifier,
uint32_t *count)
{
- return ((ScriptablePluginObjectBase *)npobj)->Enumerate(identifier, count);
+ return ((ScriptablePluginObjectBase *)npobj)->Enumerate(identifier, count);
}
bool
ScriptablePluginObjectBase::_Construct (NPObject *npobj, const NPVariant *args,
uint32_t argCount, NPVariant *result)
{
- return ((ScriptablePluginObjectBase *)npobj)->Construct (
- args, argCount, result);
+ return ((ScriptablePluginObjectBase *)npobj)->Construct (
+ args, argCount, result);
}
NPObject *
AllocateConstructablePluginObject (NPP npp, NPClass *aClass)
{
- return new ConstructablePluginObject (npp);
+ return new ConstructablePluginObject (npp);
}
bool
ConstructablePluginObject::Construct (const NPVariant *args, uint32_t argCount,
NPVariant *result)
{
- NPObject *myobj = NPN_CreateObject (
- mNpp, GET_NPOBJECT_CLASS (ConstructablePluginObject));
- if (!myobj) {
- return false;
- }
+ NPObject *myobj = NPN_CreateObject (
+ mNpp, GET_NPOBJECT_CLASS (ConstructablePluginObject));
+ if (!myobj) {
+ return false;
+ }
- OBJECT_TO_NPVARIANT (myobj, *result);
+ OBJECT_TO_NPVARIANT (myobj, *result);
- return true;
+ return true;
}
NPObject *
AllocateScriptablePluginObject (NPP npp, NPClass *aClass)
{
- return new ScriptablePluginObject (npp);
+ return new ScriptablePluginObject (npp);
}
ScriptablePluginObject::ScriptablePluginObject (NPP npp) :
ScriptablePluginObjectBase (npp)
{
- mZoomInID = NPN_GetStringIdentifier ("zoomIn");
- mZoomOutID = NPN_GetStringIdentifier ("zoomOut");
- mFindPreviousID = NPN_GetStringIdentifier ("findPrevious");
- mFindNextID = NPN_GetStringIdentifier ("findNext");
+ mZoomInID = NPN_GetStringIdentifier ("zoomIn");
+ mZoomOutID = NPN_GetStringIdentifier ("zoomOut");
+ mFindPreviousID = NPN_GetStringIdentifier ("findPrevious");
+ mFindNextID = NPN_GetStringIdentifier ("findNext");
}
bool
ScriptablePluginObject::HasMethod (NPIdentifier name)
{
- NPIdentifier methods[] = {
- mZoomInID,
- mZoomOutID,
- mFindPreviousID,
- mFindNextID
- };
-
- for (int i = 0; i < G_N_ELEMENTS(methods); i++) {
- if (name == methods[i]) {
- return true;
- }
- }
-
- return false;
+ NPIdentifier methods[] = {
+ mZoomInID,
+ mZoomOutID,
+ mFindPreviousID,
+ mFindNextID
+ };
+
+ for (int i = 0; i < G_N_ELEMENTS(methods); i++) {
+ if (name == methods[i]) {
+ return true;
+ }
+ }
+
+ return false;
}
bool
ScriptablePluginObject::HasProperty (NPIdentifier name)
{
- return false;
+ return false;
}
bool
ScriptablePluginObject::GetProperty (NPIdentifier name, NPVariant *result)
{
- return false;
+ return false;
}
bool
ScriptablePluginObject::Invoke (NPIdentifier name, const NPVariant *args,
uint32_t argCount, NPVariant *result)
{
- Plugin *plugin = reinterpret_cast<Plugin*> (mNpp->pdata);
-
- if (name == mZoomInID) {
- plugin->ZoomIn ();
- } else if (name == mZoomOutID) {
- plugin->ZoomOut ();
- } else if (name == mFindNextID) {
- if (argCount < 1 || !NPVARIANT_IS_STRING (args[0])) {
- return false;
- }
- plugin->FindNext (NPVARIANT_TO_STRING (args[0]).utf8characters);
- } else if (name == mFindPreviousID) {
- if (argCount < 1 || !NPVARIANT_IS_STRING (args[0])) {
- return false;
- }
- plugin->FindPrevious(NPVARIANT_TO_STRING (args[0]).utf8characters);
- }
+ Plugin *plugin = reinterpret_cast<Plugin*> (mNpp->pdata);
+
+ if (name == mZoomInID) {
+ plugin->ZoomIn ();
+ } else if (name == mZoomOutID) {
+ plugin->ZoomOut ();
+ } else if (name == mFindNextID) {
+ if (argCount < 1 || !NPVARIANT_IS_STRING (args[0])) {
+ return false;
+ }
+ plugin->FindNext (NPVARIANT_TO_STRING (args[0]).utf8characters);
+ } else if (name == mFindPreviousID) {
+ if (argCount < 1 || !NPVARIANT_IS_STRING (args[0])) {
+ return false;
+ }
+ plugin->FindPrevious(NPVARIANT_TO_STRING (args[0]).utf8characters);
+ }
}
bool
ScriptablePluginObject::InvokeDefault (const NPVariant *args, uint32_t argCount,
NPVariant *result)
{
- return false;
+ return false;
}
diff --git a/browser-plugin/scriptable.h b/browser-plugin/scriptable.h
index 325cf50..1c0203d 100644
--- a/browser-plugin/scriptable.h
+++ b/browser-plugin/scriptable.h
@@ -1,3 +1,4 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8; c-indent-level: 8 -*- */
/* this file is part of evince, a gnome document viewer
*
* Copyright (C) 2009 litl, LLC
@@ -28,106 +29,106 @@ NPObject *AllocateConstructablePluginObject (NPP npp, NPClass *aClass);
class ScriptablePluginObjectBase : public NPObject
{
- public:
- ScriptablePluginObjectBase (NPP npp) : mNpp(npp)
- {
- }
-
- virtual ~ScriptablePluginObjectBase ()
- {
- }
-
- virtual void Invalidate ();
- virtual bool HasMethod (NPIdentifier name);
- virtual bool Invoke (NPIdentifier name, const NPVariant *args,
- uint32_t argCount, NPVariant *result);
- virtual bool InvokeDefault (const NPVariant *args, uint32_t argCount,
- NPVariant *result);
- virtual bool HasProperty (NPIdentifier name);
- virtual bool GetProperty (NPIdentifier name, NPVariant *result);
- virtual bool SetProperty (NPIdentifier name, const NPVariant *value);
- virtual bool RemoveProperty (NPIdentifier name);
- virtual bool Enumerate (NPIdentifier **identifier, uint32_t *count);
- virtual bool Construct (const NPVariant *args, uint32_t argCount,
- NPVariant *result);
-
- static void _Deallocate (NPObject *npobj);
- static void _Invalidate (NPObject *npobj);
- static bool _HasMethod (NPObject *npobj, NPIdentifier name);
- static bool _Invoke (NPObject *npobj, NPIdentifier name,
- const NPVariant *args, uint32_t argCount,
- NPVariant *result);
- static bool _InvokeDefault (NPObject *npobj, const NPVariant *args,
- uint32_t argCount, NPVariant *result);
- static bool _HasProperty (NPObject * npobj, NPIdentifier name);
- static bool _GetProperty (NPObject *npobj, NPIdentifier name,
- NPVariant *result);
- static bool _SetProperty (NPObject *npobj, NPIdentifier name,
- const NPVariant *value);
- static bool _RemoveProperty (NPObject *npobj, NPIdentifier name);
- static bool _Enumerate (NPObject *npobj, NPIdentifier **identifier,
- uint32_t *count);
- static bool _Construct (NPObject *npobj, const NPVariant *args,
- uint32_t argCount, NPVariant *result);
-
- protected:
- NPP mNpp;
+ public:
+ ScriptablePluginObjectBase (NPP npp) : mNpp(npp)
+ {
+ }
+
+ virtual ~ScriptablePluginObjectBase ()
+ {
+ }
+
+ virtual void Invalidate ();
+ virtual bool HasMethod (NPIdentifier name);
+ virtual bool Invoke (NPIdentifier name, const NPVariant *args,
+ uint32_t argCount, NPVariant *result);
+ virtual bool InvokeDefault (const NPVariant *args, uint32_t argCount,
+ NPVariant *result);
+ virtual bool HasProperty (NPIdentifier name);
+ virtual bool GetProperty (NPIdentifier name, NPVariant *result);
+ virtual bool SetProperty (NPIdentifier name, const NPVariant *value);
+ virtual bool RemoveProperty (NPIdentifier name);
+ virtual bool Enumerate (NPIdentifier **identifier, uint32_t *count);
+ virtual bool Construct (const NPVariant *args, uint32_t argCount,
+ NPVariant *result);
+
+ static void _Deallocate (NPObject *npobj);
+ static void _Invalidate (NPObject *npobj);
+ static bool _HasMethod (NPObject *npobj, NPIdentifier name);
+ static bool _Invoke (NPObject *npobj, NPIdentifier name,
+ const NPVariant *args, uint32_t argCount,
+ NPVariant *result);
+ static bool _InvokeDefault (NPObject *npobj, const NPVariant *args,
+ uint32_t argCount, NPVariant *result);
+ static bool _HasProperty (NPObject * npobj, NPIdentifier name);
+ static bool _GetProperty (NPObject *npobj, NPIdentifier name,
+ NPVariant *result);
+ static bool _SetProperty (NPObject *npobj, NPIdentifier name,
+ const NPVariant *value);
+ static bool _RemoveProperty (NPObject *npobj, NPIdentifier name);
+ static bool _Enumerate (NPObject *npobj, NPIdentifier **identifier,
+ uint32_t *count);
+ static bool _Construct (NPObject *npobj, const NPVariant *args,
+ uint32_t argCount, NPVariant *result);
+
+ protected:
+ NPP mNpp;
};
class ScriptablePluginObject : public ScriptablePluginObjectBase
{
- public:
- ScriptablePluginObject (NPP npp);
+ public:
+ ScriptablePluginObject (NPP npp);
- virtual bool HasMethod (NPIdentifier name);
- virtual bool HasProperty (NPIdentifier name);
- virtual bool GetProperty (NPIdentifier name, NPVariant *result);
- virtual bool Invoke (NPIdentifier name, const NPVariant *args,
- uint32_t argCount, NPVariant *result);
- virtual bool InvokeDefault (const NPVariant *args, uint32_t argCount,
- NPVariant *result);
-
- private:
- NPIdentifier mZoomInID;
- NPIdentifier mZoomOutID;
- NPIdentifier mFindPreviousID;
- NPIdentifier mFindNextID;
+ virtual bool HasMethod (NPIdentifier name);
+ virtual bool HasProperty (NPIdentifier name);
+ virtual bool GetProperty (NPIdentifier name, NPVariant *result);
+ virtual bool Invoke (NPIdentifier name, const NPVariant *args,
+ uint32_t argCount, NPVariant *result);
+ virtual bool InvokeDefault (const NPVariant *args, uint32_t argCount,
+ NPVariant *result);
+
+ private:
+ NPIdentifier mZoomInID;
+ NPIdentifier mZoomOutID;
+ NPIdentifier mFindPreviousID;
+ NPIdentifier mFindNextID;
};
class ConstructablePluginObject : public ScriptablePluginObjectBase
{
- public:
- ConstructablePluginObject (NPP npp) : ScriptablePluginObjectBase (npp)
- {
- }
+ public:
+ ConstructablePluginObject (NPP npp) : ScriptablePluginObjectBase (npp)
+ {
+ }
- virtual bool Construct (const NPVariant *args, uint32_t argCount,
- NPVariant *result);
+ virtual bool Construct (const NPVariant *args, uint32_t argCount,
+ NPVariant *result);
};
-#define DECLARE_NPOBJECT_CLASS_WITH_BASE(_class, ctor) \
-static NPClass s##_class##_NPClass = { \
- NP_CLASS_STRUCT_VERSION_CTOR, \
- ctor, \
- ScriptablePluginObjectBase::_Deallocate, \
- ScriptablePluginObjectBase::_Invalidate, \
- ScriptablePluginObjectBase::_HasMethod, \
- ScriptablePluginObjectBase::_Invoke, \
- ScriptablePluginObjectBase::_InvokeDefault, \
- ScriptablePluginObjectBase::_HasProperty, \
- ScriptablePluginObjectBase::_GetProperty, \
- ScriptablePluginObjectBase::_SetProperty, \
- ScriptablePluginObjectBase::_RemoveProperty, \
- ScriptablePluginObjectBase::_Enumerate, \
- ScriptablePluginObjectBase::_Construct \
+#define DECLARE_NPOBJECT_CLASS_WITH_BASE(_class, ctor) \
+static NPClass s##_class##_NPClass = { \
+ NP_CLASS_STRUCT_VERSION_CTOR, \
+ ctor, \
+ ScriptablePluginObjectBase::_Deallocate, \
+ ScriptablePluginObjectBase::_Invalidate, \
+ ScriptablePluginObjectBase::_HasMethod, \
+ ScriptablePluginObjectBase::_Invoke, \
+ ScriptablePluginObjectBase::_InvokeDefault, \
+ ScriptablePluginObjectBase::_HasProperty, \
+ ScriptablePluginObjectBase::_GetProperty, \
+ ScriptablePluginObjectBase::_SetProperty, \
+ ScriptablePluginObjectBase::_RemoveProperty, \
+ ScriptablePluginObjectBase::_Enumerate, \
+ ScriptablePluginObjectBase::_Construct \
}
#define GET_NPOBJECT_CLASS(_class) &s##_class##_NPClass
DECLARE_NPOBJECT_CLASS_WITH_BASE (ScriptablePluginObject,
- AllocateScriptablePluginObject);
+ AllocateScriptablePluginObject);
DECLARE_NPOBJECT_CLASS_WITH_BASE (ConstructablePluginObject,
- AllocateConstructablePluginObject);
+ AllocateConstructablePluginObject);
#endif // __SCRIPTABLE_PLUGIN_H__