remove Settings object from Painter
This commit is contained in:
@@ -20,7 +20,6 @@
|
||||
namespace llmr {
|
||||
|
||||
class Transform;
|
||||
class Settings;
|
||||
class Style;
|
||||
class Tile;
|
||||
|
||||
@@ -32,7 +31,7 @@ class RasterBucket;
|
||||
|
||||
class Painter : private util::noncopyable {
|
||||
public:
|
||||
Painter(Transform& transform, Settings& settings, Style& style, GlyphAtlas& glyphAtlas);
|
||||
Painter(Transform& transform, Style& style, GlyphAtlas& glyphAtlas);
|
||||
|
||||
void setup();
|
||||
void clear();
|
||||
@@ -47,6 +46,9 @@ public:
|
||||
|
||||
void resize();
|
||||
|
||||
// Changes whether debug information is drawn onto the map
|
||||
void setDebug(bool enabled);
|
||||
|
||||
void prepareClippingMask();
|
||||
void drawClippingMask(const mat4& matrix, uint8_t clip_id);
|
||||
void finishClippingMask();
|
||||
@@ -70,12 +72,13 @@ public:
|
||||
|
||||
private:
|
||||
Transform& transform;
|
||||
Settings& settings;
|
||||
Style& style;
|
||||
GlyphAtlas& glyphAtlas;
|
||||
|
||||
FrameHistory frameHistory;
|
||||
|
||||
bool debug = false;
|
||||
|
||||
uint32_t gl_program = 0;
|
||||
float gl_lineWidth = 0;
|
||||
bool gl_depthMask = true;
|
||||
|
||||
@@ -17,7 +17,7 @@ Map::Map(Settings& settings)
|
||||
texturepool(),
|
||||
style(),
|
||||
glyphAtlas(1024, 1024),
|
||||
painter(transform, settings, style, glyphAtlas) {
|
||||
painter(transform, style, glyphAtlas) {
|
||||
}
|
||||
|
||||
Map::~Map() {
|
||||
@@ -65,6 +65,7 @@ void Map::loadSettings() {
|
||||
transform.setAngle(settings.angle);
|
||||
transform.setScale(settings.scale);
|
||||
transform.setLonLat(settings.longitude, settings.latitude);
|
||||
painter.setDebug(settings.debug);
|
||||
update();
|
||||
}
|
||||
|
||||
@@ -256,6 +257,7 @@ void Map::resetZoom() {
|
||||
|
||||
void Map::toggleDebug() {
|
||||
settings.debug = !settings.debug;
|
||||
painter.setDebug(settings.debug);
|
||||
update();
|
||||
|
||||
settings.persist();
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
#include <llmr/renderer/raster_bucket.hpp>
|
||||
|
||||
#include <llmr/map/transform.hpp>
|
||||
#include <llmr/map/settings.hpp>
|
||||
#include <llmr/geometry/debug_font_buffer.hpp>
|
||||
#include <llmr/platform/gl.hpp>
|
||||
#include <llmr/style/style.hpp>
|
||||
@@ -24,9 +23,8 @@ using namespace llmr;
|
||||
|
||||
#define BUFFER_OFFSET(i) ((char *)nullptr + (i))
|
||||
|
||||
Painter::Painter(Transform& transform, Settings& settings, Style& style, GlyphAtlas& glyphAtlas)
|
||||
Painter::Painter(Transform& transform, Style& style, GlyphAtlas& glyphAtlas)
|
||||
: transform(transform),
|
||||
settings(settings),
|
||||
style(style),
|
||||
glyphAtlas(glyphAtlas) {
|
||||
}
|
||||
@@ -81,6 +79,10 @@ void Painter::resize() {
|
||||
glViewport(0, 0, transform.getFramebufferWidth(), transform.getFramebufferHeight());
|
||||
}
|
||||
|
||||
void Painter::setDebug(bool enabled) {
|
||||
debug = enabled;
|
||||
}
|
||||
|
||||
void Painter::useProgram(uint32_t program) {
|
||||
if (gl_program != program) {
|
||||
glUseProgram(program);
|
||||
@@ -178,7 +180,7 @@ void Painter::render(const Tile& tile) {
|
||||
|
||||
renderLayers(tile.data, style.layers);
|
||||
|
||||
if (settings.debug) {
|
||||
if (debug) {
|
||||
renderDebug(tile.data);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user