Skia
2D Graphics Library
|
#include <SkGraphics.h>
Public Types | |
typedef std::unique_ptr< SkImageGenerator >(* | ImageGeneratorFromEncodedDataFactory) (sk_sp< SkData >) |
using | OpenTypeSVGDecoderFactory = std::unique_ptr< SkOpenTypeSVGDecoder >(*)(const uint8_t *svg, size_t length) |
To draw OpenType SVG data, Skia will look at this runtime function pointer. More... | |
Static Public Member Functions | |
static void | Init () |
Call this at process initialization time if your environment does not permit static global initializers that execute code. More... | |
static size_t | GetFontCacheLimit () |
Return the max number of bytes that should be used by the font cache. More... | |
static size_t | SetFontCacheLimit (size_t bytes) |
Specify the max number of bytes that should be used by the font cache. More... | |
static size_t | GetFontCacheUsed () |
Return the number of bytes currently used by the font cache. More... | |
static int | GetFontCacheCountUsed () |
Return the number of entries in the font cache. More... | |
static int | GetFontCacheCountLimit () |
Return the current limit to the number of entries in the font cache. More... | |
static int | SetFontCacheCountLimit (int count) |
Set the limit to the number of entries in the font cache, and return the previous value. More... | |
static void | PurgeFontCache () |
For debugging purposes, this will attempt to purge the font cache. More... | |
static void | PurgePinnedFontCache () |
If the strike cache is above the cache limit, attempt to purge strikes with pinners. More... | |
static size_t | GetResourceCacheTotalBytesUsed () |
This function returns the memory used for temporary images and other resources. More... | |
static size_t | GetResourceCacheTotalByteLimit () |
These functions get/set the memory usage limit for the resource cache, used for temporary bitmaps and other resources. More... | |
static size_t | SetResourceCacheTotalByteLimit (size_t newLimit) |
static void | PurgeResourceCache () |
For debugging purposes, this will attempt to purge the resource cache. More... | |
static size_t | GetResourceCacheSingleAllocationByteLimit () |
When the cachable entry is very lage (e.g. More... | |
static size_t | SetResourceCacheSingleAllocationByteLimit (size_t newLimit) |
static void | DumpMemoryStatistics (SkTraceMemoryDump *dump) |
Dumps memory usage of caches using the SkTraceMemoryDump interface. More... | |
static void | PurgeAllCaches () |
Free as much globally cached memory as possible. More... | |
static ImageGeneratorFromEncodedDataFactory | SetImageGeneratorFromEncodedDataFactory (ImageGeneratorFromEncodedDataFactory) |
To instantiate images from encoded data, first looks at this runtime function-ptr. More... | |
static OpenTypeSVGDecoderFactory | SetOpenTypeSVGDecoderFactory (OpenTypeSVGDecoderFactory) |
static OpenTypeSVGDecoderFactory | GetOpenTypeSVGDecoderFactory () |
typedef std::unique_ptr<SkImageGenerator>(* SkGraphics::ImageGeneratorFromEncodedDataFactory) (sk_sp< SkData >) |
using SkGraphics::OpenTypeSVGDecoderFactory = std::unique_ptr<SkOpenTypeSVGDecoder> (*)(const uint8_t* svg, size_t length) |
To draw OpenType SVG data, Skia will look at this runtime function pointer.
If this function pointer is set, the SkTypeface implementations which support OpenType SVG will call this function to create an SkOpenTypeSVGDecoder to decode the OpenType SVG and draw it as needed. If this function is not set, the SkTypeface implementations will generally not support OpenType SVG and attempt to use other glyph representations if available.
|
static |
Dumps memory usage of caches using the SkTraceMemoryDump interface.
See SkTraceMemoryDump for usage of this method.
|
static |
Return the current limit to the number of entries in the font cache.
A cache "entry" is associated with each typeface + pointSize + matrix.
|
static |
Return the number of entries in the font cache.
A cache "entry" is associated with each typeface + pointSize + matrix.
|
static |
Return the max number of bytes that should be used by the font cache.
If the cache needs to allocate more, it will purge previous entries. This max can be changed by calling SetFontCacheLimit().
|
static |
Return the number of bytes currently used by the font cache.
|
static |
|
static |
When the cachable entry is very lage (e.g.
a large scaled bitmap), adding it to the cache can cause most/all of the existing entries to be purged. To avoid the, the client can set a limit for a single allocation. If a cacheable entry would have been cached, but its size exceeds this limit, then we do not attempt to cache it at all.
Zero is the default value, meaning we always attempt to cache entries.
|
static |
These functions get/set the memory usage limit for the resource cache, used for temporary bitmaps and other resources.
Entries are purged from the cache when the memory useage exceeds this limit.
|
static |
This function returns the memory used for temporary images and other resources.
|
static |
Call this at process initialization time if your environment does not permit static global initializers that execute code.
Init() is thread-safe and idempotent.
|
static |
Free as much globally cached memory as possible.
This will purge all private caches in Skia, including font and image caches.
If there are caches associated with GPU context, those will not be affected by this call.
|
static |
For debugging purposes, this will attempt to purge the font cache.
It does not change the limit, but will cause subsequent font measures and draws to be recreated, since they will no longer be in the cache.
|
static |
If the strike cache is above the cache limit, attempt to purge strikes with pinners.
This should be called after clients release locks on pinned strikes.
|
static |
For debugging purposes, this will attempt to purge the resource cache.
It does not change the limit.
|
static |
Set the limit to the number of entries in the font cache, and return the previous value.
If this new value is lower than the previous, it will automatically try to purge entries to meet the new limit.
|
static |
Specify the max number of bytes that should be used by the font cache.
If the cache needs to allocate more, it will purge previous entries.
This function returns the previous setting, as if GetFontCacheLimit() had be called before the new limit was set.
|
static |
To instantiate images from encoded data, first looks at this runtime function-ptr.
If it exists, it is called to create an SkImageGenerator from SkData. If there is no function-ptr or there is, but it returns NULL, then skia will call its internal default implementation.
Returns the previous factory (which could be NULL).
|
static |
|
static |
|
static |