summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* [core] add util::isURL() for checking whether a string starts with a URL schemeKonstantin Käfer2016-12-072-2/+34
|
* [core] Move CrossFadedPropertyEvaluator to its own fileJohn Firebaugh2016-12-065-40/+51
|
* [core] Move evaluation algorithm to FunctionJohn Firebaugh2016-12-063-79/+83
|
* Merge branch 'release-ios-v3.4.0' into 1ec5-release-ios-v3.4.0-beta.4-masterMinh Nguyễn2016-12-033-1/+39
|\
| * [core] guard against duplicate source id’sIvo van Dongen2016-12-021-0/+10
| |
| * [core, ios, macos] Added layers and sources properties to MGLStyleMinh Nguyễn2016-11-283-1/+39
| | | | | | | | | | | | | | | | Added new layers and sources properties to MGLStyle that contain all the style’s layers and sources, respectively. These properties are KVC-compliant with all the mutable to-many methods. Layers are ordered from topmost to bottommost, for consistency with Cocoa APIs where front/first means top and back/last means bottom. Also added storage for mbgl::style::Source in MGLSource proper for wrapping AnnotationSource. Until the style finishes loading, its name property is set to nil. Fixes #6003.
| * [core] cache raster tilesKonstantin Käfer2016-11-221-1/+1
| |
| * [core] don't run symbol placement more often than necessaryKonstantin Käfer2016-11-143-5/+3
| |
| * [core] Return source and layer ownership (#7014)Jesse Bounds2016-11-135-15/+41
| | | | | | | | | | | | | | | | When a source or layer is removed transfer ownership back to the caller so it can (optionally) take it. Preserve the behavior that removing a CustomLayer triggers deinitialization. Deinitialize all custom layers when a style is destroyed in case those layers are not explicitly removed.
| * [core] symbol layer - recalculate style on icon/text size changesIvo van Dongen2016-11-136-43/+51
| |
| * [core] Fix render tile ordering when querying sourcesBruno de Oliveira Abinader2016-11-132-21/+17
| |
| * [core] Separate pathway for notifying workers of new images/glyphsJohn Firebaugh2016-11-139-12/+77
| |
| * [core] Ensure correct GL context in Map::onLowMemory()John Firebaugh2016-11-091-0/+2
| |
* | [core] Functions must have at least one stopJohn Firebaugh2016-12-011-25/+2
| | | | | | | | This is already enforced by the style validator in mapbox-gl-style-spec. Enforce it here too.
* | [core] Use indexed rendering everywhereJohn Firebaugh2016-12-0111-110/+83
| |
* | [core] Full support for line breaking bidirectional text using ICU bidi ↵Chris Loer2016-11-308-162/+313
| | | | | | | | | | | | | | functionality. - Trim whitespace from labels before determining their max-width for alignment. - Fix crash on labels that contain lines with only a single character of whitespace.
* | [core] guard against duplicate source id’sIvo van Dongen2016-11-301-0/+10
| |
* | Always use a dot as a decimal point in string, independent of localeAki Koskinen2016-11-291-1/+6
| | | | | | | | | | | | | | std::to_string() potentially uses a decimal point character different than a dot (.), depending on the environment's locale. But since this generated string will be part of GLSL code, there needs to be a dot and nothing else.
* | [build] upgrade to variant 1.1.4 and dependenciesKonstantin Käfer2016-11-282-2/+3
| |
* | [core] Use double in TransformState::zoomScaleBruno de Oliveira Abinader2016-11-271-1/+1
| |
* | [build] move logging to utilKonstantin Käfer2016-11-2227-33/+33
| |
* | [build] move default_styles to platform/defaultKonstantin Käfer2016-11-221-16/+0
| |
* | [core] replace <regex> usage with plain string code to reduce binary sizeKonstantin Käfer2016-11-181-7/+14
| |
* | [core] Sort symbol render tiles prior to renderingBruno de Oliveira Abinader2016-11-183-6/+30
| |
* | [core] Cleanup symbol clippingBruno de Oliveira Abinader2016-11-182-28/+21
| |
* | [core] Convert style properties to a tuple-based approachJohn Firebaugh2016-11-1763-1001/+1141
| | | | | | | | | | | | | | | | 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] Add minimal line breaking support for RTL text.Chris Loer2016-11-176-13/+28
| |
* | [core] Add ICU package for Bidirectional text support and arabic text shaping.Chris Loer2016-11-175-6/+84
| | | | | | | | | | Apply bidi and shaping in symbol_layout. Add utility functions for converting to and from UTF-16.
* | [core] Use UTF-16 instead of UTF-32 for label features to avoid extra ↵Chris Loer2016-11-1713-35/+36
| | | | | | | | | | | | | | conversions and reduce in-memory size. Continue to use uint32 as glyph ID to maintain Glyph PBF, even though we're only using 16 bits of that uint32. Use std::codecvt instead of boost::unicode_iterator for UTF8->UTF16 conversions.
* | [core] cache raster tilesKonstantin Käfer2016-11-171-1/+1
| |
* | [core] update native for line property function shaders changes (#6658)Molly Lloyd2016-11-1611-64/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [core] update shaders for line property functions update deps, define device pixel ratio for all shaders [core] create ShaderParameter struct to store pixel ratio and overdraw param repair rebase errs update shaders to include pixel ratio make sure collision_box never overdraws update test suite, move shaders to Painter::render so the correct pixel ratio is applied move shader compiling back to the Painter constructor rebase from shader --> program refactor re-factor parameters for collisionBox and debug programs remove unused vars from line-program, move blur math to shader update core files remove unecessary files update shaders PR, remove comments bump test suite sha fix formatting, incorporate feedback refactor program.hpp * [core] remove line transformations that were moved to the shaders, bump shader sha * [core] shorten ProgramParameter instantiation * [core] bump shader+test suite shas
* | [core] Return to static, per-segment approach to VAOsJohn Firebaugh2016-11-153-42/+10
| | | | | | | | This is safer now -- it can be an implementation detail of Segment/Context. And the typing of SegmentVector now ensures that the attributes and program match.
* | [core] Introduce SegmentVectorJohn Firebaugh2016-11-1518-36/+86
| |
* | [core] Assign attribute locations sequentiallyJohn Firebaugh2016-11-155-11/+21
| | | | | | | | | | | | | | Two reasons to prefer explicit sequential location assignment, rather than relying on the GLSL linker to assign locations: * For data-driven properties, we want to have the option to use glDisableVertexAttribArray plus glVertexAttrib*. In order to use glDisableVertexAttribArray, we must avoid using attribute location 0, which cannot be disabled. * We want to use the same VAO in cases where, say, a fill layer might be rendered with FillProgram at first, and then FillPatternProgram later. VAOs do not store the program binding, only the attribute bindings, so as long as the two programs have the same attributes and attribute locations, only a single VAO (per segment) is needed.
* | [core] Use indexed rendering for collision boxesJohn Firebaugh2016-11-154-12/+33
| |
* | [core] Line-break ideographic text by character (#6828)Minh Nguyễn2016-11-144-18/+404
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * [core] Line-break ideographic text by character Allow a line break to be inserted after any supported Chinese, Japanese, or Yi character in a point-placed label. Balance the lines unless non-ideographic text such as Latin letters are present. Fixes #1223. * [core] Moved more character classing into util::i18n * [core] Detect character properties by Unicode block * [test] Reenabled ideographic breaking tests
* | [core] don't run symbol placement more often than necessaryKonstantin Käfer2016-11-143-5/+3
| |
* | [core] don't show OpenGL debug information on startupKonstantin Käfer2016-11-141-24/+2
| |
* | [core] Return source and layer ownership (#7014)Jesse Bounds2016-11-115-15/+41
| | | | | | | | | | | | | | | | When a source or layer is removed transfer ownership back to the caller so it can (optionally) take it. Preserve the behavior that removing a CustomLayer triggers deinitialization. Deinitialize all custom layers when a style is destroyed in case those layers are not explicitly removed.
* | [core] symbol layer - recalculate style on icon/text size changesIvo van Dongen2016-11-116-43/+51
| |
* | Default Style Camera on Android (#7019)Tobrun2016-11-111-1/+0
| | | | | | | | | | | | * [core] - do not set camera mutated to true when calling Map::getLatLng * [android] - correctly check if a Map is created without a camera position
* | [core] Default camera position to that specified by the styleJohn Firebaugh2016-11-092-7/+44
| |
* | [core] Ensure correct GL context in Map::onLowMemory()John Firebaugh2016-11-091-0/+2
| |
* | [core] don't initialize with Duration::min() to avoid arithmetic overflowsKonstantin Käfer2016-11-091-2/+2
| | | | | | | | | | In FrameHistory::needsAnimation, we are computing "time - previousTime", but since previousTime was initialized to Duration::min(), we got a integer overflow, which produced invalid values.
* | [core] don't assign clip IDs to tiles that aren't renderedKonstantin Käfer2016-11-085-3/+14
| |
* | [core] Require point size / line width for DrawMode constructorsJohn Firebaugh2016-11-081-0/+12
| |
* | [core] Put ignore in util namespaceJohn Firebaugh2016-11-085-9/+11
| |
* | [core] Introduce and use IndexedTupleJohn Firebaugh2016-11-083-19/+62
| |
* | [core] Use gl::Program to resolve some rough edges in the GL binding typesJohn Firebaugh2016-11-0841-358/+470
| | | | | | | | | | | | | | | | | | * Extract `ignore` util to separate header. * `Segment` now tracks offset and length of indices, rather than primitives. This is more natural. * Introduce `VertexVector` and `IndexVector` types. These types carry information about the intended draw mode (`Triangles`, `LineStrip`, etc.), and ensure that elements are always appended in a group size appropriate for that draw mode, for both indexed and unindexed rendering. * `Program`, rather than `Drawable`, is now the unifying object for draw calls. `Program` is the best place to type check the draw call, because it is typed to carry information about the intended primitive, vertex type, attributes, and uniforms. * Use the debug shaders for debug tile rendering, like gl-js. * Fix the draw mode for background. It was drawing triangle strips with a triangles array. Surprised this didn’t cause issues. Now it’s type checked.
* | [core] Introduce gl::Program templateJohn Firebaugh2016-11-0884-1326/+917
| |