aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ports/SkScalerContext_win_dw.h
Commit message (Collapse)AuthorAge
* Distinguish between glyphs with empty path and no path.Gravatar Ben Wagner2018-04-05
| | | | | | | | | BUG=skia:4904 Change-Id: I065e3b4d8596b415ddaf094d7f9a4b65da64d4d4 Reviewed-on: https://skia-review.googlesource.com/117280 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Herb Derby <herb@google.com>
* turn on extended Clang warnings on Windows tooGravatar Chris Dalton2017-12-04
| | | | | | | | | | Plus some small rearrangements of the various warning lists. Change-Id: Ied58f940341d69ddab971a529fd01b1e96b65641 Reviewed-on: https://skia-review.googlesource.com/67720 Commit-Queue: Chris Dalton <csmartdalton@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Fix advances for aliased text with DirectWrite.Gravatar Ben Wagner2017-04-14
| | | | | | | | | | | | | The existing code assumes that GetGdiCompatibleGlyphMetrics transform parameter acts the same as the GetGlyphOutlineW lpmat2 parameter. However, it appears this is very much not true. BUG=skia:6499 Change-Id: I88c762b27acd09cc746da4d6e2b901540876908a Reviewed-on: https://skia-review.googlesource.com/13479 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Support pixel antialising in DirectWrite.Gravatar Ben Wagner2017-03-16
| | | | | | | | | | | | | DirectWrite2 supports pixel antialiasing and rendering without hinting. To maintain the infered size based decisions of the previous rendering, only use the new renderer when it is needed. BUG=skia:5416 Change-Id: Ia87fdf8fc91dc7ff0f0ce4284c90a5d79045308f Reviewed-on: https://skia-review.googlesource.com/9805 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* Revert "Support pixel antialising in DirectWrite."Gravatar Mike Reed2017-03-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 34db1eee20ffea6e423284bb06824653efff645d. Reason for revert: breaks the chrome roll E:\b\c\b\win_clang\src\third_party\skia\src\ports\SkScalerContext_win_dw.cpp(287,49): error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces] GaspRange range{bitmapPPEM, bitmapPPEM, 0}; ^ {} E:\b\c\b\win_clang\src\third_party\skia\src\ports\SkScalerContext_win_dw.cpp(287,49): error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces] GaspRange range{bitmapPPEM, bitmapPPEM, 0}; ^ {} E:\b\c\b\win_clang\src\third_party\skia\src\ports\SkScalerContext_win_dw.cpp(290,59): error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces] range = GaspRange{bitmapPPEM, bitmapPPEM, 0}; ^ {} E:\b\c\b\win_clang\src\third_party\skia\src\ports\SkScalerContext_win_dw.cpp(290,59): error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces] range = GaspRange{bitmapPPEM, bitmapPPEM, 0}; ^ {} E:\b\c\b\win_clang\src\third_party\skia\src\ports\SkScalerContext_win_dw.cpp(338,39): error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces] GaspRange range = {0, 0xFFFF, 0}; ^ {} E:\b\c\b\win_clang\src\third_party\skia\src\ports\SkScalerContext_win_dw.cpp(338,39): error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces] GaspRange range = {0, 0xFFFF, 0}; ^ {} Original change's description: > Support pixel antialising in DirectWrite. > > DirectWrite2 supports pixel antialiasing and rendering without hinting. > > BUG=skia:5416 > > Change-Id: I215245b20dd403669dbccd37e34cb2fcd5e06431 > Reviewed-on: https://skia-review.googlesource.com/9145 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Ben Wagner <bungeman@google.com> > TBR=mtklein@google.com,bungeman@google.com,reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:5416 Change-Id: Ic5f09abc3be8dd85d213a007780b3fe15fc11d92 Reviewed-on: https://skia-review.googlesource.com/9747 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Support pixel antialising in DirectWrite.Gravatar Ben Wagner2017-03-15
| | | | | | | | | | | DirectWrite2 supports pixel antialiasing and rendering without hinting. BUG=skia:5416 Change-Id: I215245b20dd403669dbccd37e34cb2fcd5e06431 Reviewed-on: https://skia-review.googlesource.com/9145 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Remove SK_HAS_DWRITE_X defines.Gravatar Ben Wagner2017-03-01
| | | | | | | | | | | | While developing DirectWrite it was ncessary to support building with older Windows SDKs which may not have certain headers. Now that the minimum required Windows SDK is 8.1 (0x0603) we can remove these difficult to use macros to simplify future development. Change-Id: Ia780466b7c9b86198116c5974c43363f49a0ebac Reviewed-on: https://skia-review.googlesource.com/9124 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Clean up glyph id handling.Gravatar Ben Wagner2016-11-11
| | | | | | | | | | | | | | | | | Extract SkPackedID and its strongly typed subclasses SkPackedGlyphID and SkPackedUnicharID out of SkGlyph. This simplifies the code handling these types, as well as making it clearer that we wouuld eventually like to get away from this scheme. Changes SkScalerContext::getPath to take SkPackedGlyphID. Changes SkScalerContext::generatePath to take SkGlyphID. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4722 Change-Id: I365c0c618b7ae0d348272155fac7761a69faa920 Reviewed-on: https://skia-review.googlesource.com/4722 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Herb Derby <herb@google.com>
* SkScalerContext to use smart pointers.Gravatar bungeman2016-10-20
| | | | | | | | | CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot;master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN-Trybot Change-Id: I27a714388b8ded7dfc968e322b0a587205f575f1 Reviewed-on: https://skia-review.googlesource.com/3731 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Ben Wagner <bungeman@google.com>
* Revert of Support pixel antialising in DirectWrite. (patchset #4 id:60001 of ↵Gravatar bungeman2016-06-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2065833002/ ) Reason for revert: Moving to the new glyph run analysis changes things anyway, and the Chromium Win 10 bots are having issues with this. Revert until I have time to make the suppression wider. Original issue's description: > Support pixel antialising in DirectWrite. > > DirectWrite2 supports pixel antialiasing and rendering without hinting. > > BUG=skia:5416 > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2065833002 > > TBR=reed > Will move SkTScopedComPtr into src. > > Committed: https://skia.googlesource.com/skia/+/bd770d619553a88eeaa64ff29082f62db5c9b4d2 TBR=reed@google.com,mtklein@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:5416 Review-Url: https://codereview.chromium.org/2075913002
* Support pixel antialising in DirectWrite.Gravatar bungeman2016-06-16
| | | | | | | | | | | | DirectWrite2 supports pixel antialiasing and rendering without hinting. BUG=skia:5416 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2065833002 TBR=reed Will move SkTScopedComPtr into src. Review-Url: https://codereview.chromium.org/2065833002
* Implement support for rendering color emoji on WindowsGravatar kulshin2016-06-01
| | | | | | | | | | | | | | This change adds support to the DirectWrite scaler context for detection of color fonts. If it detects a color font and the glyph is a color glyph, it will use DirectWrite's TranslateColorGlyphRun API and generate an image of the glyph that can then be rendered. Chromium tests: https://codereview.chromium.org/2003853002 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1984943002 Review-Url: https://codereview.chromium.org/1984943002
* Revert "Revert of Pass effects directly to fontcache (patchset #8 id:140001 ↵Gravatar reed2016-04-12
| | | | | | | | | | | | | | of https://codereview.chromium.org/1863013003/ )" add SK_SUPPORT_NEW_ONCREATESCALERCONTEXT for chrome this has now landed https://codereview.chromium.org/1878913002/ TBR= BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1880873002 Review URL: https://codereview.chromium.org/1880873002
* Revert of Pass effects directly to fontcache (patchset #8 id:140001 of ↵Gravatar borenet2016-04-11
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1863013003/ ) Reason for revert: Seems to have broken the DEPS roll. Original issue's description: > Pass effects directly to fontcache > > BUG=skia:5176 > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1863013003 > > Committed: https://skia.googlesource.com/skia/+/c79172857c3f69cc46837e1beeae0c1ead377bb2 TBR=djsollen@google.com,bungeman@google.com,mtklein@google.com,fmalita@chromium.org,msarett@google.com,reed@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:5176 Review URL: https://codereview.chromium.org/1872253004
* Pass effects directly to fontcacheGravatar reed2016-04-11
| | | | | | | BUG=skia:5176 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1863013003 Review URL: https://codereview.chromium.org/1863013003
* C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla}Gravatar mtklein2015-03-25
| | | | | | | | | NOPRESUBMIT=true BUG=skia: DOCS_PREVIEW= https://skia.org/?cl=1037793002 Review URL: https://codereview.chromium.org/1037793002
* BUG=skia:Gravatar herb2015-02-25
| | | | | | | | | | (mtklein from here on) No public API changes. TBR=reed@google.com Committed: https://skia.googlesource.com/skia/+/f8d24e2c0c7b44b7ccf20e40890514db4cde7b15 Review URL: https://codereview.chromium.org/939123002
* Revert of Make fID and MixedID calculations private (patchset #5 id:80001 of ↵Gravatar scroggo2015-02-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/939123002/) Reason for revert: This actually *does* change the public API - fID is now private, and it was being used on Android. See https://android-build.storage.googleapis.com/builds/git_master-skia-linux-volantis-userdebug/1751533/5242b865d3e9bebc650c9b326dfa9d68c8bd1f59562bf32b85301fb984dc8b26/logs/build.log?Signature=Q0el9M4kTu1KQ8u02KX9TH1Pa22y9BkDK1IW%2B9OeJJNfrDEVzLXAz0XQ%2BHHQM8xVjft06jZJva1V8InZmgjcOk6PdZQbQW6XwwsHLKsbpbAE48iTWH3AlJAAoTtj9cifzgeHW8g80IcVxwHXmINRER%2BLPz3eHGisgfTTFUoWYCc%3D&GoogleAccessId=701025073339-mqn0q2nvir9iurm6q5d00tdv7blbgvjr%40developer.gserviceaccount.com&Expires=1424786471 : In file included from frameworks/base/libs/hwui/tests/../font/Font.cpp:26:0: external/skia/src/core/SkGlyph.h: In member function 'android::uirenderer::CachedGlyphInfo* android::uirenderer::Font::cacheGlyph(const SkPaint*, glyph_t, bool)': external/skia/src/core/SkGlyph.h:157:17: error: 'uint32_t SkGlyph::fID' is private uint32_t fID; ^ frameworks/base/libs/hwui/tests/../font/Font.cpp:482:39: error: within this context newGlyph->mGlyphIndex = skiaGlyph.fID; We need to update Android in order to hide fID. Original issue's description: > BUG=skia: > > (mtklein from here on) > No public API changes. > TBR=reed@google.com > > Committed: https://skia.googlesource.com/skia/+/f8d24e2c0c7b44b7ccf20e40890514db4cde7b15 TBR=mtklein@google.com,herb@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/951353002
* BUG=skia:Gravatar herb2015-02-24
| | | | | | | | (mtklein from here on) No public API changes. TBR=reed@google.com Review URL: https://codereview.chromium.org/939123002
* Fix up all the easy virtual ... SK_OVERRIDE cases.Gravatar mtklein2015-01-09
| | | | | | | | | | | | This fixes every case where virtual and SK_OVERRIDE were on the same line, which should be the bulk of cases. We'll have to manually clean up the rest over time unless I level up in regexes. for f in (find . -type f); perl -p -i -e 's/virtual (.*)SK_OVERRIDE/\1SK_OVERRIDE/g' $f; end BUG=skia: Review URL: https://codereview.chromium.org/806653007
* Fix error handling in DirectWrite with tiny text.Gravatar bungeman2014-08-28
| | | | | | | | | | | If there is an error while trying to determine the metrics, we need to bail instead of potentially using uninitialized data. R=reed@google.com, mtklein@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/511783003
* DirectWrite to use aliased if ClearType is empty.Gravatar Ben Wagner2014-08-27
| | | | | | | | | | | | | | | | | Some CJK fonts with some versions of DirectWrite return valid data for bitmaps, but not for cleartype data. For reference, two screenshots. M37 Stable and then with this patch: http://imgur.com/9pf3rB9,EiTb6Li See https://code.google.com/p/chromium/issues/detail?id=396624#c10 for content of test html file. R=eae@chromium.org, reed@google.com, shrikant@chromium.org, bungeman@chromium.org, cpu@chromium.org BUG=chromium:407945 Review URL: https://codereview.chromium.org/504343007
* Remove vertical/horizontal metrics selection.Gravatar bungeman2014-07-07
| | | | | | | | R=reed@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/370463002
* Split SkFontHost_win_dw.Gravatar bungeman2014-06-05
Split SkFontHost_win_dw into FontMgr, Typeface, and ScalerContext. This makes working on these files easier, and moves away from the legacy FontHost naming. R=reed@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/314193002