Confirmed users, Bureaucrats and Sysops emeriti
1,680
edits
(Created page with 'We are proposing a NPAPI extension which would allow a plugin to render directly into 32-bit buffer in shared memory. The new extension will be designed so that plugin explicitly…') |
No edit summary |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= Status = | |||
When new rendering mode is enabled the Xdrawable field of a standard | Accepted, ready for implementation. No NPAPI version number. | ||
XGraphicsExpose event holds a pointer to the new NPImageExpose | |||
structure which among other things contains pointer to the shared | = Problem Summary = | ||
memory buffer, its dimensions, translation and scale factors. | |||
We are proposing a NPAPI extension which would allow a plugin to render directly into 32-bit buffer in shared memory for performance reasons. | |||
= Specification = | |||
This extension is for the maemo platform only. | |||
The plugin explicitly makes requests of the user agent whether the extension is supported (with NPN_GetValue and NPNVSupportsWindowlessLocal) and then enables the new rendering mode at runtime (with NPN_SetValue and NPPVpluginWindowlessLocalBool). In this way other plugins unaware of new extension will not be disrupted. | |||
When new rendering mode is enabled the Xdrawable field of a standard XGraphicsExpose event holds a pointer to the new NPImageExpose structure which among other things contains pointer to the shared memory buffer, its dimensions, translation and scale factors. | |||
<pre> | |||
typedef struct _NPImageExpose | typedef struct _NPImageExpose | ||
Line 28: | Line 32: | ||
} NPImageExpose; | } NPImageExpose; | ||
</pre> | |||
The value of NPPVpluginWindowlessLocalBool is 2002, the value of NPNVSupportsWindowlessLocal is 2002. There is no NPAPI version assigned to this feature since it is queried for by variable and does not involve additional functions. | |||
see discussion: | Also see discussion: | ||
http://groups.google.com/group/mozilla.dev.tech.plugins/browse_thread/thread/14a7aa48294faa68/fccbdd2fa6377b98#fccbdd2fa6377b98 | http://groups.google.com/group/mozilla.dev.tech.plugins/browse_thread/thread/14a7aa48294faa68/fccbdd2fa6377b98#fccbdd2fa6377b98 |