Commit Graph

137 Commits

Author SHA1 Message Date
Jonathan Watt
2357eb85f9 Bug 1253094, part 2 - Stop using DebugOnly for class/struct members in gfx/. r=Bas
MozReview-Commit-ID: 7rDHRqNgQqL
2016-02-26 15:52:07 +00:00
Nicholas Nethercote
b003fbc631 Bug 1238846 (part 2) - Remove gfxContext::mOriginalDT, which is unused. r=mattwoodrow.
--HG--
extra : rebase_source : 0709544d8596fd368be2b4db5395322726fe57b6
2016-01-12 13:42:02 -08:00
Nicholas Nethercote
fc9cf6f9d5 Bug 1231888 (follow-up) - Simplify CurrentSurface(). r=jrmuizel.
The previous patch in this bug removed two calls to CurrentSurface(), leaving
only one, and that one doesn't need the dx and dy arguments.

--HG--
extra : rebase_source : 52cc3d7a1317ea9f239f59c24a58810ce6669c9f
2016-01-11 16:42:09 -08:00
Bogdan Postelnicu
c6013bd937 Bug 1228507 - Initialize mBlendOpacity. r=Bas
--HG--
extra : rebase_source : d596023a4d50572ef597d9a34772354d25c8fcc9
2015-11-27 00:10:00 -05:00
Nicholas Nethercote
3493a38202 Bug 1232822 (part 6) - Move RefCairo() from gfxContext to gfxFont. r=jfkthame.
Because gfxContext will one day disappear, and gfxFont seems like a good place
to move it to.
2015-12-15 20:10:04 -08:00
Nicholas Nethercote
16ee19fe3f Bug 1232822 (part 5) - Moz2Dify GetRoundOffsetsToPixels(). r=jfkthame.
Make GetRoundOffsetsToPixel() take a DrawTarget instead of a gfxContext. This
requires moving it into gfxFontShaper. The only change of note within the
function is the use of aDrawTarget->GetTransform().HasNonTranslation() instead
of CurrentMatrix().HasNonTranslation().
2015-12-15 13:56:40 -08:00
Nicholas Nethercote
a4dc4a929c Bug 1232576 (part 2) - Rename gfxContext::GetCairo() as GetRefCairo() and make it static. r=jfkthame.
This means its callers now need a DrawTarget instead of a gfxContext.

--HG--
extra : rebase_source : 909cbf179cfbffa47fb70f417b2f50b641534a02
2015-12-14 22:26:23 -08:00
Nicholas Nethercote
922099a41a Bug 1232576 (part 1) - Move the reference |cairo_t*| from gfxContext to DrawTarget (as user data). r=jfkthame.
--HG--
extra : rebase_source : 5f4be8b9cb4a24527ee95468239ff6ff26d4a279
2015-12-14 22:23:51 -08:00
Nicholas Nethercote
50a52a2781 Bug 1229662 (part 3) - Remove AzureState::fillRule. r=jrmuizel.
AzureState::fillRule is never set to any value other than FILL_WINDING. It can
be removed. Note that TransformedCopyToBuilder() and CopyToBuilder()'s FillRule
arguments both default to FILL_WINDING.
2015-12-06 18:18:00 -08:00
Nicholas Nethercote
b5a3f4e12b Bug 1229662 (part 2) - Remove AzureState::parentTarget. r=jrmuizel. 2015-12-06 18:17:59 -08:00
Nicholas Nethercote
16d5d92df9 Bug 1229662 (part 1) - Remove AzureState::clipWasReset. r=jrmuizel.
AzureState::clipWasReset is never set to any value other than false. It can be
removed.
2015-12-06 18:17:57 -08:00
Nicholas Nethercote
757eb4ec8c Bug 1229202 (part 3) - Make gfxContextAutoDisableSubpixelAntialiasing take a DrawTarget instead of a gfxContext. r=mattwoodrow.
--HG--
extra : rebase_source : 63851ac1725451c7607c00b345ce3334ff749246
2015-12-02 15:32:16 -08:00
Bas Schouten
b38ab6a38f Bug 1210560 - Followup 3: Fix an assertion that can occur on mochitest bc4. r=jrmuizel on a CLOSED TREE 2015-11-11 21:56:59 +01:00
Bas Schouten
2604700a19 Bug 1210560 - Part 8: Remove unused PushGroup/PopGroup/PopGroupToSource functions. r=jrmuizel 2015-11-11 16:15:40 +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
Bas Schouten
36cd89f36b Bug 1210560 - Part 3: Convert more complex SVG usecases to PushGroupForBlendBack. r=jwatt r=jrmuizel 2015-11-11 16:15:39 +01:00
Bas Schouten
752a87fbd2 Bug 1210560 - Part 1: Add an API specifically intended for users that just Push and Pop-Mask/Pop-Paint. r=jrmuizel 2015-11-11 16:15:39 +01:00
Nicholas Nethercote
2b25a153e9 Bug 1223215 (part 3) - Moz2Dify DeviceToUser(gfxSize) and UserToDevice(gfxSize). r=jrmuizel.
--HG--
extra : rebase_source : 360cd372afd0b6e521ece5d0294dfcd160bc11ac
2015-11-08 21:03:40 -08: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
Nicholas Nethercote
342466f878 Bug 1208345 - Remove gfxContext::GraphicsOperator. r=jwatt.
Also...

- Rename various "operator" identifiers as "op" to match |CompositionOp|.

- Rename |nsBackgroundLayerState::mCompositingOp| as |mCompositionOp| to match
  |CompositionOp|.

- Remove some deprecated functions that are no longer needed.

--HG--
extra : rebase_source : 74e9b6eecf6f442e27cc18fd4ae6f668a45188aa
2015-09-24 22:38:58 -07:00
Nicholas Nethercote
6e2ecba32f Bug 1207944 (part 9) - Remove SetColor(const gfxRGBA&). r=jwatt.
--HG--
extra : rebase_source : 37ad81dc8634abebe42962d38749e39f5a0ce1df
2015-09-24 00:48:15 -07:00
Nicholas Nethercote
ef3e68e52b Bug 1207944 (part 3) - Add a gfxContext::SetColor method that takes a gfx::Color&. r=jwatt.
The existing one, which takes a gfxRGBA&, will be removed a few patches hence.

--HG--
extra : rebase_source : 13cd1cbd0d7f893eed27f530f7018751b98811c8
2015-09-23 23:37:24 -07:00
Nicholas Nethercote
8fa390b8ea Bug 1207944 (part 2) - Pass a gfx::Color& instead of a gfxRGBA& to GetDeviceColor(). r=jwatt.
This requires doing likewise for GetSolidColor(), PushSolidColor()
HasNonOpaqueColor().

This removes a ThebesRGBA() call in GetDeviceColor() and a ThebesColor() call in
GetSolidColor().

--HG--
extra : rebase_source : 3b66f378443f1ca05b49bc763b2adf42ac3ef845
2015-09-23 23:36:15 -07:00
Nicholas Nethercote
2d94bd2f65 Bug 1207944 (part 1) - Pass a gfx::Color& instead of a gfxRGBA& to SetDeviceColor(). r=jwatt.
This avoids a gfxRGBA-to-Color conversion in SetDeviceColor() itself.

--HG--
extra : rebase_source : b458a63b950ad0bfebdd7496a64c67a5dd92b9ea
2015-09-23 23:33:31 -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
Nathan Froyd
974d8120f2 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
Andrew Comminos
198ba930fe Bug 1168527 - Add support to gfxContext for clip exporting. r=jrmuizel
--HG--
extra : rebase_source : 3747753f0285a9fe9803d851b234744603e2e0f4
extra : histedit_source : 73abebe3363945850bc42d17144cb0e90e184a7e
2015-06-09 13:46:09 -04:00
Lee Salzman
e38cad0b37 Bug 1127752 - fixes for using Skia and OMTC with GTK3. r=jrmuizel 2015-05-13 11:54:17 +09: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
Ehsan Akhgari
883849ee32 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
Jonathan Watt
dacfb58c19 Bug 1123486 - Remove gfxContext::ResetClip and gfxContext::UpdateSurfaceClip. r=Bas 2015-01-14 20:30:27 +00:00
Jonathan Watt
481714c6f0 Bug 1123485 - Remove gfxContext::DrawSurface. r=Bas 2015-01-14 19:57:47 +00:00
Jonathan Watt
e13b0d19cd Bug 1107417 - Remove gfxContext::Polygon(). r=Bas
--HG--
extra : rebase_source : ec3568087fc1e3d60613853262921e9114cd9fc3
2014-12-02 14:37:11 -08:00
Jonathan Watt
8f47bfb387 Bug 1107414 - Get rid of gfxContext::FillWithOpacity. r=mattwoodrow
--HG--
extra : rebase_source : d64412c46d72a4d08be8edf1913c83bb12387b49
2014-12-02 14:29:44 -08:00
Jonathan Watt
9910919cdd Bug 1103623 - Port most remaining gfxContext::Fill() calls to Moz2D. r=mattwoodrow 2014-11-24 00:04:33 +00:00
Jonathan Watt
e598736fc1 Bug 1103621 - Get rid of GraphicsOperator::OPERATOR_CLEAR. r=mattwoodrow 2014-11-20 10:40:04 +00:00
Jonathan Watt
20d92be1bc Bug 1103620 - Remove gfxContext::CurveTo and gfxContext::QuadraticCurveTo. r=mattwoodrow 2014-11-19 08:05:14 +00:00
Jonathan Watt
2ac2b5426a Bug 1093066 - Get rid of gfxContext's Stroke() methods. r=mattwoodrow 2014-11-05 09:16:37 +00:00
Jonathan Watt
70be113245 Bug 1092222, part 1 - Get rid of gfxContext::GraphicsLineCap and gfxContext::GraphicsLineJoin. r=roc 2014-11-03 10:01:57 +00:00
Jonathan Watt
ae26c2e5eb Bug 1091787, part 3 - Remove gfxContext::RoundedRectangle. r=mattwoodrow 2014-11-02 15:41:08 +00:00
Jonathan Watt
f6f8d40041 Bug 1091794 - Replace gfxCornerSizes with Moz2D's RectCornerRadii. r=mattwoodrow 2014-11-01 10:45:10 +00:00
Jonathan Watt
cdfbe38796 Bug 1090614 follow-up to add back the Clip() change. r=mattwoodrow 2014-10-31 11:26:28 +00:00
Jonathan Watt
312d8e609f Bug 1088753 - Remove gfxContext::NewSubPath(). r=Bas 2014-10-29 01:59:36 +00:00
Jonathan Watt
95c7a6f6e7 Bug 1089397 - Port the code that uses gfxContextPathAutoSaveRestore to Moz2D. r=mattwoodrow 2014-10-28 14:40:51 +00:00
Jonathan Watt
6ff7b6f514 Bug 1089177, part 1 - Expose PatternFromState to help with Moz2D porting. r=mattwoodrow 2014-10-28 14:40:39 +00:00
Jonathan Watt
a6775f01a0 Bug 1085321 - Remove gfxContext::Arc/NegativeArc. r=Bas 2014-10-26 17:57:49 +00:00
Markus Stange
defd3c048d Bug 1055634 - Propagate font smoothing background colors to layers. r=roc 2014-10-24 18:32:23 +02:00
Jonathan Watt
9d631cb88b Bug 1087568 - Port the code that uses gfxContext::PixelSnappedRectangleAndSetPattern to Moz2D. r=mattwoodrow 2014-10-24 08:26:27 +01:00
Jonathan Watt
884793d6d9 Bug 1085160 - Port the code that uses nsRenderingContext::IntersectClip() to Moz2D. r=mattwoodrow
--HG--
extra : rebase_source : 54226509a1b16efdc76f92f202cc2be07cf43ab4
2014-10-20 10:55:48 +01:00