summaryrefslogtreecommitdiff
path: root/src/mbgl/text
Commit message (Collapse)AuthorAgeFilesLines
* [core] fix opacity of duplicate labels with -allow-overlap: trueAnsis Brammanis2018-02-151-3/+8
|
* Prune unused layers from CrossTileSymbolIndexChris Loer2018-01-192-0/+13
| | | | Fixes issue #10939 -- removed layers would leak entries in the CrossTileSymbolIndex.
* [core] Prevent symbols at the same zoom from sharing a crossTileID.Chris Loer2018-01-172-9/+35
| | | | | Port of GL JS PR #5994. Fixes issue #10844, which would allow multiple symbols in a tile to share the same crossTileID as one of their duplicate parent-tile symbols. Once the symbols shared a crossTileID, they would permanently remain "duplicates" of each other, even after increasing zoom level allowed the CrossTileSymbolIndex to distinguish between them.
* [core] fix symbol flickering after data updatesAnsis Brammanis2018-01-112-28/+26
|
* [core] fix updating CrossTileSymbolIndex after bucket updateAnsis Brammanis2018-01-111-0/+2
| | | | emplace does not overwite existing entries
* [windows][core] Include what you useThiago Marcos P. Santos2018-01-081-0/+1
|
* [core] port minor collision changes from -js (#10764)Ansis Brammanis2018-01-083-42/+35
|
* Fix distant collision perspective ratios (#10794).Chris Loer2018-01-042-9/+14
| | | | | Analog of GL JS issue #5911. Add native ignore for tilejson-bounds.
* [core] Include bucket name in queryRenderedSymbols duplicate feature filterChris Loer2017-12-111-2/+2
| | | | | - Port of GL JS PR #5703 - Fixes issue #10616
* [ios,macos] Darwin implementation of a CoreText-based LocalGlyphRasterizer.Chris Loer2017-12-112-2/+6
| | | | | - Changing font weight does not currently appear to be working. - Glyph metric extraction code not working; currently unused.
* [core] Enable local glyph generation using TinySDF.Chris Loer2017-12-113-5/+66
| | | | | | | - Platform-specific LocalGlyphRasterizer is responsible for deciding which glyphs to rasterize locally and for implementing the rasterization. - Default platform implementation doesn't locally generate any glyphs -> no behavior change - Unit test uses StubLocalGlyphRasterizer, which returns a single fixed bitmap for all CJK glyphs - Rename glyph_loader.test to glyph_manager.test
* [core] don't include .cpp fileKonstantin Käfer2017-12-051-13/+13
|
* [core] Android + old libstdc++ build fixThiago Marcos P. Santos2017-11-271-1/+1
|
* [core] Symbol cross-fading.Chris Loer2017-11-172-4/+18
| | | | Hold onto tiles after they've been removed from the render tree long enough to run a fade animation on their symbols.
* [core] Add unit test for CrossTileSymbolIndexAnsis Brammanis2017-11-172-6/+4
|
* [core] Cleanup in response to review comments.Chris Loer2017-11-173-98/+110
|
* [core] Skip fade animation for placed symbols that are currently offscreen.Chris Loer2017-11-174-40/+82
| | | | | Don't mark items that are outside the collision grid range as placed. Requires new ignore because GL JS issue #5654 allows insertion of symbols outside the CollisionIndex range, and those symbols can cascade in to affect items within the viewport.
* [core] Split MapMode::Still into Static and TileAnsis Brammanis2017-11-171-3/+6
| | | | | `Tile` makes sure the symbols in the resulting tile are tileable while symbols in `Still` match rendering in `Continuous` mode.
* [core] Cleanup in response to review commentsChris Loer2017-11-173-38/+35
|
* [core] Remove dead codeChris Loer2017-11-173-371/+0
| | | | | | - CollisionTile - FrameHistory - PlacementConfig
* [core] Use floats instead of ints for Shaping.Chris Loer2017-11-172-5/+5
| | | | Brings gl-native shaping closer to gl-js.
* [core] Switch from background to foreground placementChris Loer2017-11-173-76/+48
| | | | | | | | | | | | - Background placement code now just generates static symbol buffers - Don't render GeometryTiles until their symbols are loaded. This is necessary for the CrossTileSymbolIndex to successfully prevent flicker. - SymbolInstances are transferred to SymbolBucket for use on foreground during collision detection - Symbols are sorted on foreground by sorting their index buffer but leaving vertex buffers intact (only works within one segment) - Vertical glyphs are generated at same time as horizontal glyphs. `reprojectLineLabels` chooses which one to use at render time and hides the other. - Icons are now always represented with a single collision box, even if they're placed along a line (this means their rotation alignment may be wrong, but the approach of representing them with multiple collision boxes wasn't very accurate either). - Generate vertices for new debug collision boxes and collision circles - Only add symbols within tile boundaries (reduces work, avoids double-draw) - Update symbol_projection.cpp to support line label projection calls from CollisionIndex.
* [core] Add global CollisionIndex to replace CollisionTile.Chris Loer2017-11-172-0/+399
| | | | | | | - Switches from tile to viewport coordinates - Represents line labels with circle geometries - Projects line labels at collision detection time to improve accuracy - Adapts tile-based symbol queries to viewport coordinates
* [core] Add Placement class.Chris Loer2017-11-172-0/+389
| | | | Responsible for running global collision detection/symbol placement algorithm and updating symbol opacity buffers accordingly.
* [core] Add CrossTileSymbolIndex.Chris Loer2017-11-172-0/+234
| | | | This class is responsible for tracking which symbols are "the same" between tiles at different zoom levels, so that symbol opacities (fade animations) can be copied smoothly between tiles.
* [core] Update glyph requestors _before_ requesting from file sourceBruno de Oliveira Abinader2017-10-092-8/+5
|
* [core] Don't redo placement for zoom changes at low pitch.Chris Loer2017-09-181-3/+3
| | | | | Fixes issue #9996 Port of GL-JS #5284
* Implement icon-anchor propertyLauren Budorick2017-08-282-47/+66
|
* [core] Correct x-offset introduced by vertical glyph rotationChris Loer2017-08-183-12/+21
| | | | | Fixes issue#9768. Port of GL JS PR #5100.
* [core][android][macos][ios] Implement property functions for line-join, ↵Lauren Budorick2017-07-262-15/+54
| | | | text-justify, text-anchor (#9583)
* [core] Fix issues with the std:: namespace and old compilersThiago Marcos P. Santos2017-07-261-1/+2
| | | | Specifically when building Android with GCC 4.9 (which Qt still does :-/)
* [core] fix undefined behavior for division through 0Konstantin Käfer2017-07-172-10/+17
|
* [core] Added MBGL_CONSTEXPR to satisfy GCC 4.9Bruno de Oliveira Abinader2017-07-121-5/+6
|
* [core] port pitch-label collision hackAnsis Brammanis2017-07-114-20/+50
| | | | https://github.com/mapbox/mapbox-gl-js/pull/4781/commits/81363951ed56c54f331ffc8d88e4e5079226a224
* [core] improve legibility of labels that follow linesAnsis Brammanis2017-07-113-297/+55
| | | | | | | | | | port https://github.com/mapbox/mapbox-gl-js/pull/4781 This improves legibility of labels that follow lines in pitched views. The previous approach used the limited information in the shader to calculate put the glyph in approximatelyright place. The new approach does this more accurately by doing it on the cpu where we have access to the entire line geometry.
* [core] Limit symbol re-placement on changed tile distance to pitch > 25.Chris Loer2017-07-111-1/+7
|
* [core] Extend collision feature boxes to accommodate potential pitch-scaling.Chris Loer2017-07-111-8/+49
|
* [core] Improved label pitch-scaling: approximate collision box shapes based ↵Chris Loer2017-07-113-20/+44
| | | | on tile distance from camera.
* [build] Don't use maybe-uninitialized and misleading-indentation in Clang, ↵Konstantin Käfer2017-07-111-0/+2
| | | | since they're not implemented there
* Disable misleading indentation warnings where boost is included.Aaron Muir Hamilton2017-06-161-0/+1
|
* [core] Update to shelf-pack 2.1.0John Firebaugh2017-06-131-5/+5
|
* [core] Per-tile glyph/icon atlasesJohn Firebaugh2017-06-134-46/+48
|
* [core] Per-bucket icon atlasesJohn Firebaugh2017-06-133-9/+8
|
* [core] Per-bucket glyph atlasesJohn Firebaugh2017-06-1312-373/+304
|
* [core] Simplify and fix sprite atlas coordinate calculationsJohn Firebaugh2017-05-232-9/+21
| | | | | | | | * Always return image metrics exclusive of padding * Work with integer coordinates whenever possible * Eliminate redundant SpriteAtlasElement members * Fix asymmetric re-padding in getIconQuad when pixelRatio != 1 * Add explanatory comments
* [core] Remove unnecessary optionals in PositionedIconJohn Firebaugh2017-05-233-11/+6
| | | | Lack of icon is already checked at the call site of shapeIcon; no need to check hasArea() here.
* [core] add error for non-virtual destructor deletes + add virtual dtorsKonstantin Käfer2017-05-181-0/+1
|
* [core] Remove redundant SpriteAtlasElement membersJohn Firebaugh2017-05-171-4/+4
|
* [core] Remove obsolete modular arithmetic on atlas coordinatesJohn Firebaugh2017-05-171-8/+2
| | | | We switched to 16-bit coordinates in attributes in b0cb8715ed74678b4d0f05829fa71a590e41b2f6, so there's no longer any reason to require that they are divisible by four.
* [core] Remove WorkQueueJohn Firebaugh2017-05-171-1/+0
| | | | No longer used as of 5cdf838a387cae446dba500ac49a1c5524bf7949.