Commit Graph

66 Commits

Author SHA1 Message Date
Lee Salzman
03a6e9d255 Bug 1421275 - Pass FontInstanceFlags to WebRender. r=jrmuizel
This patch was originally developed on bug 1418564.

MozReview-Commit-ID: 53oydIqjhvF

--HG--
extra : rebase_source : 8980cc947b3b8c46a75d032e7e557f39bae08b97
2017-11-28 10:25:27 -05:00
Jonathan Kew
af9d8ad285 Bug 1403302 - patch 2 - Fix mixed-up glyph bounding box coordinates in ScaledFontDWrite::GetGlyphDesignMetrics. r=bas 2017-11-23 19:39:39 +00:00
Lee Salzman
3e6f5e1180 Bug 1403198 - support WR font descriptors with DWrite. r=jrmuizel
MozReview-Commit-ID: 8u3kYoKYOuC
2017-11-06 20:20:43 -05:00
Markus Stange
9d74ba14bd Bug 1413178 - Initialize the new field that was added in webrender commit 479d43ab4f245c42b33e12f9b6f050045ec84ab3. r=lsalzman
MozReview-Commit-ID: 3oFtSjbnBsI

--HG--
extra : rebase_source : b3d792787a9226265d02eaff027e0919aca1d17d
2017-11-03 00:37:20 -04: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
Lee Salzman
892650be6c Bug 1405790 - supply FontInstancePlatformOptions to WebRender. r=jrmuizel
Patch originally developed in bug 1406138, but landed in bug 1405790 since it
needs to land together with the upstream WR changes in PR 1816.

MozReview-Commit-ID: IHVoKhVncd5

--HG--
extra : rebase_source : 912e3d903d71c1b664817457e67aa6d81be3f4dd
2017-10-05 15:26:01 -04:00
Lee Salzman
4467a6148b Bug 1397458 - part 1 - expose font variations directly in ScaledFont/DrawTargetRecording r=kats
MozReview-Commit-ID: 28egBaMImO8

--HG--
extra : rebase_source : cc2e870507e7ac7ccbd666d4ed6ca61c8cd373fa
2017-09-17 21:21:15 -04:00
Lee Salzman
68f83ebade Bug 1383817 - clamp gamma/contrast for ScaledFontDWrite when creating SkTypeface. r=mchang
MozReview-Commit-ID: LSSffVooDCI
2017-07-24 14:12:26 -04:00
David Anderson
e53986168f Store and return D2D singletons in RefPtrs. (bug 1380922 part 1, r=mchang)
--HG--
extra : rebase_source : baf7cce201a38897f1f9dcbd7c36855ff070217b
2017-07-18 12:15:39 -07:00
Lee Salzman
2d696d5c34 Bug 1376026 - fix plumbing of DWrite parameters for Skia fonts to not depend on gfxPlatform. r=jrmuizel
MozReview-Commit-ID: 5K9201eCSv
2017-06-30 14:09:05 -04:00
Sebastian Hengst
522fc18c93 Backed out changeset 24421d72ba08 (bug 1376026) 2017-07-07 21:42:09 +02:00
Lee Salzman
ab6885d706 Bug 1376026 - fix plumbing of DWrite parameters for Skia fonts to not depend on gfxPlatform. r=jrmuizel
MozReview-Commit-ID: 5K9201eCSv
2017-06-30 14:09:05 -04:00
Carsten "Tomcat" Book
fbc9f302f1 Backed out changeset d09fb3a5cedf (bug 1376026) 2017-07-06 08:11:48 +02:00
Lee Salzman
edc6db4195 Bug 1376026 - fix plumbing of DWrite parameters for Skia fonts to not depend on gfxPlatform. r=jrmuizel 2017-06-30 14:09:05 -04:00
Lee Salzman
28471864af Bug 1355931 - move font serialization from ScaledFont to UnscaledFont. r=jrmuizel
MozReview-Commit-ID: 3d1XMoe2BKj
2017-04-14 14:11:00 -04:00
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