From d4ece6eb0b191120c3e4e08ae39cc6b3c252210a Mon Sep 17 00:00:00 2001 From: Bruno de Oliveira Abinader Date: Fri, 16 Nov 2018 00:49:51 +0200 Subject: expression-glfw-demo-test --- platform/glfw/glfw_view.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/platform/glfw/glfw_view.cpp b/platform/glfw/glfw_view.cpp index 9179113139..d2443b32a5 100644 --- a/platform/glfw/glfw_view.cpp +++ b/platform/glfw/glfw_view.cpp @@ -8,6 +8,12 @@ #include #include #include +#include +#include +#include +#include +#include +#include #include #include #include @@ -276,6 +282,30 @@ void GLFWView::onKey(GLFWwindow *window, int key, int /*scancode*/, int action, }; view->animateRouteCallback(view->map); } break; + case GLFW_KEY_T: { + auto source = std::make_unique("GeoJSONSource"); + source->setGeoJSON(mbgl::Geometry { mbgl::Point{ 0, 0 } }); + view->map->getStyle().addSource(std::move(source)); + + auto layer = std::make_unique("SymbolLayer", "GeoJSONSource"); + std::vector sections; + /// XXX 1 + sections.emplace_back(mbgl::style::conversion::convertTokenStringToExpression(std::string("foo")), mbgl::nullopt, mbgl::nullopt); + /// XXX 2 + //sections.emplace_back(mbgl::style::expression::dsl::literal("foo"), mbgl::nullopt, mbgl::nullopt); + /// XXX 3 + //std::vector> expressions; + //expressions.emplace_back(mbgl::style::expression::dsl::literal("foo")); + //sections.emplace_back(mbgl::style::expression::dsl::concat(std::move(expressions)), mbgl::nullopt, mbgl::nullopt); + /// WORKS + //sections.emplace_back(mbgl::style::expression::dsl::get("foo"), mbgl::nullopt, mbgl::nullopt); + + std::unique_ptr expression = std::make_unique(std::move(sections)); + mbgl::style::PropertyValue formatValue {std::move(expression)}; + layer->setTextField(std::move(formatValue)); + + view->map->getStyle().addLayer(std::move(layer)); + } break; case GLFW_KEY_E: view->toggle3DExtrusions(!view->show3DExtrusions); break; -- cgit v1.2.1