Example #1
0
static RetainPtr<CFDictionaryRef> imageSourceOptions(SubsamplingLevel subsamplingLevel = 0)
{
    if (subsamplingLevel)
        return createImageSourceOptions(subsamplingLevel);

    static NeverDestroyed<RetainPtr<CFDictionaryRef>> options = createImageSourceOptions(0);
    return options;
}
Example #2
0
static CFDictionaryRef imageSourceOptions(ImageSource::ShouldSkipMetadata skipMetadata = ImageSource::SkipMetadata, SubsamplingLevel subsamplingLevel = 0)
{
    if (subsamplingLevel)
        return createImageSourceOptions(skipMetadata, subsamplingLevel);

    static CFDictionaryRef options = createImageSourceOptions(skipMetadata, 0);
    return options;
}
Example #3
0
static RetainPtr<CFDictionaryRef> imageSourceOptions(SubsamplingLevel subsamplingLevel = SubsamplingLevel::Default, DecodingMode decodingMode = DecodingMode::OnDemand)
{
    if (subsamplingLevel > SubsamplingLevel::First)
        return createImageSourceOptions(subsamplingLevel, decodingMode);

    static NeverDestroyed<RetainPtr<CFDictionaryRef>> optionsOnDemand = createImageSourceOptions(SubsamplingLevel::First, DecodingMode::OnDemand);
    static NeverDestroyed<RetainPtr<CFDictionaryRef>> optionsImmediate = createImageSourceOptions(SubsamplingLevel::First, DecodingMode::Immediate);

    return decodingMode == DecodingMode::OnDemand ? optionsOnDemand : optionsImmediate;
}