Commit Graph

75 Commits

Author SHA1 Message Date
Andi-Bogdan Postelnicu
700be71ad9 Bug 1317637 - Use C++11's override and remove virtual where applicable in gfx/. r=jrmuizel
MozReview-Commit-ID: 2nzBWEAu2wt
2016-11-15 11:16:29 +02:00
Jonathan Watt
9c5b8de022 Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
Jonathan Watt
356d59cd2f 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
Sunny Sidhu
2ba69faae0 Bug 1220873 - Make Layer::mVisibleRegion a LayerIntRegion. r=botond 2015-11-29 02:07:55 -05:00
Nathan Froyd
4e6d8f6705 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
2015-10-18 01:24:48 -04:00
Nathan Froyd
bf7f6dda03 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
Nicholas Nethercote
e04159e24b Bug 1211324 (part 4) - Replace GraphicsFilter constants with gfx::Filter equivalents. r=mattwoodrow.
The conversion is as follows:

- GraphicsFilter::FILTER_NEAREST == gfx::Filter::POINT
- GraphicsFilter::FILTER_GOOD    == gfx::Filter::GOOD
- GraphicsFilter::FILTER_BEST    == gfx::Filter::LINEAR

Also typedef GraphicsFilter to gfx::Filter; this will be removed in the next
patch.

These changes mean ToFilter() and ThebesFilter() are no longer needed.
2015-10-05 17:12:46 -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
Robert O'Callahan
7950d92d73 Bug 1143575. Reimplement ImageContainer::GetPaintCount to be composition-aware. r=nical 2015-06-15 14:45:59 +12:00
Robert O'Callahan
74bf60da8a Bug 1143575. Replace ImageContainer Lock methods with simplified AutoLockImage. r=nical 2015-03-27 12:07:53 +13:00
Nathan Froyd
92a8124fef Bug 1161627 - part 2 - machine-convert TemporaryRef<T> to already_AddRefed<T>; r=ehsan
This conversion was done with the script:

  find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl' | \
    egrep -v 'cairo-win32-refptr.h|RefPtr.h|TestRefPtr.cpp' | \
    xargs sed -i -e 's/mozilla::TemporaryRef</already_AddRefed</g' \
                 -e 's/TemporaryRef</already_AddRefed</g'

Manual fixups were performed in the following instances:

- We handled mfbt/RefPtr.h manually so as to not convert TemporaryRef itself
  into already_AddRefed.

- The following files had explicit Move() calls added to make up for the lack
  of a copy constructor on already_AddRefed:

  dom/base/ImageEncoder.cpp
  dom/media/MediaTaskQueue.{h,cpp}
  dom/media/webaudio/PannerNode.cpp

- A redundant overload for MediaTaskQueue::Dispatch was deleted.

- A few manual fixups were required in mfbt/tests/TestRefPtr.cpp.

- Comments, using declarations, and forward declarations relating to
  TemporaryRef in dom/canvas/ and gfx/layers/ were changed to refer to
  already_AddRefed.
2015-06-17 10:00:52 -04:00
Thibaud Backenstrass
2547682c40 Bug 1158122 - Remove some occurences of nsIntRect in gfx/layers/. r=nical 2015-05-07 11:07:35 +02:00
Ehsan Akhgari
ea41d8de48 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -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 MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Cgg
6f5651b95e Bug 1028536 - Remove BasicImageLayer::GetAndPaintCurrentImage. r=nical
From 75d863b86d2b4945c5cbe5b04bd73dcf0e2e817d Mon Sep 17 00:00:00 2001
---
 gfx/layers/basic/BasicImageLayer.cpp |   42 ----------------------------------
 1 file changed, 42 deletions(-)
2014-06-21 15:16:36 +02:00
Chris Peterson
ad426f785b Bug 1118076 - Remove MOZ_THIS_IN_INITIALIZER_LIST. r=Waldo 2015-01-06 21:39:46 -08:00
Ehsan Akhgari
2b0bc024d5 Bug 1117263 - Mark virtual overridden functions as MOZ_OVERRIDE in graphics layers code; r=roc 2015-01-03 12:21:23 -05:00
Ehsan Akhgari
6ad78acff0 Bug 1050609 - Fix more bad implicit constructors in gfx/layers; r=roc 2014-08-20 00:55:14 -04:00
Benoit Girard
28eb7316ee Bug 1037691 - Fix instances where refcounted classes expose a public destructor. r=ehsan,bent,mayhemer,jrmuizel 2014-07-15 11:37:45 -04:00
Cgg
3eacd6f5e2 Bug 783043 - Restore original image factory after paint operations. r=nical
---
 gfx/layers/ImageContainer.h          |    5 +++++
 gfx/layers/basic/BasicImageLayer.cpp |    7 +++++++
 2 files changed, 12 insertions(+)
2014-06-21 14:32:30 +02:00
Nicolas Silva
8555b5a3e9 Bug 783043 - Backed out changeset 29bc4fa125d9 (commit message). r=me 2014-06-21 19:51:07 +02:00
Cgg
9da9590b38 From d5e66ff9f47b4bbd59808c75ede6e30ad35a5cd4 Mon Sep 17 00:00:00 2001
Bug 783043 - Restore original image factory after paint operations. r=nical
---
 gfx/layers/ImageContainer.h          |    5 +++++
 gfx/layers/basic/BasicImageLayer.cpp |    7 +++++++
 2 files changed, 12 insertions(+)
2014-06-21 14:32:30 +02:00
Matt Woodrow
028aa0ce91 Bug 997336 - Account for the DrawTarget 'device offset' when drawing layers with a mask. r=Bas 2014-05-12 12:31:27 +12:00
Jonathan Watt
55c20bd03b Bug 996901 - Remove lots of gfxASurface.h and gfxImageSurface.h includes and forward declarations that are no longer needed. r=mattwoodrow 2014-04-16 01:41:40 +01:00
Matt Woodrow
233c024435 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
872b2cd61c Bug 991028 - Remove AutoOpenSurface. r=nical 2014-04-07 13:32:48 +12:00
Phil Ringnalda
9724e72fe9 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
55957df8b3 Bug 991028 - Remove AutoOpenSurface. r=nical 2014-04-07 13:32:48 +12:00
Matt Woodrow
827f3363f9 Bug 989858 - Part 6: Rename DeprecatedPaint and stop passing a gfxContext in. r=roc 2014-04-01 12:02:10 +08:00
Matt Woodrow
34a2662a70 Bug 989858 - Part 5: Remove partially implemented moz2d paint function. r=roc 2014-04-01 12:02:10 +08:00
Matt Woodrow
aad64c50fa Bug 989858 - Part 3: Convert BasicImageLayer. r=roc 2014-04-01 12:02:09 +08:00
Matt Woodrow
efd983930f Bug 989858 - Part 1: Add Moz2D helpers to BasicLayersImpl. r=roc 2014-04-01 12:02:09 +08:00
Kyle Huey
ea94e7d568 Bug 967364: Rename already_AddRefed::get to take. r=bsmedberg 2014-03-15 12:00:15 -07:00
Horia Iosif Olaru
d87bd0cb39 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
L. David Baron
eccc6c3bd1 Bug 976350 patch 1: Move the contents of nsTraceRefcnt.h into nsISupportsImpl.h. r=bsmedberg
This makes sense since the file no longer contains anything with the
nsTraceRefcnt name in it, and it will allow renaming nsTraceRefcntImpl
back to nsTraceRefcnt.
2014-02-26 13:36:35 -08:00
Ali Akhtarzada
9512a02fa7 Bug 959120 - Moz2Dify AutoLockImage contructor. r=nical
Changed the AutoLockImage constructor to take a SourceSurface
instead of a gfxASurface
2014-02-12 10:24:21 -05:00
Tor Arvid Lund
01607ddac4 Bug 948765 - Implement BasicImageLayer::Paint. r=nical 2014-02-12 10:07:47 -05:00
Tor Arvid Lund
8137f30c4b Bug 948765 - Port CopyableCanvasLayer to Moz2D. r=nical
This patch deprecates the UpdateSurface and PaintWithOpacity methods in the
CCL class. To do this, many other changes were made in the process.

BasicImplData::Paint was deprecated, and its mOperator was ported to Moz2D.
This caused changes in several *Layer subclasses.

GLScreenBuffer::Readback was deprecated.

I want to change the usages of the (now) deprecated functions, so that they
use the new Moz2D ones: CanvasClient::Update has been updated, but the big
one (BasicLayerManager::PaintSelfOrChildren) will have to be its own
project.
2014-02-12 10:07:46 -05:00
Benoit Jacob
2bd34eb690 Bug 959380 - 3/5 - Make gfxSurfaceType a typed enum - r=jrmuizel
find . -type f | grep -v '\./obj' | grep -v '\.hg' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)gfxSurfaceType\(Image\|PDF\|PS\|Xlib\|Xcb\|Glitz\|Quartz\|Win32\|BeOS\|DirectFB\|SVG\|OS2\|Win32Printing\|QuartzImage\|Script\|QPainter\|Recording\|VG\|GL\|DRM\|Tee\|XML\|Skia\|Subsurface\|D2D\|Max\)\($\|[^A-Za-z0-9_]\)/\1gfxSurfaceType::\2\3/g'
2014-01-23 13:26:40 -05:00
Ali Akhtarzada
8d98fb3bd7 Bug 958490 - Implement ImageContainer::Lock/GetAsCurrentSurface. r=nical
Added member functions GetCurrentAsSourceSurface and
LockCurrentAsSourceSurface to return a gfx::SourceSurface instead
of a gfxASurface.

Deprecated LockCurrentAsSurface and GetCurrentAsSurface
2014-01-15 10:06:43 -05:00
Tor Arvid Lund
5f10fff80e Bug 929513 - Replace some instances of gfxIntSize with gfx::IntSize r=nical 2013-12-13 18:32:02 +01:00
Benoit Jacob
f6f57bbbb4 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
Rik Cabanier
369ddec69f Bug 902525 - Part 5: fixes for blending of HTML elements r=roc 2013-09-15 16:43:10 -07:00
Nicholas Cameron
99f4158d80 Don't include mozilla-config.h in gfx.layers. No bug. r=me 2013-09-09 08:55:48 +12:00
Nicholas Cameron
6ff5d55180 Bug 903816. Include-what-you-use for gfx/layers. r=roc 2013-08-12 11:17:23 +12:00
Arnaud Sourioux
852586dd59 Bug 903112 - Replace this with MOZ_THIS_IN_INITIALIZER_LIST() in gfx/. r=jfkthame 2013-08-16 09:18:36 -04:00
Matt Woodrow
021593347d Bug 867474 - Split BasicShadowableLayerManager into a separate ClientLayerManager. r=nrc 2013-05-01 17:03:25 +12:00
Nicolas Silva
ee77840a7b Bug 863324 - Rename PLayers into PLayerTransaction, r=jrmuizel 2013-04-24 14:42:40 -04:00
Nicholas Cameron
97c38ba23b Bug 862106. Use Create*Client directly. r=nical 2013-04-17 09:36:06 +12:00
Bas Schouten
b439abe1f3 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
Paul Adenot
d44923d1ac Bug 825325 - ImageContainer::NotifyPaintedImage is not called on android. r=nical 2013-01-18 16:57:17 +01:00