NPAPI:InvalidatingCoreAnimation: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Created page with '= Status = Under consideration. == Contributors == * Last modified: May 7, 2010 * Authors: Josh Aas (Mozilla Corporation) * Contributors: Benoit Girard (Mozilla Corporation), …')
 
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Status =
= Status =


Under consideration.
Accepted, ready for implementation.


== Contributors ==
== Contributors ==
Line 11: Line 11:
== Overview ==
== Overview ==


The regular Core Animation drawing model (NPDrawingModelCoreAnimation) does not work well for browser that don't hook CA layers into a layer tree. Browsers that want to read and composite data need a way to know when a plugin's pixels should be updated in order to operate efficiently. Core Animation does not allow for this.
The regular Core Animation drawing model (NPDrawingModelCoreAnimation) does not work well for browser that don't hook CA layers into a layer tree. Browsers that want to read and composite pixels need a way to know when a plugin's pixels should be updated in order to operate efficiently. Core Animation does not allow for this.


== Negotiating Invalidating Core Animation ==
== Negotiating Invalidating Core Animation ==
Line 22: Line 22:
== Drawing ==
== Drawing ==


The Invalidating Core Animation model works much like the regular Core Animation model does. See [[Plugins:CoreAnimationDrawingModel|the regular Core Animation documentation]], which will not be duplicated here. The only difference is that when a plugin wants to draw it needs to call NPN_Invalidate and draw during the subsequent paint event.
The Invalidating Core Animation model works much like the regular Core Animation model does. See [[NPAPI:CoreAnimationDrawingModel|the regular Core Animation documentation]], which will not be duplicated here. The only difference is that when a plugin has updated its layer it must call NPN_InvalidateRect to let the browser know.

Latest revision as of 03:08, 7 December 2010

Status

Accepted, ready for implementation.

Contributors

  • Last modified: May 7, 2010
  • Authors: Josh Aas (Mozilla Corporation)
  • Contributors: Benoit Girard (Mozilla Corporation), Stuart Morgan (Google)

Overview

The regular Core Animation drawing model (NPDrawingModelCoreAnimation) does not work well for browser that don't hook CA layers into a layer tree. Browsers that want to read and composite pixels need a way to know when a plugin's pixels should be updated in order to operate efficiently. Core Animation does not allow for this.

Negotiating Invalidating Core Animation

For documentation on negotiating drawing models, see NPAPI:Models. The drawing model variables for Invalidating Core Animation are:

  • NPDrawingModelInvalidatingCoreAnimation (NPDrawingModel = 4)
  • NPNVsupportsInvalidatingCoreAnimationBool (NPNVariable = 2004)

Drawing

The Invalidating Core Animation model works much like the regular Core Animation model does. See the regular Core Animation documentation, which will not be duplicated here. The only difference is that when a plugin has updated its layer it must call NPN_InvalidateRect to let the browser know.