Commit Graph

8442 Commits

Author SHA1 Message Date
Ed Morley
3f49fdcb2a Bug 661584 - Code cleanup, substitute more PR_(MAX|MIN|ABS|ROUNDUP) macro calls; r=roc,ted 2011-06-25 16:06:02 +02:00
Jonathan Kew
5c01379b6a bug 663688 - prefer CGFont APIs to older ATS APIs on 10.6 or later. r=smichaud,roc 2011-06-24 18:55:27 +01:00
Bas Schouten
662596f4fb Bug 651858 - Part 5: Add CanvasLayer code for azure. r=jrmuizel 2011-06-24 19:41:18 +02:00
Bas Schouten
c504745112 Bug 651858 - Part 4: Implement API for creating a D3D10 compatible DrawTarget. r=roc 2011-06-24 19:41:18 +02:00
Bas Schouten
bc37e50310 Bug 651858 - Part 3: Add layers API for creating an optimal DrawTarget. r=roc 2011-06-24 19:41:18 +02:00
Bas Schouten
208c771f07 Bug 651858 - Part 2: Add glue code in gfx for thebes-azure interop. r=jrmuizel 2011-06-24 19:41:18 +02:00
Bas Schouten
189472e8c9 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
Marco Bonardo
8d56f5c0e0 Merge last green changeset in mozilla-inbound to mozilla-central 2011-06-24 11:32:12 +02:00
Ed Morley
8e9e496bf0 Bug 665622 - Fix unused variable warnings in GLContext.cpp & GLContextProviderEGL.cpp; r=joedrew 2011-06-23 19:01:17 -07:00
Daniel Holbert
b646a615bc Bug 661969: If no delay is passed to gfxFontInfoLoader::StartLoader, use the interval as delay. r=jdaggett 2011-06-23 19:01:17 -07:00
Jeff Muizelaar
4b67acc2d6 Bug 662649. DrawFPS: Make the conversion loop easier to follow. r=joe 2011-06-22 14:53:11 -04:00
Jeff Muizelaar
ad8a1fabad Bug 662649. DrawFPS: Add a comment about why DrawFPS is a little weird. 2011-06-22 14:49:31 -04:00
Jeff Muizelaar
3e64a3274a Bug 662649. DrawFPS: Make sure we use a 32 bit type instead of a 64 bit one. r=joe
This was causing badness on platforms where unsigned long is 64 bits.
2011-06-22 14:46:27 -04:00
Jeff Muizelaar
7cfa60fc62 Bug 662649. DrawFPS: free leaked buffer. r=joe
glTexImage2D will keep a copy of this data around so we don't have to.
2011-06-22 14:43:52 -04:00
Jeff Muizelaar
e68edc37a9 Bug 661658. Fix pointer as int size problem on Win64. r=joedrew
The glyph cache uses a pointer for a hash value, and uses
that hash value as a pointer. We need to ensure that the
hash type is large enough to fit a pointer.
2011-06-22 14:38:25 -04:00
Ehsan Akhgari
752a7fe810 Merge the last green changeset of mozilla-inbound to mozilla-central 2011-06-22 19:17:32 -04:00
Mats Palmgren
5b08cd1f9d Bug 312156 - Make gfxFont::HasCharacter work for Pango fonts. r=roc 2011-06-22 20:11:47 +02:00
Robert O'Callahan
82eb2f46ce Bug 637852. Part 26: Ensure that FrameMetrics coordinates are correctly stored as layer coordinates. r=tnikkel 2011-06-23 00:11:28 +12:00
Robert O'Callahan
9e63608c26 Bug 637852. Part 25: Add nsSize ScaleToNearestPixels. r=tnikkel 2011-06-23 00:11:28 +12:00
Robert O'Callahan
612c9f5ad3 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
9f092ece3e Bug 637852. Part 18: Support computing the "residual transform" for a ThebesLayer --- the difference between its snapped transform and the ideal transform --- and use it to align ThebesLayer drawing for transforms that aren't changing. r=tnikkel
This fixes bug 637597 and probably other bugs.
2011-06-23 00:11:28 +12:00
Robert O'Callahan
ce7be9d494 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
8b4e1a91a8 Bug 637852. Part 10: Remove mX/YResolution from ThebesLayer. r=joe
These are the last vestiges of Layer-based resolution API.
2011-06-23 00:11:28 +12:00
Robert O'Callahan
a97f0fea4e Bug 637852. Part 9: Remove resolution support from BasicLayers, ShadowLayers and GL layers. r=mattwoodrow
This is not needed anymore.
2011-06-23 00:11:28 +12:00
Robert O'Callahan
829914f298 Bug 637852. Part 8: Remove resolution support from D3D9 layers. r=mattwoodrow
Layer-system resolution support is no longer needed.
2011-06-23 00:11:27 +12:00
Robert O'Callahan
783029e208 Bug 637852. Part 7: Remove resolution support from D3D10 layers. r=mattwoodrow
Layer-system resolution support is no longer needed.
2011-06-23 00:11:27 +12:00
Robert O'Callahan
9ddbfbb285 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
91a72cf57f Bug 637852. Part 4: Add nsRegion::ScaleInverseRoundOut and nsRegion::ScaleToOutsidePixels APIs. r=joe 2011-06-23 00:11:27 +12:00
Robert O'Callahan
c2827bc133 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
ac135884a6 Bug 637852. Part 2: Add BaseRect::ScaleInverseRoundOut API. r=joe 2011-06-23 00:11:27 +12:00
Robert O'Callahan
29044a8c64 Bug 637852. Part 1: Don't snap BasicThebesLayer effective transforms when we're not retaining layers. r=tnikkel
The ThebesLayer contents are going to be drawn through directly without retaining, so there's no point in snapping.
2011-06-23 00:11:27 +12:00
Ehsan Akhgari
0f617c2905 Merge the last green changeset of mozilla-inbound to mozilla-central 2011-06-22 15:50:44 -04:00
Jonathan Kew
47ba59f255 bug 476927 - add padding to text bounds on OS X to allow for possible antialiasing pixels. r=roc 2011-06-22 09:49:57 +01:00
Jonathan Kew
fbae01af17 bug 475968 - add padding pixels to loose ink bounds on Windows because of ClearType pixel bleed. r=roc 2011-06-22 09:49:53 +01:00
Steven Michaud
f495493687 Bug 663688 - Temporarily default to turning off downloadable fonts on OS X Lion. r=jdaggett,jfkthame 2011-06-20 10:42:39 -05:00
Benoit Girard
8ad86f24a1 Bug 572571 - Abort Core Animation rendering for windows that are too large. r=josh 2010-08-01 19:15:25 -04:00
Mounir Lamouri
124a708eb4 Merging mozilla-inbound with mozilla-central. 2011-06-18 18:29:10 +02:00
Jacek Caban
0bf4b97dfb Bug 663784 - Don't use using statement before includes r=masayuki 2011-06-17 14:55:51 +02:00
Jonathan Kew
85a01c345d bug 647560 followup - put the color components in the right order. a=test-bustage 2011-06-17 09:14:09 +01:00
Robert O'Callahan
47384ede10 Bug 647560. Implement non-fallbacky behavior for _cairo_win32_surface_fill_rectangles on an ARGB surface, using StretchDIBits. r=jrmuizel 2011-06-17 15:36:37 +12:00
Ed Morley
5e7764d4ab Bug 664311 - Remove WinCE code from gfx/; r=jmuizelaar 2011-06-18 11:04:30 +02:00
Benoit Jacob
1727f110cb Bug 659842 comment 86 - accidentally removed a glXDestroyContext call + fix a warning in opt build - r=trivial-fix 2011-06-17 21:42:31 -04:00
Benoit Jacob
4500b8e8dc Bug 659842 - [topcrash] release the GL context before calling glXDestroyContext - r=karlt
See the glXDestroyContext man page:

  If GLX rendering context ctx is not current to any thread,
  glXDestroyContext  destroys it immediately.  Otherwise, ctx is destroyed
  when it becomes not current to any thread.  In either case, the resource ID
  referenced by ctx is freed immediately.

In other words, if we want glXDestroyContext to have the well-defined semantics
of destroying the context before future X commands take effect, we must first
release the GL context before calling it. We were failing to do that, but we
were destroying the drawable immediately after that call, and as a result, the
context was outliving its underlying drawable. This eventually resulted in
X_GLXMakeCurrent: GLXBadContextTag X errors on subsequent glXMakeCurrent calls.
2011-06-17 11:49:27 -04:00
Oleg Romashin
96777818e6 Bug 660565 - HTML5 HW accelerated video is slow r=roc
--HG--
extra : rebase_source : 5a46d17c72caf5ec4afd3f59093be803008c61ec
2011-06-16 12:51:05 +02:00
Jonathan Kew
a3761c531a bug 467669 - pt 6 - provide the real font name rather than our internal identifier. r=roc 2011-06-16 07:31:37 +01:00
Jonathan Kew
57163eeca3 bug 467669 - pt 5 - expose WOFF metadata (if present) for downloaded fonts. r=roc 2011-06-16 07:31:37 +01:00
Jonathan Kew
ecc53f421e bug 467669 - pt 4.1 - fix Mac font backend to mark local user fonts properly. r=roc 2011-06-16 07:31:37 +01:00
Jonathan Kew
edc3700f8f bug 467669 - pt 4 - expose additional attributes for downloaded fonts. r=roc 2011-06-16 07:31:37 +01:00
Jonathan Kew
182daf38b3 bug 467669 - pt 3 - track which stage of font matching led to selection of a particular face. r=roc 2011-06-16 07:31:37 +01:00
Jonathan Kew
252bbe4c42 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