<% const properties = locals.properties; -%> // This file is generated. // Edit platform/darwin/scripts/generate-style-code.js, then run `make darwin-style-code`. // test #import "MGLLight.h" #import "MGLTypes.h" #import "MGLStyleValue_Private.h" #import "NSValue+MGLAdditions.h" #import "MGLLoggingConfiguration_Private.h" #import #import namespace mbgl { MBGL_DEFINE_ENUM(MGLLightAnchor, { <% for (const property of properties) { -%> <% if (property.type == "enum") { -%> <% for (const value in property.values) { -%> { MGLLightAnchor<%- camelize(value) %>, "<%- value %>" }, <% } -%> <% } -%> <% } -%> }); } @interface MGLLight() @end @implementation MGLLight - (instancetype)initWithMBGLLight:(const mbgl::style::Light *)mbglLight { if (self = [super init]) { MGLLogInfo(@"Initializing %@.", NSStringFromClass([self class])); <% if (properties.length) { -%> <% for (const property of properties) { -%> <% if (property.type == "enum") { -%> auto <%- camelizeWithLeadingLowercase(property.name) -%> = mbglLight->get<%- camelize(property.name) -%>(); NSExpression *<%- camelizeWithLeadingLowercase(property.name) -%>Expression; if (<%- camelizeWithLeadingLowercase(property.name) -%>.isUndefined()) { mbgl::style::PropertyValueType> default<%- camelize(property.name) -%> = mbglLight->getDefault<%- camelize(property.name) -%>(); <%- camelizeWithLeadingLowercase(property.name) -%>Expression = MGLStyleValueTransformerType, MGLLight<%- camelize(property.name) -%>>().toExpression(default<%- camelize(property.name) -%>); } else { <%- camelizeWithLeadingLowercase(property.name) -%>Expression = MGLStyleValueTransformerType, NSValue *, mbgl::style::Light<%- camelize(property.name) -%>Type, MGLLight<%- camelize(property.name) -%>>().toExpression(<%- camelizeWithLeadingLowercase(property.name) -%>); } _<%- camelizeWithLeadingLowercase(property.name) -%> = <%- camelizeWithLeadingLowercase(property.name) -%>Expression; <% if (property.transition) { -%> _<%- camelizeWithLeadingLowercase(property.name) -%>Transition = MGLTransitionFromOptions(mbglLight->get<%- camelize(property.name) -%>Transition()); <% } -%> <% } else {-%> auto <%- camelizeWithLeadingLowercase(property.name) -%>Value = mbglLight->get<%- camelize(property.name) -%>(); if (<%- camelizeWithLeadingLowercase(property.name) -%>Value.isUndefined()) { _<%- camelizeWithLeadingLowercase(property.name) -%> = MGLStyleValueTransformer<<%- valueTransformerArguments(property).join(', ') %>>().toExpression(mbglLight->getDefault<%- camelize(property.name) -%>()); } else { _<%- camelizeWithLeadingLowercase(property.name) -%> = MGLStyleValueTransformer<<%- valueTransformerArguments(property).join(', ') %>>().toExpression(<%- camelizeWithLeadingLowercase(property.name) -%>Value); } <% if (property.transition) { -%> _<%- camelizeWithLeadingLowercase(property.name) -%>Transition = MGLTransitionFromOptions(mbglLight->get<%- camelize(property.name) -%>Transition()); <% } -%> <% } -%> <% } -%> <% } -%> } return self; } - (mbgl::style::Light)mbglLight { mbgl::style::Light mbglLight; <% if (properties.length) { -%> <% for (const property of properties) { -%> <% if (property.type == "enum") { -%> auto <%- camelizeWithLeadingLowercase(property.name) -%> = MGLStyleValueTransformerType, NSValue *, mbgl::style::Light<%- camelize(property.name) -%>Type, MGLLight<%- camelize(property.name) -%>>().toPropertyValue>>(self.<%- camelizeWithLeadingLowercase(property.name) -%>, false); mbglLight.set<%- camelize(property.name) -%>(<%- camelizeWithLeadingLowercase(property.name) -%>); <% } else {-%> auto <%- camelizeWithLeadingLowercase(property.name) -%> = MGLStyleValueTransformer<<%- valueTransformerArguments(property).join(', ') %>>().toPropertyValue>>(self.<%- camelizeWithLeadingLowercase(property.name) -%>, false); mbglLight.set<%- camelize(property.name) -%>(<%- camelizeWithLeadingLowercase(property.name) -%>); <% } -%> <% if (property.transition) { -%> mbglLight.set<%- camelize(property.name) -%>Transition(MGLOptionsFromTransition(self.<%- camelizeWithLeadingLowercase(property.name) -%>Transition)); <% } -%> <% } -%> <% } -%> return mbglLight; } <% if (properties.length) { -%> <% for (const property of properties) { -%> - (void)set<%- camelize(property.name) %>:(NSExpression *)<%- objCName(property) %> { MGLLogDebug(@"Setting <%- objCName(property) %>: %@", <%- objCName(property) %>); _<%- objCName(property) %> = <%- objCName(property) %>; } <% if (property["transition"]) { -%> - (void)set<%- camelize(property.name) %>Transition:(MGLTransition)transition { MGLLogDebug(@"Setting <%- objCName(property) %>Transition: %@", MGLStringFromMGLTransition(transition)); _<%- objCName(property) %>Transition = transition; } <% } -%> <% } -%> <% } -%> @end