summaryrefslogtreecommitdiff
path: root/include/mbgl/style
Commit message (Collapse)AuthorAgeFilesLines
* [core, android] Factor JSON string conversionsJohn Firebaugh2017-05-082-4/+12
| | | | | | | | | | | This adds a `convertJSON` template, to be used like: Error error optional<Foo> foo = convertJSON<Foo>(string, error); Internally, it parses the string with RapidJSON and then calls `convert<Foo>(parsed, error)`. While here, rationalize GeoJSON converters and fix error handling for Tileset conversion in OfflineDownload.
* [core] delegate light changes to render lightIvo van Dongen2017-05-083-15/+17
|
* [core] generated accessor methods on lightIvo van Dongen2017-05-083-46/+77
|
* [core] Remove unused declarationJohn Firebaugh2017-05-051-5/+0
|
* [core] Refactor Source::*Impls into RenderSources and TilePyramidJohn Firebaugh2017-05-022-19/+1
|
* [all] Push querySourceFeatures back out to MapJohn Firebaugh2017-05-022-27/+0
| | | | Once Source and RendererSource are split, Source will no longer have access to tiles.
* [core] Render fill-extrusion layers (#8431)Lauren Budorick2017-04-278-35/+295
|
* [core] split off render layersIvo van Dongen2017-04-2510-31/+41
|
* [all] Rationalize style::ImageJohn Firebaugh2017-04-241-0/+25
| | | | | | | A style has a collection of images, just as it has collections of sources and layers. * Name things appropriately * Use std::unique_ptr
* [core] More complete fix for composite function interpolation edge caseJohn Firebaugh2017-04-201-3/+0
| | | | b5b4549 / #8613 handled the edge case for layout properties, but not paint properties. Move the check for a degenerate range to interpolationFactor in order to handle both correctly.
* [core] TransitionOptions s/operator bool/isDefined/Bruno de Oliveira Abinader2017-04-141-1/+1
|
* [core] Remove unused bool() functionsBruno de Oliveira Abinader2017-04-141-2/+0
|
* [core, darwin] Object identity for MGLSource*, MGLStyleLayer*John Firebaugh2017-04-132-0/+12
| | | | All `MGLSource` pointers referencing the same logical source will now be object identical; similarly for `MGLStyleLayer`.
* [core] Add DDS support for {text,icon}-size (#8593)Anand Thakker2017-04-064-9/+18
| | | | | | | | | | | | | | | | | | | | | | | | * Update gl-js and generate style code * Factor out packUint8Pair() helper function * Draft implementation of DDS for {text,icon}-size Ports https://github.com/mapbox/mapbox-gl-js/pull/4455 * Fix text-size/composite-function-line-placement test * Refactor to PaintPropertyBinders-like strategy * Dedupe gl::Program construction * Use exponential function base for interpolation * Dedupe coveringZoomStops method * Fixup tests * Fix CI errors (hidden within #if block)
* Fix edge case in composite function interpolation (#8613)Anand Thakker2017-04-031-1/+8
| | | | | | | | | | | | | | | | This fixes a bug where, for a zoom value greater than that of the highest zoom stop, composite function interpolation would return nan. (Blocking a render test over in #8593) * Add failing tests for composite function edge case The failing cases here are: - Should interpolate before the first stop - Should interpolate past the last stop * Fix edge case in composite function interpolation * Hold functions constant outside stop-defined domain
* [core] Add DDS support for icon-imageJohn Firebaugh2017-03-312-4/+4
|
* [core] Add DDS support for text-rotateJohn Firebaugh2017-03-312-4/+4
|
* [core] implement dds for text-offsetMolly Lloyd2017-03-282-4/+4
|
* [core] Avoid public geometry_tile_data.hpp includeJohn Firebaugh2017-03-282-3/+4
|
* [all] Replace Result<T> with optional<T> plus out Error parameterJohn Firebaugh2017-03-2313-317/+391
|
* Merge branch 'release-ios-v3.5.0-android-v5.0.0'John Firebaugh2017-03-218-0/+59
|\
| * Per-attribute transition properties on MGLStyleLayer (#8225)Fabian Guerra Soto2017-03-108-0/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [ios, macos] new struct MGLTransition * [ios] MGLTransition struct moved to MGLTypes.h * [ios] MGLTransition implemented for style layer properties * [ios, macos] added support for getting property transitions * [ios, macos] updated to MGLDurationFromTimeInterval and MGLTimeIntervalFromDuration * [ios, macos] added transition properties test * [ios, macos] modified key strings imp * [ios, macos] The impl for transition properties were changed to public methods * [ios, macos] Changelog update * [ios] Fixed layer space formatting * [core] The name space was fixed for getters that returned TransitionOptions * [ios, macos] Added rawLayer transition property tests * [ios] Added a factory method for MGLTransition and transition-related methods to NSValue(MGLAdditions) * [ios, macos] Copyedited changelog blurbs about transition properties
| * [core] query source featuresIvo van Dongen2017-03-102-0/+29
| |
* | Make Source::getZoomRange return an optional rangeBruno de Oliveira Abinader2017-03-211-2/+1
| |
* | [core] Expose Source::getZoomRangeBruno de Oliveira Abinader2017-03-201-1/+4
| |
* | [node] Work around a link error on macOS release builds (#8409)John Firebaugh2017-03-151-3/+1
| |
* | [core] query source featuresIvo van Dongen2017-03-092-0/+29
|/
* [core] Avoid using std::function in property_setter.hppJohn Firebaugh2017-03-083-198/+209
|
* For data-driven paint setters, transition immediately to target value (#8306)Anand Thakker2017-03-081-0/+1
| | | Closes #8237
* [core] Add support for queryRenderedFeatures filterAsheem Mamoowala2017-03-042-0/+8
|
* [core] Implement data-driven styling for ↵Anand Thakker2017-02-281-30/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | {text,icon}-{color,opacity,halo-color,halo-blur,halo-width} (#7939) * Add symbol dds attributes and adapt style code generation * Update to mapbox-gl-js/master * Refactor SymbolFeature as a subclass of GeometryTileFeature Prepares for enabling DDS on symbol paint properties by allowing the SymbolFeatures, which we keep around after constructing SymbolLayout, to be used in evaluating data-driven paint properties later in the layout process. * Draft approach for splitting icon/text paint properties The `Program` types are set up to bind GL attributes to each of the data-driven paint properties specified in the `PaintProperties` type provided. Since `SymbolPaintProperties` specifies both `Text*` and `Icon*` properties, the symbolIcon, symbolIconSDF, and symbolGlyph programs each attempt to bind roughly double the number of attributes that they actually need. This change addresses this by: - Adding the more specific `IconPaintProperties` and `TextPaintProperties` types, which are subsets of the full `SymbolPaintProperties`. - The symbol layer continues to use its `SymbolPaintProperties paint` member to track layer property state, but it provides helpers that construct objects of each the specific `{Icon,Text}PaintProperties::Evaluated` type, for use by the painter. - The three symbol programs instantiate `Program<>` using the appropriate `{Icon,Text}PaintProperties` type. * check in generated style code * Populate paint buffers for symbol DDS properties * Address first round of review comments * Refactor VectorTile{Layer,Feature} to explicitly share data * Update submodule
* [core] Enable property functions for text-{field,transform} (#7944)Anand Thakker2017-02-171-6/+6
|
* Refactor: use conversion system to convert MGLStyleFunction to mbgl core ↵Anand Thakker2017-02-151-1/+1
| | | | | types (#8026) This leverages the work already happening in `mbgl::style::conversion` to convert style functions from style-spec definitions into `mbgl::style::{Camera,Source,Composite}Function`s. In particular, this allows the conversions system to handle the differing typing requirements based on whether the output type of the style function is interpolatable or non-interpolatable.
* [core] Introduce dedicated filter types for $type and $id special cases (#7971)John Firebaugh2017-02-093-50/+287
| | | | | | | | * [core] Introduce dedicated filter types for $type and $id special cases * [ios, macos] Special-case $id, $type in predicates Also support $id ≟ nil.
* [core] Restore support for *-transition propertiesJohn Firebaugh2017-02-0912-0/+198
|
* [core, ios, macos] Refactor composite stop types and conversionsJohn Firebaugh2017-02-095-71/+185
|
* [ios, macos] Add support for data-driven property functionsJesse Bounds2017-02-021-0/+5
|
* [core] default value support in categorical function conversionIvo van Dongen2017-02-028-31/+64
|
* [core] Add support for data-driven stylingJohn Firebaugh2017-02-0223-159/+874
|
* [core] Include what you useThiago Marcos P. Santos2017-01-201-0/+1
|
* Merge branch 'release-ios-v3.4.0' into 1ec5-release-ios-v3.4.0-beta.7Minh Nguyễn2017-01-164-2/+66
|\
| * [core] Filter operator==John Firebaugh2017-01-041-1/+59
| |
| * [core] Added URL accessor for tile sourcesMinh Nguyễn2016-12-203-1/+7
| |
* | [core] Get rid of user-specified refsJohn Firebaugh2017-01-041-0/+2
| |
* | [core] Use PropertyMap typedefJohn Firebaugh2017-01-041-2/+2
| |
* | [core, ios] replace `altitude` with `fov`Ansis Brammanis2016-12-211-1/+1
| | | | | | | | | | | | | | | | | | ported from -js: eb6c6596c6a7a61363d30356674e0002153b1d19 `altitude` was a terribly-named variable that was used to indirectly control the fov. This should eliminate some confusion. `altitude` was equivalent to `cameraToCenterDistance / height`
* | Merge branch 'release-ios-v3.4.0' into 1ec5-release-ios-v3.4.0-beta.5-masterMinh Nguyễn2016-12-201-3/+3
|\ \ | |/ | | | | Also reran make style-code and manually discarded anything related to fill extrusion layers.
| * [ios, macos] Migrate MGLCustomStyleLayerAdditions to style layer API (#7250)Minh Nguyễn2016-12-071-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [ios, macos] Replaced custom style layer API with MGLOpenGLStyleLayer Replaced the custom style layer API on MGLMapView with an equally unsupported MGLOpenGLStyleLayer API that nonetheless is consistent with the broader runtime styling API and is compatible with macOS. Fixed an unrecognized selector crash when wrapping a layer of unrecognized type coming from mbgl. * [macos] Added lime green layer demo to macosapp Reprised the demo removed from iosapp in #5091. * [ios, macos] Rationalized MGLOpenGLStyleLayer API MGLStyle now strongly references any MGLOpenGLStyleLayer object that’s added to it, in order to prevent pointers from going stale and make it easy for layer drawing code to get more information about the map view. Replaced the MGLOpenGLStyleLayer callback blocks with overridable instance methods. Added internal documentation for each method. Subclassed MGLOpenGLStyleLayer as LimeGreenStyleLayer inside macosapp. Consolidated -addToMapView: into -addToMapView:belowLayer: to ensure that MGLRedundantLayerException gets raised even if the layer is being inserted rather than added to the bottom of the stack. * [core] Clarified that rendering happens on the main thread * [ios, macos] Fixed removing and re-adding MGLOpenGLStyleLayer Don’t allow index-based layer removal to circumvent -removeFromMapView:, which MGLOpenGLStyleLayer relies on to synchronize the style’s array of MGLOpenGLStyleLayers. When obtaining an MGLOpenGLStyleLayer, get the instance already added to the style instead of creating a new one to wrap the underlying CustomLayer.
* | [core] Implement circle-stroke propertiesJohn Firebaugh2016-12-095-1/+102
| | | | | | | | Also includes stubs for fill-extrusion layer, because most of the code was auto-generated.
* | [core] Move evaluation algorithm to FunctionJohn Firebaugh2016-12-061-1/+4
| |