Commit Graph

48 Commits

Author SHA1 Message Date
Botond Ballo
0b5440e37a Bug 1257288 - Move IntersectMaybeRects() to gfx/2d/Rect.h. r=kats
MozReview-Commit-ID: C99GwsLN7Zg

--HG--
extra : rebase_source : e12db0995ec0f1ffc30e0f01b8c85081236b405c
2016-04-20 17:16:09 -04:00
Markus Stange
aa4de9b2d6 Bug 1236043 - Don't inflate empty rects. r=jrmuizel
MozReview-Commit-ID: 1cpQhkugsFJ

--HG--
extra : rebase_source : 037d3727d1ce03e6389b98b3a19f5b1c8536bba7
2016-03-29 13:40:07 -04:00
Matt Woodrow
2f1cbec9a2 Bug 1224433 - Part 2: Clamp the invalidation rect to values that fit within nscoord. r=roc
--HG--
extra : rebase_source : 0aaede54d8622786cddaf8365e6bf091d6bff8f8
2016-02-12 11:35:17 +13:00
David Anderson
3183956eeb Use double precision when computing the backdrop copy rect. (bug 1243071 part 2, r=mattwoodrow) 2016-02-01 16:27:49 -08:00
Nicholas Nethercote
74e40cebb1 Bug 1229237 (part 2) - Make nsIWidget::DrawWindowUnderlay() take a LayoutDeviceIntRect. r=botond.
--HG--
extra : rebase_source : 0563312f21ea9bf88399377f977c6b21c60a07b6
2015-11-16 20:34:00 -08:00
Nicholas Nethercote
e2fe66176b Bug 1224403 (part 4) - Make {Get,Set}NonClientMargins() return/take a LayoutDeviceIntMargin. r=kats.
This required adding {To,From}UnknownMargin().

--HG--
extra : rebase_source : de7e8f56604825bcc1babe5e05a8f8623a402cad
2015-11-11 23:05:04 -08:00
Nicholas Nethercote
489c83b1dd Bug 1223690 - Remove implicit Rect conversions. r=jrmuizel.
gfxRect can be implicitly constructed from IntRect, which hides a number of
implicit conversion points, makes Moz2Dification harder, and has some
surprising effects.

This patch removes the implicit constructor and replaces it with an explicit
conversion function:

  gfxRect ThebesRect(const IntRect&)

This is the obvious outcome of removing the constructor.

But there is also a second, less obvious outcome: currently we do a number of
IntRect-to-Rect conversions using ToRect(), which (surprisingly) works because
it turns into an implicit IntRect-to-gfxRect conversion (via the implicit
constructor) combined with an explicit gfxRect-to-Rect conversion (via
ToRect()). I.e. we do two conversions, going from a Moz2D type to a Thebes
type and back to a Moz2D type!

So this patch also changes these conversion. It moves this existing function:

  Rect ToRect(const IntRect&)

from gfx2DGlue.h -- where it doesn't really belong because it doesn't involve
any Thebes types -- to gfx/2d/Rect.h, templatifying and renaming it as
IntRectToRect() in the process.

The rest of the patch deals with fall-out from these changes. The call sites
change as follows:

- IntRect-to-gfxRect conversions:
  - old: implicit
  - new: ThebesRect()

- IntRect-to-Rect conversions:
  - old: ToRect()
  - new: IntRectToRect()

--HG--
extra : rebase_source : e4e4c2ad10b36ecad4d57d1630158f3374e403be
2015-11-11 14:23:14 -08:00
Kearwood (Kip) Gilbert
cbc7ba3ddb Bug 1157984 - Part 3: Correct bounding box transformations to support projections and correct clipping when transforming behind the camera,r=vlad
- Update callsites of Matrix4x4::TransformBounds to use
  Matrix4x4::TransformAndClipBounds.

--HG--
extra : rebase_source : a1aa889af56e404b7ca5c7125021171e67a0b8bf
2015-08-06 17:26:09 -07:00
"Kearwood \"Kip\" Gilbert"
0f397fb78d Bug 1157984 - Part 1: Extend gfx::2d classes to support both float and double precision,r=jrmuizel
- Implemented templates for Coord, Point, Point3D, Point4D, Size, Margin
  and Rect to create double precision versions.

--HG--
extra : rebase_source : 91e16a7b970026346b6e90a23427fd0f70491765
2015-06-11 13:43:40 -07:00
Birunthan Mohanathas
a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Markus Stange
1cbafd9f99 Bug 1162726 - Make RoundedToInt() snap the rect properly. r=roc
--HG--
extra : rebase_source : c10c0c262d6d1c5f3217dfbc013744aa25b4c591
2015-05-07 14:25:06 -04:00
Nicolas Silva
e887c595eb Bug 1155621 - Remove no-op gfx2DGlue conversion helpers. r=Bas 2015-04-21 17:22:30 +02:00
Nicolas Silva
cfff5e52c5 Bug 1155621 - Make nsIntRect and nsIntPoint typedefs of mozilla::gfx::IntRect and mozilla::gfx::IntPoint. r=Bas 2015-04-21 17:04:57 +02:00
Ying-Ruei Liang (KK)
f17daf9c2a Bug 1143522 - Convert Layer::mClipRect to ParentLayerIntRect. r=botond
Change interface of getter/setter for mClipRect,
also necessary modification for codes that use these resources.

* * *
Bundle mUseClipRect and mClipRect as Maybe<ParentLayerIntRect> mClipRect

--HG--
extra : rebase_source : ca0c60404a28b7418df88104b863760033289910
2015-04-11 22:03:00 -04:00
Benoit Girard
700fbb43f7 Bug 1105834 - Part 1: Add CreateDataSourceSurfaceByCloning to moz2d. r=mstange,bas 2014-11-28 18:11:03 -05:00
Wes Kocher
99f09b4b90 Backed out 3 changesets (bug 1105834) for non-unified bustage
Backed out changeset 33592fd41f1f (bug 1105834)
Backed out changeset c3e505887e9f (bug 1105834)
Backed out changeset 6aad17f431d1 (bug 1105834)
2014-12-08 17:15:46 -08:00
Benoit Girard
263a1d279b Bug 1105834 - Part 1: Add CreateDataSourceSurfaceByCloning to moz2d. r=mstange,bas 2014-11-28 18:11:03 -05:00
Botond Ballo
14c54cd3c3 Bug 1022381 - Enforce that strongly-typed geometric classes are used with a proper coordinate system tag type. r=kats 2014-06-10 12:43:52 -04:00
Botond Ballo
f6d0d6ba20 Bug 958596 - Allow gfx/2d/Logging.h to be used outside of gfx/2d. r=Bas 2014-02-18 21:59:34 -05:00
Chris Lord
9afd262a59 Bug 931823 - Fix calculation of tiled update data and convert to typed units. r=kats,botond
Various changes to FrameMetrics and such have causes the tile coherency checks
to end up with nonsense values, meaning updates are always happening a tile at
a time.

This fixes the calculation of those values, adds some documentation and
converts a large part of it to using typed units, to make it easier to
understand what's happening.
2013-11-27 17:33:27 +00:00
Kartikaya Gupta
cd1b5c727f Bug 937843 - Make some constructor arguments const. r=BenWa 2013-11-13 13:22:15 -05:00
Corey Ford
bcbedb574b Bug 897105 - Part 1: Add RectTyped::operator== to allow use in IPDL structs. r=roc 2013-09-11 21:09:43 -07:00
Kartikaya Gupta
1b7a51767f Bug 909281 - Add some strongly-typed conversion functions for margins and use them in RecordFrameMetrics. r=BenWa 2013-09-11 13:20:43 -04:00
Kartikaya Gupta
1bbf96a8d3 Bug 907906 - Finish templating the gfx::Margin type, and add a gfx::IntMargin type to go with it. r=Cwiiis 2013-08-22 12:41:51 -04:00
Nicholas Cameron
6e351b8e9b Bug 907901. Remove NS_lround from rect.h. r=Bas 2013-08-22 21:10:35 +12:00
Nicholas Cameron
0514eb1ecd Bug 903816. Fixups in non-layers files. r=roc 2013-08-12 11:15:10 +12:00
Chris Lord
e3186541d9 Bug 886298 - Add a typed-units Margin. r=kats 2013-07-22 09:50:11 +01:00
Kartikaya Gupta
2a3c35c773 Bug 880676 - Remove ToCSSIntRectRoundIn and convert APZC::CalculateResolution to return a ScaleFactor. r=kentuckyfriedtakahe 2013-06-14 16:11:44 -04:00
Kartikaya Gupta
ddc341ee0a Bug 880676 - Move the RoundToInt functions to be standalone in the gfx headers. r=BenWa 2013-06-14 16:11:31 -04:00
Kartikaya Gupta
46a7789a65 Bug 877728 - Convert some CSS rects passed to Java from gfx::Rect to CSSRect. r=BenWa 2013-06-03 09:52:44 -04:00
Kartikaya Gupta
d44a465803 Bug 865735 - Add a units template parameter to the gfx Point, Size, and Rect classes. r=bas,roc 2013-05-29 09:32:30 -04:00
Bas Schouten
839048be74 Bug 825928: Land layers refactoring. r=jrmuizel,bas,nical,mattwoodrow,roc,nrc,benwa,bjacob,jgilbert,kchen CLOSED TREE
Please contact Bas Schouten <bschouten@mozilla.com>, Nicolas Silva <nsilva@mozilla.com> or Nicholas Cameron <ncameron@mozilla.com> with general questions. Below is a rough list of authors to contact with specific questions.

Authors:
gfx/layers/Compositor.* gfx/layers/Effects.h - Compositor Interface - bas,nrc,nical
gfx/layers/d3d* - D3D9/D3D10 - bas
gfx/layers/ThebesLayer* - ThebesLayers - nrc,bas
gfx/layers/composite/* - CompositeLayers - nrc,nical
gfx/layers/client/* - Client - nrc,nical,bas
gfx/layers/*Image* - nical
gfx/layers/ipc ipc - IPC - nical
gfx/layers/opengl - CompositorOGL - nrc,nical
gfx/2d - bas,nrc
gfx/gl - GLContext - bjacob
dom/* layout/* - DOM - mattwoodrow
2013-04-10 09:20:52 +00:00
Chris Lord
75f7b3b58c Bug 716403 - Annotate layers with the fixed margins from the PresShell. r=nrc,roc
This annotates fixed layers with the margins that have been applied from
nsIPresShell->GetContentDocumentFixedPositionMargins. Using SyncViewportInfo
in CompositorParent, this allows for async fixed position margin setting.
2013-03-07 10:17:33 +00:00
Ryan VanderMeulen
e67ae46cb3 Backed out 9 changesets (bug 716403) for Android 4.0 robocop bustage on a CLOSED TREE. 2013-03-06 16:11:05 -05:00
Chris Lord
f66da698fb Bug 716403 - Annotate layers with the fixed margins from the PresShell. r=nrc,roc
This annotates fixed layers with the margins that have been applied from
nsIPresShell->GetContentDocumentFixedPositionMargins. Using SyncViewportInfo
in CompositorParent, this allows for async fixed position margin setting.
2013-03-06 16:56:00 +00:00
Daniel Holbert
56c48afacf Bug 843719: Reorder params in Margin constructors and SizeTo() methods to match CSS's top,right,bottom,left ordering. r=seth 2013-03-06 00:05:55 -08:00
Ed Morley
35a3834d4f Backed out changeset c1f4eff03e82 (bug 840693) for causing bug 838563 2013-03-04 14:38:11 +00:00
Anthony Jones
123a7144b9 Bug 840693 - Add ZoomScale; r=Bas 2013-03-04 13:25:22 +13:00
Ryan VanderMeulen
3fe58cf9ea Backed out 8 changesets (bug 716403) for frequent Android mochitest-8 failures on a CLOSED TREE. 2013-03-01 16:09:59 -05:00
Chris Lord
73720b6632 Bug 716403 - Annotate layers with the fixed margins from the PresShell. r=nrc,roc
This annotates fixed layers with the margins that have been applied from
nsIPresShell->GetContentDocumentFixedPositionMargins. Using SyncViewportInfo
in CompositorParent, this allows for async fixed position margin setting.
2013-03-01 15:46:34 +00:00
Robert O'Callahan
d70cc1420e Bug 772726. Part 8: Add Rect::NudgeToIntegers and share improved nudging code among all nudging APIs. r=bas 2012-09-12 17:24:09 +12:00
Gervase Markham
82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
David Zbarsky
8121e6b90e Bug 754138 - Prevent Rect.h warning spam. r=roc 2012-05-14 19:01:05 -04:00
Bas Schouten
bc2f084e3e Bug 738413 - Followup: Move ToIntRect to a Rect class method. r=roc 2012-05-03 23:41:37 +02:00
Kyle Huey
f526cd64fb Bug 703028: Fix obnoxious warning spew from gfx 2d stuff. r=me 2011-11-21 09:56:24 -05:00
Joe Drew
1bb0d43d4b Bug 685326 - Move Round{,In,Out} from gfxRect to BaseRect, and make them no-ops on IntRect. r=Bas 2011-11-14 17:29:14 +13:00
Joe Drew
22c35b1a70 Bug 685322 - Create explicit conversion constructors for Rect and Point taking IntRect and IntPoint. r=roc 2011-11-14 17:29:01 +13: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