aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ports/SkTypeface_win_dw.cpp
Commit message (Collapse)AuthorAge
* SkTypeface to use SkStreamAsset.Gravatar bungeman2015-01-27
| | | | | | | SkTypeface already requires typeface streams to support SkStreamAsset in practice, and in practice all users are already supplying them. Review URL: https://codereview.chromium.org/869763002
* Make SkStream *not* ref counted.Gravatar scroggo2015-01-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SkStream is a stateful object, so it does not make sense for it to have multiple owners. Make SkStream inherit directly from SkNoncopyable. Update methods which previously called SkStream::ref() (e.g. SkImageDecoder::buildTileIndex() and SkFrontBufferedStream::Create(), which required the existing owners to call SkStream::unref()) to take ownership of their SkStream parameters and delete when done (including on failure). Switch all SkAutoTUnref<SkStream>s to SkAutoTDelete<SkStream>s. In some cases this means heap allocating streams that were previously stack allocated. Respect ownership rules of SkTypeface::CreateFromStream() and SkImageDecoder::buildTileIndex(). Update the comments for exceptional methods which do not affect the ownership of their SkStream parameters (e.g. SkPicture::CreateFromStream() and SkTypeface::Deserialize()) to be explicit about ownership. Remove test_stream_life, which tested that buildTileIndex() behaved correctly when SkStream was a ref counted object. The test does not make sense now that it is not. In SkPDFStream, remove the SkMemoryStream member. Instead of using it, create a new SkMemoryStream to pass to fDataStream (which is now an SkAutoTDelete). Make other pdf rasterizers behave like SkPDFDocumentToBitmap. SkPDFDocumentToBitmap delete the SkStream, so do the same in the following pdf rasterizers: SkPopplerRasterizePDF SkNativeRasterizePDF SkNoRasterizePDF Requires a change to Android, which currently treats SkStreams as ref counted objects. Review URL: https://codereview.chromium.org/849103004
* 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
* Serialize the font index.Gravatar bungeman2014-09-18
| | | | | | | | | BUG=skia:1186 R=reed@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/567013002
* Add onGetFamilyName to SkTypeface.Gravatar bungeman2014-09-17
| | | | | | | | | | | This speeds up and documents this particular feature of SkTypeface and also frees up SkFontDescriptor to be used only in serialization. R=reed@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/574873002
* "NULL !=" = NULLGravatar bsalomon2014-09-05
| | | | | | | | R=reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/544233002
* Require length in sk_wchar_to_string.Gravatar bungeman2014-08-25
| | | | | | | | | | | | | This information is already available at all call sites and allows the call to WideCharToMultiByte to not overwrite the '\0' in the writable_str() which isn't really writable. BUG=skia:1989 R=reed@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/500113002
* Reverse swap order in DirectWrite typeface.Gravatar bungeman2014-08-25
| | | | | | | | | | | C++ forbids temporaries to bind to non-const references. VC++ allows you to do so anyway, but it makes clang on Windows sad. R=reed@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/487533004
* Directly compute glyphToUnicode array in DirectWrite.Gravatar bungeman2014-08-20
| | | | | | | | | | | | | | | This new code is still rather bad, but has fewer steps. The motivation for looking at this is that on Windows 8 the previous code was occasionally asserting in such a way as to imply that GetGlyphIndices might return different data the second time through the font. This avoids that particular issue by only going through the font once. R=mtklein@google.com, halcanary@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/472333003
* Remove vertical/horizontal metrics selection.Gravatar bungeman2014-07-07
| | | | | | | | R=reed@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/370463002
* [PDF] Fix font embedding restrictions.Gravatar vandebo2014-06-19
| | | | | | | | | | | | Stop using restricted font outlines and honor don't subset restriction. Resubmit of r12600. R=halcanary@google.com, bungeman@google.com, reed@google.com Author: vandebo@chromium.org Review URL: https://codereview.chromium.org/334443002
* DirectWrite to use PostScript name for PDF.Gravatar bungeman2014-06-17
| | | | | | | | | | | The PDF backend expects info->fFontName to be the PostScript name. Prior to this change the '<family> <sytle>' name was used instead. R=vandebo@chromium.org, halcanary@google.com, reed@google.com, thestig@chromium.org Author: bungeman@google.com Review URL: https://codereview.chromium.org/324403010
* 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