pjs/gfx
Robert O'Callahan a19da03c64 Bug 637852. Part 6: Implement resolution scaling in FrameLayerBuilder. r=tnikkel
FrameLayerBuilder::BuildContainerLayerFor takes responsibility for resolution scaling. The ContainerParameters
passed in are added to any transform requested. Then we extract the scale part of the transform, round the scale
up to the nearest power of two if the transform may be actively animated (so we don't have to redraw layer contents
constantly), pass that scale down to be applied by each child and set the residual transform on the ContainerLayer.

For child layers built via BuildLayer, we just pass the requested scale factor in via the ContainerParameters.
If the returned layer is a ContainerLayer then BuildLayer is guaranteed to have already done necessary scaling.
If the returned layer is not a ContainerLayer then we apply the scale ourselves by adding the scale to the
child layer's transform.

For child ThebesLayers containing non-layer display items, we scale the drawing of those display items so that
the child ThebesLayers are simply larger or smaller (larger or smaller visible regions).

We have to scale all visible rects, clip rects etc that are in the coordinates of ThebesLayers or the parent
ContainerLayer. To keep things simple we do this whenever we convert from appunits to integer layer coordinates.

When a ThebesLayer's resolution changes we need to rerender the whole thing.

nsDisplayList::PaintForFrame needs to respect the presshell's resolution setting. We do that by building a layer tree
with a ContainerParameters requesting a scale up by the presshell resolution; once that layer tree is built, we
adjust the root layer transform to scale back down by the resolution.
2011-06-23 00:11:27 +12:00
..
angle Bug 662726 - Remove unused ANGLE source. r=bjacob 2011-06-13 10:32:34 +09:00
cairo Bug 664311 - Remove WinCE code from gfx/; r=jmuizelaar 2011-06-18 11:04:30 +02:00
harfbuzz Fix DOS line endings rs=joedrew! 2011-05-26 20:41:33 +01:00
ipc Fix DOS line endings rs=joedrew! 2011-05-26 20:41:33 +01:00
layers Bug 637852. Part 1: Don't snap BasicThebesLayer effective transforms when we're not retaining layers. r=tnikkel 2011-06-23 00:11:27 +12:00
ots bug 660088 - [OTS] parse and serialize the 'name' table instead of discarding it and using fake names. r=jdaggett 2011-06-16 07:31:36 +01:00
qcms qcms: avoid unnecessary promotion to double. r=ehsan 2011-05-10 12:01:48 -04:00
src Bug 637852. Part 6: Implement resolution scaling in FrameLayerBuilder. r=tnikkel 2011-06-23 00:11:27 +12:00
tests Bug 663036 part.3 gfx should use mozilla::Preferences r=roc+joe 2011-06-12 11:30:16 +09:00
thebes Bug 637852. Part 6: Implement resolution scaling in FrameLayerBuilder. r=tnikkel 2011-06-23 00:11:27 +12:00
ycbcr Bug 659621 - Remove EXTRA_DSO_LIBS, EXTRA_DSO_LDOPTS, OS_LIBS from makefiles containing LIBXUL_LIBRARY = 1, now that libxul is always built; r=ted 2011-06-12 03:49:00 -04:00
Makefile.in Bug 648911 - Remove support for non-libxul builds. r=ted,joedrew 2011-05-23 18:54:47 +02:00