Commit Graph

28 Commits

Author SHA1 Message Date
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
Chris Peterson
642782015a Bug 1295083 - Replace PR_snprintf and s[n]printf calls with SprintfLiteral in gfx/. r=Bas 2016-08-16 15:41:12 -07:00
Michelangelo De Simone
3c44cb010c Bug 1247445 - Rename Layer::GetEffectiveVisibleRegion GetLocalVisibleRegion. r=botond 2016-02-13 16:50:51 -08:00
Sunny Sidhu
2ba69faae0 Bug 1220873 - Make Layer::mVisibleRegion a LayerIntRegion. r=botond 2015-11-29 02:07:55 -05:00
Nicholas Nethercote
3f2b2ab546 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()
2015-11-11 14:23:14 -08:00
Milan Sreckovic
8feec0d950 Bug 1214802 - gfxEnv - consolidate environment variables used by the graphics code in one place. r=botond 2015-10-28 14:31:00 +01:00
Thinker K.F. Li
af80f65bac Bug 1097464 - Part 6: Handle preserves-3d by compositor. r=roc
Remove WrapPreserve3DList() and replaced it by creating a
nsDisplayTransform item for each transformed frame.

 - Add an additional item for each top frame extending 3D context to
   separate consequence contexts.

 - Effective transform of a layer is the accumulation of ancestors in
   the same 3D context.

 - The layers creating new context and extended by children need a
   temporary buffer if it's effective transform is not 2D.

 - Clip rects are accumulated along the context chain.

 - Visible rects of items are computed from dirty regions of the frame
   creating the context and accumulated transforms.

 - Bounds of items are computed from accumulated transforms and
   accumulated bounds of the descent frames.

 - Backface hidden is handled by compositor and BasicLayerManager.
2015-09-17 03:31:00 +02:00
Carsten "Tomcat" Book
a47b1a13c4 Backed out 6 changesets (bug 1097464) for causing OS X 10.10 Reftest Errors
Backed out changeset fbf63ce1ba88 (bug 1097464)
Backed out changeset fdaf4cfa6707 (bug 1097464)
Backed out changeset 727ebd9f744a (bug 1097464)
Backed out changeset 03f03a776042 (bug 1097464)
Backed out changeset 5ec6364b87d7 (bug 1097464)
Backed out changeset 47d056b3af7f (bug 1097464)
2015-09-17 16:24:43 +02:00
Thinker K.F. Li
4ca462453f Bug 1097464 - Part 6 - Handle preserves-3d by compositor. r=roc
Remove WrapPreserve3DList() and replaced it by creating a
nsDisplayTransform item for each transformed frame.

 - Add an additional item for each top frame extending 3D context to
   separate consequence contexts.

 - Effective transform of a layer is the accumulation of ancestors in
   the same 3D context.

 - The layers creating new context and extended by children need a
   temporary buffer if it's effective transform is not 2D.

 - Clip rects are accumulated along the context chain.

 - Visible rects of items are computed from dirty regions of the frame
   creating the context and accumulated transforms.

 - Bounds of items are computed from accumulated transforms and
   accumulated bounds of the descent frames.

 - Backface hidden is handled by compositor and BasicLayerManager.
2015-09-17 03:31:00 +02:00
Kearwood (Kip) Gilbert
d3ad55b783 Bug 1181240 - Part 3: Replace gfx3DMatrix with Matrix4x4 in gfx,r=vlad
- Refactored code to use Matrix4x4 instead of gfx3DMatrix.
- There is not expected to be any functional effect.
2015-07-10 17:06: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
David Zbarsky
dab4416cdc Bug 1060165: Remove gfxPoint3D r=nical 2014-08-29 14:47:30 -04:00
Kartikaya Gupta
e480e44f68 Bug 1040906 - Replace the out-param on matrix conversion helpers with a return value. r=Bas 2014-07-22 09:12:14 -04:00
Nicolas Silva
8a0c258ce9 Bug 1013292 - Fix some using namespace + unified build issues in gfx code. r=kats 2014-05-22 12:11:45 +02:00
Daniel Holbert
bfd85bcc79 Bug 1008360: Move LayerSorter.cpp's xterm color codes into the block where they're used, and comment out the ones that aren't used at all. r=kats 2014-05-09 13:30:49 -07:00
Kartikaya Gupta
be242e8a26 Bug 996738 - Change #define to const int to work better with unified builds. r=mattwoodrow 2014-04-15 10:58:00 +02:00
David Zbarsky
76af03653a Bug 952977: Convert GetTransform to gfx::Matrix4x4 r=nical 2014-01-27 10:28:47 -05:00
Nicholas Cameron
6ff5d55180 Bug 903816. Include-what-you-use for gfx/layers. r=roc 2013-08-12 11:17:23 +12:00
Benoit Jacob
7780b74e83 Bug 819248 - avoid adding null Layers into the output of SortLayersBy3DZOrder - r=mattwoodrow 2012-12-17 16:12:55 -05:00
Boris Zbarsky
96c3e64838 Bug 815671 part 4. Remove some array copying in gfx code. r=roc 2012-11-29 11:14:13 -05:00
Ehsan Akhgari
243c878d26 Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Aryeh Gregor
8b4a23fc4c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
David Zbarsky
7f0b27a36b [Bug 774505] Don't include Layers.h everywhere r=cjones 2012-07-18 12:31:40 -04:00
Gervase Markham
cb6a072c2a Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Matt Woodrow
961bc8d69f Bug 735178 - Add error tolerance values when sorting preserve-3d layers. r=roc 2012-04-27 12:24:53 +12:00
Matt Woodrow
602e63b3fc Bug 735178 - Add debug coloring of sorted 3d layers to help identification. r=roc 2012-04-27 12:24:53 +12:00
Matt Woodrow
6c2694dc88 Bug 693521 - Improve preserve-3d sorting behaviour by using line intersection points. r=roc 2011-10-15 09:45:01 +13:00
Matt Woodrow
6ee9edc14b Bug 684759 - Part 3a - Sort preserve-3d layers using their z depth at points where they intersect in 2d space. r=roc 2011-10-07 10:23:18 +13:00