Commit graph

94 commits

Author SHA1 Message Date
Jeff Muizelaar
faa4cd1783 Bug 1410550. Allow updating a dirty rect of a blob image. r=kats 2017-10-24 18:11:04 -04:00
Milan Sreckovic
650410a90c 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

--HG--
extra : rebase_source : d684d4f8126fbe47eb31eba9923fdd37a35246bf
2017-08-14 08:30:04 -04:00
Kartikaya Gupta
1c54bb2347 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

--HG--
extra : rebase_source : dcd84d9a978cdea00bb54eb11eefcca9c6635901
2017-07-05 11:18:48 -04:00
Matt Woodrow
eafc8e49e9 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
ae4b8838b4 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

--HG--
extra : rebase_source : 65e4c255eeb5646e351692e6d4f91d3e6c8e5789
2017-05-19 19:54:25 -04:00
Masatoshi Kimura
a4c9e326d4 Bug 1358758 - Use CSSIntRect for nsIFrame::GetScreenRect. r=kats
MozReview-Commit-ID: KXPL1ERbFDa

--HG--
extra : rebase_source : 263b18d1736b09bb62d914f066481281966b288c
2017-04-25 07:33:13 +09:00
Ryan Hunt
bfa4ee5cb2 Bug 1355570 - Update bindings and WebRender display list building for gradient tiling r=jrmuizel
MozReview-Commit-ID: KwhCBc8XxCN

--HG--
extra : rebase_source : a5608b3388528ae1bd39be5f2fd9b2094193d46c
extra : source : c244293944bc163a742ef1b6f4225a751db5f796
extra : histedit_source : 860c2dc0fd3f8a5f35aea9b1ca15218d64208b65%2C803c9c5d3e85ee73fda2e3ccf504426b4798aecb
2017-04-12 14:20:52 -05:00
Botond Ballo
6aa36c0f99 Bug 1321885 - Add CSSPixel::FromAppUnits(nscoord) and CSSPixel::ToAppUnits(CSSCoord). r=kats
MozReview-Commit-ID: 8V9gjVf35bC

--HG--
extra : rebase_source : 7fc17e00fddbdbe4856c08a78729e8467a1f9571
2016-08-24 13:42:57 -04:00
Matt Woodrow
3de8001441 Bug 1317862 - Part 3: Build TextLayers if enabled. r=mstange 2016-11-24 18:11:29 +13:00
Markus Stange
163908bf5a Bug 1315113 - Fix coordinate space confusion in gradient rendering code. r=mattwoodrow
MozReview-Commit-ID: 38Zk9qWNyoX

--HG--
extra : rebase_source : b62a8af0c774846043f7a819debfdb5340402600
2016-11-09 13:53:33 -05:00
Botond Ballo
a2ee8407e4 Bug 1219296 - Scroll snap directly in APZ instead of going through the main thread. r=kats
MozReview-Commit-ID: 3qAdSWXwOsu

--HG--
extra : rebase_source : 1c746af11c620e4bc27d1163980db361c239ae5e
2016-03-28 18:36:02 -04:00
Jonathan Kew
46b5136c09 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
33dd940e87 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
b6ced4a261 Bug 1236750 - Introduce a new unit type CSSTransformedLayerPixel. r=kats
--HG--
extra : source : 9bd0997f6f348d4955cc7e0b476aed30f7a06948
2016-01-06 18:52:45 -05:00
Botond Ballo
62ee05c5f0 Bug 1069417 - Add typedefs for commonly used typed matrices. r=kats
--HG--
extra : rebase_source : 03dbc8c1ef79d105768bd083992ff14b21e5087f
extra : source : 7006935e03533321513fe5aa64dc00040117f4d1
2015-11-30 19:52:33 -05:00
Nicholas Nethercote
e60696c015 Bug 1228125 (part 1) - Remove nsIWidget::GetBoundsUntyped(). r=botond.
This requires adding a new overloading of LayoutDevicePixel::ToAppUnits and a
new PixelCastJustification: LayoutDeviceIsParentLayerForRCDRSF.

--HG--
extra : rebase_source : b6d044619918818815b40c1173aa4e0551db28a1
2015-11-25 20:32:47 -08:00
Botond Ballo
a224f7b777 Bug 1222661 - Replace ToUnknown(obj) and FromUnknown(obj) with obj.ToUnknown*() and FromUnknown*(obj). r=nical
--HG--
extra : rebase_source : db0f7cfb9ce17492e9d13ee2681e98767ae861a6
extra : source : 2265b5592e39033d22d902d44ba73cba719b8cd0
2015-11-09 17:49:46 -05:00
Botond Ballo
6a70e1aa18 Bug 1222661 - Replace FromUntyped(obj) calls with FromUnknown*(obj). r=nical
--HG--
extra : rebase_source : c1afe8560b838e1a3be0ce50847861b1815d3dc9
extra : source : d649f163c825736efaf3ac3ad73040beeb48a6ef
2015-11-09 18:22:25 -05:00
Botond Ballo
a592a77364 Bug 1222661 - Replace ToUntyped(obj) calls with obj.ToUnknown*(). r=nical
--HG--
extra : rebase_source : 1cab46638599d8c4e6183c42a6fa9d41702392cb
extra : source : cabc28a2200b9b4e5e137d331ee5b86b3c09f065
2015-11-06 22:13:40 -05:00
Randall Barker
658205dc3e 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.

--HG--
extra : commitid : 9BNUzLVMIZ6
2015-11-10 11:32:40 -05:00
Botond Ballo
5bf85e9f9d Bug 1220923 - Make nsIntRegion a typedef for IntRegionTyped<UnknownUnits>. r=nical
--HG--
extra : source : 1f371f014048ed4c3c25095233fea927311a7e23
2015-11-04 11:49:49 -05:00
Botond Ballo
ea3c8de6e0 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.

--HG--
extra : source : 4cbb1eaa1e94777049ce83c24ea1d46aeb731ab1
2015-09-28 20:13:16 -04:00
Kartikaya Gupta
db02ba5a05 Bug 1189837 - Subtract scrollbars in LD pixels rather than CSS pixels. r=mstange
--HG--
extra : commitid : 2bn2Ieqd1LP
2015-08-05 14:39:42 -04:00
Botond Ballo
fac300df40 Bug 1131359 - Port the double-tap-to-zoom functionality of BrowserElementPanning.js to C++. r=kats
--HG--
extra : rebase_source : d897a9ececcae556805fbe68e8a3b6cf6d8fbbab
2015-07-27 14:07:58 -04:00
Seth Fowler
faeeebcacd Bug 1151359 (Part 1) - Predict the size of nsImageFrame images before drawing. r=tn 2015-07-19 19:30:35 -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
Botond Ballo
9f96d5973b Bug 1167882 - Add utility functions MaxScaleRatio() and MinScaleRatio() to Units.h. r=kats
--HG--
extra : source : 17698f57d1cf14958e1ce3006abe5d9671cd18a7
2015-05-27 16:53:01 -04:00
Seth Fowler
d1dffb1a14 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
9713645c88 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
035bf0bc77 Bug 1149215 - Remove nsLayoutUtils::GetWholeImageDestination that use unitless nsIntSize. r=dholbert 2015-04-03 19:48:12 +00:00
Botond Ballo
d70b1ea0e6 Bug 1043013 - Introduce IntRegionTyped. r=jrmuizel
--HG--
extra : rebase_source : 109fe53588254256b5575e082f709a0cb71fe877
extra : source : d7db1f0cb75b689316da6671bed37d496d17e90c
2015-03-16 13:42:15 -04:00
Botond Ballo
4f5da1dd25 Bug 1036967 - Introduce ScaleFactors2D. r=kats,Bas
--HG--
extra : rebase_source : e137820f9992c23f65aab1e40fb7390c9125b04a
extra : source : 1f79257b3df7fb146a1d4f7248905e0ac88f89d0
2015-03-06 13:53:47 -05:00
Daniel Holbert
743e01cc0c (no bug) fix typo ('decleration') in a comment in Units.h. comment-only, DONTBUILD 2014-12-05 11:00:43 -08:00
David Anderson
028b163679 Add APZ handling for desktop scroll wheel events. (bug 1086162 part 1, r=kats) 2014-11-17 20:56:18 -08:00
Kartikaya Gupta
aa17d0e26d Bug 1090398 - Small refactoring that adds ParentLayerPixel::ToUntyped. r=botond 2014-11-14 07:40:14 -05:00
Botond Ballo
1c1e4448a5 Bug 1055741 - Unify the 'local Screen' and 'ParentLayer' coordinate systems. r=kats 2014-11-10 14:35:11 -05:00
Botond Ballo
c854025367 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
8894f4319e 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
4b4108a4a9 Backed out changeset a96930f1e26b (bug 1055741) 2014-11-13 11:47:31 +01:00
Botond Ballo
d766d4ca14 Bug 1055741 - Unify the 'local Screen' and 'ParentLayer' coordinate systems. r=kats
--HG--
extra : rebase_source : af7323668fb54079e121755660da2121bec3d76b
2014-11-10 14:35:11 -05:00
Botond Ballo
57adf459d4 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
e74a26e05e bug 1096131 clarify docs for LayoutDevicePixels and LayerPixels r=kats f=tn
--HG--
extra : rebase_source : c2e854a7af06abbfcd9bb95fef3ac241472b88b5
2014-11-08 12:39:42 +13:00
Botond Ballo
69bfa032a3 Bug 1066259 - Fix operators for multiplying/dividing a Coord by a Scale. r=kats
--HG--
extra : rebase_source : e6efebeac8b6628b24e1596fb5dc78187c64e325
2014-09-12 17:46:05 -04:00
Botond Ballo
2d925240e4 Bug 1057528 - Allow multiplying/dividing CoordTyped by ScaleFactor. r=kats 2014-08-22 17:26:46 -04:00
Benoit Girard
0d295d7249 Bug 1010584 - Part 1: Introduce RenderTargetPixel. r=mwoodrow 2014-07-30 14:36:15 -04:00
Botond Ballo
ffebd18f0b Bug 923512 - Introduce strongly-typed coordinate classes. r=kats,Bas
--HG--
extra : rebase_source : 22e5fe577ea503aede765c70e16c0bf875c4a9fd
2014-08-19 13:08:16 -04:00
Kartikaya Gupta
917e8cd729 Bug 1043644 - Use the content viewer bounds instead of the view bounds if available. r=tn 2014-07-29 14:50:48 -04: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
Kartikaya Gupta
0d3a73d431 Bug 1018387 - Update various variables and comments to reflect the fact that the values are in layer pixels and not layout device pixels. r=Cwiiis 2014-06-09 14:02:39 -04:00
Markus Stange
1e0903dbed Bug 944938 - Pass scroll events to the APZC tree manager on the async event thread. r=smichaud 2014-06-07 00:49:59 +02:00