Commit Graph

98 Commits

Author SHA1 Message Date
Botond Ballo
98892ce14a Bug 1467873 - Fix FrameMetrics::CalculateCompositedRectInCssPixels(). r=kats
- Fix the implementation to return a numerically correct result
  - Change call sites that should have instead been using
    CalculateCompositedSizeInCssPixels(), to do so
  - Rename and document to emphasize that the returned rect is in the
    CSS pixels of the content surrounding the scroll frame

MozReview-Commit-ID: GCPbA1k88rz
2018-06-09 16:33:26 -04:00
Mats Palmgren
e188037050 Bug 1461222 part 1 - Make GetWidgetBorder return LayoutDeviceIntMargin. r=emilio 2018-05-17 17:30:35 +02:00
Botond Ballo
436c9a74eb Bug 1442767 - Rename Box to RectAbsolute (Gecko changes). r=kats
MozReview-Commit-ID: 1wrzwQw8bdx
2018-03-05 18:08:18 -05:00
Botond Ballo
abf20209e6 Bug 1434250 - Infrastructure for working with Box types in Gecko code. r=kats
MozReview-Commit-ID: 5fbTj6vwOwu
2018-02-07 12:52:37 -05:00
Jeff Muizelaar
a4cd87436d Bug 1410550. Allow updating a dirty rect of a blob image. r=kats 2017-10-24 18:11:04 -04:00
Milan Sreckovic
baffd719fa Bug 1387514: Upgrade BaseRect (derived classes) width and height direct member variable use to instead use Width()/SetWidth() and Height()/SetHeight() in layout/*. r=dholbert
MozReview-Commit-ID: AfAbr74e1Yh
2017-08-14 08:30:04 -04:00
Kartikaya Gupta
f5439bcbe9 Bug 1377090 - Make the Matrix class templated so we can instantiate it with a double type. r=bas
This extracts a BaseMatrix template of which Matrix is now a particular
specialization. The BaseMatrix allows us to reuse the same code for
floats and doubles, much like the other "base" classes (BasePoint,
BaseRect, etc.).

MozReview-Commit-ID: HO7bA83S9E0
2017-07-05 11:18:48 -04:00
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
Botond Ballo
f9df04681e Bug 1352863 - Add a CoordOf metafunction that maps point and rect types to their coordinate type. r=kats
The approach taken is to implement the metafunction by specialization as usual,
and then wrap it into an alias template. This avoids having to write "typename"
and "::Type" at the use site.

MozReview-Commit-ID: VLOxb4Gu0z
2017-05-19 19:54:25 -04:00
Masatoshi Kimura
fd136e7327 Bug 1358758 - Use CSSIntRect for nsIFrame::GetScreenRect. r=kats
MozReview-Commit-ID: KXPL1ERbFDa
2017-04-25 07:33:13 +09:00
Ryan Hunt
6d1911760b Bug 1355570 - Update bindings and WebRender display list building for gradient tiling r=jrmuizel
MozReview-Commit-ID: KwhCBc8XxCN
2017-04-12 14:20:52 -05:00
Botond Ballo
4d2a056505 Bug 1321885 - Add CSSPixel::FromAppUnits(nscoord) and CSSPixel::ToAppUnits(CSSCoord). r=kats
MozReview-Commit-ID: 8V9gjVf35bC
2016-08-24 13:42:57 -04:00
Matt Woodrow
71dfeb349f Bug 1317862 - Part 3: Build TextLayers if enabled. r=mstange 2016-11-24 18:11:29 +13:00
Markus Stange
b0028594c4 Bug 1315113 - Fix coordinate space confusion in gradient rendering code. r=mattwoodrow
MozReview-Commit-ID: 38Zk9qWNyoX
2016-11-09 13:53:33 -05:00
Botond Ballo
cb84948804 Bug 1219296 - Scroll snap directly in APZ instead of going through the main thread. r=kats
MozReview-Commit-ID: 3qAdSWXwOsu
2016-03-28 18:36:02 -04:00
Jonathan Kew
657b233fdc Bug 890156 - patch 6 - Update window placement code to work with desktop pixels, for per-monitor DPI support on Windows. r=emk 2015-12-03 13:19:50 +00:00
Jonathan Kew
3e2d1d9edc Bug 890156 - patch 0.0 - Declare a DesktopPixel type in Units.h, to be used for the coordinate system used by the host system to manage the desktop space. r=kats 2015-11-25 19:11:54 +00:00
Botond Ballo
22e5c77983 Bug 1236750 - Introduce a new unit type CSSTransformedLayerPixel. r=kats 2016-01-06 18:52:45 -05:00
Botond Ballo
8a5f7c05e3 Bug 1069417 - Add typedefs for commonly used typed matrices. r=kats 2015-11-30 19:52:33 -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
0b673c5e79 Bug 1222661 - Replace ToUnknown(obj) and FromUnknown(obj) with obj.ToUnknown*() and FromUnknown*(obj). r=nical 2015-11-09 17:49:46 -05:00
Botond Ballo
60a5318264 Bug 1222661 - Replace FromUntyped(obj) calls with FromUnknown*(obj). r=nical 2015-11-09 18:22:25 -05:00
Botond Ballo
db5d15db66 Bug 1222661 - Replace ToUntyped(obj) calls with obj.ToUnknown*(). r=nical 2015-11-06 22:13:40 -05:00
Randall Barker
8a7604804e Bug 1220925 - Event::GetScreenCoords should return CSSIntPoint instead of LayoutDevicePoint. r=botond
This patch converts Event::GetScreenCoords to return the same type as Event::GetClientCoords
and Event::GetPageCoords which is a CSSIntPoint. When the function was originally updated it
was switched to returning LayoutDevicePoint. Additionally the redundant functions
UIEvent::CalculateClientPoint and UIEvent::CalculateScreenPoint were removed.
2015-11-10 11:32:40 -05:00
Botond Ballo
abbcf770b6 Bug 1220923 - Make nsIntRegion a typedef for IntRegionTyped<UnknownUnits>. r=nical 2015-11-04 11:49:49 -05:00
Botond Ballo
e027f4b5e9 Bug 1205511 - Add overloaded operators for multiplying and dividing an IntPointTyped by a ScaleFactor[2D]. r=kats
The overloads return PointTyped, leaving it to the caller to round or truncate
if desired, much like the existing Rect counterparts.
2015-09-28 20:13:16 -04:00
Kartikaya Gupta
23f4f22ded Bug 1189837 - Subtract scrollbars in LD pixels rather than CSS pixels. r=mstange 2015-08-05 14:39:42 -04:00
Botond Ballo
cd15cec315 Bug 1131359 - Port the double-tap-to-zoom functionality of BrowserElementPanning.js to C++. r=kats 2015-07-27 14:07:58 -04:00
Seth Fowler
d8ebf7a220 Bug 1151359 (Part 1) - Predict the size of nsImageFrame images before drawing. r=tn 2015-07-19 19:30:35 -07: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
Botond Ballo
a645864613 Bug 1167882 - Add utility functions MaxScaleRatio() and MinScaleRatio() to Units.h. r=kats 2015-05-27 16:53:01 -04:00
Seth Fowler
192e98ad2e Bug 1150774 (Part 1) - Add helpers to simplify using typed units in ConfigureLayer. r=botond 2015-04-07 18:55:28 -07:00
Daniel Holbert
c42671bca1 Bug 1149222 part 2 - Make nsSVGImageFrame::PaintSVG use LayoutDeviceSize & LayoutDevicePixel::ToAppUnits, when setting up its dest-rect. r=mats 2015-04-03 19:48:12 +00:00
Mats Palmgren
76c9d4c6d0 Bug 1149215 - Remove nsLayoutUtils::GetWholeImageDestination that use unitless nsIntSize. r=dholbert 2015-04-03 19:48:12 +00:00
Botond Ballo
1928a93feb Bug 1043013 - Introduce IntRegionTyped. r=jrmuizel 2015-03-16 13:42:15 -04:00
Botond Ballo
4b543c41d0 Bug 1036967 - Introduce ScaleFactors2D. r=kats,Bas 2015-03-06 13:53:47 -05:00
Daniel Holbert
dbec237c7c (no bug) fix typo ('decleration') in a comment in Units.h. comment-only, DONTBUILD 2014-12-05 11:00:43 -08:00
David Anderson
01023f9453 Add APZ handling for desktop scroll wheel events. (bug 1086162 part 1, r=kats) 2014-11-17 20:56:18 -08:00
Kartikaya Gupta
838d1e49cb Bug 1090398 - Small refactoring that adds ParentLayerPixel::ToUntyped. r=botond 2014-11-14 07:40:14 -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
Botond Ballo
4eddb9ef90 Bug 1076163 - Basic APZ support for css-driven resolution. r=kats,tn
This makes APZ behave nicely with most uses of a css transform:scale.

Summary of changes:
  - FrameMetrics::mCumulativeResolution now includes the css-driven resolution
    in addition to the pres-shell resolution.
  - Displayports are now stored in Screen pixels rather than Layer pixels.
    This is what we want anyways (as we'd like the displayport size to remain
    constant as a fraction of the screen size), but it was necessary to make
    this change as part of this patch because continuing to store them in
    Layer pixels in the presence of a css-driven resolution would have
    required a bunch of infrastructure to implement correctly.

Remaining work:
  - Layout painting a scrollable layer at a resolution different from the
    scale induced by the css transform causes problems. These will go away
    with bug 1076192.
  - Different resolutions on the x and y axes are not supported. This is
    tracked by bug 1039967.
2014-10-24 15:49:38 -04:00
Carsten "Tomcat" Book
5ab7b878a7 Backed out changeset fbb9dc943109 (bug 1076163) for Android 4.0 Crashes on a CLOSED TREE 2014-11-13 11:47:57 +01: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
Botond Ballo
9b6d326e37 Bug 1076163 - Basic APZ support for css-driven resolution. r=kats,tn
This makes APZ behave nicely with most uses of a css transform:scale.

Summary of changes:
  - FrameMetrics::mCumulativeResolution now includes the css-driven resolution
    in addition to the pres-shell resolution.
  - Displayports are now stored in Screen pixels rather than Layer pixels.
    This is what we want anyways (as we'd like the displayport size to remain
    constant as a fraction of the screen size), but it was necessary to make
    this change as part of this patch because continuing to store them in
    Layer pixels in the presence of a css-driven resolution would have
    required a bunch of infrastructure to implement correctly.

Remaining work:
  - Layout painting a scrollable layer at a resolution different from the
    scale induced by the css transform causes problems. These will go away
    with bug 1076192.
  - Different resolutions on the x and y axes are not supported. This is
    tracked by bug 1039967.
2014-10-24 15:49:38 -04:00
Karl Tomlinson
06951da292 bug 1096131 clarify docs for LayoutDevicePixels and LayerPixels r=kats f=tn 2014-11-08 12:39:42 +13:00
Botond Ballo
14f53e2065 Bug 1066259 - Fix operators for multiplying/dividing a Coord by a Scale. r=kats 2014-09-12 17:46:05 -04:00
Botond Ballo
72cc1ef7f3 Bug 1057528 - Allow multiplying/dividing CoordTyped by ScaleFactor. r=kats 2014-08-22 17:26:46 -04:00
Benoit Girard
1acbaee0d2 Bug 1010584 - Part 1: Introduce RenderTargetPixel. r=mwoodrow 2014-07-30 14:36:15 -04:00
Botond Ballo
29e678a8e8 Bug 923512 - Introduce strongly-typed coordinate classes. r=kats,Bas 2014-08-19 13:08:16 -04:00