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

43 Коммитов

Автор SHA1 Сообщение Дата
Kartikaya Gupta 00ef028ed3 Bug 1416267 - Update gfxContext matrix functions to avoid flip-flopping between float and double matrices. r=jrmuizel
The core of this change is in gfxContext.*:
- change gfxContext::CurrentMatrix() and gfxContext::SetMatrix() to
  return and take a Matrix respectively, instead of converting to
  and from a gfxMatrix (which uses doubles). These functions therefore
  will now match the native representation of the transform in gfxContext.
- add two new functions CurrentMatrixDouble() and SetMatrixDouble() that
  do what the old CurrentMatrix() and SetMatrix() used to do, i.e.
  convert between the float matrix and the double matrix.

The rest of the change is just updating the call sites to avoid round-
tripping between floats and doubles where possible. Call sites that are
hard to fix are migrated to the new XXXDouble functions which preserves
the existing behaviour.

MozReview-Commit-ID: 5sbBpLUus3U
2017-11-10 21:14:09 -05: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
Bob Owen 3f14ad38c2 Bug 1347646 Part 1: Backout 4849ef8c9a34 for causing OOM issues when printing PDFs. r=jwatt, r=lsalzman, r=tobytailor 2017-04-08 22:47:51 +01:00
Lee Salzman 7fed4b26a7 Bug 1345815 - fix BasicLayers OOM with recording playback by avoiding copies. r=tobytailor
MozReview-Commit-ID: 1r5sOZv0Gp6
2017-03-09 16:08:40 -05:00
Miko Mynttinen 9c41859a25 Bug 1323797 - Add compositor support for triangle layers (for BasicCompositor backend) - Part 3: Implement DrawPolygon() with Paths r=mattwoodrow
MozReview-Commit-ID: FjxDlzdhqor

--HG--
extra : rebase_source : 0a0737cec7bc2d5cb7df264d7a9043c895b47275
2017-01-10 20:48:44 +02:00
Andi-Bogdan Postelnicu 33e6894feb Bug 1330614 - avoid memory leak in FillRectWithMask. r=jrmuizel
MozReview-Commit-ID: 1rR3juCO1NB

--HG--
extra : rebase_source : 02a54ced3fcbbe0fa831c20a97cb0f0b950f5c84
2017-01-12 14:54:01 +02:00
Tobias Schneider 2722515c91 Bug 1311512 - Use recording draw target for mozPrintCallback canvases. r=jwatt 2016-12-22 11:11:15 -08:00
Jonathan Watt 03036022ec Bug 1277862, part 2 - Rename Moz2D's Filter to SamplingFilter in the rest of gfx/. r=Bas 2016-05-25 17:01:18 +01:00
Bas Schouten b8dfcb93d1 Bug 1210560 - Part 5: Convert BasicLayers usecases to PushGroupForBlendBack and temporary surfaces. r=jrmuizel 2015-11-11 16:15:39 +01:00
Nathan Froyd 01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Nathan Froyd 583afa0965 Bug 1207245 - part 3 - switch all uses of mozilla::RefPtr<T> to nsRefPtr<T>; r=ehsan
This commit was generated using the following script, executed at the
top level of a typical source code checkout.

 # Don't modify select files in mfbt/ because it's not worth trying to
 # tease out the dependencies currently.
 #
 # Don't modify anything in media/gmp-clearkey/0.1/ because those files
 # use their own RefPtr, defined in their own RefCounted.h.
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    grep -v 'mfbt/RefPtr.h' | \
    grep -v 'mfbt/nsRefPtr.h' | \
    grep -v 'mfbt/RefCounted.h' | \
    grep -v 'media/gmp-clearkey/0.1/' | \
    xargs perl -p -i -e '
 s/mozilla::RefPtr/nsRefPtr/g; # handle declarations in headers
 s/\bRefPtr</nsRefPtr</g; # handle local variables in functions
 s#mozilla/RefPtr.h#mozilla/nsRefPtr.h#; # handle #includes
 s#mfbt/RefPtr.h#mfbt/nsRefPtr.h#;       # handle strange #includes
'

 # |using mozilla::RefPtr;| is OK; |using nsRefPtr;| is invalid syntax.
find . -name '*.cpp' -o -name '*.mm' | xargs sed -i -e '/using nsRefPtr/d'

 # RefPtr.h used |byRef| for dealing with COM-style outparams.
 # nsRefPtr.h uses |getter_AddRefs|.
 # Fixup that mismatch.
find . -name '*.cpp' -o -name '*.h'| \
    xargs perl -p -i -e 's/byRef/getter_AddRefs/g'
2015-10-18 00:40:10 -04: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
Jeff Muizelaar 223de83115 Bug 1152509. Use Mask with alpha to avoid allocating a surface. r=bas
This should give a performance improvement on platforms
not using Cairo (especially D2D)

--HG--
extra : rebase_source : eea1167839113ac5a01dcf1efee4d67cc2a24937
2015-04-09 10:52:11 -04:00
Nicholas Nethercote 242708cf72 Bug 1127201 (attempt 2, part 1) - Replace most NS_ABORT_IF_FALSE calls with MOZ_ASSERT. r=Waldo.
--HG--
extra : rebase_source : 488e401ff87e31a2074c4108c4df0572d9536667
2015-02-09 14:34:50 -08:00
Andrew McCreight d3826daa16 Back out Bug 1127201 (part 2) for various problems. 2015-02-06 15:04:32 -08:00
Nicholas Nethercote d34f0301b8 Bug 1127201 (part 2) - Convert all NS_ABORT_IF_FALSE calls to MOZ_ASSERT. r=Waldo.
--HG--
extra : rebase_source : 99182e70335d2b5ff95f8c528ae992d37294be3a
2015-02-04 20:05:36 -08:00
Kearwood (Kip) Gilbert 2a00e2b4cb Bug 1067286 - Part 1: Correct application of device offset for mask layers. r=mattwoodrow
- Fixed GetMaskData() function in BasicLayersImpl.cpp to use
  Matrix::PostTranslate rather than Matrix::PreTranslate when applying
  the device offset.
2014-12-03 18:02:00 -05:00
Jonathan Watt 423fda249a Bug 1065031, part 2 - Changes to Moz2D consuming code to update callers of Moz2D Matrix's Translate, Scale and Rotate methods to use these methods' new names. r=Bas 2014-09-10 18:29:35 +01:00
Matt Woodrow 7122baedb3 Bug 1013769 - Apply render target offset after the layer transform in BasicCompositor. r=Cwiiis 2014-05-28 13:21:32 +12:00
Nicolas Silva 69c73e6b6b Bug 1013292 - Fix some using namespace + unified build issues in gfx code. r=kats 2014-05-22 12:11:45 +02:00
Matt Woodrow d11d3ab343 Bug 997336 - Account for the DrawTarget 'device offset' when drawing layers with a mask. r=Bas 2014-05-12 12:31:27 +12:00
Matt Woodrow b97cc0eb86 Bug 994282 - Apply mask layer transforms in the correct order. r=roc 2014-04-24 19:38:35 +12:00
Chris Lord 221cffec60 Bug 993475 - Consolidate masking code in BasicCompositor and BasicLayersImpl. r=mattwoodrow 2014-04-11 13:23:09 +01:00
Matt Woodrow 90fd035479 Bug 993784 - Part 4: Remove a bunch of dead thebes code in BasicLayers. r=roc 2014-04-09 21:15:19 +12:00
Matt Woodrow 7eb134032b Bug 993784 - Part 3: Use Moz2D SourceSurfaces for masking with BasicLayers. r=roc 2014-04-09 21:15:19 +12:00
Matt Woodrow 29d8737832 Bug 991028 - Remove AutoOpenSurface. r=nical 2014-04-07 13:32:48 +12:00
Phil Ringnalda c213611c51 Backed out 4 changesets (bug 991028) for nonunified bustage
CLOSED TREE

Backed out changeset 147581a518c3 (bug 991028)
Backed out changeset e5bacc566e58 (bug 991028)
Backed out changeset 6dc852777a4d (bug 991028)
Backed out changeset 780bec5571b9 (bug 991028)
2014-04-06 21:21:38 -07:00
Matt Woodrow 178a48f9d2 Bug 991028 - Remove AutoOpenSurface. r=nical 2014-04-07 13:32:48 +12:00
Matt Woodrow aa186f3408 Bug 990338 - Remove FillWithMask since it's dead code. r=nical 2014-04-01 15:52:10 +08:00
Matt Woodrow 45feb365f4 Bug 989858 - Part 1: Add Moz2D helpers to BasicLayersImpl. r=roc 2014-04-01 12:02:09 +08:00
Horia Iosif Olaru 8a23829dd1 Bug 952051 - Change the GetOperator call in FlushGroup to take into account the mix-blend-mode operator for the group. r=roc
Create a new GetEffectiveOperator function that also takes into acount the mix-blend-mode operator for basic layers. Replace logic that chooses between the effective mix blend mode and the operator returned by GetOperator, with calls to this function.
2014-02-27 11:56:48 -05:00
David Zbarsky d676dc0ff8 Bug 952977: Convert AutoMaskData to gfx::Matrix4x4 r=nical 2014-01-27 15:25:21 -05:00
David Zbarsky 76ec000c2f Bug 952977: Perform some cleanup r=nical 2014-01-27 15:25:19 -05:00
David Zbarsky b339e3cd5c Bug 952977: Convert GetEffectiveTransform to gfx::Matrix4x4 r=nical 2014-01-24 17:49:19 -08:00
Benoit Jacob aebf0bb92a Bug 959380 - 4/5 - Make gfxContentType a typed enum - r=jrmuizel
find . -type f | grep -v '\./obj' | grep -v '\.hg' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)GFX_CONTENT_\(COLOR\|ALPHA\|COLOR_ALPHA\|SENTINEL\)\($\|[^A-Za-z0-9_]\)/\1gfxContentType::\2\3/g'
2014-01-23 13:26:40 -05:00
Benoit Jacob eb8b1d73bb Bug 913872 - Take nested enums out of gfxASurface - 3/3 : remove the now-useless inclusions of gfxASurface.h - r=jrmuizel 2013-09-24 16:45:14 -04:00
Benoit Jacob 55d6cf1e20 Bug 913872 - Take nested enums out of gfxASurface - 1/3 : automatic changes - r=jrmuizel
Generated by these regexes:

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/gfx[A-Za-z0-9_]*Surface\:\:[a-z]*\(\(ImageFormat\|SurfaceType\|ContentType\|MemoryLocation\)[0-9A-Za-z_]*\)/gfx\1/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/gfx[A-Za-z0-9_]*Surface\:\:[a-z]*\(\(CONTENT_\|MEMORY_\)[0-9A-Za-z_]*\)/GFX_\1/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(CONTENT_COLOR\|CONTENT_ALPHA\|CONTENT_COLOR_ALPHA\|CONTENT_SENTINEL\|MEMORY_IN_PROCESS_HEAP\|MEMORY_IN_PROCESS_NONHEAP\|MEMORY_OUT_OF_PROCESS\)\($\|[^A-Za-z0-9_]\)/\1GFX_\2\3/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(ImageFormatARGB32\|ImageFormatRGB24\|ImageFormatA8\|ImageFormatA1\|ImageFormatRGB16_565\|ImageFormatUnknown\|SurfaceTypeImage\|SurfaceTypePDF\|SurfaceTypePS\|SurfaceTypeXlib\|SurfaceTypeXcb\|SurfaceTypeGlitz\|SurfaceTypeQuartz\|SurfaceTypeWin32\|SurfaceTypeBeOS\|SurfaceTypeDirectFB\|SurfaceTypeSVG\|SurfaceTypeOS2\|SurfaceTypeWin32Printing\|SurfaceTypeQuartzImage\|SurfaceTypeScript\|SurfaceTypeQPainter\|SurfaceTypeRecording\|SurfaceTypeVG\|SurfaceTypeGL\|SurfaceTypeDRM\|SurfaceTypeTee\|SurfaceTypeXML\|SurfaceTypeSkia\|SurfaceTypeSubsurface\|SurfaceTypeD2D\|SurfaceTypeMax\)\($\|[^A-Za-z0-9_]\)/\1gfx\2\3/g'
2013-09-24 16:45:13 -04:00
Nicholas Cameron 73aeda1397 Bug 903816. Include-what-you-use for gfx/layers. r=roc 2013-08-12 11:17:23 +12:00
Nicolas Silva a1ee3bf807 Bug 863324 - Rename PLayers into PLayerTransaction, r=jrmuizel
--HG--
rename : gfx/layers/ipc/ShadowLayersChild.cpp => gfx/layers/ipc/LayerTransactionChild.cpp
rename : gfx/layers/ipc/ShadowLayersChild.h => gfx/layers/ipc/LayerTransactionChild.h
rename : gfx/layers/ipc/ShadowLayersParent.cpp => gfx/layers/ipc/LayerTransactionParent.cpp
rename : gfx/layers/ipc/ShadowLayersParent.h => gfx/layers/ipc/LayerTransactionParent.h
rename : gfx/layers/ipc/PLayers.ipdl => gfx/layers/ipc/PLayerTransaction.ipdl
2013-04-24 14:42:40 -04:00
Jeff Walden 120886ca73 Bug 820570 - Move mozilla::DebugOnly into DebugOnly.h to pare down the grab-baggish Util.h. r=Ms2ger 2012-12-14 18:58:45 -05:00
Chris Jones 54accca6a3 Bug 765734, part 4: Add an RAII helper to open/close SurfaceDescriptors and mark usage of SurfaceDescriptor as ReadOnly or ReadWrite. r=BenWa,nrc sr=roc
--HG--
extra : rebase_source : 34d9f4f021bac540e96b82eceb855c9c2ce59ce6
2012-07-12 05:51:58 -07:00
Chris Jones 65d85e0d62 Bug 765734, part 0.2: Remove \r from basic layers files. r=nrc
--HG--
extra : rebase_source : c79a1469e473865a22d83b503c947ef3a6b26889
2012-07-12 05:51:57 -07:00
Nicholas Cameron bc53af744f Bug 768723; Reorganise BasicLayers.cpp into multiple files; r=roc
--HG--
rename : gfx/layers/basic/BasicLayers.cpp => gfx/layers/basic/BasicBuffers.cpp
rename : gfx/layers/basic/BasicLayers.cpp => gfx/layers/basic/BasicBuffers.h
rename : gfx/layers/basic/BasicLayers.cpp => gfx/layers/basic/BasicCanvasLayer.cpp
rename : gfx/layers/basic/BasicLayers.cpp => gfx/layers/basic/BasicColorLayer.cpp
rename : gfx/layers/basic/BasicLayers.cpp => gfx/layers/basic/BasicContainerLayer.cpp
rename : gfx/layers/basic/BasicLayers.cpp => gfx/layers/basic/BasicContainerLayer.h
rename : gfx/layers/basic/BasicLayers.cpp => gfx/layers/basic/BasicImageLayer.cpp
rename : gfx/layers/basic/BasicLayers.cpp => gfx/layers/basic/BasicLayerManager.cpp
rename : gfx/layers/basic/BasicLayers.cpp => gfx/layers/basic/BasicLayersImpl.cpp
rename : gfx/layers/basic/BasicLayers.cpp => gfx/layers/basic/BasicLayersImpl.h
rename : gfx/layers/basic/BasicLayers.cpp => gfx/layers/basic/BasicThebesLayer.cpp
rename : gfx/layers/basic/BasicLayers.cpp => gfx/layers/basic/BasicThebesLayer.h
extra : rebase_source : aff7ec0b95a70e00149d2d9ea2856f9192dbc7f6
2012-06-29 18:01:34 +12:00