summaryrefslogtreecommitdiff
path: root/platform/ios/src/UIImage+MGLAdditions.mm
diff options
context:
space:
mode:
Diffstat (limited to 'platform/ios/src/UIImage+MGLAdditions.mm')
-rw-r--r--platform/ios/src/UIImage+MGLAdditions.mm12
1 files changed, 10 insertions, 2 deletions
diff --git a/platform/ios/src/UIImage+MGLAdditions.mm b/platform/ios/src/UIImage+MGLAdditions.mm
index 4507fb6c41..e4d072e136 100644
--- a/platform/ios/src/UIImage+MGLAdditions.mm
+++ b/platform/ios/src/UIImage+MGLAdditions.mm
@@ -6,7 +6,14 @@
{
std::string png = encodePNG(spriteImage->image);
NSData *data = [[NSData alloc] initWithBytes:png.data() length:png.size()];
- return [self initWithData:data scale:spriteImage->pixelRatio];
+ if (self = [self initWithData:data scale:spriteImage->pixelRatio])
+ {
+ if (spriteImage->sdf)
+ {
+ self = [self imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
+ }
+ }
+ return self;
}
- (std::unique_ptr<mbgl::SpriteImage>)mgl_spriteImage
@@ -28,7 +35,8 @@
CGContextRelease(context);
CGColorSpaceRelease(colorSpace);
- return std::make_unique<mbgl::SpriteImage>(std::move(cPremultipliedImage), float(self.scale));
+ BOOL isTemplate = self.renderingMode == UIImageRenderingModeAlwaysTemplate;
+ return std::make_unique<mbgl::SpriteImage>(std::move(cPremultipliedImage), float(self.scale), isTemplate);
}
@end