Changes

Jump to: navigation, search

Platform/GFX/APZ

1,528 bytes added, 08:36, 22 October 2013
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..."
== 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 performed asynchronously (on the compositor thread rather than the main thead).

For '''zooming''', this means that the APZ reacts to a pinch gesture immediately and instructs the compositor to scale the already-rendered layers at whatever resolution they have been rendered (so e.g. text becomes more blurry as you zoom in), and meanwhile sends a request to Gecko to re-render the content at a new resolution (with sharp text and all).

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.)

== Main APZ projects on the horizon ==

* Make APZ work well for Metro - {{bug|886321}}
* Implement support for Fennec-like dynamic toolbar on B2G - {{bug|860812}}
* Improve hit detection for the different touch-sensitive regions - {{bug|928833}}
* Switch Fennec over from the Java version to the C++ APZ - {{bug|776030}}
Confirm
85
edits

Navigation menu