47 NPP_GetMIMEDescription(
void)
49 static char mime_types[] =
50 "x-world/x-vrml:wrl:FreeWRL VRML Browser;"
51 "model/vrml:wrl:FreeWRL VRML Browser;"
52 "model/x3d:x3d:FreeWRL X3D Browser;"
53 "model/x3d+xml:x3d:FreeWRL X3D Browser;"
54 "model/x3d+vrml:x3dv:FreeWRL X3D Browser;"
55 "model/x3d+binary:x3db:FreeWRL X3D Browser"
62 NPError NPP_Initialize(
void)
64 return NPERR_NO_ERROR;
67 void NPP_Shutdown(
void)
74 NPError NPP_New(NPMIMEType pluginType,
83 return NPERR_INVALID_INSTANCE_ERROR;
85 NPError rv = NPERR_NO_ERROR;
88 ::MessageBoxA(NULL,
"You may now attach a debugger.\n Press OK when you want to proceed.",
"np_freeWRL plugin process(1)",MB_OK);
93 return NPERR_OUT_OF_MEMORY_ERROR;
95 instance->pdata = (
void *)pPlugin;
99 for(i = 0; i < argc ; i++)
105 if(!_stricmp(argn[i],
"target") || !_stricmp(argn[i],
"src"))
107 pPlugin->setSceneUrl(argv[i]);
110 if(!_stricmp(argn[i],
"eai"))
112 pPlugin->setEAIFlag();
122 return NPERR_INVALID_INSTANCE_ERROR;
124 NPError rv = NPERR_NO_ERROR;
127 if(pPlugin != NULL) {
137 NPError NPP_SetWindow (
NPP instance,
NPWindow* pNPWindow)
140 return NPERR_INVALID_INSTANCE_ERROR;
142 NPError rv = NPERR_NO_ERROR;
144 if(pNPWindow == NULL)
145 return NPERR_GENERIC_ERROR;
150 return NPERR_GENERIC_ERROR;
153 if(!pPlugin->isInitialized() && (pNPWindow->window != NULL)) {
154 if(!pPlugin->init(pNPWindow)) {
157 return NPERR_MODULE_LOAD_FAILED_ERROR;
162 if((pNPWindow->window == NULL) && pPlugin->isInitialized())
163 return NPERR_NO_ERROR;
166 if(pPlugin->isInitialized() && (pNPWindow->window != NULL))
167 return NPERR_NO_ERROR;
170 if((pNPWindow->window == NULL) && !pPlugin->isInitialized())
171 return NPERR_NO_ERROR;
183 NPError NPP_GetValue(
NPP instance, NPPVariable variable,
void *value)
186 return NPERR_INVALID_INSTANCE_ERROR;
188 NPError rv = NPERR_NO_ERROR;
191 return NPERR_GENERIC_ERROR;
195 return NPERR_GENERIC_ERROR;
198 case NPPVpluginNameString:
199 *((
char **)value) =
"NPRuntimeTest";
201 case NPPVpluginDescriptionString:
202 *((
char **)value) =
"NPRuntime scriptability API test plugin";
204 case NPPVpluginScriptableNPObject:
205 *(
NPObject **)value = plugin->GetScriptableObject();
208 rv = NPERR_GENERIC_ERROR;
214 NPError NPP_NewStream(
NPP instance,
225 return NPERR_INVALID_INSTANCE_ERROR;
229 NPError rv = NPERR_NO_ERROR;
233 int32_t NPP_WriteReady (
NPP instance,
NPStream *stream)
236 return NPERR_INVALID_INSTANCE_ERROR;
238 int32_t rv = 0x0fffffff;
242 int32_t NPP_Write (
NPP instance,
NPStream *stream, int32_t offset, int32_t len,
void *buffer)
245 return NPERR_INVALID_INSTANCE_ERROR;
251 NPError NPP_DestroyStream (
NPP instance,
NPStream *stream, NPError reason)
254 return NPERR_INVALID_INSTANCE_ERROR;
256 NPError rv = NPERR_NO_ERROR;
260 void NPP_StreamAsFile (
NPP instance,
NPStream* stream,
const char* fname)
266 void NPP_Print (
NPP instance,
NPPrint* printInfo)
272 void NPP_URLNotify(
NPP instance,
const char* url, NPReason reason,
void* notifyData)
278 NPError NPP_SetValue(
NPP instance, NPNVariable variable,
void *value)
281 return NPERR_INVALID_INSTANCE_ERROR;
283 NPError rv = NPERR_NO_ERROR;
287 int16_t NPP_HandleEvent(
NPP instance,
void* event)
295 rv = pPlugin->handleEvent(event);
308 npobj = pPlugin->GetScriptableObject();