Commit Graph

471 Commits

Author SHA1 Message Date
Ed Morley
e2dd282c90 Bug 661584 - Substitute final PR_(MAX|MIN|ABS|ROUNDUP) macro calls; r=roc 2011-07-03 11:53:40 +02:00
Ed Morley
af1d9c6c2b Bug 661584 - Code cleanup, substitute more PR_(MAX|MIN|ABS|ROUNDUP) macro calls; r=roc,ted 2011-06-25 16:06:02 +02:00
Bas Schouten
1fb2634ff2 Bug 651858 - Part 1: Add the Azure API and Direct2D backend. r=jrmuizel sr=roc
--HG--
rename : gfx/src/BaseMargin.h => gfx/2d/BaseMargin.h
rename : gfx/src/BasePoint.h => gfx/2d/BasePoint.h
rename : gfx/src/BaseRect.h => gfx/2d/BaseRect.h
rename : gfx/src/BaseSize.h => gfx/2d/BaseSize.h
2011-06-24 19:41:16 +02:00
Robert O'Callahan
70312fec05 Bug 637852. Part 25: Add nsSize ScaleToNearestPixels. r=tnikkel 2011-06-23 00:11:28 +12:00
Robert O'Callahan
779fca303f Bug 637852. Part 21: Skip invalidation if aRegionToInvalidateIsEmpty (note that ScaleRoundOut on an empty bounds rect can return a non-empty rect). r=tnikkel 2011-06-23 00:11:28 +12:00
Robert O'Callahan
9c74d507a9 Bug 637852. Part 11: Remove ExtendForScaling from nsRect and nsRegion. r=joe
This is good because the semantics of this method always sucked.
2011-06-23 00:11:28 +12:00
Robert O'Callahan
fcf2510a5d 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
Robert O'Callahan
3cbadba941 Bug 637852. Part 4: Add nsRegion::ScaleInverseRoundOut and nsRegion::ScaleToOutsidePixels APIs. r=joe 2011-06-23 00:11:27 +12:00
Robert O'Callahan
c58a20de4e Bug 637852. Part 3: Add nsPoint::ScaleToNearestPixels, nsRect::ScaleToNearestPixels, nsRect::ScaleToInsidePixels and nsRect::ScaleToOutsidePixels APIs. r=joe 2011-06-23 00:11:27 +12:00
Robert O'Callahan
06e6b72a58 Bug 637852. Part 2: Add BaseRect::ScaleInverseRoundOut API. r=joe 2011-06-23 00:11:27 +12:00
Ed Morley
c8157ac7e6 Bug 664311 - Remove WinCE code from gfx/; r=jmuizelaar 2011-06-18 11:04:30 +02:00
Ted Mielczarek
a88f0715f0 merge m-c and b-s 2011-06-13 09:09:43 -04:00
Ed Morley
223c46b36b 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
Masayuki Nakano
e06d6eb819 Bug 663036 part.3 gfx should use mozilla::Preferences r=roc+joe 2011-06-12 11:30:16 +09:00
Matheus Kerschbaum
7406ce377f Bug 660762 - Remove --disable-mathml support. r=roc 2011-06-02 13:11:33 +02:00
Ehsan Akhgari
a0939ce343 Bug 660676 - Remove the copy constructor for nsSize and nsIntSize; r=roc 2011-05-30 19:07:35 -04:00
Ed Morley
6649ee0b7d Bug 624748 - Remove unused nsITheme::RegisterWidgetGeometry. r=roc 2011-05-30 09:31:42 +02:00
Neil Rashbrook
a823051c1e Fix DOS line endings rs=joedrew!
DONTBUILD
2011-05-26 20:41:33 +01:00
Matheus Kerschbaum
35f86c76ad Bug 648911 - Remove support for non-libxul builds. r=ted,joedrew 2011-05-23 18:54:47 +02:00
Jim Mathies
2a4de6175a Bug 633282 - Add ToNearestPixels to nsRegion. r=roc. 2011-05-13 11:40:46 -05:00
Jim Mathies
02f8ccf86e Bug 633282 - Add support for -moz-appearance: -moz-win-exclude-glass. r=roc. 2011-05-13 11:40:46 -05:00
Jonathan Kew
916e9b8b24 bug 253317 - part 5 - support none/manual/auto values for -moz-hyphens in layout. r=roc 2011-05-04 12:29:56 +01:00
Zack Weinberg
85ef3b518f Bug 651498: call gfxPlatform::Init when necessary and not earlier. r=joedrew,bsmedberg
--HG--
extra : rebase_source : fa6eae9a0656197d2c245f7c15120f36face2347
2011-04-21 12:36:49 -07:00
Zack Weinberg
43341e9470 Bug 651926: abort (even in production) if anything in gfxPlatform::Init fails, its callers can't cope. r=jrmuizel 2011-04-21 12:36:53 -07:00
Zack Weinberg
647b7a0bfe Bug 651017, part 7: remove nsDeviceContext::CreateRenderingContextInstance and the CreateRenderingContext overload that takes a widget.
--HG--
rename : gfx/src/nsThebesDeviceContext.cpp => gfx/src/nsDeviceContext.cpp
rename : gfx/src/nsThebesDeviceContext.h => gfx/src/nsDeviceContext.h
extra : rebase_source : 6be7fe432488dcf2fb5b2faa0e178dccab480285
2011-04-16 21:08:22 -07:00
Zack Weinberg
668fa81e1d Bug 651017, part 6: prune unused and unimplemented nsDeviceContext methods. Push some code down into nsFontCache.
--HG--
rename : gfx/src/nsThebesDeviceContext.cpp => gfx/src/nsDeviceContext.cpp
rename : gfx/src/nsThebesDeviceContext.h => gfx/src/nsDeviceContext.h
extra : rebase_source : 82489fb47226260871993f37d337439005250c29
2011-04-16 18:22:44 -07:00
Zack Weinberg
d5e47757d8 Bug 651017, part 4: deCOM nsIDeviceContext; include-minimization on nsDeviceContext.h itself; merge GetPrintDC() into Windows/OS/2 specific code; merge Shutdown() with ClearCachedSystemFonts(). Most references outside gfx not fixed up.
--HG--
rename : gfx/src/nsThebesDeviceContext.cpp => gfx/src/nsDeviceContext.cpp
rename : gfx/src/nsThebesDeviceContext.h => gfx/src/nsDeviceContext.h
extra : rebase_source : 9fb366d99d18c9335ba297d21f673178dae62a64
2011-04-16 18:22:42 -07:00
Zack Weinberg
792bb82cfb Bug 651017, part 3: Make nsThebesDeviceContext not an nsIObserver. Also remove some more obsolete junk from nsThebesDeviceContext itself.
--HG--
extra : rebase_source : 38fdc667532509e272726bf8098c6f728e94e8ad
2011-04-16 18:22:41 -07:00
Zack Weinberg
ba4c919431 Bug 651017, part 2: wrap gfxPlatform::Init/Shutdown in a service and register it for app-startup. Also prune some dead CIDs from nsGfxCIID.h.
--HG--
extra : rebase_source : d296ac53c4c60d79f7e2d6904dd54ce930099bbd
2011-04-16 18:22:41 -07:00
Zack Weinberg
51864c09d8 Bug 651017, part 1: minimize inclusion of ns*DeviceContext.h; move the printing error codes to nsIDeviceContextSpec.h; os2 small widget cleanup.
--HG--
extra : rebase_source : 5b7cebe68f71a760463e3522b159c7cde8a72f5e
2011-04-16 18:22:41 -07:00
Robert O'Callahan
d4c414cf18 Bug 641426. Part 8: Replace gfxRect::Outset/Inset with Inflate/Deflate. Also slip in a conversion constructor from nsIntRect to gfxRect. r=tnikkel 2011-04-19 15:07:51 +12:00
Robert O'Callahan
c9b3d6063b Bug 641426. Part 7: Create Rect template. r=joe,sr=cjones 2011-04-19 15:07:48 +12:00
Robert O'Callahan
72627bced2 Bug 641426. Part 6: Rename Empty to SetEmpty. r=cjones 2011-04-19 15:07:23 +12:00
Robert O'Callahan
c957ae039e Bug 641426. Part 5: Avoid operator== where possible to distinguish between 'equal edges' and 'equal areas' for rectangles. r=dbaron,sr=cjones 2011-04-19 15:07:23 +12:00
Robert O'Callahan
763a5f47a7 Bug 641426. Part 4.2: Rename BaseMargin::side to BaseMargin::Side. r=cjones 2011-04-19 15:07:22 +12:00
Robert O'Callahan
cffed533b7 Bug 641426. Part 4: Create Margin template. r=joe,sr=cjones 2011-04-19 15:07:22 +12:00
Robert O'Callahan
307547d062 Bug 641426. Part 3: Convert gfxRect::pos/size to x/y/width/height. r=joe,sr=cjones 2011-04-19 15:07:21 +12:00
Robert O'Callahan
73b97e72c4 Bug 641426. Part 2: Remove a bunch of direct gfxRect::pos/size usage. r=joe 2011-04-19 15:07:21 +12:00
Robert O'Callahan
17b91a87af Bug 641426. Part 1: Create Point and Size templates. r=joe,sr=cjones 2011-04-19 15:07:21 +12:00
Zack Weinberg
8f84e87563 Bug 174055, part 8: change GetLanguage to return a raw nsIAtom*. 2011-04-14 10:43:21 -07:00
Zack Weinberg
2c3c349dad Bug 174055, part 7: remove unnecessary members from nsFontMetrics. 2011-04-08 08:32:29 -07:00
Zack Weinberg
52c99aabb7 Bug 174055, part 6: eliminate pointless nsresult return values. 2011-04-07 21:18:43 -07:00
Zack Weinberg
624a6e3ce5 Bug 174055, part 5: prune unused and unimplemented methods. 2011-04-07 20:07:27 -07:00
Zack Weinberg
1c1eb035f0 Bug 174055, part 3: deCOM ns(I|Thebes)FontMetrics. Code outside gfx/ not fixed up.
--HG--
rename : gfx/src/nsThebesFontMetrics.cpp => gfx/src/nsFontMetrics.cpp
rename : gfx/src/nsThebesFontMetrics.h => gfx/src/nsFontMetrics.h
2011-04-07 18:05:26 -07:00
Zack Weinberg
d6425e8bd1 Bug 174055, part 2: merge nsIThebesFontMetrics into nsIFontMetrics. 2011-04-07 18:05:25 -07:00
Zack Weinberg
299386f14c Bug 174055, part 1: minimize inclusion of nsI(Thebes)FontMetrics.h. 2011-04-07 18:04:41 -07:00
Zack Weinberg
f5d56fa57a Bug 648197 (2/2): make nsIDeviceContext::FirstExistingFont and ::GetLocalFontName into complete stubs; remove the alias table. 2011-04-07 14:47:04 -07:00
Zack Weinberg
f5a0843ac7 Bug 266236 part 9: Move nsBoundingMetrics to its own header and prune inclusions of nsRenderingContext.h.
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
rename : gfx/src/nsThebesRenderingContext.h => gfx/src/nsRenderingContext.h
extra : rebase_source : 92660748436f03475e011184e2828f1db0ad63e0
2011-04-07 18:04:40 -07:00
Zack Weinberg
d8db59d068 Bug 266236 part 8: Change nsRenderingContext::GetDeviceContext and ::GetFontMetrics to return bare pointers.
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
rename : gfx/src/nsThebesRenderingContext.h => gfx/src/nsRenderingContext.h
extra : rebase_source : 36dd32d715cb75e99cd3a69e460c000c1777d6a6
2011-04-07 18:04:40 -07:00
Zack Weinberg
c3400ef3c4 Bug 266236 part 7: Simplify calling convention of SetClipRect and SetClipRegion.
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
rename : gfx/src/nsThebesRenderingContext.h => gfx/src/nsRenderingContext.h
extra : rebase_source : b1c68e23a4fa67cdc09b151ad39d7560cdd8baf7
2011-04-07 18:04:40 -07:00