Minh Nguyễn
dbd2235744
[core] Line-break ideographic text by character ( #6828 )
...
* [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
2016-11-14 14:53:21 -08:00
Konstantin Käfer
a7fa97e8a3
[core] don't run symbol placement more often than necessary
2016-11-14 10:35:15 +01:00
Konstantin Käfer
35a66eb2bd
[core] don't show OpenGL debug information on startup
2016-11-14 10:25:48 +01:00
Jesse Bounds
edf40bb6d9
[core] Return source and layer ownership ( #7014 )
...
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.
2016-11-11 14:40:04 -08:00
Ivo van Dongen
39b0bc0a40
[core] symbol layer - recalculate style on icon/text size changes
2016-11-11 20:18:16 +01:00
Tobrun
720a0256f5
Default Style Camera on Android ( #7019 )
...
* [core] - do not set camera mutated to true when calling Map::getLatLng
* [android] - correctly check if a Map is created without a camera position
2016-11-11 18:13:25 +01:00
John Firebaugh
31047b6cb5
[core] Default camera position to that specified by the style
2016-11-09 17:27:35 -08:00
John Firebaugh
7ea0457e89
[core] Ensure correct GL context in Map::onLowMemory()
2016-11-09 09:57:20 -08:00
Konstantin Käfer
1afd993184
[core] don't initialize with Duration::min() to avoid arithmetic overflows
...
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.
2016-11-09 17:55:59 +01:00
Konstantin Käfer
bcdbbbcac2
[core] don't assign clip IDs to tiles that aren't rendered
2016-11-08 18:09:58 +01:00
John Firebaugh
3b38cf48b7
[core] Require point size / line width for DrawMode constructors
2016-11-08 08:09:29 -08:00
John Firebaugh
52be5d480d
[core] Put ignore in util namespace
2016-11-08 08:09:29 -08:00
John Firebaugh
d1e2fe511e
[core] Introduce and use IndexedTuple
2016-11-08 08:09:29 -08:00
John Firebaugh
1db2ffbc1b
[core] Use gl::Program to resolve some rough edges in the GL binding types
...
* 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.
2016-11-08 08:09:29 -08:00
John Firebaugh
66bdbc3b96
[core] Introduce gl::Program template
2016-11-08 08:09:29 -08:00
John Firebaugh
36210fe4e9
[core] Make attribute binding more similar to uniform binding
2016-11-08 08:09:28 -08:00
John Firebaugh
aa08796767
[core] Separate pathway for notifying workers of new images/glyphs
2016-11-07 10:16:35 -08:00
Konstantin Käfer
1533d28314
[core] move Value class outside of Uniform to enforce explicit construction
2016-11-07 18:51:47 +01:00
Konstantin Käfer
bd3d4bc89a
[core] force explicit initialization of uniform values
...
force users to use the actual names to avoid implicit conversion accidentally targeting the wrong shader
2016-11-07 18:51:47 +01:00
Konstantin Käfer
ed72581e0c
[core] remove Uniforms::value in favor of direct construction
2016-11-07 18:51:47 +01:00
Konstantin Käfer
afd43eea3a
[core] remove gl.hpp from all headers that don't need it
2016-11-04 21:24:05 +01:00
Konstantin Käfer
7b772611d5
[core] move pixel blitting to gl::Context
2016-11-04 21:24:05 +01:00
Konstantin Käfer
29c5c13aa2
[core] move OpenGL debug information printing to core
2016-11-04 21:24:05 +01:00
Konstantin Käfer
c90a559599
[core] move framebuffer reading to gl::Context
2016-11-04 21:24:05 +01:00
Konstantin Käfer
eed16cb1bb
[core] add state tracking to pixel transfer
2016-11-04 21:24:05 +01:00
Konstantin Käfer
008a83b915
[core] add state tracking to pixel store packing alignment
2016-11-04 21:24:05 +01:00
Mike Morris
39e9b30ebc
[core] add more detail to invalid metrics error in createSpriteImage
2016-11-04 14:47:34 -04:00
Bruno de Oliveira Abinader
3f5972cba0
[core] Fix render tile ordering when querying sources
2016-11-04 18:43:08 +02:00
Bruno de Oliveira Abinader
549929cefd
[core] Set bucket segments to initialize empty
2016-11-02 18:12:28 +02:00
Konstantin Käfer
e4e9b3a2f0
[core] convert FrameHistory to use managed texture handling
2016-11-01 18:41:52 +01:00
Konstantin Käfer
ed155460d3
[core] convert LineAtlas to use managed texture handling
2016-11-01 18:41:52 +01:00
Konstantin Käfer
7b50cac49f
[core] convert GlyphAtlas to use managed texture handling
2016-11-01 18:41:52 +01:00
Konstantin Käfer
358701f475
[core] add ability to upload alpha-only textures + images
2016-11-01 18:41:52 +01:00
Konstantin Käfer
9e3839781f
[core] convert SpriteAtlas to use managed texture handling
2016-11-01 18:41:52 +01:00
Bruno de Oliveira Abinader
e2981c890e
Revert "[core] Don't use GL_LINEAR if panning w/o rotation nor pitch"
...
This reverts commit a70bfd8910 .
2016-11-01 17:44:34 +02:00
Konstantin Käfer
bb6e39a1cf
[core] fix depth/stencil visualization
...
The previous code didn't set the packing correctly, which meant that we had a buffer overrun in the debug code.
2016-11-01 10:46:04 +01:00
Konstantin Käfer
f7801e5d82
[core] correctly set the framebuffer size on retina screens
...
Also asserts in Debug mode that the internal state and the OpenGL state are identical
2016-11-01 10:46:04 +01:00
Bruno de Oliveira Abinader
7b3e24d74a
[core] Cleanup TransformState::getIntegerZoom
2016-10-31 16:53:07 +02:00
Bruno de Oliveira Abinader
384f1a1960
[core] Use numeric_limits<>::max() for checking element groups
2016-10-31 16:53:07 +02:00
Bruno de Oliveira Abinader
38f536049a
[core] Moved util::log2 to its own header
...
- Added util::{MIN,MAX}_ZOOM_F to avoid consecutive conversions from
double to float
- Move util::log2 to its own header (part of mbgl/math)
2016-10-31 16:53:07 +02:00
Bruno de Oliveira Abinader
a70bfd8910
[core] Don't use GL_LINEAR if panning w/o rotation nor pitch
2016-10-31 16:53:07 +02:00
Bruno de Oliveira Abinader
f03afdee21
[core] Use overscaledZ for scale in collision box shader
2016-10-31 16:53:07 +02:00
John Firebaugh
39d5cb3250
[core] Use VAOs internally
2016-10-28 17:14:07 -07:00
John Firebaugh
0e57d10d77
[core] Modern C++ bindings for OpenGL
2016-10-28 17:14:01 -07:00
John Firebaugh
a4c82b8a3b
[core] operator bool() must always be explicit
...
Otherwise, it can participate in unexpected conversions. Case in point: GlyphSet::insert was comparing the result of GlyphMetrics::operator bool() where it wanted to use operator==.
2016-10-28 17:10:45 -07:00
John Firebaugh
ee3235708f
[core] Methods don't need to be Painter instance methods
2016-10-28 17:09:51 -07:00
Konstantin Käfer
62b56b799a
[core] change std::array<uint16_t, 2> to mbgl::Size
2016-10-27 18:30:58 -07:00
Konstantin Käfer
ef8017198c
[core] remove tiles for disabled sources
...
When no layer of a source is visible anymore, we are now evicting tiles that are still stored in that source and move them to the cache.
2016-10-27 18:14:53 -07:00
Konstantin Käfer
91272992f3
[core] don't load tiles from sources that aren't used
2016-10-27 16:15:36 -07:00
Konstantin Käfer
a4d259c33f
[core] move gl::Context to Backend and refactor View
2016-10-25 13:52:36 -07:00