Граф коммитов

66 Коммитов

Автор SHA1 Сообщение Дата
Chris Peterson b994ab8896 Bug 1624789 - Replace MOZ_MUST_USE with [[nodiscard]] in gfx. r=gfx-reviewers,nical
Also move MOZ_MUST_USE before function declarations' specifiers and return type. While clang and gcc's __attribute__((warn_unused_result)) can appear before, between, or after function specifiers and return types, the [[nodiscard]] attribute must precede the function specifiers.

Differential Revision: https://phabricator.services.mozilla.com/D68152

--HG--
extra : moz-landing-system : lando
2020-03-25 10:35:04 +00:00
Ting-Yu Lin b19983c13e Bug 1610670 - Add AllPhysicalCorners() to support range-based for loops. r=mats
This patch is generated via:
1. Manually modify gfx/2d/Types.h
2. Run the following script and clang-format.

```

function rename() {
    echo "Renaming $1 to $2"
    rg -l "$1" | xargs sed -i -E -e s/"$1"/"$2"/g
}

rename "NS_FOR_CSS_FULL_CORNERS\(i\)" "for (const auto i : mozilla::AllPhysicalCorners())"
rename "NS_FOR_CSS_FULL_CORNERS\(corner\)" "for (const auto corner : mozilla::AllPhysicalCorners())"
```

Differential Revision: https://phabricator.services.mozilla.com/D61251

--HG--
extra : moz-landing-system : lando
2020-02-04 03:28:35 +00:00
Jean-Yves Avenard 11ac9e9cf8 Bug 1540581 - P6. Tidy some C++ declarations in gfx/. r=gerald,jrmuizel
* Remove redundant virtual keywords
* Mark all destructors of inheriting classes as virtual for clarity
* Mark all classes without virtual destructor as final (exposed errors)
* Make destructor virtual where it needed to be (some were missing)
* Replace empty ({}) code declaration in header with = default
* Remove virtual unused methods

I probably missed some, it quickly became a rabbit hole.

Differential Revision: https://phabricator.services.mozilla.com/D26060

--HG--
extra : moz-landing-system : lando
2019-04-11 12:36:51 +00:00
Botond Ballo 8a9ba2ba40 Bug 1518584 - Add WithinEpsilonOf() functions to RectTyped and MarginTyped. r=kats
Also make a const-correctness fix to PointTyped::WithinEpsilonOf().

Depends on D15974

Differential Revision: https://phabricator.services.mozilla.com/D15975

--HG--
extra : moz-landing-system : lando
2019-01-09 15:37:52 +00:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Lee Salzman 0be53a4c8c Bug 1490704 - check rect size in RectIsInt32Safe. r=mattwoodrow 2018-11-12 17:09:12 -05:00
Nicolas Silva 514e74387d Bug 1474722 - Prevent large rect integer overflows without forbidding large nine-patches. r=Bas 2018-08-01 17:13:12 +02:00
Bas Schouten 2ffa4da191 Bug 1476506: Move RoundedRect into Moz2D and convert all callers. r=mattwoodrow 2018-07-18 08:55:43 +02:00
Milan Sreckovic 099cfc4242 Bug 1423570: Use BaseRect access methods instead of member variables in gfx/ r=bas.schouten
MozReview-Commit-ID: ZGySgc9oP3

--HG--
extra : rebase_source : 23aadc10e9885002290155684b2c495780d979ce
2017-12-19 15:48:39 -05:00
Botond Ballo a155122b36 Bug 1382534 - Add a UnionMaybeRects() method to gfx/2d/Rect.h. r=mstange
MozReview-Commit-ID: 3G4Hlj54Thy

--HG--
extra : rebase_source : 6c2b22f28ee648bc93f4cb3471727f992f8cb34e
2017-08-23 17:45:15 -04:00
Daniel Holbert 126bd9e1a4 Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: 77D61xpSmIl

--HG--
extra : rebase_source : c6162fa3cf539a07177a19838324bf368faa162b
2017-10-27 16:10:06 -07:00
Milan Sreckovic f330369b4e Bug 1387514: Upgrade BaseRect (derived classes) width and height direct member variable use to instead use Width()/SetWidth() and Height()/SetHeight() in .h files in gfx/*. r=botond
MozReview-Commit-ID: 4knfAC1HTI1

--HG--
extra : rebase_source : 6ac939b478d22d429e8643e6ba96e372d8220bfb
2017-08-14 08:28:11 -04:00
Kevin Chen 6a20c88a59 Bug 1366027 - Calculate shrink clipped rect with double precision; r=lsalzman
MozReview-Commit-ID: 1y2oUkDfnu6

--HG--
extra : rebase_source : 97949c6d03925cd72974a21e630ba850ad2e5c2c
2017-05-23 11:53:04 +08:00
Nicolas Silva 79bb9f5c0e Bug 1284837 - Disallow implicit conversions from float to integer when creating. r=botond 2016-09-16 17:49:39 +02:00
Markus Stange 6b192b5a0c Bug 1298206 - Make IntersectMaybeRects usable for Maybe<nsRect>. r=botond
MozReview-Commit-ID: 4OJQj206gI2

--HG--
extra : rebase_source : ce6d47968a655dd820cb7fecc26aa9394668b3f9
2016-08-24 17:40:58 -04:00
Kartikaya Gupta 85a734ff8d Bug 1283826. r=mstange,Bas
MozReview-Commit-ID: HiwjHBlhmKk
2016-07-19 21:50:09 -04:00
Wes Kocher 881322b8cb Backed out changeset 7985dab6e65e (bug 1283826) for crashtest failures CLOSED TREE 2016-07-18 11:43:15 -07:00
Kartikaya Gupta f006a9f9b3 Bug 1283826. r=mstange,Bas
MozReview-Commit-ID: HiwjHBlhmKk
2016-07-18 11:15:00 -04:00
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