diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2014-01-16 16:52:14 +0100 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2014-01-16 16:52:14 +0100 |
commit | 7dcbb3f38ad338a8147595f55311c289f883a62a (patch) | |
tree | 6a6b13d3e9fca75614ed0e6ce06dfa10b8ad297a /src | |
parent | f9b9e9d05800afd3867eb489bce8b040768bd0a9 (diff) | |
download | qtlocation-mapboxgl-7dcbb3f38ad338a8147595f55311c289f883a62a.tar.gz |
allow toggling debug mode with tab
Diffstat (limited to 'src')
-rw-r--r-- | src/map/map.cpp | 2 | ||||
-rw-r--r-- | src/renderer/painter.cpp | 47 |
2 files changed, 26 insertions, 23 deletions
diff --git a/src/map/map.cpp b/src/map/map.cpp index 6bbe7dce5e..f550d90967 100644 --- a/src/map/map.cpp +++ b/src/map/map.cpp @@ -13,7 +13,7 @@ using namespace llmr; map::map(class settings *settings) : settings(settings), transform(new class transform()), - painter(new class painter(transform)), + painter(new class painter(transform, settings)), min_zoom(0), max_zoom(14) { } diff --git a/src/renderer/painter.cpp b/src/renderer/painter.cpp index 3fdddf4e78..8e7ba62858 100644 --- a/src/renderer/painter.cpp +++ b/src/renderer/painter.cpp @@ -6,6 +6,7 @@ #include <llmr/map/transform.hpp> #include <llmr/map/tile.hpp> #include <llmr/platform/gl.hpp> +#include <llmr/map/settings.hpp> using namespace llmr; @@ -26,8 +27,9 @@ GLshort tile_border_vertices[] = { 0, 0 }; -painter::painter(class transform *transform) +painter::painter(class transform *transform, class settings *settings) : transform(transform), + settings(settings), currentShader(NULL), fillShader(NULL), lineShader(NULL) { @@ -158,27 +160,28 @@ void painter::render(tile::ptr tile) { - - // draw tile outline - switchShader(lineShader); - glUniformMatrix4fv(lineShader->u_matrix, 1, GL_FALSE, matrix); - glBindBuffer(GL_ARRAY_BUFFER, tile_border_buffer); - glVertexAttribPointer(lineShader->a_pos, 2, GL_SHORT, false, 0, BUFFER_OFFSET(0)); - glUniform4f(lineShader->u_color, 1.0f, 1.0f, 1.0f, 1.0f); - glLineWidth(4.0f); - glDrawArrays(GL_LINE_STRIP, 0, sizeof(tile_border_vertices)); - - // draw debug info - switchShader(lineShader); - glUniformMatrix4fv(lineShader->u_matrix, 1, GL_FALSE, matrix); - tile->debugFontVertex.bind(); - glVertexAttribPointer(lineShader->a_pos, 2, GL_SHORT, GL_FALSE, 0, BUFFER_OFFSET(0)); - glUniform4f(lineShader->u_color, 1.0f, 1.0f, 1.0f, 1.0f); - glLineWidth(4.0f); - glDrawArrays(GL_LINES, 0, tile->debugFontVertex.length()); - glUniform4f(lineShader->u_color, 0.0f, 0.0f, 0.0f, 1.0f); - glLineWidth(2.0f); - glDrawArrays(GL_LINES, 0, tile->debugFontVertex.length()); + if (settings->debug) { + // draw tile outline + switchShader(lineShader); + glUniformMatrix4fv(lineShader->u_matrix, 1, GL_FALSE, matrix); + glBindBuffer(GL_ARRAY_BUFFER, tile_border_buffer); + glVertexAttribPointer(lineShader->a_pos, 2, GL_SHORT, false, 0, BUFFER_OFFSET(0)); + glUniform4f(lineShader->u_color, 1.0f, 1.0f, 1.0f, 1.0f); + glLineWidth(4.0f); + glDrawArrays(GL_LINE_STRIP, 0, sizeof(tile_border_vertices)); + + // draw debug info + switchShader(lineShader); + glUniformMatrix4fv(lineShader->u_matrix, 1, GL_FALSE, matrix); + tile->debugFontVertex.bind(); + glVertexAttribPointer(lineShader->a_pos, 2, GL_SHORT, GL_FALSE, 0, BUFFER_OFFSET(0)); + glUniform4f(lineShader->u_color, 1.0f, 1.0f, 1.0f, 1.0f); + glLineWidth(4.0f); + glDrawArrays(GL_LINES, 0, tile->debugFontVertex.length()); + glUniform4f(lineShader->u_color, 0.0f, 0.0f, 0.0f, 1.0f); + glLineWidth(2.0f); + glDrawArrays(GL_LINES, 0, tile->debugFontVertex.length()); + } } void painter::viewport() { |