Changes

Jump to: navigation, search

Platform/GFX/APZ

765 bytes added, 18:09, 4 November 2013
AsyncPanZoomControllers
The APZCs are arranged in a tree whose structure reflects the structure of the layer tree containing the layers that they correspond to, except that the APZC tree only has nodes for scrollable layers, while the layer tree has nodes for all layers. The APZC tree is managed by a class called [https://mxr.mozilla.org/mozilla-central/source/gfx/layers/composite/APZCTreeManager.h APZCTreeManager]. The APZCTreeManager is the interface through which the outside world interacts with the APZ module - there is no access to the APZCs directly, but the APZCTreeManage provides methods that operate on a specific APZC in the tree.
These methods identify an APZC using three integer identifiers, grouped in a structure called '''ScrollableLayerGuid'''. The three identifiers are:
# A '''layers id''', which identifies the layer tree that the scrollable layer belongs to. Layers ids are usually maintained by the widget code (e.g. RenderFrameParent::mLayersId, MetroWidget::mRootLayerTreeId).
# A '''pres shell id''', which is a temporal identifier that correponds to the document that contains the scrollable layer, which may change over time. The pres shell id can be obtained using nsIDOMWindowUtils::GetPresShellId().
# A '''scroll id''', which identifies the actual scroll frame. The scroll id is called a '''view id''' in Gecko code, and can be obtained using nsIDOMWindowUtils::GetViewId().
== Interactions with other components ==
Confirm
85
edits

Navigation menu