summaryrefslogtreecommitdiff
path: root/src/mbgl/style/layers/symbol_layer.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [core] Add `FadingTiles` layer type propertyMikhail Pozdnyakov2019-04-171-1/+2
|
* [core] Enable 'symbol-sort-key' layout property and generate style codeAlexander Shalamov2019-04-171-40/+63
|
* [core] clang-tidy fixesKonstantin Käfer2019-04-051-108/+108
|
* [core] Enable 'text-radial-offset' propertyMikhail Pozdnyakov2019-03-291-1/+24
|
* [core] Enable text-variable-anchor propertyMikhail Pozdnyakov2019-03-291-0/+30
|
* [core] Use eternal::hash_map in style::LayersMikhail Pozdnyakov2018-12-191-380/+82
|
* [core, android, darwin] Move layer factories to separate filesMikhail Pozdnyakov2018-12-101-25/+0
|
* [core][Android][Darwin] LayerManager creates RenderLayer instancesMikhail Pozdnyakov2018-11-271-16/+20
| | | | | | | | `LayerManager` is now responsible for `RenderLayer` instances creation, so that there is a single entry point for creating of objects, which correspond to a certain layer type. The `LayerType type` field is dropped from `Layer::Impl`.
* [core] Add static layer properties to mbgl::style::LayerTypeInfoAlexander Shalamov2018-11-191-1/+7
|
* [core][android] Introduce mbgl::style::LayerTypeInfoMikhail Pozdnyakov2018-11-151-16/+9
| | | | | | | | | The `LayerTypeInfo` contains static meta data about certain layer type. Each layer module should have a single immutable `LayerTypeInfo` instance for the represented layer type. Both `LayerImpl` and `LayerFactory` from the module always refer to the same `LayerTypeInfo` instance, so address of this instance can be used as a layer module Id during the process life time.
* noexcept specifier for layer factory methodsMikhail Pozdnyakov2018-11-071-3/+3
|
* Refer corresponding LayerFactory instance from the Layer::ImplMikhail Pozdnyakov2018-11-071-2/+19
|
* Introduce the style::Layer factory classesMikhail Pozdnyakov2018-10-311-0/+19
| | | | | | | | | This patch introduces the initial implementation of - A `LayerFactory` abstract class that creates `style::Layer` instances of a certain layer type (line, hillshade, round, ..) - A singleton `LayerManager` class, which is responsible for initializing the `LayerFactory` instances and forwarding the `create()` calls to the corresponding factory.
* Consolidate `style::Layer` properties APIMikhail Pozdnyakov2018-10-251-56/+4
| | | | | | | | The `style::Layer` class now exposes all the properties contained at `style::LayerImpl`. This allowed to drop `style::Layer::accept()` method usage, avoid the repeated generated code and thus save some binary size. This patch is a part of the layers modularization effort.
* [core] Initial implementation of 'format' expressionChris Loer2018-10-151-13/+18
|
* Port symbol-z-order symbol layout style-spec property to Nativeupstream/sort-by-yryanhamley2018-09-071-0/+35
|
* [core] make style/conversion.hpp implementation privateKonstantin Käfer2018-08-191-1/+1
|
* [core] Factor out setVisibility conversionJohn Firebaugh2018-08-131-13/+1
|
* [core] Optimize generated set{Paint,Layout}Property codeJohn Firebaugh2018-08-131-483/+710
|
* [core] Eliminate setProperty & co.John Firebaugh2018-08-131-0/+724
|
* [core] Merge DataDrivenPropertyValue into PropertyValue (#12513)John Firebaugh2018-07-311-75/+75
|
* Update layer immediately when changing its max/min zoom level (#11399)Łukasz Paczos2018-04-121-0/+2
| | | | | | * [android][core] update layer immediately when changing it's max/min zoom * [core] node bindings for layer zoom range
* [core, ios, macos, android] Add data-driven-styling support for `text-font`John Firebaugh2018-01-101-3/+3
|
* [core][ios][macos][android]DDS-ify `text-letter-spacing` and `text-max-width`Asheem Mamoowala2017-08-301-6/+6
|
* Implement icon-anchor propertyLauren Budorick2017-08-281-3/+19
|
* [core][android][macos][ios] Implement property functions for line-join, ↵Lauren Budorick2017-07-261-6/+6
| | | | text-justify, text-anchor (#9583)
* [core] Update shaders.Chris Loer2017-07-121-0/+16
| | | | | Implements 'icon-pitch-alignment' (issue #9345) Fixes issue #9456 (map-aligned point label regression)
* [core] Simplify LayerObserver APIJohn Firebaugh2017-06-051-90/+50
|
* [core, node, darwin, qt] Remove support for paint classesJohn Firebaugh2017-05-151-126/+126
|
* [core] cascade ⇢ transition / cascading ⇢ transitionableJohn Firebaugh2017-05-151-1/+1
|
* [core] Unify {Paint,Layout,Light}PropertiesJohn Firebaugh2017-05-151-70/+69
|
* [core] *LayerImpl::cascading ⇢ paintJohn Firebaugh2017-05-151-57/+57
|
* [core] Immutable ImplsJohn Firebaugh2017-05-121-202/+356
|
* [core] split off render layersIvo van Dongen2017-04-251-59/+59
|
* [core] Add DDS support for {text,icon}-size (#8593)Anand Thakker2017-04-061-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | * 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)
* [core] Add DDS support for icon-imageJohn Firebaugh2017-03-311-3/+3
|
* [core] Add DDS support for text-rotateJohn Firebaugh2017-03-311-3/+3
|
* [core] implement dds for text-offsetMolly Lloyd2017-03-281-3/+3
|
* Per-attribute transition properties on MGLStyleLayer (#8225)Fabian Guerra Soto2017-03-101-0/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [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] Implement data-driven styling for ↵Anand Thakker2017-02-281-46/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | {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
|
* [core] Restore support for *-transition propertiesJohn Firebaugh2017-02-091-0/+56
|
* [core] Add support for data-driven stylingJohn Firebaugh2017-02-021-6/+6
|
* [core] Get rid of user-specified refsJohn Firebaugh2017-01-041-1/+5
|
* [core] Convert style properties to a tuple-based approachJohn Firebaugh2016-11-171-130/+130
| | | | | | | | This converts the style property classes (CirclePaintProperties and so on) to the same tuple-based approach as gl::Attribute and gl::Uniform. The approach is outlined in https://github.com/mapbox/cpp/blob/master/C%2B%2B%20Structural%20Metaprogramming.md. The main advantage of this approach is it allows writing algorithms that work on sets of style properties, without resorting to code generation or manually repetitive code. This lets us iterate on approaches to data-driven properties more easily. Another advantage is that the cascading, unevaluated, and evaluated states of a set of properties exist as independent structures, instead of individual properties holding their own state. This is a more functional approach that makes data flow clearer and reduces state.
* [core] symbol layer - recalculate style on icon/text size changesIvo van Dongen2016-11-111-34/+34
|
* Better handling for undefined icon|text-rotation-alignment (#6253)Young Hahn2016-09-211-3/+3
| | | | | | * [core, ios, android] Use `auto` value for properties with calculated defaults * Fix render tests
* [core, ios, android, qt] Observe style layer mutations rather than requiring ↵John Firebaugh2016-09-061-0/+145
| | | | | | SDKs to use Map::update This paves the way for updates to filter and layout properties to trigger a source reload, without each SDK having to participate in the implementation.
* [core] Add missing classed paint property getterJohn Firebaugh2016-09-061-28/+28
|
* [core] Add static getters for property default values (#6124)John Firebaugh2016-08-231-0/+192
|