Commit Graph

51 Commits

Author SHA1 Message Date
Lee Salzman
a168dcdbf3 Bug 1348980 - implement UnscaledFont API for Moz2D and thebes. r=jfkthame 2017-04-06 17:41:02 -04:00
Kartikaya Gupta
5e2e8f8f8e Merge m-c to graphics
MozReview-Commit-ID: 5ovnMmSOiZX
2017-01-09 10:18:37 -05:00
Mason Chang
5e1c34af71 Bug 1329314 - Add support for nsDisplayText webrender display item. r=jrmuizel? 2017-01-06 11:50:53 -08:00
Jonathan Kew
b64c9129e3 Bug 1321031 pt 6 - Include variation settings in moz2d recording stream when using the native Mac font backend. r=bas,jrmuizel 2017-01-06 16:35:12 +00:00
Ryan VanderMeulen
e897fba434 Backed out 6 changesets (bug 1321031) for bustage.
Backed out changeset e0be4f5390fb (bug 1321031)
Backed out changeset ba071046f8ab (bug 1321031)
Backed out changeset 7cb4242dc636 (bug 1321031)
Backed out changeset bc58e479eb58 (bug 1321031)
Backed out changeset c551913ae892 (bug 1321031)
Backed out changeset f4ae57d5358f (bug 1321031)

CLOSED TREE
2017-01-06 12:46:27 -05:00
Jonathan Kew
7199a26387 Bug 1321031 pt 6 - Include variation settings in moz2d recording stream when using the native Mac font backend. r=bas,jrmuizel 2017-01-06 16:35:12 +00:00
Mason Chang
793727bf2c Bug 1315568 Use Force GDI information from SkTypeface for GDI rendering modes in skia. r=lsalzman 2016-11-29 08:03:33 -08:00
Ethan Lin
68f7c140b8 Bug 1308394 - In CopyGlyphsToBuilder, use PathBuilder's backend instead of DrawTarget's. r=bas
--HG--
extra : rebase_source : 27d283fe8fecf613bdc4cc7c0492a0d3e97a3253
2016-10-26 19:46:00 +02:00
Mason Chang
b844183f9d Bug 1309917 - Stop defaulting to system wide default fonts if no IDWriteFont exists. r=jfkthame 2016-10-12 15:53:04 -07:00
Mason Chang
e6c63d0931 Bug 1298484. Use cleartype and convert to grayscale AA for skia windows fonts if cleartype is disabled system wide. r=lsalzman 2016-09-02 15:00:29 -07:00
Bas Schouten
e0031c0160 Bug 943626 - Part 2: Implement GetGlyphMetrics API for DirectWrite r=jrmuizel 2016-08-11 15:47:32 -04:00
Mason Chang
bd43ebe418 Bug 1249600. Fallback to arial fonts or draw nothing if typeface is unavailable. r=bas 2016-05-20 09:16:29 -07:00
Lee Salzman
eda0f910e1 Bug 1266209 - check if a figure is active in PathBuilderD2D before copying glyphs to it. r=bas 2016-05-17 12:47:22 -04:00
Mason Chang
c89157b9ea Bug 1249600. Lookup font and font family from font face when requesting SkTypeface. r=bas 2016-03-08 07:37:16 -08:00
Bas Schouten
259d24796a Bug 1247775 - Part 3: Remove Moz2D code to support Direct2D 1.0. r=dvander
MozReview-Commit-ID: KBZSqIdx0OC
2016-02-13 14:33:28 +01:00
Carsten "Tomcat" Book
fdcf299e32 Backed out changeset 8e13ba75bccf (bug 1247775) 2016-02-12 08:49:28 +01:00
Bas Schouten
54dad93d74 Bug 1247775 - Part 3: Remove Moz2D code to support Direct2D 1.0. r=dvander
MozReview-Commit-ID: KBZSqIdx0OC

--HG--
extra : rebase_source : 632fb5208a702f79fa5c648698f73bc9b0bf8992
2016-02-12 02:11:50 +01:00
Mason Chang
2e3ff601d6 Bug 842894 - Support DirectWrite using the Skia backend. r=bas 2016-01-06 11:35:04 -08:00
Bob Owen
1fe62dee68 Bug 1156742 Part 24: Add new Recorded event to record font data. r=bas
We create and destroy ScaledFonts for every piece of text we write.
That causes a huge amount of duplicated data within the recording.
This splits out the recording of the font data itself from the ScaledFont.
The key generated to determine uniqueness could probably be fairly easily faked, but for our purposes that doesn't matter.
2016-01-05 10:08:58 +00:00
Bob Owen
401ebce4ed Bug 1156742 Part 22: Change ScaledFontDWrite to support creation from TrueType Collection data. r=bas 2016-01-05 10:08:58 +00:00
Bob Owen
3b91f57af4 Bug 1156742 Part 17: Add virtual destructor to RecorededEvent and fix subsequent crash with DWrite playback fonts. r=bas 2016-01-05 10:08:57 +00:00
Bob Owen
9536340a3a Bug 1156742 Part 3: Add support for FontType::CAIRO to CreateScaledFontForTrueTypeData on Windows. r=bas
Parts of this change and related code get moved around in Part 24.
2016-01-05 10:08:56 +00:00
Wes Kocher
a5249b6201 Backed out 25 changesets (bug 1156742) for build bustage in SkOSLibrary_win.cpp CLOSED TREE
Backed out changeset 31c0aadae8e7 (bug 1156742)
Backed out changeset f08df57ff700 (bug 1156742)
Backed out changeset 90c026d5dcb1 (bug 1156742)
Backed out changeset 8c6d14d80238 (bug 1156742)
Backed out changeset 72d86b0471c9 (bug 1156742)
Backed out changeset 363829accc09 (bug 1156742)
Backed out changeset 16360fe94d54 (bug 1156742)
Backed out changeset 5355c636a81a (bug 1156742)
Backed out changeset 18844d26b873 (bug 1156742)
Backed out changeset 99df86591613 (bug 1156742)
Backed out changeset 7ac1c7e15a11 (bug 1156742)
Backed out changeset de352000aae1 (bug 1156742)
Backed out changeset 4dd34ea230c6 (bug 1156742)
Backed out changeset 48c6ce65a5c2 (bug 1156742)
Backed out changeset dd52947f73c6 (bug 1156742)
Backed out changeset 5fe429ee880c (bug 1156742)
Backed out changeset dedca8fb19b0 (bug 1156742)
Backed out changeset d748b1354f92 (bug 1156742)
Backed out changeset 7f8e59588518 (bug 1156742)
Backed out changeset b90d302c57f6 (bug 1156742)
Backed out changeset 7a4da453572c (bug 1156742)
Backed out changeset a40eea914519 (bug 1156742)
Backed out changeset 99a8859afcdb (bug 1156742)
Backed out changeset 4934e88b2d7a (bug 1156742)
Backed out changeset 79733166f05e (bug 1156742) for build bustage in SkOSLibrary_win.cpp CLOSED TREE

--HG--
extra : amend_source : beeb6abbcc724b79ac166e828efa78dc4c5301da
2015-12-21 13:47:33 -08:00
Bob Owen
fb35888c83 Bug 1156742 Part 24: Add new Recorded event to record font data. r=bas
We create and destroy ScaledFonts for every piece of text we write.
That causes a huge amount of duplicated data within the recording.
This splits out the recording of the font data itself from the ScaledFont.
The key generated to determine uniqueness could probably be fairly easily faked, but for our purposes that doesn't matter.
2015-12-21 20:33:14 +00:00
Bob Owen
e4d10bb475 Bug 1156742 Part 22: Change ScaledFontDWrite to support creation from TrueType Collection data. r=bas 2015-12-21 20:33:14 +00:00
Bob Owen
f8497152ba Bug 1156742 Part 17: Add virtual destructor to RecorededEvent and fix subsequent crash with DWrite playback fonts. r=bas 2015-12-21 20:33:14 +00:00
Bob Owen
2ce74bca79 Bug 1156742 Part 3: Add support for FontType::CAIRO to CreateScaledFontForTrueTypeData on Windows. r=bas
Parts of this change and related code get moved around in Part 24.
2015-12-21 20:33:13 +00: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
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
Bas Schouten
8c1ed00969 Bug 1075621: Support Direct2D 1.1 for ScaledFontDWrite::CopyGlyphsToBuilder. r=jrmuizel 2014-10-01 19:50:24 +02:00
Bas Schouten
be2a4f66d0 Bug 1066679: Make DrawTargetDWrite::GetPathsForGlyphs recognize D2D 1.1. r=jrmuizel 2014-09-14 23:52:46 +02:00
Jonathan Watt
28a408b329 Bug 1027763, part 1 - Rename DrawTarget::GetType() to DrawTarget::GetBackendType() in Moz2D code. r=Bas 2014-06-19 21:35:33 +01:00
Benoit Jacob
f447d87c57 Bug 958375 - 8/9 - Make remaining Moz2D enums typed - r=Bas
Specifically:
  r=Bas for manual changes
  f=Bas for automatic changes
See attachments on the bug for the specific breakdown.
2014-01-10 14:06:17 -05:00
Benoit Jacob
ccaa35314d Bug 958375 - 6/9 - Make BackendType and NativeSurfaceType typed enums - r=Bas
Specifically:
  r=Bas for manual changes
  f=Bas for automatic changes
See attachments on the bug for the specific breakdown.
2014-01-10 14:06:16 -05:00
Kevin Simons
f09656d765 Bug 944646 - Check the DrawTarget type before downcasting PathBuilders. r=mattwoodrow
Previously the ScaledFontBase::CopyGlyphsToBuilder methods in the
various ScaledFont subclasses static_cast-ed the passed in PathBuilder
objects without checking which sort of DrawSurface they were created by.
2013-12-12 17:37:00 -05:00
Bas Schouten
6e12ca6e4b Bug 918613: Convert cairo path code to use cairo_path_t. r=jrmuizel 2013-09-28 16:20:24 +02:00
Birunthan Mohanathas
a672678234 Bug 784739 - Switch from NULL to nullptr in gfx/2d/; r=Bas
--HG--
extra : rebase_source : 340bb0ff65c56c23bf2a4c8e24d082e938997831
2013-07-20 11:48:55 +03:00
Filippo Cristofoletti
ddef8c2fb1 Bug 755031 - Clear warnings in gfx/2d/ScaledFontDWrite.cpp. r=jmuizelaar 2013-01-15 07:21:00 -05:00
Bas Schouten
0c1dad40d2 Bug 789933: Support non-D2D targets for getting a Path off ScaledFontDWrite. r=nrc 2012-12-05 01:11:02 +01:00
Bas Schouten
b084ef8c84 Bug 814101: Respect system-wide cleartype setting. r=jrmuizel,jfkthame 2012-11-23 02:53:12 +01:00
Bas Schouten
43ba37b366 Bug 792207 - Part 2: Add method to store and create from TrueType data. r=jrmuizel 2012-09-24 15:02:49 +00:00
Joe Drew
f034089eec Bug 782416 - Switch from NULL to nullptr in gfx::2d. r=Bas
--HG--
extra : rebase_source : cfa9fc8ae592880e22e1f14cee42539b4f911668
2012-08-14 14:06:12 -04:00
Joe Drew
0a6f454a9d Back out 98d2c24ce932 for failing to build r=moron 2012-08-15 12:51:33 -04:00
Joe Drew
bd561fcfea Bug 782416 - Switch from NULL to nullptr in gfx::2d. r=Bas
--HG--
extra : rebase_source : 9b12a2af4c55f4dc383e8075b400e7a1fbe1ac23
2012-08-14 14:06:12 -04:00
Nicholas Cameron
85b23ac129 Bug 761890 (was 746883); bug fixing Skia fonts; r=gw280 2012-04-26 10:04:35 +12:00
Matt Brubeck
ef84814399 Back out bug 761890, bug 746896, and bug 759036 because of reftest failures
--HG--
extra : rebase_source : b5bdad8a69eab8e9ba35d21637c0bbcb18bce703
2012-06-11 22:50:31 -07:00
Nicholas Cameron
d0f8ee78e2 Bug 761890 (was 746883); bug fixing Skia fonts; r=gw280
--HG--
extra : rebase_source : 89b3501dad46f0c1284107afe906869548623992
2012-04-26 10:04:35 +12:00
Gervase Markham
82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Bas Schouten
5ce9db7075 Bug 738691 - Part 1: Add CopyGlyphsToBuilder API. r=jrmuizel 2012-03-29 20:53:44 +02:00