Name Description Size
SkDebug_android.cpp 835
SkDebug_stdio.cpp 689
SkDebug_win.cpp 739
SkDiscardableMemory_none.cpp 413
SkFontConfigInterface.cpp 981
SkFontConfigInterface_direct.cpp migrated from chrome/src/skia/ext/SkFontHost_fontconfig_direct.cpp 23713
SkFontConfigInterface_direct.h migrated from chrome/src/skia/ext/SkFontHost_fontconfig_direct.cpp 1410
SkFontConfigInterface_direct_factory.cpp 486
SkFontConfigTypeface.h 2276
SkFontHost_cairo.cpp 22339
SkFontHost_FreeType.cpp 88063
SkFontHost_FreeType_common.cpp Copies a FT_Bitmap into an SkMask with the same dimensions. FT_PIXEL_MODE_MONO FT_PIXEL_MODE_GRAY FT_PIXEL_MODE_LCD FT_PIXEL_MODE_LCD_V 89881
SkFontHost_FreeType_common.h Computes a bounding box for a COLRv1 glyph. This method may change the configured size and transforms on FT_Face. Make sure to configure size, matrix and load glyphs as needed after using this function to restore the state of FT_Face. 7990
SkFontHost_win.cpp 86726
SkFontMgr_android.cpp 19752
SkFontMgr_android_factory.cpp 313
SkFontMgr_android_parser.cpp This file contains TWO 'familyset' handlers: One for JB and earlier which works with /system/etc/system_fonts.xml /system/etc/fallback_fonts.xml /vendor/etc/fallback_fonts.xml /system/etc/fallback_fonts-XX.xml /vendor/etc/fallback_fonts-XX.xml and the other for LMP and later which works with /system/etc/fonts.xml If the 'familyset' 'version' attribute is 21 or higher the LMP parser is used, otherwise the JB. 34824
SkFontMgr_android_parser.h \class SkLanguage The SkLanguage class represents a human written language, and is used by text draw operations to determine which glyph to draw when drawing characters with variants (ie Han-derived characters). 6883
SkFontMgr_custom.cpp 7847
SkFontMgr_custom.h The base SkTypeface implementation for the custom font manager. 5002
SkFontMgr_custom_directory.cpp 4141
SkFontMgr_custom_directory_factory.cpp 558
SkFontMgr_custom_embedded.cpp 4496
SkFontMgr_custom_embedded_factory.cpp 584
SkFontMgr_custom_empty.cpp 802
SkFontMgr_custom_empty_factory.cpp 308
SkFontMgr_empty_factory.cpp 327
SkFontMgr_fontconfig.cpp Since FontConfig is poorly documented, this gives a high level overview: FcConfig is a handle to a FontConfig configuration instance. Each 'configuration' is independent from any others which may exist. There exists a default global configuration which is created and destroyed by FcInit and FcFini, but this default should not normally be used. Instead, one should use FcConfigCreate and FcInit* to have a named local state. FcPatterns are {objectName -> [element]} (maps from object names to a list of elements). Each element is some internal data plus an FcValue which is a variant (a union with a type tag). Lists of elements are not typed, except by convention. Any collection of FcValues must be assumed to be heterogeneous by the code, but the code need not do anything particularly interesting if the values go against convention. Somewhat like DirectWrite, FontConfig supports synthetics through FC_EMBOLDEN and FC_MATRIX. Like all synthetic information, such information must be passed with the font data. 37259
SkFontMgr_fontconfig_factory.cpp 352
SkFontMgr_FontConfigInterface.cpp Pointer to just after the last field of this class. 10575
SkFontMgr_FontConfigInterface_factory.cpp 496
SkFontMgr_fuchsia.cpp 21172
SkFontMgr_mac_ct.cpp Creates a typeface from a descriptor, searching the cache. 21045
SkFontMgr_mac_ct_factory.cpp 470
SkFontMgr_win_dw.cpp localeNameLength and defaultFamilyNameLength must include the null terminator. 36260
SkFontMgr_win_dw_factory.cpp 425
SkGlobalInitialization_default.cpp Register most effects for deserialization. None of these are strictly required for Skia to operate, so if you're not using deserialization yourself, you can define SK_DISABLE_EFFECT_SERIALIZATION, or modify/replace this file as needed. 2055
SkImageEncoder_CG.cpp Encode bitmaps via CGImageDestination. We setup a DataConsumer which writes to our SkWStream. Since we don't reference/own the SkWStream, our consumer must only live for the duration of the onEncode() method. 4145
SkImageEncoder_NDK.cpp 2947
SkImageEncoder_WIC.cpp 6646
SkImageGenerator_none.cpp 357
SkImageGenerator_skia.cpp 457
SkImageGeneratorCG.cpp 5388
SkImageGeneratorNDK.cpp 8823
SkImageGeneratorWIC.cpp Takes ownership of the imagingFactory Takes ownership of the imageSource 7406
SkMemory_malloc.cpp TODO: After b/169449588 is fixed, we will want to change this to restore original behavior instead of always disabling the flag. TODO: After b/158870657 is fixed and scudo is used globally, we can assert when an an error is returned. 3166
SkMemory_mozalloc.cpp 1134
SkNDKConversions.cpp 3974
SkNDKConversions.h 811
SkOSFile_ios.h allocator= 1950
SkOSFile_posix.cpp 5476
SkOSFile_stdio.cpp 4057
SkOSFile_win.cpp 7785
SkOSLibrary.h 376
SkOSLibrary_posix.cpp 596
SkOSLibrary_win.cpp 658
SkRemotableFontMgr_win_dw.cpp localeNameLength must include the null terminator. 16925
SkScalerContext_mac_ct.cpp 32016
SkScalerContext_mac_ct.h Unrotated variant of fCTFont. In 10.10.1 CTFontGetAdvancesForGlyphs applies the font transform to the width of the advances, but always sets the height to 0. This font is used to get the advances of the unrotated glyph, and then the rotation is applied separately. CT vertical metrics are pre-rotated (in em space, before transform) 90deg clock-wise. This makes kCTFontOrientationDefault dangerous, because the metrics from kCTFontOrientationHorizontal are in a different space from kCTFontOrientationVertical. With kCTFontOrientationVertical the advances must be unrotated. Sometimes, creating a copy of a CTFont with the same size but different trasform will select different underlying font data. As a result, avoid ever creating more than one CTFont per SkScalerContext to ensure that only one CTFont is used. As a result of the above (and other constraints) this font contains the size, but not the transform. The transform must always be applied separately. 3573
SkScalerContext_win_dw.cpp Note: In versions 8 and 8.1 of Windows, some calls in DWrite are not thread safe. The mutex returned from maybe_dw_mutex protects the calls that are problematic. 59480
SkScalerContext_win_dw.h The total matrix without the text height scale. 4178
SkTypeface_mac_ct.cpp Assumes src and dst are not nullptr. 65690
SkTypeface_mac_ct.h CTFontCopyVariationAxes provides the localized name of all axes, making it very slow. This is unfortunate, its result is needed just to see if there are any axes at all. To avoid calling internal APIs cache the result of CTFontCopyVariationAxes. https://github.com/WebKit/WebKit/commit/1842365d413ed87868e7d33d4fad1691fa3a8129 https://bugs.webkit.org/show_bug.cgi?id=232690 5588
SkTypeface_win_dw.cpp 41363
SkTypeface_win_dw.h dwrite_3.h incorrectly uses NTDDI_VERSION to hide immutible interfaces (it should only be used to gate changes to public ABI). The implementation files can (and must) get away with including SkDWriteNTDDI_VERSION.h which simply unsets NTDDI_VERSION, but this doesn't work well for this header which can be included in SkTypeface.cpp. Instead, ensure that any declarations hidden behind the NTDDI_VERSION are forward (backward?) declared here in case dwrite_3.h did not declare them. 7525