Confirmed users
85
edits
(Created page with "== Introduction == The '''Async Pan/Zoom module (APZ)''' (formerly called "Async Pan/Zoom Controller" or "APZC") is a platform component that allows panning and zooming to be...") |
No edit summary |
||
Line 6: | Line 6: | ||
For '''panning''', this means that the APZ asks Gecko to render a portion of a scrollable layer, called the "display port", that's larger than the visible portion. It then reacts to a pan gesture immediately, asking the compositor to render a different portion of the displayport (or, if the displayport is not large enough to cover the new visible region, then nothing in the portions it doesn't cover), and meanwhile sends a request to Gecko to render a new displayport. (The displayport can also be used when zooming out causes more content of a scrollable layer to be shown than before.) | For '''panning''', this means that the APZ asks Gecko to render a portion of a scrollable layer, called the "display port", that's larger than the visible portion. It then reacts to a pan gesture immediately, asking the compositor to render a different portion of the displayport (or, if the displayport is not large enough to cover the new visible region, then nothing in the portions it doesn't cover), and meanwhile sends a request to Gecko to render a new displayport. (The displayport can also be used when zooming out causes more content of a scrollable layer to be shown than before.) | ||
== Supported Platforms == | |||
The APZ module is currently enabled on B2G and Metro. Fennec has a Java implementation of asynchronous panning and zooming, but the plan is to port Fennec to use the APZ module as well. | |||
The APZ module relies on [[Platform/GFX/OffMainThreadCompositing|OMTC]], so a prerequisite for porting it to a platform is for OMTC to work on that platform. | |||
== AsyncPanZoomControllers == | |||
Inside the APZ module, every scrollable layer has an AsyncPanZoomController (APZC). Scrollable layers roughly correspond to the root document, documents in iframes, and overflow:scroll divs. See [[Platform/GFX/OffMainThreadCompositing|OMTC]] for more information about layers. | |||
== Main APZ projects on the horizon == | == Main APZ projects on the horizon == |