diff options
author | Andrew Kitchen <andrew.kitchen@mapbox.com> | 2017-12-04 13:29:16 -0800 |
---|---|---|
committer | Fabian Guerra Soto <fabian.guerra@mapbox.com> | 2018-01-03 11:37:53 -0600 |
commit | 314c51611c6cbd0315df9cd3551363f6e6cf121b (patch) | |
tree | e6630049dcc652dc51593a4a35b56f0d22f1bfb8 /platform/ios/src/MGLMapView.mm | |
parent | c1705f37fb89cff99bfee0b62afec391feb70606 (diff) | |
download | qtlocation-mapboxgl-314c51611c6cbd0315df9cd3551363f6e6cf121b.tar.gz |
[darwin, ios, macos] Introduces an MGLRendererConfiguration class
Instructions for enabling client-side rendering of CJK glyphs live in
this header, and this class provides the rest of the values needed for
instantiating the renderer on iOS and macOS.
Diffstat (limited to 'platform/ios/src/MGLMapView.mm')
-rw-r--r-- | platform/ios/src/MGLMapView.mm | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/platform/ios/src/MGLMapView.mm b/platform/ios/src/MGLMapView.mm index e712f65109..c02446609a 100644 --- a/platform/ios/src/MGLMapView.mm +++ b/platform/ios/src/MGLMapView.mm @@ -42,6 +42,7 @@ #import "MGLOfflineStorage_Private.h" #import "MGLFoundation_Private.h" #import "MGLRendererFrontend.h" +#import "MGLRendererConfiguration.h" #import "MGLVectorSource+MGLAdditions.h" #import "NSBundle+MGLAdditions.h" @@ -198,7 +199,6 @@ public: @property (nonatomic) NS_MUTABLE_ARRAY_OF(NSLayoutConstraint *) *attributionButtonConstraints; @property (nonatomic, readwrite) MGLStyle *style; -@property (nonatomic, readonly) NSString *ideographicFontFamilyName; @property (nonatomic) UITapGestureRecognizer *singleTapGestureRecognizer; @property (nonatomic) UITapGestureRecognizer *doubleTap; @@ -323,7 +323,7 @@ public: + (void)initialize { - if (self == [MGLMapView self]) + if (self == [MGLMapView class]) { [MGLSDKUpdateChecker checkForUpdates]; } @@ -406,14 +406,12 @@ public: [[NSFileManager defaultManager] removeItemAtPath:fileCachePath error:NULL]; // setup mbgl map - mbgl::DefaultFileSource *mbglFileSource = [MGLOfflineStorage sharedOfflineStorage].mbglFileSource; - const float scaleFactor = [UIScreen instancesRespondToSelector:@selector(nativeScale)] ? [[UIScreen mainScreen] nativeScale] : [[UIScreen mainScreen] scale]; + MGLRendererConfiguration *config = [MGLRendererConfiguration currentConfiguration]; _mbglThreadPool = mbgl::sharedThreadPool(); - NSString *fontFamilyName = self.ideographicFontFamilyName; - auto renderer = std::make_unique<mbgl::Renderer>(*_mbglView, scaleFactor, *mbglFileSource, *_mbglThreadPool, mbgl::GLContextMode::Unique, mbgl::optional<std::string>(), fontFamilyName ? std::string([fontFamilyName UTF8String]) : mbgl::optional<std::string>()); + auto renderer = std::make_unique<mbgl::Renderer>(*_mbglView, config.scaleFactor, *config.fileSource, *_mbglThreadPool, config.contextMode, config.cacheDir, config.localFontFamilyName); _rendererFrontend = std::make_unique<MGLRenderFrontend>(std::move(renderer), self, *_mbglView); - _mbglMap = new mbgl::Map(*_rendererFrontend, *_mbglView, self.size, scaleFactor, *mbglFileSource, *_mbglThreadPool, mbgl::MapMode::Continuous, mbgl::ConstrainMode::None, mbgl::ViewportMode::Default); + _mbglMap = new mbgl::Map(*_rendererFrontend, *_mbglView, self.size, config.scaleFactor, *[config fileSource], *_mbglThreadPool, mbgl::MapMode::Continuous, mbgl::ConstrainMode::None, mbgl::ViewportMode::Default); // start paused if in IB if (_isTargetingInterfaceBuilder || background) { @@ -3468,12 +3466,6 @@ public: [self.style removeStyleClass:styleClass]; } -#pragma mark Ideographic Font Info - -- (NSString *)ideographicFontFamilyName { - return [[NSBundle mainBundle] objectForInfoDictionaryKey:@"MGLIdeographicFontFamilyName"]; -} - #pragma mark - Annotations - - (nullable NS_ARRAY_OF(id <MGLAnnotation>) *)annotations |