Commit Graph

78 Commits

Author SHA1 Message Date
Botond Ballo
851b7a2860 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
5d3596c6b7 Bug 1222661 - Replace FromUntyped(obj) calls with FromUnknown*(obj). r=nical 2015-11-09 18:22:25 -05:00
Botond Ballo
c16d0046cf Bug 1222661 - Replace ToUntyped(obj) calls with obj.ToUnknown*(). r=nical 2015-11-06 22:13:40 -05:00
Randall Barker
d93f8381b4 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
420f16d0d5 Bug 1220923 - Make nsIntRegion a typedef for IntRegionTyped<UnknownUnits>. r=nical 2015-11-04 11:49:49 -05:00
Botond Ballo
84e59f4c87 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
63a4a4b834 Bug 1189837 - Subtract scrollbars in LD pixels rather than CSS pixels. r=mstange 2015-08-05 14:39:42 -04:00
Botond Ballo
7c2c79296f 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
6408919d4c Bug 1151359 (Part 1) - Predict the size of nsImageFrame images before drawing. r=tn 2015-07-19 19:30:35 -07:00
Birunthan Mohanathas
47ed3a3675 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
c23d3c2c33 Bug 1167882 - Add utility functions MaxScaleRatio() and MinScaleRatio() to Units.h. r=kats 2015-05-27 16:53:01 -04:00
Seth Fowler
5217e8f84f 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
9f9755084d 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
b49cf5eed9 Bug 1149215 - Remove nsLayoutUtils::GetWholeImageDestination that use unitless nsIntSize. r=dholbert 2015-04-03 19:48:12 +00:00
Botond Ballo
4fff36badc Bug 1043013 - Introduce IntRegionTyped. r=jrmuizel 2015-03-16 13:42:15 -04:00
Botond Ballo
f1eb3ec205 Bug 1036967 - Introduce ScaleFactors2D. r=kats,Bas 2015-03-06 13:53:47 -05:00
Daniel Holbert
b03fdf18ec (no bug) fix typo ('decleration') in a comment in Units.h. comment-only, DONTBUILD 2014-12-05 11:00:43 -08:00
David Anderson
ff5c3e1a83 Add APZ handling for desktop scroll wheel events. (bug 1086162 part 1, r=kats) 2014-11-17 20:56:18 -08:00
Kartikaya Gupta
28d8e0fc7e Bug 1090398 - Small refactoring that adds ParentLayerPixel::ToUntyped. r=botond 2014-11-14 07:40:14 -05:00
Botond Ballo
38686d1732 Bug 1055741 - Unify the 'local Screen' and 'ParentLayer' coordinate systems. r=kats 2014-11-10 14:35:11 -05:00
Botond Ballo
a9023af387 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
02e93c125d 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
5e23d64a72 Backed out changeset a96930f1e26b (bug 1055741) 2014-11-13 11:47:31 +01:00
Botond Ballo
29b59b1060 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
eedb31a2aa 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
9095c70c89 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
2b9022c165 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
26efbba910 Bug 1057528 - Allow multiplying/dividing CoordTyped by ScaleFactor. r=kats 2014-08-22 17:26:46 -04:00
Benoit Girard
83de16edc7 Bug 1010584 - Part 1: Introduce RenderTargetPixel. r=mwoodrow 2014-07-30 14:36:15 -04:00
Botond Ballo
54aeea8833 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
fd263cebca 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
739c98b1cf 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
b7b8cadfe4 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
d5b6168882 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
Kartikaya Gupta
0c67224bf9 Bug 948377 - Remove unwanted rounding in CalculateCompositedRectInCssPixels; add a CalculateCompositedSizeInCssPixels also. r=botond 2014-03-28 10:36:47 -04:00
Botond Ballo
856fce75aa Bug 935219 - Fix composition bounds calculation and APZC hit testing (again). r=kats,tn
--HG--
extra : amend_source : 06c6bb658dfead6907250831bbe73fae6c20b45c
2014-03-10 17:56:59 -04:00
Chris Lord
5ef337c5a4 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
f69138d888 Bug 923431 - Kill ScreenToScreenScale. r=botond 2013-10-10 12:21:55 -04:00
Ehsan Akhgari
39c223b372 Bug 919355 - Part 2: Don't #include nsDeviceContext.h in Units.h; r=roc 2013-09-23 07:55:35 -04:00
Kartikaya Gupta
abd5cb0f8b 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
Jeff Muizelaar
c18eea3d30 Bug 908726. Add AppUnits.h so we don't need nsDeviceContext.h for AppUnitsPerCSSPixel(). r=ehsan 2013-09-06 16:15:04 -04:00
Botond Ballo
8991615154 Bug 904533 - Compute FrameMetrics::mCompositionBounds correctly for subframes. r=tn 2013-08-30 13:22:33 -04:00
Kartikaya Gupta
e928b156af Bug 910322 - Strongly type the viewport size in nsViewportInfo. r=mbrubeck, Ms2ger 2013-09-03 15:12:24 -04:00
Kartikaya Gupta
0089237c64 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
Kartikaya Gupta
d8c768311d Bug 902888 - Fix coordinate system mismatch with pre-Honeycomb plugins on Android. r=snorp
The plugin code was returning a rect in LayoutDevicePixels whereas Java
was treating it as a CSS-pixel rect. This patch makes the types more
explicit and adds a conversion in AndroidBridge to convert from the
LayoutDevicePixels to CSSPixel rects.
2013-08-13 11:49:21 -04:00
Karl Tomlinson
48dac2e5b6 b=893523 clamp CSS pixel to nscoord conversion to nscoord_MIN,MAX r=roc
--HG--
extra : transplant_source : P%87%C2l%86%9AWu%CD%06%E5%22%D3%88/%80a%CE%80p
2013-08-05 14:58:41 +12:00
Ms2ger
625b832e4f Bug 896251 - Make nsEvent::{refPoint, lastRefPoint} LayoutDeviceIntPoints; r=smaug+kats 2013-08-02 09:05:16 +02:00
Ms2ger
65b9d384bf Bug 897540 - Reduce includes in nsDeviceContext.h; r=roc 2013-08-02 09:04:22 +02:00
Chris Lord
f520fc2e89 Bug 886298 - Add a typed-units Margin. r=kats 2013-07-22 09:50:11 +01:00
Botond Ballo
aa89fe2cd5 Bug 891468 - Convert nsEventStateManager::GetChildProcessOffset to return a LayoutDeviceIntPoint instead of an nsIntPoint. r=smaug 2013-07-11 10:43:35 -04:00