Commit Graph

37 Commits

Author SHA1 Message Date
Matt Woodrow
12628df9de Bug 1373335 - Make sure we clip the opaque region in render target coordinate space, since complex transforms mean that we can't always have a rectangular representation of clips in layer space. r=mstange 2017-06-22 12:41:16 +12:00
Kartikaya Gupta
2ad1749b23 Bug 1359842 - Replace use of NSRectToRect in WebRender-related code with proper LayoutDevicePixel types. r=nical
MozReview-Commit-ID: 7MXFubPtLoD
2017-04-27 12:04:12 -04:00
Botond Ballo
b39572b687 Bug 1288210 - Simplify AlignFixedAndStickyLayers by not considering the local transform. r=kats,mstange
There shouldn't be a local transform because we create container layers
for fixed layers, so any transform would be on a descendant layer instead.

MozReview-Commit-ID: Kmya9vHZx1n
2016-09-28 13:33:38 -04:00
Kartikaya Gupta
d5af77e8a9 Bug 1298886 - Fire magnify gesture events in the parent process if APZ is enabled but APZ zooming is disabled. r=botond,dvander
MozReview-Commit-ID: 1yhJW7OhI0A
2016-09-24 09:46:02 -04:00
Nicolas Silva
fdb7ab259e Bug 1301027 - Remove the matrix * point operator and replace it with TransformPoint methods. r=Bas 2016-09-08 18:26:03 +02:00
David Anderson
e796d454cf Handle device resets by recreating the compositor, rather than the compositor IPDL stack. (bug 1245765 part 7, r=mattwoodrow) 2016-02-29 01:53:15 -05:00
Botond Ballo
d300745fa5 Bug 1236750 - Add some specialized typedefs of Matrix4x4 to represent layer transform matrices. r=kats
Also add a related PixelCastJustification and a utility function.
2016-01-06 18:56:25 -05:00
Botond Ballo
18bf5aaa2c Bug 1236750 - Add a ViewAs() overload for casting (with a justification) one typed matrix to another. r=kats 2016-01-06 18:55:06 -05:00
Botond Ballo
6d77a56654 Bug 1069417 - Remove the explicit template argument of TransformTo() and related functions. r=kats
In this process, TransformTo() and UntransformTo() are renamed TransformedBy()
and UntransformBy() so calls to them continue to read sensibly.
2015-11-30 20:06:45 -05:00
Botond Ballo
85af71a0e4 Bug 1069417 - Modify TransformTo() and related functions to use typed matrices. r=kats
Call sites (all in APZ and related code) were modified accordingly. Some of
these modifications involved changing some matrices stored in APZ to be typed.
2015-11-30 20:14:31 -05:00
Botond Ballo
8b49405714 Bug 1069471 - Add a ViewAs() overload for matrices. r=kats 2015-11-30 19:50:26 -05:00
Nicholas Nethercote
b3312ed385 Bug 1228125 (part 1) - Remove nsIWidget::GetBoundsUntyped(). r=botond.
This requires adding a new overloading of LayoutDevicePixel::ToAppUnits and a
new PixelCastJustification: LayoutDeviceIsParentLayerForRCDRSF.
2015-11-25 20:32:47 -08:00
Botond Ballo
7711f62c2b Bug 1208829 - Add utilities for converting between typed and untyped regions. r=mstange 2015-11-09 20:43:18 -05:00
Randall Barker
23bd38d9b8 Bug 1223946 - Part 1: Clean up and support needed for converting WidgetWheelEvent to ScrollWheelInput. r=kats 2015-11-18 19:32:37 -05:00
Matt Woodrow
9d0608849a Bug 1217012 - Use doubles when untransforming points since we need the extra precision. r=kip 2015-11-16 17:05:55 +13:00
Markus Stange
15dc5a7c6c Bug 1212876 - Fix a bug in UntransformVector and in code that was relying on that bug. r=botond 2015-10-09 12:57:56 +02:00
Kevin Wern
811c195d21 Bug 1173521 - Properly handle unapplying 3D projective transforms to rectangles in APZ code. r=botond
The untransformation is done using the newly added UntransformTo() functions
which call Matrix4x4::ProjectRectBounds(), which returns an empty rectangle
if the result is not at least partially on the positive side of the w = 0 plane.

UntransformTo() returnis the transformed rectangle if it's not empty, and
Nothing() otherwise, making callers check for this case.

The patch also adds some assertions to places where we apply transforms we
know should be 2D (and thus didn't switch to use UntransformTo()), checking
that the transforms are in fact 2D.
2015-08-28 12:00:29 -04:00
Markus Stange
dc70f04da1 Bug 1193062 - Fix UntransformVector w coordinate checks. r=kip
It shouldn't be checking the w coordinate of the difference of two Point4Ds. The 4D difference isn't really meaningful. Instead, it should be checking each point's w coordinate individually.
2015-08-07 14:36:04 -04:00
Kartikaya Gupta
3766fb3084 Bug 1180295 - Stop clipping the content while the toolbar is in the process of sliding off. r=rbarker 2015-08-18 14:27:19 -04:00
Birunthan Mohanathas
a29151dc87 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
Kevin Wern
4c67458e3b Bug 1120683 - Properly handle unapplying 3D projective transforms throughout APZ code. r=botond
Whenever the inverse of a 3D projective transform is applied to a point, only use the result if it has a positive w-coordinate.

When transforming by a matrix that we know should be 2D, assert to that effect.

Transformations of rectangles (as opposed to points) remain to be audited.
2015-07-03 15:06:26 -04:00
Kartikaya Gupta
f8ae55b733 Bug 1055557 - Add a ZoomConstraintsClient class to manage pushing zoom constraints updates to the APZ code. r=botond
Original patch by Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk>.
2015-06-17 12:32:42 -04:00
David Parks
44ce7aa146 Bug 1125325 - Make TabParent/TabChild UpdateDimensions messages aware of the display scale. r=kats
When connecting a lowdpi external monitor on hidpi mac, TabChild gets an
UpdateDimensions call, followed by a UIResolutionChanged call.  After
the UpdateDimensions call, the content process is in an incorrect state
where it has the dimensions of the new display and scale of the old one.
After the UIResolutionChanged message, the values are again consistent.
In the interim, reflow resizes layers based on the incorrect (old) scale
and subsequently uses those incorrect values when the new scale comes
in.  This patch normalizes the message parameters by dividing by scale
(the result is what OS X calls point coordinates) so that this doesn't happen.
2015-06-07 22:39:28 -07:00
Kartikaya Gupta
e6b390a6fb Back out 3 csets from bug 1125325 for introducing bug 1173224. r=me 2015-06-10 15:55:34 -04:00
David Parks
6260d5fed5 Bug 1125325 - Make TabParent/TabChild UpdateDimensions messages aware of the display scale. r=kats
When connecting a lowdpi external monitor on hidpi mac, TabChild gets an
UpdateDimensions call, followed by a UIResolutionChanged call.  After
the UpdateDimensions call, the content process is in an incorrect state
where it has the dimensions of the new display and scale of the old one.
After the UIResolutionChanged message, the values are again consistent.
In the interim, reflow resizes layers based on the incorrect (old) scale
and subsequently uses those incorrect values when the new scale comes
in.  This patch normalizes the message parameters by dividing by scale
(the result is what OS X calls point coordinates) so that this doesn't happen.
2015-06-07 22:39:28 -07:00
Ying-Ruei Liang (KK)
2c219b4aaf 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
2015-04-11 22:03:00 -04:00
David Anderson
c792c148a4 End APZ wheel transactions when the mouse moves out of frame. (bug 1142866 part 2, r=kats,botond) 2015-03-22 00:42:25 -07:00
Masatoshi Kimura
4eacef39b7 Bug 1111290 - Part 1: Remove MOZ_(BEGIN|END)_ENUM_CLASS. r=waldo 2015-01-26 07:22:07 +09:00
Kartikaya Gupta
957eba0d23 Bug 1109873 - Implement the expanded HitTestingTree. r=botond 2015-01-08 09:40:01 -05:00
Botond Ballo
8e10bf2d87 Bug 1055741 - Unify the 'local Screen' and 'ParentLayer' coordinate systems. r=kats 2014-11-10 14:35:11 -05:00
Carsten "Tomcat" Book
52d5b03991 Backed out changeset a96930f1e26b (bug 1055741) 2014-11-13 11:47:31 +01:00
Botond Ballo
031c8b1c39 Bug 1055741 - Unify the 'local Screen' and 'ParentLayer' coordinate systems. r=kats 2014-11-10 14:35:11 -05:00
Kartikaya Gupta
9d277667a6 Bug 1056423 - Adjust scrollbar clip rect also when accounting for async transform. r=botond 2014-09-18 13:19:20 -04:00
Botond Ballo
c87175a55f Bug 923512 - Transition the TransformTo<>() functions from gfx3DMatrix to Matrix4x4. r=kats 2014-08-06 12:52:04 -04:00
Botond Ballo
8194f07a4f Bug 988882 - Special-case handling of root composition bounds calculation on Android when the toolbar is perma-visible. r=tn 2014-04-02 01:35:25 -04:00
Timothy Nikkel
a9c5a444c4 Bug 989897. In order to properly compute root composition size view the root composition size first as layer pixels in the target layer, then convert to css pixels. r=kats
Since our goal is to use the root composition size to bound the layer size of the display port of the child layer this makes sense.
2014-04-02 17:46:38 -05:00
Botond Ballo
1d877f8d82 Bug 935219 - Fix composition bounds calculation and APZC hit testing (again). r=kats,tn 2014-03-10 17:56:59 -04:00