From 414ccaaf93fff1096086cd5c11acccc5cf5da7c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20Ka=CC=88fer?= Date: Wed, 29 Oct 2014 16:00:09 -0400 Subject: use unique_ptr for automatic deallocation --- include/mbgl/util/image.hpp | 8 +++----- src/util/image.cpp | 20 ++++++++++---------- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/include/mbgl/util/image.hpp b/include/mbgl/util/image.hpp index dc8f6a8150..0bc5af21d2 100644 --- a/include/mbgl/util/image.hpp +++ b/include/mbgl/util/image.hpp @@ -2,8 +2,7 @@ #define MBGL_UTIL_IMAGE #include -#include -#include +#include namespace mbgl { namespace util { @@ -14,9 +13,8 @@ std::string compress_png(int width, int height, void *rgba, bool flip = false); class Image { public: Image(const std::string &img, bool flip = false); - ~Image(); - inline const char *getData() const { return img; } + inline const char *getData() const { return img.get(); } inline uint32_t getWidth() const { return width; } inline uint32_t getHeight() const { return height; } @@ -25,7 +23,7 @@ private: uint32_t width = 0, height = 0; // the raw image data - char *img = nullptr; + std::unique_ptr img; }; diff --git a/src/util/image.cpp b/src/util/image.cpp index ffa65bf0ba..bd5d7b8913 100644 --- a/src/util/image.cpp +++ b/src/util/image.cpp @@ -1,12 +1,17 @@ #include +#include #include #include #include +#include -std::string mbgl::util::compress_png(int width, int height, void *rgba, bool flip) { +namespace mbgl { +namespace util { + +std::string compress_png(int width, int height, void *rgba, bool flip) { png_voidp error_ptr = 0; png_structp png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, error_ptr, NULL, NULL); if (!png_ptr) { @@ -54,9 +59,6 @@ std::string mbgl::util::compress_png(int width, int height, void *rgba, bool fli } -using namespace mbgl::util; - - struct Buffer { Buffer(const std::string& data_) : data(data_.data()), length(data_.size()) {} @@ -139,9 +141,9 @@ Image::Image(const std::string &data, bool flip) { png_size_t rowbytes = png_get_rowbytes(png, info); assert(width * 4 == rowbytes); - img = static_cast(::operator new(width * height * 4)); + img = ::std::unique_ptr(new char[width * height * 4]()); - char *surface = img; + char *surface = img.get(); assert(surface); struct ptrs { @@ -163,14 +165,12 @@ Image::Image(const std::string &data, bool flip) { fprintf(stderr, "loading PNG failed: %s\n", e.what()); png_destroy_read_struct(&png, &info, nullptr); if (img) { - ::operator delete(img); - img = nullptr; + img.reset(); } width = 0; height = 0; } } -Image::~Image() { - ::operator delete(img),img = nullptr; +} } -- cgit v1.2.1 From 7a13db9a863c9be58709e941f44eb2c370276e2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20Ka=CC=88fer?= Date: Wed, 29 Oct 2014 16:09:42 -0400 Subject: do not crash for missing images --- include/mbgl/util/image.hpp | 2 +- src/geometry/sprite_atlas.cpp | 1 + src/map/sprite.cpp | 3 +++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/include/mbgl/util/image.hpp b/include/mbgl/util/image.hpp index 0bc5af21d2..cb7db6d6fc 100644 --- a/include/mbgl/util/image.hpp +++ b/include/mbgl/util/image.hpp @@ -17,6 +17,7 @@ public: inline const char *getData() const { return img.get(); } inline uint32_t getWidth() const { return width; } inline uint32_t getHeight() const { return height; } + inline operator bool() const { return img && width && height; } private: // loaded image dimensions @@ -24,7 +25,6 @@ private: // the raw image data std::unique_ptr img; - }; diff --git a/src/geometry/sprite_atlas.cpp b/src/geometry/sprite_atlas.cpp index 5271122919..e5bad1eada 100644 --- a/src/geometry/sprite_atlas.cpp +++ b/src/geometry/sprite_atlas.cpp @@ -158,6 +158,7 @@ void SpriteAtlas::allocate() { void SpriteAtlas::copy(const Rect& dst, const SpritePosition& src) { if (!sprite->raster) return; const uint32_t *src_img = reinterpret_cast(sprite->raster->getData()); + if (!src_img) return; allocate(); uint32_t *dst_img = reinterpret_cast(data); diff --git a/src/map/sprite.cpp b/src/map/sprite.cpp index 876586e4b0..ad1a8e770b 100644 --- a/src/map/sprite.cpp +++ b/src/map/sprite.cpp @@ -102,6 +102,9 @@ bool Sprite::isLoaded() const { void Sprite::parseImage() { raster = std::make_unique(image); + if (!*raster) { + raster.reset(); + } image.clear(); loadedImage = true; } -- cgit v1.2.1 From e3bc69b7e77aa6771c8db3695f12548447e1de51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20Ka=CC=88fer?= Date: Wed, 29 Oct 2014 19:58:34 -0400 Subject: use CoreImage for decoding/encoding images on osx/ios --- configure | 15 +- gyp/mbgl-core.gypi | 1 - gyp/mbgl-ios.gypi | 9 +- gyp/mbgl-linux.gypi | 3 + gyp/mbgl-osx.gypi | 9 +- include/mbgl/platform/default/headless_view.hpp | 2 +- include/mbgl/util/image.hpp | 4 +- platform/darwin/image.mm | 125 +++++++++++++++++ platform/default/headless_view.cpp | 4 +- platform/default/image.cpp | 177 ++++++++++++++++++++++++ src/geometry/sprite_atlas.cpp | 13 +- src/util/image.cpp | 176 ----------------------- test/headless.cpp | 14 +- 13 files changed, 352 insertions(+), 200 deletions(-) create mode 100644 platform/darwin/image.mm create mode 100644 platform/default/image.cpp delete mode 100644 src/util/image.cpp diff --git a/configure b/configure index afb94d4795..daf09eaeee 100755 --- a/configure +++ b/configure @@ -6,6 +6,10 @@ shopt -s expand_aliases CONFIG_FILE=${1:-config.gypi} +if [ `uname -s` = 'Darwin' ]; then + MASON_PLATFORM=${MASON_PLATFORM:-osx} +fi + function finish { >&2 echo -en "\033[0m"; } @@ -34,11 +38,16 @@ if [[ ! -d ~/.mason ]]; then fi alias mason='~/.mason/mason' - -case $MASON_PLATFORM in +case ${MASON_PLATFORM} in 'ios') SQLITE_VERSION=system - LIBPNG_VERSION=1.6.13 + LIBUV_VERSION=0.10.28 + ZLIB_VERSION=system + BOOST_VERSION=system + ;; + 'osx') + GLFW_VERSION=a21f2377 + SQLITE_VERSION=system LIBUV_VERSION=0.10.28 ZLIB_VERSION=system BOOST_VERSION=system diff --git a/gyp/mbgl-core.gypi b/gyp/mbgl-core.gypi index e49697388c..46ff762742 100644 --- a/gyp/mbgl-core.gypi +++ b/gyp/mbgl-core.gypi @@ -10,7 +10,6 @@ ], 'variables': { 'cflags_cc': [ - '<@(png_cflags)', '<@(uv_cflags)', '<@(sqlite3_cflags)', '<@(zlib_cflags)', diff --git a/gyp/mbgl-ios.gypi b/gyp/mbgl-ios.gypi index 755b3cc483..5566ca3a32 100644 --- a/gyp/mbgl-ios.gypi +++ b/gyp/mbgl-ios.gypi @@ -34,6 +34,7 @@ '../platform/darwin/log_nslog.mm', '../platform/darwin/string_nsstring.mm', '../platform/darwin/http_request_baton_cocoa.mm', + '../platform/darwin/image.mm', ], 'include_dirs': [ '../include', @@ -44,7 +45,13 @@ 'direct_dependent_settings': { 'include_dirs': [ '../include', - ] + ], + 'xcode_settings': { + 'OTHER_LDFLAGS': [ + '-framework ImageIO', + '-framework MobileCoreServices', + ], + }, }, }, ], diff --git a/gyp/mbgl-linux.gypi b/gyp/mbgl-linux.gypi index 337e98039e..2b166ea434 100644 --- a/gyp/mbgl-linux.gypi +++ b/gyp/mbgl-linux.gypi @@ -7,6 +7,7 @@ 'hard_dependency': 1, 'variables': { 'cflags_cc': [ + '<@(png_cflags)', '<@(uv_cflags)', '<@(curl_cflags)', ], @@ -14,6 +15,7 @@ '<@(uv_cflags)', ], 'ldflags': [ + '<@(png_ldflags)', '<@(uv_ldflags)', '<@(curl_ldflags)', ], @@ -23,6 +25,7 @@ '../platform/default/log_stderr.cpp', '../platform/default/string_stdlib.cpp', '../platform/default/http_request_baton_curl.cpp', + '../platform/default/image.cpp', ], 'include_dirs': [ '../include', diff --git a/gyp/mbgl-osx.gypi b/gyp/mbgl-osx.gypi index bee0325498..76c22f5ad6 100644 --- a/gyp/mbgl-osx.gypi +++ b/gyp/mbgl-osx.gypi @@ -10,6 +10,7 @@ '../platform/darwin/log_nslog.mm', '../platform/darwin/string_nsstring.mm', '../platform/darwin/http_request_baton_cocoa.mm', + '../platform/darwin/image.mm', ], 'include_dirs': [ '../include', @@ -20,7 +21,13 @@ 'direct_dependent_settings': { 'include_dirs': [ '../include', - ] + ], + 'xcode_settings': { + 'OTHER_LDFLAGS': [ + '-framework ImageIO', + '-framework CoreServices', + ], + }, }, }, ], diff --git a/include/mbgl/platform/default/headless_view.hpp b/include/mbgl/platform/default/headless_view.hpp index c0baddb884..f140338349 100644 --- a/include/mbgl/platform/default/headless_view.hpp +++ b/include/mbgl/platform/default/headless_view.hpp @@ -27,7 +27,7 @@ public: void createContext(); void resize(uint16_t width, uint16_t height, float pixelRatio); - const std::unique_ptr readPixels(); + std::unique_ptr readPixels(); void notify(); void notify_map_change(MapChange change, timestamp delay = 0); diff --git a/include/mbgl/util/image.hpp b/include/mbgl/util/image.hpp index cb7db6d6fc..b2f70e1442 100644 --- a/include/mbgl/util/image.hpp +++ b/include/mbgl/util/image.hpp @@ -7,12 +7,12 @@ namespace mbgl { namespace util { -std::string compress_png(int width, int height, void *rgba, bool flip = false); +std::string compress_png(int width, int height, void *rgba); class Image { public: - Image(const std::string &img, bool flip = false); + Image(const std::string &img); inline const char *getData() const { return img.get(); } inline uint32_t getWidth() const { return width; } diff --git a/platform/darwin/image.mm b/platform/darwin/image.mm new file mode 100644 index 0000000000..50c871533d --- /dev/null +++ b/platform/darwin/image.mm @@ -0,0 +1,125 @@ +#include + +#import + +#if TARGET_OS_IPHONE +#import +#else +#import +#endif + +namespace mbgl { +namespace util { + +std::string compress_png(int width, int height, void *rgba) { + CGDataProviderRef provider = CGDataProviderCreateWithData(NULL, rgba, width * height * 4, NULL); + if (!provider) { + return ""; + } + + CGColorSpaceRef color_space = CGColorSpaceCreateDeviceRGB(); + if (!color_space) { + CGDataProviderRelease(provider); + return ""; + } + + CGImageRef image = CGImageCreate(width, height, 8, 32, 4 * width, color_space, + kCGBitmapByteOrderDefault | kCGImageAlphaLast, provider, NULL, false, + kCGRenderingIntentDefault); + if (!image) { + CGColorSpaceRelease(color_space); + CGDataProviderRelease(provider); + return ""; + } + + CFMutableDataRef data = CFDataCreateMutable(kCFAllocatorDefault, 0); + if (!data) { + CGImageRelease(image); + CGColorSpaceRelease(color_space); + CGDataProviderRelease(provider); + return ""; + } + + CGImageDestinationRef image_destination = CGImageDestinationCreateWithData(data, kUTTypePNG, 1, NULL); + if (!image_destination) { + CFRelease(data); + CGImageRelease(image); + CGColorSpaceRelease(color_space); + CGDataProviderRelease(provider); + return ""; + } + + CGImageDestinationAddImage(image_destination, image, NULL); + CGImageDestinationFinalize(image_destination); + + const std::string result { + reinterpret_cast(CFDataGetBytePtr(data)), + static_cast(CFDataGetLength(data)) + }; + + CFRelease(image_destination); + CFRelease(data); + CGImageRelease(image); + CGColorSpaceRelease(color_space); + CGDataProviderRelease(provider); + + return result; +} + +Image::Image(const std::string &source_data) { + CFDataRef data = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault, reinterpret_cast(source_data.data()), source_data.size(), kCFAllocatorNull); + if (!data) { + return; + } + + CGImageSourceRef image_source = CGImageSourceCreateWithData(data, NULL); + if (!image_source) { + CFRelease(data); + return; + } + + CGImageRef image = CGImageSourceCreateImageAtIndex(image_source, 0, NULL); + if (!image) { + CFRelease(image_source); + CFRelease(data); + return; + } + + CGColorSpaceRef color_space = CGColorSpaceCreateDeviceRGB(); + if (!color_space) { + CGImageRelease(image); + CFRelease(image_source); + CFRelease(data); + return; + } + + width = CGImageGetWidth(image); + height = CGImageGetHeight(image); + CGRect rect = {{ 0, 0 }, { static_cast(width), static_cast(height) }}; + + img = ::std::unique_ptr(new char[width * height * 4]()); + CGContextRef context = CGBitmapContextCreate(img.get(), width, height, 8, width * 4, + color_space, kCGImageAlphaPremultipliedLast); + if (!context) { + CGColorSpaceRelease(color_space); + CGImageRelease(image); + CFRelease(image_source); + CFRelease(data); + width = 0; + height = 0; + img.release(); + return; + } + + CGContextSetBlendMode(context, kCGBlendModeCopy); + CGContextDrawImage(context, rect, image); + + CGContextRelease(context); + CGColorSpaceRelease(color_space); + CGImageRelease(image); + CFRelease(image_source); + CFRelease(data); +} + +} +} \ No newline at end of file diff --git a/platform/default/headless_view.cpp b/platform/default/headless_view.cpp index ec5c4aabec..71096beba0 100644 --- a/platform/default/headless_view.cpp +++ b/platform/default/headless_view.cpp @@ -181,11 +181,11 @@ void HeadlessView::resize(uint16_t width, uint16_t height, float pixelRatio) { make_inactive(); } -const std::unique_ptr HeadlessView::readPixels() { +std::unique_ptr HeadlessView::readPixels() { const unsigned int w = width_ * pixelRatio_; const unsigned int h = height_ * pixelRatio_; - std::unique_ptr pixels(new uint32_t[w * h]); + auto pixels = std::unique_ptr(new uint32_t[w * h]); make_active(); glReadPixels(0, 0, width_, height_, GL_RGBA, GL_UNSIGNED_BYTE, pixels.get()); diff --git a/platform/default/image.cpp b/platform/default/image.cpp new file mode 100644 index 0000000000..5b1afec7aa --- /dev/null +++ b/platform/default/image.cpp @@ -0,0 +1,177 @@ +#include + +#include + +#include +#include +#include + + +namespace mbgl { +namespace util { + +std::string compress_png(int width, int height, void *rgba) { + png_voidp error_ptr = 0; + png_structp png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, error_ptr, NULL, NULL); + if (!png_ptr) { + fprintf(stderr, "Couldn't create png_ptr\n"); + return ""; + } + + png_infop info_ptr = png_create_info_struct(png_ptr); + if (!png_ptr) { + png_destroy_write_struct(&png_ptr, (png_infopp)0); + fprintf(stderr, "Couldn't create info_ptr\n"); + return ""; + } + + png_set_IHDR(png_ptr, info_ptr, width, height, 8, PNG_COLOR_TYPE_RGB_ALPHA, PNG_INTERLACE_NONE, + PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT); + + jmp_buf *jmp_context = (jmp_buf *)png_get_error_ptr(png_ptr); + if (jmp_context) { + png_destroy_write_struct(&png_ptr, &info_ptr); + return ""; + } + + std::string result; + png_set_write_fn(png_ptr, &result, [](png_structp png_ptr_, png_bytep data, png_size_t length) { + std::string *out = static_cast(png_get_io_ptr(png_ptr_)); + out->append(reinterpret_cast(data), length); + }, NULL); + + struct ptrs { + ptrs(size_t count) : rows(new png_bytep[count]) {} + ~ptrs() { delete[] rows; } + png_bytep *rows = nullptr; + } pointers(height); + + for (int i = 0; i < height; i++) { + pointers.rows[i] = (png_bytep)((png_bytep)rgba + width * 4 * i); + } + + png_set_rows(png_ptr, info_ptr, pointers.rows); + png_write_png(png_ptr, info_ptr, PNG_TRANSFORM_IDENTITY, NULL); + png_destroy_write_struct(&png_ptr, &info_ptr); + + return result; +} + + +struct Buffer { + Buffer(const std::string& data_) + : data(data_.data()), length(data_.size()) {} + const char *const data = 0; + const size_t length = 0; + size_t pos = 0; +}; + +void readCallback(png_structp png, png_bytep data, png_size_t length) { + Buffer *reader = static_cast(png_get_io_ptr(png)); + + // Read `length` bytes into `data`. + if (reader->pos + length > reader->length) { + png_error(png, "Read Error"); + } else { + memcpy(data, reader->data + reader->pos, length); + reader->pos += length; + } +} + +void errorHandler(png_structp, png_const_charp error_msg) { + throw std::runtime_error(error_msg); +} + +void warningHandler(png_structp, png_const_charp error_msg) { + fprintf(stderr, "PNG: %s\n", error_msg); +} + +Image::Image(const std::string &data) { + Buffer buffer(data); + + if (buffer.length < 8 || !png_check_sig((const png_bytep)buffer.data, 8)) { + fprintf(stderr, "image is not a valid PNG image\n"); + return; + } + + png_structp png = png_create_read_struct(PNG_LIBPNG_VER_STRING, nullptr, errorHandler, warningHandler); + assert(png); + + png_infop info = png_create_info_struct(png); + assert(info); + + int depth, color, interlace; + + try { + png_set_read_fn(png, (png_voidp)&buffer, readCallback); + png_read_info(png, info); + png_get_IHDR(png, info, (png_uint_32*)&width, (png_uint_32*)&height, &depth, &color, &interlace, nullptr, nullptr); + bool alpha = (color & PNG_COLOR_MASK_ALPHA) || png_get_valid(png, info, PNG_INFO_tRNS); + + // From http://trac.mapnik.org/browser/trunk/src/png_reader.cpp + if (color == PNG_COLOR_TYPE_PALETTE) + png_set_expand(png); + if (color == PNG_COLOR_TYPE_GRAY) + png_set_expand(png); + if (png_get_valid(png, info, PNG_INFO_tRNS)) + png_set_expand(png); + if (depth == 16) + png_set_strip_16(png); + if (depth < 8) + png_set_packing(png); + if (color == PNG_COLOR_TYPE_GRAY || + color == PNG_COLOR_TYPE_GRAY_ALPHA) + png_set_gray_to_rgb(png); + + if (interlace == PNG_INTERLACE_ADAM7) + png_set_interlace_handling(png); + + // Always add an alpha channel. + if (!alpha) { + png_set_add_alpha(png, 0xFF, PNG_FILLER_AFTER); + } + + double gamma; + if (png_get_gAMA(png, info, &gamma)) + png_set_gamma(png, 2.2, gamma); + + png_set_alpha_mode(png, PNG_ALPHA_PREMULTIPLIED, 2.2); + + png_read_update_info(png, info); + + png_size_t rowbytes = png_get_rowbytes(png, info); + assert(width * 4 == rowbytes); + + img = ::std::unique_ptr(new char[width * height * 4]()); + + char *surface = img.get(); + assert(surface); + + struct ptrs { + ptrs(size_t count) : rows(new png_bytep[count]) {} + ~ptrs() { delete[] rows; } + png_bytep *rows = nullptr; + } pointers(height); + for (unsigned i = 0; i < height; ++i) { + pointers.rows[i] = (png_bytep)(surface + (i * rowbytes)); + } + + // Read image data + png_read_image(png, pointers.rows); + + png_read_end(png, nullptr); + + png_destroy_read_struct(&png, &info, nullptr); + } catch (std::exception& e) { + fprintf(stderr, "loading PNG failed: %s\n", e.what()); + png_destroy_read_struct(&png, &info, nullptr); + if (img) { + img.reset(); + } + width = 0; + height = 0; + } +} + +} +} diff --git a/src/geometry/sprite_atlas.cpp b/src/geometry/sprite_atlas.cpp index e5bad1eada..d7ef1e789b 100644 --- a/src/geometry/sprite_atlas.cpp +++ b/src/geometry/sprite_atlas.cpp @@ -72,18 +72,7 @@ void copy_bitmap(const uint32_t *src, const int src_stride, const int src_x, con dst += dst_y * dst_stride + dst_x; for (int y = 0; y < height; y++, src += src_stride, dst += dst_stride) { for (int x = 0; x < width; x++) { - const uint8_t *s = reinterpret_cast(src + x); - uint8_t *d = reinterpret_cast(dst + x); - - // Premultiply the bitmap. - // Note: We don't need to clamp the component values to 0..255, since - // the source value is already 0..255 and the operation means they will - // stay within the range of 0..255 and won't overflow. - const uint8_t a = s[3]; - d[0] = s[0] * a / 255; - d[1] = s[1] * a / 255; - d[2] = s[2] * a / 255; - d[3] = a; + dst[x] = src[x]; } } } diff --git a/src/util/image.cpp b/src/util/image.cpp deleted file mode 100644 index bd5d7b8913..0000000000 --- a/src/util/image.cpp +++ /dev/null @@ -1,176 +0,0 @@ -#include -#include - -#include - -#include -#include -#include - - -namespace mbgl { -namespace util { - -std::string compress_png(int width, int height, void *rgba, bool flip) { - png_voidp error_ptr = 0; - png_structp png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, error_ptr, NULL, NULL); - if (!png_ptr) { - fprintf(stderr, "Couldn't create png_ptr\n"); - return ""; - } - - png_infop info_ptr = png_create_info_struct(png_ptr); - if (!png_ptr) { - png_destroy_write_struct(&png_ptr, (png_infopp)0); - fprintf(stderr, "Couldn't create info_ptr\n"); - return ""; - } - - png_set_IHDR(png_ptr, info_ptr, width, height, 8, PNG_COLOR_TYPE_RGB_ALPHA, PNG_INTERLACE_NONE, - PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT); - - jmp_buf *jmp_context = (jmp_buf *)png_get_error_ptr(png_ptr); - if (jmp_context) { - png_destroy_write_struct(&png_ptr, &info_ptr); - return ""; - } - - std::string result; - png_set_write_fn(png_ptr, &result, [](png_structp png_ptr_, png_bytep data, png_size_t length) { - std::string *out = static_cast(png_get_io_ptr(png_ptr_)); - out->append(reinterpret_cast(data), length); - }, NULL); - - struct ptrs { - ptrs(size_t count) : rows(new png_bytep[count]) {} - ~ptrs() { delete[] rows; } - png_bytep *rows = nullptr; - } pointers(height); - - for (int i = 0; i < height; i++) { - pointers.rows[flip ? height - 1 - i : i] = (png_bytep)((png_bytep)rgba + width * 4 * i); - } - - png_set_rows(png_ptr, info_ptr, pointers.rows); - png_write_png(png_ptr, info_ptr, PNG_TRANSFORM_IDENTITY, NULL); - png_destroy_write_struct(&png_ptr, &info_ptr); - - return result; -} - - -struct Buffer { - Buffer(const std::string& data_) - : data(data_.data()), length(data_.size()) {} - const char *const data = 0; - const size_t length = 0; - size_t pos = 0; -}; - -void readCallback(png_structp png, png_bytep data, png_size_t length) { - Buffer *reader = static_cast(png_get_io_ptr(png)); - - // Read `length` bytes into `data`. - if (reader->pos + length > reader->length) { - png_error(png, "Read Error"); - } else { - memcpy(data, reader->data + reader->pos, length); - reader->pos += length; - } -} - -void errorHandler(png_structp, png_const_charp error_msg) { - throw std::runtime_error(error_msg); -} - -void warningHandler(png_structp, png_const_charp error_msg) { - fprintf(stderr, "PNG: %s\n", error_msg); -} - -Image::Image(const std::string &data, bool flip) { - Buffer buffer(data); - - if (buffer.length < 8 || !png_check_sig((const png_bytep)buffer.data, 8)) { - fprintf(stderr, "image is not a valid PNG image\n"); - return; - } - - png_structp png = png_create_read_struct(PNG_LIBPNG_VER_STRING, nullptr, errorHandler, warningHandler); - assert(png); - - png_infop info = png_create_info_struct(png); - assert(info); - - int depth, color, interlace; - - try { - png_set_read_fn(png, (png_voidp)&buffer, readCallback); - png_read_info(png, info); - png_get_IHDR(png, info, (png_uint_32*)&width, (png_uint_32*)&height, &depth, &color, &interlace, nullptr, nullptr); - bool alpha = (color & PNG_COLOR_MASK_ALPHA) || png_get_valid(png, info, PNG_INFO_tRNS); - - // From http://trac.mapnik.org/browser/trunk/src/png_reader.cpp - if (color == PNG_COLOR_TYPE_PALETTE) - png_set_expand(png); - if (color == PNG_COLOR_TYPE_GRAY) - png_set_expand(png); - if (png_get_valid(png, info, PNG_INFO_tRNS)) - png_set_expand(png); - if (depth == 16) - png_set_strip_16(png); - if (depth < 8) - png_set_packing(png); - if (color == PNG_COLOR_TYPE_GRAY || - color == PNG_COLOR_TYPE_GRAY_ALPHA) - png_set_gray_to_rgb(png); - - if (interlace == PNG_INTERLACE_ADAM7) - png_set_interlace_handling(png); - - // Always add an alpha channel. - if (!alpha) { - png_set_add_alpha(png, 0xFF, PNG_FILLER_AFTER); - } - - double gamma; - if (png_get_gAMA(png, info, &gamma)) - png_set_gamma(png, 2.2, gamma); - - png_read_update_info(png, info); - - png_size_t rowbytes = png_get_rowbytes(png, info); - assert(width * 4 == rowbytes); - - img = ::std::unique_ptr(new char[width * height * 4]()); - - char *surface = img.get(); - assert(surface); - - struct ptrs { - ptrs(size_t count) : rows(new png_bytep[count]) {} - ~ptrs() { delete[] rows; } - png_bytep *rows = nullptr; - } pointers(height); - for (unsigned i = 0; i < height; ++i) { - pointers.rows[flip ? height - 1 - i : i] = (png_bytep)(surface + (i * rowbytes)); - } - - // Read image data - png_read_image(png, pointers.rows); - - png_read_end(png, nullptr); - - png_destroy_read_struct(&png, &info, nullptr); - } catch (std::exception& e) { - fprintf(stderr, "loading PNG failed: %s\n", e.what()); - png_destroy_read_struct(&png, &info, nullptr); - if (img) { - img.reset(); - } - width = 0; - height = 0; - } -} - -} -} diff --git a/test/headless.cpp b/test/headless.cpp index e1bdbdc061..3837beb9a0 100644 --- a/test/headless.cpp +++ b/test/headless.cpp @@ -92,13 +92,25 @@ TEST_P(HeadlessTest, render) { map.setLonLatZoom(longitude, latitude, zoom); map.setBearing(bearing); + // Run the loop. It will terminate when we don't have any further listeners. map.run(); const unsigned int w = width * pixelRatio; const unsigned int h = height * pixelRatio; - const std::string image = util::compress_png(w, h, view.readPixels().get(), true); + auto pixels = view.readPixels(); + + const int stride = w * 4; + auto tmp = std::unique_ptr(new char[stride]()); + char *rgba = reinterpret_cast(pixels.get()); + for (int i = 0, j = height - 2; i < j; i++, j--) { + memcpy(tmp.get(), rgba + i * stride, stride); + memcpy(rgba + i * stride, rgba + j * stride, stride); + memcpy(rgba + j * stride, tmp.get(), stride); + } + + const std::string image = util::compress_png(w, h, pixels.get()); util::write_file(actual_image, image); } } -- cgit v1.2.1 From 242993b43a27e6f013e622bb4f268c4fdf436ac7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20Ka=CC=88fer?= Date: Thu, 30 Oct 2014 15:06:10 -0400 Subject: fix gyp project --- configure | 7 ------- gyp/install.gypi | 2 -- ios/mapbox-gl-cocoa | 2 +- linux/mapboxgl-app.gyp | 25 ++++++++++++++++++------- macosx/mapboxgl-app.gyp | 3 +-- 5 files changed, 20 insertions(+), 19 deletions(-) diff --git a/configure b/configure index daf09eaeee..2bcfbdf62e 100755 --- a/configure +++ b/configure @@ -45,13 +45,6 @@ case ${MASON_PLATFORM} in ZLIB_VERSION=system BOOST_VERSION=system ;; - 'osx') - GLFW_VERSION=a21f2377 - SQLITE_VERSION=system - LIBUV_VERSION=0.10.28 - ZLIB_VERSION=system - BOOST_VERSION=system - ;; *) GLFW_VERSION=a21f2377 SQLITE_VERSION=system diff --git a/gyp/install.gypi b/gyp/install.gypi index fc0411587b..df65d0457e 100644 --- a/gyp/install.gypi +++ b/gyp/install.gypi @@ -22,8 +22,6 @@ 'conditions': [ ['OS == "linux"', { 'other_ldflags': [ - '-L<(boost_root)/lib', - '-lboost_regex', '<@(glfw3_static_libs)', '<@(glfw3_ldflags)', ] diff --git a/ios/mapbox-gl-cocoa b/ios/mapbox-gl-cocoa index f395112c34..f853a95405 160000 --- a/ios/mapbox-gl-cocoa +++ b/ios/mapbox-gl-cocoa @@ -1 +1 @@ -Subproject commit f395112c34ecc754812d4325102ee273fa8ced01 +Subproject commit f853a95405ab477853fd57c6aecd10bb21399f2e diff --git a/linux/mapboxgl-app.gyp b/linux/mapboxgl-app.gyp index 913a1fac45..03a0c0aed7 100644 --- a/linux/mapboxgl-app.gyp +++ b/linux/mapboxgl-app.gyp @@ -22,13 +22,24 @@ '<@(glfw3_cflags)', '-I<(boost_root)/include', ], - 'libraries': [ - '<@(png_ldflags)', - '<@(sqlite3_ldflags)', - '<@(glfw3_static_libs)', - '<@(glfw3_ldflags)', - '<@(curl_ldflags)', - '<@(zlib_ldflags)', + 'variables': { + 'ldflags': [ + '<@(png_ldflags)', + '<@(sqlite3_ldflags)', + '<@(glfw3_static_libs)', + '<@(glfw3_ldflags)', + '<@(curl_ldflags)', + '<@(zlib_ldflags)', + ], + }, + 'conditions': [ + ['OS == "mac"', { + 'xcode_settings': { + 'OTHER_LDFLAGS': [ '<@(ldflags)' ], + } + }, { + 'ldflags': [ '<@(ldflags)' ], + }] ], 'dependencies': [ '../mapboxgl.gyp:mbgl-standalone', diff --git a/macosx/mapboxgl-app.gyp b/macosx/mapboxgl-app.gyp index 0e6fe38042..e948d054c2 100644 --- a/macosx/mapboxgl-app.gyp +++ b/macosx/mapboxgl-app.gyp @@ -40,8 +40,7 @@ '<@(sqlite3_ldflags)', '<@(glfw3_static_libs)', '<@(glfw3_ldflags)', - '<@(curl_ldflags)', - '<@(png_ldflags)' + '<@(zlib_ldflags)', ] }, 'conditions': [ -- cgit v1.2.1 From b6dea0d8de4ec823513b7f49d2b74fc97a661c28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20Ka=CC=88fer?= Date: Thu, 30 Oct 2014 15:06:18 -0400 Subject: also allow underscores in token names --- include/mbgl/util/token.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/mbgl/util/token.hpp b/include/mbgl/util/token.hpp index 0f045f434a..64192a99f9 100644 --- a/include/mbgl/util/token.hpp +++ b/include/mbgl/util/token.hpp @@ -22,7 +22,7 @@ std::string replaceTokens(const std::string &source, const Lookup &lookup) { result.append(pos, brace); pos = brace; if (pos != end) { - for (brace++; brace != end && std::isalnum(*brace); brace++); + for (brace++; brace != end && (std::isalnum(*brace) || *brace == '_'); brace++); if (brace != end && *brace == '}') { result.append(lookup({ pos + 1, brace })); pos = brace + 1; -- cgit v1.2.1 From 3d6a87ab1b43e4f4712e5456ccf91bdcbc15bb7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20Ka=CC=88fer?= Date: Thu, 30 Oct 2014 15:10:24 -0400 Subject: bump cocoa --- ios/mapbox-gl-cocoa | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios/mapbox-gl-cocoa b/ios/mapbox-gl-cocoa index f853a95405..5c4d7231a4 160000 --- a/ios/mapbox-gl-cocoa +++ b/ios/mapbox-gl-cocoa @@ -1 +1 @@ -Subproject commit f853a95405ab477853fd57c6aecd10bb21399f2e +Subproject commit 5c4d7231a47757fdcbe7ba387525cc07cb47c54f -- cgit v1.2.1 From 592ed57d09f8f0913dae195e6e867884d11a2327 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20Ka=CC=88fer?= Date: Thu, 30 Oct 2014 12:40:16 -0700 Subject: use more modern libpng version instead of the system-provided one and fix compile errors --- configure | 2 +- deps/gtest/gtest.gyp | 4 ++++ gyp/mbgl-linux.gypi | 6 +++++- linux/mapboxgl-app.gyp | 2 +- platform/default/image.cpp | 3 ++- test/test.gyp | 2 +- 6 files changed, 14 insertions(+), 5 deletions(-) diff --git a/configure b/configure index 2bcfbdf62e..cc96f038b0 100755 --- a/configure +++ b/configure @@ -48,7 +48,7 @@ case ${MASON_PLATFORM} in *) GLFW_VERSION=a21f2377 SQLITE_VERSION=system - LIBPNG_VERSION=system + LIBPNG_VERSION=1.6.13 LIBCURL_VERSION=system LIBUV_VERSION=0.10.28 ZLIB_VERSION=system diff --git a/deps/gtest/gtest.gyp b/deps/gtest/gtest.gyp index c62b6be3f8..56d01bf988 100644 --- a/deps/gtest/gtest.gyp +++ b/deps/gtest/gtest.gyp @@ -12,6 +12,10 @@ 'sources': [ 'gtest-all.cc' ], + 'link_settings': { + 'xcode_settings': { 'OTHER_LDFLAGS': [ '-pthread' ] }, + 'ldflags': [ '-pthread' ], + }, 'direct_dependent_settings': { 'include_dirs': [ '.', diff --git a/gyp/mbgl-linux.gypi b/gyp/mbgl-linux.gypi index 2b166ea434..ca3e2afc54 100644 --- a/gyp/mbgl-linux.gypi +++ b/gyp/mbgl-linux.gypi @@ -30,6 +30,11 @@ 'include_dirs': [ '../include', ], + 'link_settings': { + 'libraries': [ + '<@(png_static_libs)', + ], + }, 'conditions': [ ['OS == "mac"', { 'xcode_settings': { @@ -37,7 +42,6 @@ 'OTHER_CFLAGS': [ '<@(cflags)' ], } }, { - 'ldflags': [ '<@(ldflags)' ], 'cflags_cc': [ '<@(cflags_cc)' ], 'cflags': [ '<@(cflags)' ], }] diff --git a/linux/mapboxgl-app.gyp b/linux/mapboxgl-app.gyp index 03a0c0aed7..57bd1171b2 100644 --- a/linux/mapboxgl-app.gyp +++ b/linux/mapboxgl-app.gyp @@ -38,7 +38,7 @@ 'OTHER_LDFLAGS': [ '<@(ldflags)' ], } }, { - 'ldflags': [ '<@(ldflags)' ], + 'libraries': [ '<@(ldflags)' ], }] ], 'dependencies': [ diff --git a/platform/default/image.cpp b/platform/default/image.cpp index 5b1afec7aa..68d1786913 100644 --- a/platform/default/image.cpp +++ b/platform/default/image.cpp @@ -5,6 +5,7 @@ #include #include #include +#include namespace mbgl { @@ -73,7 +74,7 @@ void readCallback(png_structp png, png_bytep data, png_size_t length) { if (reader->pos + length > reader->length) { png_error(png, "Read Error"); } else { - memcpy(data, reader->data + reader->pos, length); + std::memcpy(data, reader->data + reader->pos, length); reader->pos += length; } } diff --git a/test/test.gyp b/test/test.gyp index 74f4139a96..9e56f4f2c0 100644 --- a/test/test.gyp +++ b/test/test.gyp @@ -8,7 +8,7 @@ '<@(uv_ldflags)', '<@(sqlite3_ldflags)', '<@(curl_ldflags)', - '<@(png_ldflags)' + '<@(png_ldflags)', ], }, 'targets': [ -- cgit v1.2.1 From 2ebe167add05047f4cb611503064549c0b217d18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20Ka=CC=88fer?= Date: Thu, 30 Oct 2014 15:56:08 -0400 Subject: use -lpthread instead of -pthread --- deps/gtest/gtest.gyp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deps/gtest/gtest.gyp b/deps/gtest/gtest.gyp index 56d01bf988..3728dfc914 100644 --- a/deps/gtest/gtest.gyp +++ b/deps/gtest/gtest.gyp @@ -13,8 +13,8 @@ 'gtest-all.cc' ], 'link_settings': { - 'xcode_settings': { 'OTHER_LDFLAGS': [ '-pthread' ] }, - 'ldflags': [ '-pthread' ], + 'xcode_settings': { 'OTHER_LDFLAGS': [ '-lpthread' ] }, + 'ldflags': [ '-lpthread' ], }, 'direct_dependent_settings': { 'include_dirs': [ -- cgit v1.2.1 From 8dda6482fa429e01da087a690ca7d9cde3a7abc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20Ka=CC=88fer?= Date: Thu, 30 Oct 2014 15:56:17 -0400 Subject: fix image y reversal --- test/headless.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/headless.cpp b/test/headless.cpp index 3837beb9a0..0f4e100271 100644 --- a/test/headless.cpp +++ b/test/headless.cpp @@ -104,7 +104,7 @@ TEST_P(HeadlessTest, render) { const int stride = w * 4; auto tmp = std::unique_ptr(new char[stride]()); char *rgba = reinterpret_cast(pixels.get()); - for (int i = 0, j = height - 2; i < j; i++, j--) { + for (int i = 0, j = height - 1; i < j; i++, j--) { memcpy(tmp.get(), rgba + i * stride, stride); memcpy(rgba + i * stride, rgba + j * stride, stride); memcpy(rgba + j * stride, tmp.get(), stride); -- cgit v1.2.1 From 86230821e4da9605f5ac4a53d011835d37fc73e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20Ka=CC=88fer?= Date: Fri, 31 Oct 2014 12:02:39 -0400 Subject: use test suite as submodule instead of using npm --- .gitmodules | 4 ++++ .travis.yml | 1 - scripts/compare_images.sh | 6 ++++++ scripts/travis_install_test_suite.sh | 9 --------- scripts/travis_script.sh | 16 ++++++++-------- test/fixtures/fixture_request.cpp | 2 +- test/headless.cpp | 2 +- test/suite | 1 + 8 files changed, 21 insertions(+), 20 deletions(-) create mode 100755 scripts/compare_images.sh delete mode 100755 scripts/travis_install_test_suite.sh create mode 160000 test/suite diff --git a/.gitmodules b/.gitmodules index a1359e7398..850e0c7e2b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,7 @@ [submodule "ios/mapbox-gl-cocoa"] path = ios/mapbox-gl-cocoa url = https://github.com/mapbox/mapbox-gl-cocoa.git + +[submodule "test/suite"] + path = test/suite + url = https://github.com/mapbox/mapbox-gl-test-suite.git diff --git a/.travis.yml b/.travis.yml index 065856d605..6336eae025 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,7 +33,6 @@ before_install: install: - make config.gypi -- ./scripts/travis_install_test_suite.sh - ulimit -c before_script: diff --git a/scripts/compare_images.sh b/scripts/compare_images.sh new file mode 100755 index 0000000000..4329478fb2 --- /dev/null +++ b/scripts/compare_images.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -e +set -o pipefail + +(cd ./test/suite/ && (./bin/compare_images.js || true)) diff --git a/scripts/travis_install_test_suite.sh b/scripts/travis_install_test_suite.sh deleted file mode 100755 index cb2422d70c..0000000000 --- a/scripts/travis_install_test_suite.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env bash - -if [[ ${TRAVIS_OS_NAME} == "linux" ]]; then - # - # we'll need the test suite on Linux - # - mapbox_time "install_test_suite" \ - npm install git+https://github.com/mapbox/mapbox-gl-test-suite.git -fi diff --git a/scripts/travis_script.sh b/scripts/travis_script.sh index 5fa5a3f5f3..c224617314 100755 --- a/scripts/travis_script.sh +++ b/scripts/travis_script.sh @@ -13,16 +13,18 @@ if [[ ${TRAVIS_OS_NAME} == "linux" ]]; then mapbox_time "compile_tests" \ make test -j$JOBS BUILDTYPE=${BUILDTYPE} + mapbox_time "checkout_test_suite" \ + git submodule update --init test/suite + mapbox_time "run_tests" \ ./scripts/run_tests.sh - mapbox_time_start "compare_results" - (cd ./node_modules/mapbox-gl-test-suite/ && (./bin/compare_images.js || true)) - mapbox_time_finish + mapbox_time "compare_results" \ + ./scripts/compare_images.sh if [ ! -z "${AWS_ACCESS_KEY_ID}" ] && [ ! -z "${AWS_SECRET_ACCESS_KEY}" ] ; then mapbox_time_start "deploy_results" - (cd ./node_modules/mapbox-gl-test-suite/ && ./bin/deploy_results.sh) + (cd ./test/suite/ && ./bin/deploy_results.sh) mapbox_time_finish fi @@ -39,10 +41,8 @@ elif [[ ${TRAVIS_OS_NAME} == "osx" ]]; then # # build iOS # - git submodule init - - mapbox_time "load_submodules" \ - git submodule update + mapbox_time "checkout_cocoa_bindings" \ + git submodule update --init ios/mapbox-gl-cocoa mapbox_time "create_ios_project" \ make build/ios/mapbox-gl-cocoa/app/mapboxgl-app.xcodeproj diff --git a/test/fixtures/fixture_request.cpp b/test/fixtures/fixture_request.cpp index f3b41681a6..cc01760ae1 100644 --- a/test/fixtures/fixture_request.cpp +++ b/test/fixtures/fixture_request.cpp @@ -16,7 +16,7 @@ const std::string base_directory = []{ fn.erase(fn.find_last_of("/")); fn.erase(fn.find_last_of("/")); fn.erase(fn.find_last_of("/")); - return fn + "/node_modules/mapbox-gl-test-suite/"; + return fn + "/test/suite/"; }(); namespace mbgl { diff --git a/test/headless.cpp b/test/headless.cpp index e1bdbdc061..821aaa0d38 100644 --- a/test/headless.cpp +++ b/test/headless.cpp @@ -20,7 +20,7 @@ const std::string base_directory = []{ std::string fn = __FILE__; fn.erase(fn.find_last_of("/")); fn.erase(fn.find_last_of("/")); - return fn + "/node_modules/mapbox-gl-test-suite/"; + return fn + "/test/suite/"; }(); auto display_ = std::make_shared(); diff --git a/test/suite b/test/suite new file mode 160000 index 0000000000..b4db0dc1dc --- /dev/null +++ b/test/suite @@ -0,0 +1 @@ +Subproject commit b4db0dc1dc904a17d23f99c26f0a045afcfbdb25 -- cgit v1.2.1 From 38d17532c672a213d9c7a7fc184b32c80c0df517 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20K=C3=A4fer?= Date: Fri, 31 Oct 2014 08:30:55 -0700 Subject: use binary mesa on travis to speed up build times --- .travis.yml | 1 + include/mbgl/platform/gl.hpp | 1 - scripts/travis_before_install.sh | 28 +++++++--------------------- 3 files changed, 8 insertions(+), 22 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6336eae025..8edbe3c157 100644 --- a/.travis.yml +++ b/.travis.yml @@ -29,6 +29,7 @@ before_install: - source ./scripts/flags.sh - (git clone https://github.com/mapbox/mason.git ~/.mason ; sudo ln -s ~/.mason/mason /usr/local/bin/mason) - ./scripts/travis_before_install.sh +- if [[ ${TRAVIS_OS_NAME} == "linux" ]]; then export LD_LIBRARY_PATH=`mason prefix mesa 10.3.1`/lib; fi - if [[ ${TRAVIS_OS_NAME} == "linux" ]]; then glxinfo; fi install: diff --git a/include/mbgl/platform/gl.hpp b/include/mbgl/platform/gl.hpp index cc2a681d42..d5162f2c70 100644 --- a/include/mbgl/platform/gl.hpp +++ b/include/mbgl/platform/gl.hpp @@ -38,7 +38,6 @@ #else #define GL_GLEXT_PROTOTYPES #include - #include #include #endif diff --git a/scripts/travis_before_install.sh b/scripts/travis_before_install.sh index f67aa270d6..2af2f7ae0f 100755 --- a/scripts/travis_before_install.sh +++ b/scripts/travis_before_install.sh @@ -24,30 +24,16 @@ if [[ ${TRAVIS_OS_NAME} == "linux" ]]; then libboost1.55-dev libcurl4-openssl-dev \ libpng-dev libsqlite3-dev - mapbox_time "install_mesa_deps" \ - sudo apt-get install -y libpthread-stubs0-dev \ - xserver-xorg-dev x11proto-xinerama-dev libx11-xcb-dev \ - libxcb-glx0-dev libxrender-dev llvm-3.4 mesa-utils && \ - sudo apt-get build-dep -y libgl1-mesa-dri libxcb-glx0-dev - - mapbox_time "build_mesa" \ - curl -sfo MesaLib-10.3.1.tar.gz http://ftp.de.debian.org/debian/pool/main/m/mesa/mesa_10.3.1.orig.tar.gz && \ - tar -zxf MesaLib-10.3.1.tar.gz && \ - cd Mesa-10.3.1 && \ - ./autogen.sh --with-gallium-drivers=svga,swrast --disable-dri \ - --enable-xlib-glx --enable-glx-tls --with-llvm-prefix=/usr/lib/llvm-3.4 \ - --without-va && \ - echo $CXXFLAGS - echo $CFLAGS - echo $LDFLAGS - make -j$JOBS && sudo make install && \ - cd ../ - mapbox_time "install_opengl" \ - sudo apt-get -y install libxi-dev x11proto-randr-dev \ + sudo apt-get -y install mesa-utils libxi-dev x11proto-randr-dev \ x11proto-xext-dev libxrandr-dev \ x11proto-xf86vidmode-dev libxxf86vm-dev \ - libxcursor-dev libxinerama-dev + libxcursor-dev libxinerama-dev \ + llvm-3.4 # required for mesa + + + mapbox_time "install_mesa" \ + mason install mesa 10.3.1 mapbox_time "install_awscli" \ sudo pip install awscli -- cgit v1.2.1 From 080c185ea1b05dd673076e385cc659ecc46c697b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20Ka=CC=88fer?= Date: Fri, 31 Oct 2014 15:08:31 -0400 Subject: remove dependency on node --- .gitignore | 2 - README.md | 1 - bin/build-shaders.js | 133 ----------------------------------------------- bin/lazy-update.js | 12 ----- bin/package.json | 8 --- configure | 24 --------- gyp/npm_install.gypi | 20 ------- gyp/shaders.gypi | 6 +-- mapboxgl.gyp | 1 - scripts/build-shaders.py | 104 ++++++++++++++++++++++++++++++++++++ test/suite | 2 +- 11 files changed, 107 insertions(+), 206 deletions(-) delete mode 100755 bin/build-shaders.js delete mode 100644 bin/lazy-update.js delete mode 100644 bin/package.json delete mode 100644 gyp/npm_install.gypi create mode 100644 scripts/build-shaders.py diff --git a/.gitignore b/.gitignore index f8bb8a0b27..bce644c7e8 100644 --- a/.gitignore +++ b/.gitignore @@ -3,13 +3,11 @@ *.o *.actual.png *.diff.png -/node_modules /mason_packages /config.gypi /config-ios.gypi /config/constants_local.cpp /build -/bin/node_modules /include/mbgl/shader/shaders.hpp /src/shader/shaders_gl.cpp /src/shader/shaders_gles2.cpp diff --git a/README.md b/README.md index 325a9225a1..022377e990 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,6 @@ implemented in C++11, currently targeting iOS, OS X, and Ubuntu Linux. - `pkg-config` (for build only) - [Homebrew](http://brew.sh) (for build on OS X) - Python 2.x (for build only) - - Node.js (for build only) # Build instructions diff --git a/bin/build-shaders.js b/bin/build-shaders.js deleted file mode 100755 index 329f8063f7..0000000000 --- a/bin/build-shaders.js +++ /dev/null @@ -1,133 +0,0 @@ -#!/usr/bin/env node -'use strict'; - -var fs = require('fs'); -var path = require('path'); -var mkdirp = require('mkdirp'); - -try { var glsl = require('mapbox-glsl-optimizer'); } catch(err) {} - -module.exports = function(shader_type, prefix, suffix) { - var name; - var shaders = {}; - - var shaderFiles = fs.readdirSync('src/shader'); - - // Load shaders - for (var i = 0; i < shaderFiles.length; i++) { - var parts = shaderFiles[i].match(/^(.+)\.(vertex|fragment)\.glsl$/); - if (parts) { - name = parts[1]; - var type = parts[2]; - if (!(name in shaders)) { - shaders[name] = {}; - } - shaders[name][type] = fs.readFileSync(path.join('src/shader', shaderFiles[i]), 'utf8'); - } - } - - var preamble = ''; - if (shader_type == 'gles2' || shader_type == 'gles3') { - preamble = 'precision highp float;'; - } else { - preamble = '#version 120'; - } - - for (var name in shaders) { - shaders[name].vertex = preamble + '\n' + shaders[name].vertex; - shaders[name].fragment = preamble + '\n' + shaders[name].fragment; - } - - // Optimize shader - if (glsl) { - var target = shader_type == 'gles2' ? glsl.TARGET_OPENGLES20 : (shader_type == 'gles3' ? glsl.TARGET_OPENGLES30 : glsl.TARGET_OPENGL); - - var compiler = new glsl.Compiler(target); - for (name in shaders) { - var vertex_shader = new glsl.Shader(compiler, glsl.VERTEX_SHADER, shaders[name].vertex); - if (vertex_shader.compiled()) { - shaders[name].vertex = vertex_shader.output(); - } else { - console.warn('failed to optimize %s vertex shader', name); - process.exit(1); - } - vertex_shader.dispose(); - - var fragment_shader = new glsl.Shader(compiler, glsl.FRAGMENT_SHADER, shaders[name].fragment); - if (fragment_shader.compiled()) { - shaders[name].fragment = fragment_shader.output(); - } else { - console.warn('failed to optimize %s fragment shader', name); - process.exit(1); - } - fragment_shader.dispose(); - } - compiler.dispose(); - } else { - console.warn('Not optimizing shaders'); - } - - - // Save to file - var lines = []; - var consts = []; - for (var name in shaders) { - consts.push(name.toUpperCase() + '_SHADER'); - - var line = ''; - line += ' {\n'; - line += ' ' + JSON.stringify(shaders[name].vertex) + ',\n'; - line += ' ' + JSON.stringify(shaders[name].fragment) + ',\n'; - line += ' }'; - lines.push(line); - } - - var header = '// NOTE: DO NOT CHANGE THIS FILE. IT IS AUTOMATICALLY GENERATED.\n\n'; - header += '#ifndef MBGL_SHADER_SHADERS\n'; - header += '#define MBGL_SHADER_SHADERS\n'; - header += '\n'; - header += 'namespace mbgl {\n'; - header += '\n'; - header += 'struct shader_source {\n'; - header += ' const char *vertex;\n'; - header += ' const char *fragment;\n'; - header += '};\n'; - header += '\n'; - header += 'enum {\n'; - consts.push('SHADER_COUNT'); - header += ' ' + consts.join(',\n ') + '\n'; - header += '};\n'; - header += '\n'; - header += 'extern const shader_source shaders[SHADER_COUNT];\n'; - header += '\n'; - header += '}\n'; - header += '\n'; - header += '#endif\n'; - - - var code = '// NOTE: DO NOT CHANGE THIS FILE. IT IS AUTOMATICALLY GENERATED.\n'; - code += '#include \n'; - code += prefix + '\n'; - code += '#include \n'; - code += '\n'; - code += 'namespace mbgl {\n'; - code += '\n'; - code += 'const shader_source shaders[SHADER_COUNT] = {\n'; - code += lines.join(',\n'); - code += '\n};\n'; - code += '\n}\n'; - code += suffix + '\n'; - - var header_path = path.join(process.argv[2], 'include/mbgl/shader/shaders.hpp'); - mkdirp.sync(path.dirname(header_path)); - fs.writeFileSync(header_path, header); - console.warn('wrote file ' + header_path); - var file_path = path.join(process.argv[2], 'src/shader/shaders_' + shader_type + '.cpp'); - mkdirp.sync(path.dirname(file_path)); - fs.writeFileSync(file_path, code); - console.warn('wrote file ' + file_path); - -}; - -module.exports('gl', '#ifndef GL_ES_VERSION_2_0', '#endif'); -module.exports('gles2', '#ifdef GL_ES_VERSION_2_0', '#endif'); diff --git a/bin/lazy-update.js b/bin/lazy-update.js deleted file mode 100644 index 0f3ea81ac5..0000000000 --- a/bin/lazy-update.js +++ /dev/null @@ -1,12 +0,0 @@ -var fs = require('fs'); - -module.exports = function(file, content) { - try { - var existing = fs.readFileSync(file, 'utf8'); - if (existing != content) { - fs.writeFileSync(file, content); - } - } catch(err) { - fs.writeFileSync(file, content); - } -}; diff --git a/bin/package.json b/bin/package.json deleted file mode 100644 index 1df8454600..0000000000 --- a/bin/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "mbgl-native", - "version": "0.0.1", - "dependencies": { - "mapbox-glsl-optimizer": "~0.1.0", - "mkdirp": "^0.5.0" - } -} diff --git a/configure b/configure index afb94d4795..edda1c1fa1 100755 --- a/configure +++ b/configure @@ -11,22 +11,6 @@ function finish { } trap finish EXIT -# Install node -if [[ ! -d ~/.nvm ]]; then - git clone --depth 1 https://github.com/creationix/nvm.git ~/.nvm -fi -set +u -. ~/.nvm/nvm.sh -if [ ! `nvm use 0.10 > /dev/null; echo $?` = 0 ]; then - >&2 echo -en "\033[1m\033[32m* " - nvm install 0.10 - >&2 echo -en "\033[0m"; -else - >&2 echo -en "\033[1m\033[32m* " - nvm use 0.10 - >&2 echo -en "\033[0m"; -fi - # Install mason if [[ ! -d ~/.mason ]]; then >&2 echo -e "\033[1m\033[32m* Installing Mason\033[0m" @@ -56,14 +40,8 @@ esac function abort { >&2 echo -e "\033[1m\033[31m$1\033[0m"; exit 1; } -NODE=`which node || abort 'Cannot find node'` -NPM=`which npm || abort 'Cannot find npm'` PYTHON=`which python || abort 'Cannot find python'` ->&2 echo -en "\033[1m\033[32m* Using npm " ->&2 ${NPM} --version ->&2 echo -en "\033[0m"; - >&2 echo -en "\033[1m\033[32m* Using " >&2 ${PYTHON} --version >&2 echo -en "\033[0m"; @@ -84,8 +62,6 @@ CONFIG="# Do not edit. Generated by the configure script. 'libraries': [] }, 'variables': { - 'node': '${NODE}', - 'npm': '${NPM}', 'python': '${PYTHON}', " diff --git a/gyp/npm_install.gypi b/gyp/npm_install.gypi deleted file mode 100644 index ddd3081ad5..0000000000 --- a/gyp/npm_install.gypi +++ /dev/null @@ -1,20 +0,0 @@ -{ - 'targets': [ - { 'target_name': 'npm_install', - 'type': 'none', - 'hard_dependency': 1, - 'actions': [ - { - 'action_name': 'npm install', - 'inputs': [ - '../bin/package.json', - ], - 'outputs': [ - '../bin/node_modules', - ], - 'action': ['./scripts/npm_install.sh', '<@(npm)'] - } - ], - }, - ] -} diff --git a/gyp/shaders.gypi b/gyp/shaders.gypi index 9435bd7d9c..edbcb61f23 100644 --- a/gyp/shaders.gypi +++ b/gyp/shaders.gypi @@ -4,13 +4,11 @@ 'target_name': 'shaders', 'type': 'none', 'hard_dependency': 1, - 'dependencies': [ - 'npm_install' - ], 'actions': [ { 'action_name': 'Build Shaders', 'inputs': [ + '../scripts/build-shaders.py', '2.5 + if exc.errno == errno.EEXIST and os.path.isdir(path): + pass + else: raise + +# Load all shaders +shaders = {} +for file_name in file_names: + parts = re.search('/(\w+)\.(vertex|fragment)\.glsl$', file_name) + if parts: + shader_name = parts.group(1) + shader_type = parts.group(2) + if not shader_name in shaders: + shaders[shader_name] = {} + with open(file_name, "r") as f: + shaders[shader_name][shader_type] = f.read() + + +def write_header(): + header = """// NOTE: DO NOT CHANGE THIS FILE. IT IS AUTOMATICALLY GENERATED. + +#ifndef MBGL_SHADER_SHADERS +#define MBGL_SHADER_SHADERS + +namespace mbgl { + +struct shader_source { + const char *vertex; + const char *fragment; +}; + +enum { +%s + SHADER_COUNT +}; + +extern const shader_source shaders[SHADER_COUNT]; + +} + +#endif +""" % '\n'.join([' %s_SHADER,' % name.upper() for name in shaders.keys()]) + header_path = os.path.join(output_dir, 'include/mbgl/shader/shaders.hpp') + mkdir_p(os.path.dirname(header_path)) + with open(header_path, 'w') as f: f.write(header) + + +def write_source(shader_platform, prefix, suffix): + if shader_platform == 'gles2' or shader_platform == 'gles3': + # OpenGL ES + preamble = 'precision highp float;'; + else: + # Desktop OpenGL + preamble = '#version 120'; + + shader_lines = [(""" {{ + R"{name}_vert({preamble}\n{vertex}){name}_vert", + R"{name}_frag({preamble}\n{fragment}){name}_frag", + }}, +""").format( + name = shader, + preamble = preamble, + vertex = shaders[shader]['vertex'], + fragment = shaders[shader]['fragment'] +) for shader in shaders] + + source = """// NOTE: DO NOT CHANGE THIS FILE. IT IS AUTOMATICALLY GENERATED. +#include +{prefix} +#include + +namespace mbgl {{ + +const shader_source shaders[SHADER_COUNT] = {{ +{shaders} +}}; + +}} +{suffix} +""".format( + prefix = prefix, + suffix = suffix, + shaders = ''.join(shader_lines) +) + + source_path = os.path.join(output_dir, 'src/shader/shaders_' + shader_platform + '.cpp') + mkdir_p(os.path.dirname(source_path)) + with open(source_path, 'w') as f: f.write(source) + +write_header() +write_source('gl', '#ifndef GL_ES_VERSION_2_0', '#endif') +write_source('gles2', '#ifdef GL_ES_VERSION_2_0', '#endif') diff --git a/test/suite b/test/suite index b4db0dc1dc..1651a3df44 160000 --- a/test/suite +++ b/test/suite @@ -1 +1 @@ -Subproject commit b4db0dc1dc904a17d23f99c26f0a045afcfbdb25 +Subproject commit 1651a3df444ff83c98f6eff00679d6b84dc8845e -- cgit v1.2.1 From 08515b41c0804c5b8ff3b7f7cfb6dc94053648c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20Ka=CC=88fer?= Date: Fri, 31 Oct 2014 16:11:36 -0400 Subject: call correct image compare script --- scripts/compare_images.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/compare_images.sh b/scripts/compare_images.sh index 4329478fb2..f9e1a81edb 100755 --- a/scripts/compare_images.sh +++ b/scripts/compare_images.sh @@ -3,4 +3,4 @@ set -e set -o pipefail -(cd ./test/suite/ && (./bin/compare_images.js || true)) +(cd ./test/suite/ && (./bin/compare_images.py || true)) -- cgit v1.2.1 From bc7effdd8646d2492cf276d9a87828e784eb8945 Mon Sep 17 00:00:00 2001 From: Dane Springmeyer Date: Fri, 31 Oct 2014 16:37:53 -0400 Subject: declare explicit MACOSX_DEPLOYMENT_TARGET - refs #529 --- gyp/common.gypi | 1 + 1 file changed, 1 insertion(+) diff --git a/gyp/common.gypi b/gyp/common.gypi index 16025eb5ae..b21e8b50d7 100644 --- a/gyp/common.gypi +++ b/gyp/common.gypi @@ -8,6 +8,7 @@ 'conditions': [ ['OS=="mac"', { 'xcode_settings': { + 'MACOSX_DEPLOYMENT_TARGET':'10.9', 'CLANG_CXX_LIBRARY': 'libc++', 'CLANG_CXX_LANGUAGE_STANDARD':'c++11', 'GCC_VERSION': 'com.apple.compilers.llvm.clang.1_0', -- cgit v1.2.1 From d0f71242da3e5a84e3c0ba54d63a889da7a11f2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20Ka=CC=88fer?= Date: Fri, 31 Oct 2014 16:51:36 -0400 Subject: bump cocoa bindings --- ios/mapbox-gl-cocoa | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios/mapbox-gl-cocoa b/ios/mapbox-gl-cocoa index 5c4d7231a4..63d166d3dd 160000 --- a/ios/mapbox-gl-cocoa +++ b/ios/mapbox-gl-cocoa @@ -1 +1 @@ -Subproject commit 5c4d7231a47757fdcbe7ba387525cc07cb47c54f +Subproject commit 63d166d3dd33a460a5158159ea9656ea651aa179 -- cgit v1.2.1 From d675828fe14d55c1a0de30f951d2005ae5d8cf84 Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Fri, 31 Oct 2014 14:46:51 -0400 Subject: Get mapbox-gl-styles via submodule (fixes #511) --- .gitmodules | 4 + gyp/styles.gypi | 2 +- linux/main.cpp | 2 +- macosx/main.mm | 2 +- scripts/travis_script.sh | 3 + styles | 1 + styles/bright/img/sprite.json | 2818 -------------------------------------- styles/bright/img/sprite.png | Bin 118946 -> 0 bytes styles/bright/img/sprite@2x.json | 2818 -------------------------------------- styles/bright/img/sprite@2x.png | Bin 272040 -> 0 bytes styles/bright/style.json | 1335 ------------------ styles/outdoors/style.json | 2223 ------------------------------ 12 files changed, 11 insertions(+), 9197 deletions(-) create mode 160000 styles delete mode 100644 styles/bright/img/sprite.json delete mode 100644 styles/bright/img/sprite.png delete mode 100644 styles/bright/img/sprite@2x.json delete mode 100644 styles/bright/img/sprite@2x.png delete mode 100644 styles/bright/style.json delete mode 100644 styles/outdoors/style.json diff --git a/.gitmodules b/.gitmodules index 850e0c7e2b..81e2c6f9df 100644 --- a/.gitmodules +++ b/.gitmodules @@ -5,3 +5,7 @@ [submodule "test/suite"] path = test/suite url = https://github.com/mapbox/mapbox-gl-test-suite.git + +[submodule "styles"] + path = styles + url = https://github.com/mapbox/mapbox-gl-styles.git diff --git a/gyp/styles.gypi b/gyp/styles.gypi index 31bf530c5f..19f84481dc 100644 --- a/gyp/styles.gypi +++ b/gyp/styles.gypi @@ -19,7 +19,7 @@ 'hard_dependency': 1, 'dependencies': [ 'touch_styles' ], # required for xcode http://openradar.appspot.com/7232149 'direct_dependent_settings': { - 'mac_bundle_resources': [ '../styles' ], + 'mac_bundle_resources': [ '../styles/styles' ], } }, { diff --git a/linux/main.cpp b/linux/main.cpp index 604e471dd1..fa4a495837 100644 --- a/linux/main.cpp +++ b/linux/main.cpp @@ -65,7 +65,7 @@ int main(int argc, char *argv[]) { } // Load style - const std::string style = std::string("file://") + uv::cwd() + std::string("/styles/bright/style.json"); + const std::string style = std::string("file://") + uv::cwd() + std::string("/styles/bright-v5.json"); map.setStyleURL(style); int ret = view->run(); diff --git a/macosx/main.mm b/macosx/main.mm index 81494821cf..5c6f3592a9 100644 --- a/macosx/main.mm +++ b/macosx/main.mm @@ -100,7 +100,7 @@ int main() { if (accessToken) map.setAccessToken([accessToken cStringUsingEncoding:[NSString defaultCStringEncoding]]); // Load style - const std::string path([[[NSBundle mainBundle] pathForResource:@"style" ofType:@"json" inDirectory:@"styles/bright"] UTF8String]); + const std::string path([[[NSBundle mainBundle] pathForResource:@"bright-v5" ofType:@"json" inDirectory:@"styles/"] UTF8String]); map.setStyleURL(std::string("file://") + path); diff --git a/scripts/travis_script.sh b/scripts/travis_script.sh index c224617314..ea6097dc55 100755 --- a/scripts/travis_script.sh +++ b/scripts/travis_script.sh @@ -3,6 +3,9 @@ set -e set -o pipefail +mapbox_time "checkout_styles" \ +git submodule update --init styles + if [[ ${TRAVIS_OS_NAME} == "linux" ]]; then # # build & test Linux diff --git a/styles b/styles new file mode 160000 index 0000000000..bc7b7c38ef --- /dev/null +++ b/styles @@ -0,0 +1 @@ +Subproject commit bc7b7c38ef1e668fe6f64ff3b2146a08b57c74c3 diff --git a/styles/bright/img/sprite.json b/styles/bright/img/sprite.json deleted file mode 100644 index d8fd539f42..0000000000 --- a/styles/bright/img/sprite.json +++ /dev/null @@ -1,2818 +0,0 @@ -{ - "marker-24": { - "x": 0, - "y": 0, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "zoo-24": { - "x": 26, - "y": 0, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "-24": { - "x": 0, - "y": 26, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "wetland-24": { - "x": 26, - "y": 26, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "water-24": { - "x": 52, - "y": 0, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "airfield-24": { - "x": 52, - "y": 26, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "waste-basket-24": { - "x": 0, - "y": 52, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "warehouse-24": { - "x": 26, - "y": 52, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "airport-24": { - "x": 52, - "y": 52, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "village-24": { - "x": 78, - "y": 0, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "triangle-stroked-24": { - "x": 78, - "y": 26, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "alcohol-shop-24": { - "x": 78, - "y": 52, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "triangle-24": { - "x": 0, - "y": 78, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "town-hall-24": { - "x": 26, - "y": 78, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "america-football-24": { - "x": 52, - "y": 78, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "town-24": { - "x": 78, - "y": 78, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "toilets-24": { - "x": 104, - "y": 0, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "art-gallery-24": { - "x": 104, - "y": 26, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "theatre-24": { - "x": 104, - "y": 52, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "tennis-24": { - "x": 104, - "y": 78, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "bakery-24": { - "x": 0, - "y": 104, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "telephone-24": { - "x": 26, - "y": 104, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "swimming-24": { - "x": 52, - "y": 104, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "bank-24": { - "x": 78, - "y": 104, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "suitcase-24": { - "x": 104, - "y": 104, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "star-stroked-24": { - "x": 130, - "y": 0, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "bar-24": { - "x": 130, - "y": 26, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "star-24": { - "x": 130, - "y": 52, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "square-stroked-24": { - "x": 130, - "y": 78, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "baseball-24": { - "x": 130, - "y": 104, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "square-24": { - "x": 0, - "y": 130, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "soccer-24": { - "x": 26, - "y": 130, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "basketball-24": { - "x": 52, - "y": 130, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "slaughterhouse-24": { - "x": 78, - "y": 130, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "skiing-24": { - "x": 104, - "y": 130, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "beer-24": { - "x": 130, - "y": 130, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "shop-24": { - "x": 156, - "y": 0, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "scooter-24": { - "x": 156, - "y": 26, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "bicycle-24": { - "x": 156, - "y": 52, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "school-24": { - "x": 156, - "y": 78, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "rocket-24": { - "x": 156, - "y": 104, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "building-24": { - "x": 156, - "y": 130, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "roadblock-24": { - "x": 0, - "y": 156, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "restaurant-24": { - "x": 26, - "y": 156, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "bus-24": { - "x": 52, - "y": 156, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "religious-muslim-24": { - "x": 78, - "y": 156, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "religious-jewish-24": { - "x": 104, - "y": 156, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "cafe-24": { - "x": 130, - "y": 156, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "religious-christian-24": { - "x": 156, - "y": 156, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "rail-underground-24": { - "x": 182, - "y": 0, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "camera-24": { - "x": 182, - "y": 26, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "rail-metro-24": { - "x": 182, - "y": 52, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "rail-light-24": { - "x": 182, - "y": 78, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "campsite-24": { - "x": 182, - "y": 104, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "rail-above-24": { - "x": 182, - "y": 130, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "rail-24": { - "x": 182, - "y": 156, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "car-24": { - "x": 0, - "y": 182, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "prison-24": { - "x": 26, - "y": 182, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "post-24": { - "x": 52, - "y": 182, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "cemetery-24": { - "x": 78, - "y": 182, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "polling-place-24": { - "x": 104, - "y": 182, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "police-24": { - "x": 130, - "y": 182, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "chemist-24": { - "x": 156, - "y": 182, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "playground-24": { - "x": 182, - "y": 182, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "place-of-worship-24": { - "x": 208, - "y": 0, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "cinema-24": { - "x": 208, - "y": 26, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "pitch-24": { - "x": 208, - "y": 52, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "pharmacy-24": { - "x": 208, - "y": 78, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "circle-24": { - "x": 208, - "y": 104, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "parking-garage-24": { - "x": 208, - "y": 130, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "parking-24": { - "x": 208, - "y": 156, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "circle-stroked-24": { - "x": 208, - "y": 182, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "park2-24": { - "x": 0, - "y": 208, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "park-24": { - "x": 26, - "y": 208, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "city-24": { - "x": 52, - "y": 208, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "oil-well-24": { - "x": 78, - "y": 208, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "music-24": { - "x": 104, - "y": 208, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "clothing-store-24": { - "x": 130, - "y": 208, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "museum-24": { - "x": 156, - "y": 208, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "monument-24": { - "x": 182, - "y": 208, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "college-24": { - "x": 208, - "y": 208, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "mobilephone-24": { - "x": 234, - "y": 0, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "minefield-24": { - "x": 234, - "y": 26, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "commercial-24": { - "x": 234, - "y": 52, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "marker-stroked-24": { - "x": 234, - "y": 78, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "london-underground-24": { - "x": 234, - "y": 104, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "cricket-24": { - "x": 234, - "y": 130, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "logging-24": { - "x": 234, - "y": 156, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "lodging-24": { - "x": 234, - "y": 182, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "cross-24": { - "x": 234, - "y": 208, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "lighthouse-24": { - "x": 0, - "y": 234, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "library-24": { - "x": 26, - "y": 234, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "dam-24": { - "x": 52, - "y": 234, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "laundry-24": { - "x": 78, - "y": 234, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "land-use-24": { - "x": 104, - "y": 234, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "danger-24": { - "x": 130, - "y": 234, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "industrial-24": { - "x": 156, - "y": 234, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "hospital-24": { - "x": 182, - "y": 234, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "disability-24": { - "x": 208, - "y": 234, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "heliport-24": { - "x": 234, - "y": 234, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "heart-24": { - "x": 260, - "y": 0, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "dog-park-24": { - "x": 260, - "y": 26, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "harbor-24": { - "x": 260, - "y": 52, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "hairdresser-24": { - "x": 260, - "y": 78, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "embassy-24": { - "x": 260, - "y": 104, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "grocery-24": { - "x": 260, - "y": 130, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "golf-24": { - "x": 260, - "y": 156, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "emergency-telephone-24": { - "x": 260, - "y": 182, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "garden-24": { - "x": 260, - "y": 208, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "fuel-24": { - "x": 260, - "y": 234, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "entrance-24": { - "x": 0, - "y": 260, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "fire-station-24": { - "x": 26, - "y": 260, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "ferry-24": { - "x": 52, - "y": 260, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "farm-24": { - "x": 78, - "y": 260, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "fast-food-24": { - "x": 104, - "y": 260, - "width": 24, - "height": 24, - "pixelRatio": 1, - "sdf": false - }, - "police-18": { - "x": 130, - "y": 260, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "fast-food-18": { - "x": 150, - "y": 260, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "farm-18": { - "x": 170, - "y": 260, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "fire-station-18": { - "x": 190, - "y": 260, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "fuel-18": { - "x": 210, - "y": 260, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "entrance-18": { - "x": 230, - "y": 260, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "garden-18": { - "x": 250, - "y": 260, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "golf-18": { - "x": 286, - "y": 0, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "emergency-telephone-18": { - "x": 286, - "y": 20, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "grocery-18": { - "x": 286, - "y": 40, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "hairdresser-18": { - "x": 286, - "y": 60, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "embassy-18": { - "x": 286, - "y": 80, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "harbor-18": { - "x": 286, - "y": 100, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "heart-18": { - "x": 286, - "y": 120, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "dog-park-18": { - "x": 286, - "y": 140, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "heliport-18": { - "x": 286, - "y": 160, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "hospital-18": { - "x": 286, - "y": 180, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "disability-18": { - "x": 286, - "y": 200, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "industrial-18": { - "x": 286, - "y": 220, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "land-use-18": { - "x": 286, - "y": 240, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "danger-18": { - "x": 286, - "y": 260, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "laundry-18": { - "x": 0, - "y": 286, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "library-18": { - "x": 20, - "y": 286, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "dam-18": { - "x": 40, - "y": 286, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "lighthouse-18": { - "x": 60, - "y": 286, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "lodging-18": { - "x": 80, - "y": 286, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "cross-18": { - "x": 100, - "y": 286, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "logging-18": { - "x": 120, - "y": 286, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "london-underground-18": { - "x": 140, - "y": 286, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "cricket-18": { - "x": 160, - "y": 286, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "marker-18": { - "x": 180, - "y": 286, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "-18": { - "x": 200, - "y": 286, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "marker-stroked-18": { - "x": 220, - "y": 286, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "minefield-18": { - "x": 240, - "y": 286, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "commercial-18": { - "x": 260, - "y": 286, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "mobilephone-18": { - "x": 280, - "y": 286, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "monument-18": { - "x": 306, - "y": 0, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "college-18": { - "x": 306, - "y": 20, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "motorway_1": { - "x": 0, - "y": 306, - "width": 19, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "motorway_2": { - "x": 21, - "y": 306, - "width": 24, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "motorway_3": { - "x": 47, - "y": 306, - "width": 29, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "motorway_4": { - "x": 78, - "y": 306, - "width": 34, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "motorway_5": { - "x": 114, - "y": 306, - "width": 39, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "motorway_6": { - "x": 155, - "y": 306, - "width": 44, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "museum-18": { - "x": 306, - "y": 40, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "music-18": { - "x": 306, - "y": 60, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "clothing-store-18": { - "x": 306, - "y": 80, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "oil-well-18": { - "x": 306, - "y": 100, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "park-18": { - "x": 306, - "y": 120, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "city-18": { - "x": 306, - "y": 140, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "park2-18": { - "x": 306, - "y": 160, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "parking-18": { - "x": 306, - "y": 180, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "circle-stroked-18": { - "x": 306, - "y": 200, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "parking-garage-18": { - "x": 306, - "y": 220, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "pharmacy-18": { - "x": 306, - "y": 240, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "circle-18": { - "x": 306, - "y": 260, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "pitch-18": { - "x": 306, - "y": 280, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "place-of-worship-18": { - "x": 201, - "y": 306, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "cinema-18": { - "x": 221, - "y": 306, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "playground-18": { - "x": 241, - "y": 306, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "ferry-18": { - "x": 261, - "y": 306, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "chemist-18": { - "x": 281, - "y": 306, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "polling-place-18": { - "x": 301, - "y": 306, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "post-18": { - "x": 326, - "y": 0, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "cemetery-18": { - "x": 326, - "y": 20, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "prison-18": { - "x": 326, - "y": 40, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "rail-18": { - "x": 326, - "y": 60, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "car-18": { - "x": 326, - "y": 80, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "rail-above-18": { - "x": 326, - "y": 100, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "rail-light-18": { - "x": 326, - "y": 120, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "campsite-18": { - "x": 326, - "y": 140, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "rail-metro-18": { - "x": 326, - "y": 160, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "rail-underground-18": { - "x": 326, - "y": 180, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "camera-18": { - "x": 326, - "y": 200, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "religious-christian-18": { - "x": 326, - "y": 220, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "religious-jewish-18": { - "x": 326, - "y": 240, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "cafe-18": { - "x": 326, - "y": 260, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "religious-muslim-18": { - "x": 326, - "y": 280, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "restaurant-18": { - "x": 326, - "y": 300, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "bus-18": { - "x": 0, - "y": 326, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "roadblock-18": { - "x": 20, - "y": 326, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "rocket-18": { - "x": 40, - "y": 326, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "building-18": { - "x": 60, - "y": 326, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "school-18": { - "x": 80, - "y": 326, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "scooter-18": { - "x": 100, - "y": 326, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "bicycle-18": { - "x": 120, - "y": 326, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "shop-18": { - "x": 140, - "y": 326, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "skiing-18": { - "x": 160, - "y": 326, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "beer-18": { - "x": 180, - "y": 326, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "slaughterhouse-18": { - "x": 200, - "y": 326, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "soccer-18": { - "x": 220, - "y": 326, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "basketball-18": { - "x": 240, - "y": 326, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "square-18": { - "x": 260, - "y": 326, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "square-stroked-18": { - "x": 280, - "y": 326, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "baseball-18": { - "x": 300, - "y": 326, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "star-18": { - "x": 320, - "y": 326, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "star-stroked-18": { - "x": 346, - "y": 0, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "bar-18": { - "x": 346, - "y": 20, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "suitcase-18": { - "x": 346, - "y": 40, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "swimming-18": { - "x": 346, - "y": 60, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "bank-18": { - "x": 346, - "y": 80, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "telephone-18": { - "x": 346, - "y": 100, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "tennis-18": { - "x": 346, - "y": 120, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "bakery-18": { - "x": 346, - "y": 140, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "theatre-18": { - "x": 346, - "y": 160, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "toilets-18": { - "x": 346, - "y": 180, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "art-gallery-18": { - "x": 346, - "y": 200, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "town-18": { - "x": 346, - "y": 220, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "town-hall-18": { - "x": 346, - "y": 240, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "america-football-18": { - "x": 346, - "y": 260, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "triangle-18": { - "x": 346, - "y": 280, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "triangle-stroked-18": { - "x": 346, - "y": 300, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "alcohol-shop-18": { - "x": 346, - "y": 320, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "village-18": { - "x": 0, - "y": 346, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "warehouse-18": { - "x": 20, - "y": 346, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "airport-18": { - "x": 40, - "y": 346, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "waste-basket-18": { - "x": 60, - "y": 346, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "water-18": { - "x": 80, - "y": 346, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "airfield-18": { - "x": 100, - "y": 346, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "zoo-18": { - "x": 120, - "y": 346, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "wetland-18": { - "x": 140, - "y": 346, - "width": 18, - "height": 18, - "pixelRatio": 1, - "sdf": false - }, - "cricket-12": { - "x": 270, - "y": 260, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "prison-12": { - "x": 160, - "y": 346, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "minefield-12": { - "x": 174, - "y": 346, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "cemetery-12": { - "x": 188, - "y": 346, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "rail-12": { - "x": 202, - "y": 346, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "fuel-12": { - "x": 216, - "y": 346, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "grocery-12": { - "x": 230, - "y": 346, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "rail-above-12": { - "x": 244, - "y": 346, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "mobilephone-12": { - "x": 258, - "y": 346, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "car-12": { - "x": 272, - "y": 346, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "rail-light-12": { - "x": 286, - "y": 346, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "industrial-12": { - "x": 300, - "y": 346, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "commercial-12": { - "x": 314, - "y": 346, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "rail-metro-12": { - "x": 328, - "y": 346, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "monument-12": { - "x": 342, - "y": 346, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "campsite-12": { - "x": 366, - "y": 0, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "rail-underground-12": { - "x": 366, - "y": 14, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "ferry-12": { - "x": 366, - "y": 28, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "disability-12": { - "x": 366, - "y": 42, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "religious-christian-12": { - "x": 366, - "y": 56, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "land-use-12": { - "x": 366, - "y": 70, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "camera-12": { - "x": 366, - "y": 84, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "religious-jewish-12": { - "x": 366, - "y": 98, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "emergency-telephone-12": { - "x": 366, - "y": 112, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "hairdresser-12": { - "x": 366, - "y": 126, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "religious-muslim-12": { - "x": 366, - "y": 140, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "laundry-12": { - "x": 366, - "y": 154, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "cafe-12": { - "x": 366, - "y": 168, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "restaurant-12": { - "x": 366, - "y": 182, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "fire-station-12": { - "x": 366, - "y": 196, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "danger-12": { - "x": 366, - "y": 210, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "roadblock-12": { - "x": 366, - "y": 224, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "museum-12": { - "x": 366, - "y": 238, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "bus-12": { - "x": 366, - "y": 252, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "rocket-12": { - "x": 366, - "y": 266, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "library-12": { - "x": 366, - "y": 280, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "college-12": { - "x": 366, - "y": 294, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "school-12": { - "x": 366, - "y": 308, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "music-12": { - "x": 366, - "y": 322, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "building-12": { - "x": 366, - "y": 336, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "scooter-12": { - "x": 366, - "y": 350, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "garden-12": { - "x": 0, - "y": 366, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "harbor-12": { - "x": 14, - "y": 366, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "shop-12": { - "x": 28, - "y": 366, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "oil-well-12": { - "x": 42, - "y": 366, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "bicycle-12": { - "x": 56, - "y": 366, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "skiing-12": { - "x": 70, - "y": 366, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "lighthouse-12": { - "x": 84, - "y": 366, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "clothing-store-12": { - "x": 98, - "y": 366, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "slaughterhouse-12": { - "x": 112, - "y": 366, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "park-12": { - "x": 126, - "y": 366, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "beer-12": { - "x": 140, - "y": 366, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "soccer-12": { - "x": 154, - "y": 366, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "-12": { - "x": 168, - "y": 366, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "dam-12": { - "x": 182, - "y": 366, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "square-12": { - "x": 196, - "y": 366, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "park2-12": { - "x": 210, - "y": 366, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "basketball-12": { - "x": 224, - "y": 366, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "square-stroked-12": { - "x": 238, - "y": 366, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "lodging-12": { - "x": 252, - "y": 366, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "city-12": { - "x": 266, - "y": 366, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "star-12": { - "x": 280, - "y": 366, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "parking-12": { - "x": 294, - "y": 366, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "baseball-12": { - "x": 308, - "y": 366, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "star-stroked-12": { - "x": 322, - "y": 366, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "embassy-12": { - "x": 336, - "y": 366, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "heart-12": { - "x": 350, - "y": 366, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "suitcase-12": { - "x": 364, - "y": 366, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "parking-garage-12": { - "x": 380, - "y": 0, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "bar-12": { - "x": 380, - "y": 14, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "swimming-12": { - "x": 380, - "y": 28, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "logging-12": { - "x": 380, - "y": 42, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "circle-stroked-12": { - "x": 380, - "y": 56, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "telephone-12": { - "x": 380, - "y": 70, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "pharmacy-12": { - "x": 380, - "y": 84, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "bank-12": { - "x": 380, - "y": 98, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "tennis-12": { - "x": 380, - "y": 112, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "entrance-12": { - "x": 380, - "y": 126, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "cross-12": { - "x": 380, - "y": 140, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "theatre-12": { - "x": 380, - "y": 154, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "pitch-12": { - "x": 380, - "y": 168, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "bakery-12": { - "x": 380, - "y": 182, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "toilets-12": { - "x": 380, - "y": 196, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "london-underground-12": { - "x": 380, - "y": 210, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "circle-12": { - "x": 380, - "y": 224, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "town-12": { - "x": 380, - "y": 238, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "place-of-worship-12": { - "x": 380, - "y": 252, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "art-gallery-12": { - "x": 380, - "y": 266, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "town-hall-12": { - "x": 380, - "y": 280, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "golf-12": { - "x": 380, - "y": 294, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "heliport-12": { - "x": 380, - "y": 308, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "triangle-12": { - "x": 380, - "y": 322, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "playground-12": { - "x": 380, - "y": 336, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "america-football-12": { - "x": 380, - "y": 350, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "triangle-stroked-12": { - "x": 380, - "y": 364, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "marker-12": { - "x": 0, - "y": 380, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "cinema-12": { - "x": 14, - "y": 380, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "village-12": { - "x": 28, - "y": 380, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "police-12": { - "x": 42, - "y": 380, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "alcohol-shop-12": { - "x": 56, - "y": 380, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "warehouse-12": { - "x": 70, - "y": 380, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "farm-12": { - "x": 84, - "y": 380, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "dog-park-12": { - "x": 98, - "y": 380, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "waste-basket-12": { - "x": 112, - "y": 380, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "polling-place-12": { - "x": 126, - "y": 380, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "airport-12": { - "x": 140, - "y": 380, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "water-12": { - "x": 154, - "y": 380, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "marker-stroked-12": { - "x": 168, - "y": 380, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "fast-food-12": { - "x": 182, - "y": 380, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "post-12": { - "x": 196, - "y": 380, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "wetland-12": { - "x": 210, - "y": 380, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "hospital-12": { - "x": 224, - "y": 380, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "airfield-12": { - "x": 238, - "y": 380, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "zoo-12": { - "x": 252, - "y": 380, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "chemist-12": { - "x": 266, - "y": 380, - "width": 12, - "height": 12, - "pixelRatio": 1, - "sdf": false - }, - "wave": { - "x": 280, - "y": 380, - "width": 16, - "height": 8, - "pixelRatio": 1, - "sdf": false - } -} \ No newline at end of file diff --git a/styles/bright/img/sprite.png b/styles/bright/img/sprite.png deleted file mode 100644 index 34ef6124b8..0000000000 Binary files a/styles/bright/img/sprite.png and /dev/null differ diff --git a/styles/bright/img/sprite@2x.json b/styles/bright/img/sprite@2x.json deleted file mode 100644 index b15134a6a8..0000000000 --- a/styles/bright/img/sprite@2x.json +++ /dev/null @@ -1,2818 +0,0 @@ -{ - "marker-24": { - "x": 0, - "y": 0, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "zoo-24": { - "x": 50, - "y": 0, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "-24": { - "x": 0, - "y": 50, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "wetland-24": { - "x": 50, - "y": 50, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "water-24": { - "x": 100, - "y": 0, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "airfield-24": { - "x": 100, - "y": 50, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "waste-basket-24": { - "x": 0, - "y": 100, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "warehouse-24": { - "x": 50, - "y": 100, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "airport-24": { - "x": 100, - "y": 100, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "village-24": { - "x": 150, - "y": 0, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "triangle-stroked-24": { - "x": 150, - "y": 50, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "alcohol-shop-24": { - "x": 150, - "y": 100, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "triangle-24": { - "x": 0, - "y": 150, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "town-hall-24": { - "x": 50, - "y": 150, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "america-football-24": { - "x": 100, - "y": 150, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "town-24": { - "x": 150, - "y": 150, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "toilets-24": { - "x": 200, - "y": 0, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "art-gallery-24": { - "x": 200, - "y": 50, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "theatre-24": { - "x": 200, - "y": 100, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "tennis-24": { - "x": 200, - "y": 150, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "bakery-24": { - "x": 0, - "y": 200, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "telephone-24": { - "x": 50, - "y": 200, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "swimming-24": { - "x": 100, - "y": 200, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "bank-24": { - "x": 150, - "y": 200, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "suitcase-24": { - "x": 200, - "y": 200, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "star-stroked-24": { - "x": 250, - "y": 0, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "bar-24": { - "x": 250, - "y": 50, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "star-24": { - "x": 250, - "y": 100, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "square-stroked-24": { - "x": 250, - "y": 150, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "baseball-24": { - "x": 250, - "y": 200, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "square-24": { - "x": 0, - "y": 250, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "soccer-24": { - "x": 50, - "y": 250, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "basketball-24": { - "x": 100, - "y": 250, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "slaughterhouse-24": { - "x": 150, - "y": 250, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "skiing-24": { - "x": 200, - "y": 250, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "beer-24": { - "x": 250, - "y": 250, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "shop-24": { - "x": 300, - "y": 0, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "scooter-24": { - "x": 300, - "y": 50, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "bicycle-24": { - "x": 300, - "y": 100, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "school-24": { - "x": 300, - "y": 150, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "rocket-24": { - "x": 300, - "y": 200, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "building-24": { - "x": 300, - "y": 250, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "roadblock-24": { - "x": 0, - "y": 300, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "restaurant-24": { - "x": 50, - "y": 300, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "bus-24": { - "x": 100, - "y": 300, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "religious-muslim-24": { - "x": 150, - "y": 300, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "religious-jewish-24": { - "x": 200, - "y": 300, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "cafe-24": { - "x": 250, - "y": 300, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "religious-christian-24": { - "x": 300, - "y": 300, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "rail-underground-24": { - "x": 350, - "y": 0, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "camera-24": { - "x": 350, - "y": 50, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "rail-metro-24": { - "x": 350, - "y": 100, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "rail-light-24": { - "x": 350, - "y": 150, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "campsite-24": { - "x": 350, - "y": 200, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "rail-above-24": { - "x": 350, - "y": 250, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "rail-24": { - "x": 350, - "y": 300, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "car-24": { - "x": 0, - "y": 350, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "prison-24": { - "x": 50, - "y": 350, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "post-24": { - "x": 100, - "y": 350, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "cemetery-24": { - "x": 150, - "y": 350, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "polling-place-24": { - "x": 200, - "y": 350, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "police-24": { - "x": 250, - "y": 350, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "chemist-24": { - "x": 300, - "y": 350, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "playground-24": { - "x": 350, - "y": 350, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "place-of-worship-24": { - "x": 400, - "y": 0, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "cinema-24": { - "x": 400, - "y": 50, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "pitch-24": { - "x": 400, - "y": 100, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "pharmacy-24": { - "x": 400, - "y": 150, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "circle-24": { - "x": 400, - "y": 200, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "parking-garage-24": { - "x": 400, - "y": 250, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "parking-24": { - "x": 400, - "y": 300, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "circle-stroked-24": { - "x": 400, - "y": 350, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "park2-24": { - "x": 0, - "y": 400, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "park-24": { - "x": 50, - "y": 400, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "city-24": { - "x": 100, - "y": 400, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "oil-well-24": { - "x": 150, - "y": 400, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "music-24": { - "x": 200, - "y": 400, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "clothing-store-24": { - "x": 250, - "y": 400, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "museum-24": { - "x": 300, - "y": 400, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "monument-24": { - "x": 350, - "y": 400, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "college-24": { - "x": 400, - "y": 400, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "mobilephone-24": { - "x": 450, - "y": 0, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "minefield-24": { - "x": 450, - "y": 50, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "commercial-24": { - "x": 450, - "y": 100, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "marker-stroked-24": { - "x": 450, - "y": 150, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "london-underground-24": { - "x": 450, - "y": 200, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "cricket-24": { - "x": 450, - "y": 250, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "logging-24": { - "x": 450, - "y": 300, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "lodging-24": { - "x": 450, - "y": 350, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "cross-24": { - "x": 450, - "y": 400, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "lighthouse-24": { - "x": 0, - "y": 450, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "library-24": { - "x": 50, - "y": 450, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "dam-24": { - "x": 100, - "y": 450, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "laundry-24": { - "x": 150, - "y": 450, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "land-use-24": { - "x": 200, - "y": 450, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "danger-24": { - "x": 250, - "y": 450, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "industrial-24": { - "x": 300, - "y": 450, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "hospital-24": { - "x": 350, - "y": 450, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "disability-24": { - "x": 400, - "y": 450, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "heliport-24": { - "x": 450, - "y": 450, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "heart-24": { - "x": 500, - "y": 0, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "dog-park-24": { - "x": 500, - "y": 50, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "harbor-24": { - "x": 500, - "y": 100, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "hairdresser-24": { - "x": 500, - "y": 150, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "embassy-24": { - "x": 500, - "y": 200, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "grocery-24": { - "x": 500, - "y": 250, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "golf-24": { - "x": 500, - "y": 300, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "emergency-telephone-24": { - "x": 500, - "y": 350, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "garden-24": { - "x": 500, - "y": 400, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "fuel-24": { - "x": 500, - "y": 450, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "entrance-24": { - "x": 0, - "y": 500, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "fire-station-24": { - "x": 50, - "y": 500, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "ferry-24": { - "x": 100, - "y": 500, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "farm-24": { - "x": 150, - "y": 500, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "fast-food-24": { - "x": 200, - "y": 500, - "width": 48, - "height": 48, - "pixelRatio": 2, - "sdf": false - }, - "police-18": { - "x": 250, - "y": 500, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "fast-food-18": { - "x": 288, - "y": 500, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "farm-18": { - "x": 326, - "y": 500, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "fire-station-18": { - "x": 364, - "y": 500, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "fuel-18": { - "x": 402, - "y": 500, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "entrance-18": { - "x": 440, - "y": 500, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "garden-18": { - "x": 478, - "y": 500, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "golf-18": { - "x": 550, - "y": 0, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "emergency-telephone-18": { - "x": 550, - "y": 38, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "grocery-18": { - "x": 550, - "y": 76, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "hairdresser-18": { - "x": 550, - "y": 114, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "embassy-18": { - "x": 550, - "y": 152, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "harbor-18": { - "x": 550, - "y": 190, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "heart-18": { - "x": 550, - "y": 228, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "dog-park-18": { - "x": 550, - "y": 266, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "heliport-18": { - "x": 550, - "y": 304, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "hospital-18": { - "x": 550, - "y": 342, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "disability-18": { - "x": 550, - "y": 380, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "industrial-18": { - "x": 550, - "y": 418, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "land-use-18": { - "x": 550, - "y": 456, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "danger-18": { - "x": 550, - "y": 494, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "laundry-18": { - "x": 0, - "y": 550, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "library-18": { - "x": 38, - "y": 550, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "dam-18": { - "x": 76, - "y": 550, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "lighthouse-18": { - "x": 114, - "y": 550, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "lodging-18": { - "x": 152, - "y": 550, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "cross-18": { - "x": 190, - "y": 550, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "logging-18": { - "x": 228, - "y": 550, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "london-underground-18": { - "x": 266, - "y": 550, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "cricket-18": { - "x": 304, - "y": 550, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "marker-18": { - "x": 342, - "y": 550, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "-18": { - "x": 380, - "y": 550, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "marker-stroked-18": { - "x": 418, - "y": 550, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "minefield-18": { - "x": 456, - "y": 550, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "commercial-18": { - "x": 494, - "y": 550, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "mobilephone-18": { - "x": 532, - "y": 550, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "monument-18": { - "x": 588, - "y": 0, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "college-18": { - "x": 588, - "y": 38, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "motorway_1": { - "x": 0, - "y": 588, - "width": 38, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "motorway_2": { - "x": 40, - "y": 588, - "width": 48, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "motorway_3": { - "x": 90, - "y": 588, - "width": 58, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "motorway_4": { - "x": 150, - "y": 588, - "width": 68, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "motorway_5": { - "x": 220, - "y": 588, - "width": 78, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "motorway_6": { - "x": 300, - "y": 588, - "width": 88, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "museum-18": { - "x": 588, - "y": 76, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "music-18": { - "x": 588, - "y": 114, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "clothing-store-18": { - "x": 588, - "y": 152, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "oil-well-18": { - "x": 588, - "y": 190, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "park-18": { - "x": 588, - "y": 228, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "city-18": { - "x": 588, - "y": 266, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "park2-18": { - "x": 588, - "y": 304, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "parking-18": { - "x": 588, - "y": 342, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "circle-stroked-18": { - "x": 588, - "y": 380, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "parking-garage-18": { - "x": 588, - "y": 418, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "pharmacy-18": { - "x": 588, - "y": 456, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "circle-18": { - "x": 588, - "y": 494, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "pitch-18": { - "x": 588, - "y": 532, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "place-of-worship-18": { - "x": 390, - "y": 588, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "cinema-18": { - "x": 428, - "y": 588, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "playground-18": { - "x": 466, - "y": 588, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "ferry-18": { - "x": 504, - "y": 588, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "chemist-18": { - "x": 542, - "y": 588, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "polling-place-18": { - "x": 580, - "y": 588, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "post-18": { - "x": 626, - "y": 0, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "cemetery-18": { - "x": 626, - "y": 38, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "prison-18": { - "x": 626, - "y": 76, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "rail-18": { - "x": 626, - "y": 114, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "car-18": { - "x": 626, - "y": 152, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "rail-above-18": { - "x": 626, - "y": 190, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "rail-light-18": { - "x": 626, - "y": 228, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "campsite-18": { - "x": 626, - "y": 266, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "rail-metro-18": { - "x": 626, - "y": 304, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "rail-underground-18": { - "x": 626, - "y": 342, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "camera-18": { - "x": 626, - "y": 380, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "religious-christian-18": { - "x": 626, - "y": 418, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "religious-jewish-18": { - "x": 626, - "y": 456, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "cafe-18": { - "x": 626, - "y": 494, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "religious-muslim-18": { - "x": 626, - "y": 532, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "restaurant-18": { - "x": 626, - "y": 570, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "bus-18": { - "x": 0, - "y": 626, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "roadblock-18": { - "x": 38, - "y": 626, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "rocket-18": { - "x": 76, - "y": 626, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "building-18": { - "x": 114, - "y": 626, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "school-18": { - "x": 152, - "y": 626, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "scooter-18": { - "x": 190, - "y": 626, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "bicycle-18": { - "x": 228, - "y": 626, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "shop-18": { - "x": 266, - "y": 626, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "skiing-18": { - "x": 304, - "y": 626, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "beer-18": { - "x": 342, - "y": 626, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "slaughterhouse-18": { - "x": 380, - "y": 626, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "soccer-18": { - "x": 418, - "y": 626, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "basketball-18": { - "x": 456, - "y": 626, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "square-18": { - "x": 494, - "y": 626, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "square-stroked-18": { - "x": 532, - "y": 626, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "baseball-18": { - "x": 570, - "y": 626, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "star-18": { - "x": 608, - "y": 626, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "star-stroked-18": { - "x": 664, - "y": 0, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "bar-18": { - "x": 664, - "y": 38, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "suitcase-18": { - "x": 664, - "y": 76, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "swimming-18": { - "x": 664, - "y": 114, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "bank-18": { - "x": 664, - "y": 152, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "telephone-18": { - "x": 664, - "y": 190, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "tennis-18": { - "x": 664, - "y": 228, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "bakery-18": { - "x": 664, - "y": 266, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "theatre-18": { - "x": 664, - "y": 304, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "toilets-18": { - "x": 664, - "y": 342, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "art-gallery-18": { - "x": 664, - "y": 380, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "town-18": { - "x": 664, - "y": 418, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "town-hall-18": { - "x": 664, - "y": 456, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "america-football-18": { - "x": 664, - "y": 494, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "triangle-18": { - "x": 664, - "y": 532, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "triangle-stroked-18": { - "x": 664, - "y": 570, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "alcohol-shop-18": { - "x": 664, - "y": 608, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "village-18": { - "x": 0, - "y": 664, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "warehouse-18": { - "x": 38, - "y": 664, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "airport-18": { - "x": 76, - "y": 664, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "waste-basket-18": { - "x": 114, - "y": 664, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "water-18": { - "x": 152, - "y": 664, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "airfield-18": { - "x": 190, - "y": 664, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "zoo-18": { - "x": 228, - "y": 664, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "wetland-18": { - "x": 266, - "y": 664, - "width": 36, - "height": 36, - "pixelRatio": 2, - "sdf": false - }, - "cricket-12": { - "x": 516, - "y": 500, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "prison-12": { - "x": 304, - "y": 664, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "minefield-12": { - "x": 330, - "y": 664, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "cemetery-12": { - "x": 356, - "y": 664, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "rail-12": { - "x": 382, - "y": 664, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "fuel-12": { - "x": 408, - "y": 664, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "grocery-12": { - "x": 434, - "y": 664, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "rail-above-12": { - "x": 460, - "y": 664, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "mobilephone-12": { - "x": 486, - "y": 664, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "car-12": { - "x": 512, - "y": 664, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "rail-light-12": { - "x": 538, - "y": 664, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "industrial-12": { - "x": 564, - "y": 664, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "commercial-12": { - "x": 590, - "y": 664, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "rail-metro-12": { - "x": 616, - "y": 664, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "monument-12": { - "x": 642, - "y": 664, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "campsite-12": { - "x": 668, - "y": 664, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "rail-underground-12": { - "x": 702, - "y": 0, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "ferry-12": { - "x": 702, - "y": 26, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "disability-12": { - "x": 702, - "y": 52, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "religious-christian-12": { - "x": 702, - "y": 78, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "land-use-12": { - "x": 702, - "y": 104, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "camera-12": { - "x": 702, - "y": 130, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "religious-jewish-12": { - "x": 702, - "y": 156, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "emergency-telephone-12": { - "x": 702, - "y": 182, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "hairdresser-12": { - "x": 702, - "y": 208, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "religious-muslim-12": { - "x": 702, - "y": 234, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "laundry-12": { - "x": 702, - "y": 260, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "cafe-12": { - "x": 702, - "y": 286, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "restaurant-12": { - "x": 702, - "y": 312, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "fire-station-12": { - "x": 702, - "y": 338, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "danger-12": { - "x": 702, - "y": 364, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "roadblock-12": { - "x": 702, - "y": 390, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "museum-12": { - "x": 702, - "y": 416, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "bus-12": { - "x": 702, - "y": 442, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "rocket-12": { - "x": 702, - "y": 468, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "library-12": { - "x": 702, - "y": 494, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "college-12": { - "x": 702, - "y": 520, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "school-12": { - "x": 702, - "y": 546, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "music-12": { - "x": 702, - "y": 572, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "building-12": { - "x": 702, - "y": 598, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "scooter-12": { - "x": 702, - "y": 624, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "garden-12": { - "x": 702, - "y": 650, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "harbor-12": { - "x": 702, - "y": 676, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "shop-12": { - "x": 0, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "oil-well-12": { - "x": 26, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "bicycle-12": { - "x": 52, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "skiing-12": { - "x": 78, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "lighthouse-12": { - "x": 104, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "clothing-store-12": { - "x": 130, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "slaughterhouse-12": { - "x": 156, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "park-12": { - "x": 182, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "beer-12": { - "x": 208, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "soccer-12": { - "x": 234, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "-12": { - "x": 260, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "dam-12": { - "x": 286, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "square-12": { - "x": 312, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "park2-12": { - "x": 338, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "basketball-12": { - "x": 364, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "square-stroked-12": { - "x": 390, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "lodging-12": { - "x": 416, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "city-12": { - "x": 442, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "star-12": { - "x": 468, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "parking-12": { - "x": 494, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "baseball-12": { - "x": 520, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "star-stroked-12": { - "x": 546, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "embassy-12": { - "x": 572, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "heart-12": { - "x": 598, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "suitcase-12": { - "x": 624, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "parking-garage-12": { - "x": 650, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "bar-12": { - "x": 676, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "swimming-12": { - "x": 702, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "logging-12": { - "x": 728, - "y": 0, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "circle-stroked-12": { - "x": 728, - "y": 26, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "telephone-12": { - "x": 728, - "y": 52, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "pharmacy-12": { - "x": 728, - "y": 78, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "bank-12": { - "x": 728, - "y": 104, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "tennis-12": { - "x": 728, - "y": 130, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "entrance-12": { - "x": 728, - "y": 156, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "cross-12": { - "x": 728, - "y": 182, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "theatre-12": { - "x": 728, - "y": 208, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "pitch-12": { - "x": 728, - "y": 234, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "bakery-12": { - "x": 728, - "y": 260, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "toilets-12": { - "x": 728, - "y": 286, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "london-underground-12": { - "x": 728, - "y": 312, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "circle-12": { - "x": 728, - "y": 338, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "town-12": { - "x": 728, - "y": 364, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "place-of-worship-12": { - "x": 728, - "y": 390, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "art-gallery-12": { - "x": 728, - "y": 416, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "town-hall-12": { - "x": 728, - "y": 442, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "golf-12": { - "x": 728, - "y": 468, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "heliport-12": { - "x": 728, - "y": 494, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "triangle-12": { - "x": 728, - "y": 520, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "playground-12": { - "x": 728, - "y": 546, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "america-football-12": { - "x": 728, - "y": 572, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "triangle-stroked-12": { - "x": 728, - "y": 598, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "marker-12": { - "x": 728, - "y": 624, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "cinema-12": { - "x": 728, - "y": 650, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "village-12": { - "x": 728, - "y": 676, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "police-12": { - "x": 728, - "y": 702, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "alcohol-shop-12": { - "x": 0, - "y": 728, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "warehouse-12": { - "x": 26, - "y": 728, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "farm-12": { - "x": 52, - "y": 728, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "dog-park-12": { - "x": 78, - "y": 728, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "waste-basket-12": { - "x": 104, - "y": 728, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "polling-place-12": { - "x": 130, - "y": 728, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "airport-12": { - "x": 156, - "y": 728, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "water-12": { - "x": 182, - "y": 728, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "marker-stroked-12": { - "x": 208, - "y": 728, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "fast-food-12": { - "x": 234, - "y": 728, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "post-12": { - "x": 260, - "y": 728, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "wetland-12": { - "x": 286, - "y": 728, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "hospital-12": { - "x": 312, - "y": 728, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "airfield-12": { - "x": 338, - "y": 728, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "zoo-12": { - "x": 364, - "y": 728, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "chemist-12": { - "x": 390, - "y": 728, - "width": 24, - "height": 24, - "pixelRatio": 2, - "sdf": false - }, - "wave": { - "x": 664, - "y": 646, - "width": 32, - "height": 16, - "pixelRatio": 2, - "sdf": false - } -} \ No newline at end of file diff --git a/styles/bright/img/sprite@2x.png b/styles/bright/img/sprite@2x.png deleted file mode 100644 index ef7c1f45d1..0000000000 Binary files a/styles/bright/img/sprite@2x.png and /dev/null differ diff --git a/styles/bright/style.json b/styles/bright/style.json deleted file mode 100644 index 917244648c..0000000000 --- a/styles/bright/style.json +++ /dev/null @@ -1,1335 +0,0 @@ -{ - "version": 4, - "sprite": "img/sprite", - "glyphs": "mapbox://fontstack/{fontstack}/{range}.pbf", - "constants": { - "@name": "{name_en}", - "@sans": "Open Sans Regular, Arial Unicode MS Regular", - "@sans_it": "Open Sans Italic, Arial Unicode MS Regular", - "@sans_md": "Open Sans Semibold, Arial Unicode MS Bold", - "@sans_bd": "Open Sans Bold, Arial Unicode MS Bold", - "@land": "#f8f4f0", - "@water": "#a0c8f0", - "@admin": "#446", - "@admin-opacity": 0.5, - "@park": "#d8e8c8", - "@cemetary": "#e0e4dd", - "@hospital": "#fde", - "@school": "#f0e8f8", - "@wood": "#6a4", - "@building": "#f2eae2", - "@building_shadow": "#dfdbd7", - "@building_color_transition": { - "base": 1, - "stops": [[15.5, "#f2eae2"], [16, "#dfdbd7"]] - }, - "@building_opacity": {"base": 1, "stops": [[15, 0], [16, 1]]}, - "@aeroway": "#f0ede9", - "@motorway": "#fc8", - "@motorway_casing": "#e9ac77", - "@motorway_tunnel": "#ffdaa6", - "@main": "#fea", - "@main_tunnel": "#fff4c6", - "@street": "#fff", - "@street_limited": "#f3f3f3", - "@street_casing": "#cfcdca", - "@path": "#cba", - "@rail": "#bbb", - "@text": "#334", - "@text_halo": "rgba(255,255,255,0.8)", - "@marine_text": "#74aee9", - "@marine_text_halo": "rgba(255,255,255,0.7)", - "@poi_text": "#666", - "@poi_text_halo": "#ffffff", - "@maki": "#666", - "@point_translate": [0, -30], - "@tunnel_line_dasharray": [{ - "base": 1.5, "stops": [[12, 6], [20, 9]] - }, { - "base": 1.5, "stops": [[12, 2], [20, 3]] - }], - "@motorway_width": {"base": 1.2, "stops": [[6.5, 0], [7, 0.5], [20, 18]]}, - "@motorway_casing_width": {"base": 1.2, "stops": [[5, 0.4], [6, 0.6], [7, 1.5], [20, 22]]}, - "@motorway_link_width": {"base": 1.2, "stops": [[12.5, 0], [13, 1.5], [20, 10]]}, - "@motorway_link_casing_width": {"base": 1.2, "stops": [[12, 1], [13, 3], [20, 13]]}, - "@main_width": {"base": 1.2, "stops": [[6.5, 0], [7, 0.5], [20, 14]]}, - "@main_casing_width": {"base": 1.2, "stops": [[5, 0.1], [6, 0.2], [7, 1.5], [20, 18]]}, - "@street_width": {"base": 1.2, "stops": [[13.5, 0], [14, 2.5], [20, 11.5]]}, - "@street_casing_width": {"base": 1.2, "stops": [[12, 0.5], [13, 1], [14, 4], [20, 15]]}, - "@street_casing_opacity": {"stops": [[12, 0], [12.5, 1]]}, - "@service_casing_width": {"base": 1.2, "stops": [[15, 1], [16, 4], [20, 11]]}, - "@service_width": {"base": 1.2, "stops": [[15.5, 0], [16, 2], [20, 7.5]]}, - "@path_width": {"base": 1.2, "stops": [[15, 1.2], [20, 4]]}, - "@path_line_dasharray": [{ - "base": 1.2, "stops": [[15, 2], [20, 4]] - },{ - "base": 1.2, "stops": [[15, 1], [20, 2]] - }], - "@rail_width": {"base": 1.4, "stops": [[14, 0.4], [15, 0.75], [20, 2]]}, - "@rail_hatch_width": {"base": 1.4, "stops": [[14.5, 0], [15, 3], [20, 8]]}, - "@rail_hatch_line_dasharray": [2, 30], - "@admin_level_3_width": { - "base": 1, - "stops": [[4, 0.4], [5, 1], [12, 3]] - }, - "@admin_level_2_width": { - "base": 1, - "stops": [[4, 1.4], [5, 2], [12, 8]] - } - }, - "sources": { - "mapbox": { - "type": "vector", - "url": "mapbox://mapbox.mapbox-streets-v6-dev", - "maxZoom": 15 - } - }, - "layers": [{ - "id": "background", - "style": { - "background-color": "@land" - }, - "type": "background" - }, { - "id": "landuse_park", - "source": "mapbox", - "source-layer": "landuse", - "filter": { "class": "park" }, - "style": { - "fill-color": "@park" - }, - "type": "fill" - }, { - "id": "landuse_cemetary", - "source": "mapbox", - "source-layer": "landuse", - "filter": { "class": "cemetary" }, - "style": { - "fill-color": "@cemetary" - }, - "type": "fill" - }, { - "id": "landuse_hospital", - "source": "mapbox", - "source-layer": "landuse", - "filter": { "class": "hospital" }, - "style": { - "fill-color": "@hospital" - }, - "type": "fill" - }, { - "id": "landuse_school", - "source": "mapbox", - "source-layer": "landuse", - "filter": { "class": "school" }, - "style": { - "fill-color": "@school" - }, - "type": "fill" - }, { - "id": "landuse_wood", - "source": "mapbox", - "source-layer": "landuse", - "filter": { "class": "wood" }, - "style": { - "fill-color": "@wood", - "fill-opacity": 0.1 - }, - "type": "fill" - }, { - "id": "waterway", - "source": "mapbox", - "source-layer": "waterway", - "filter": { - "class": { - "!=": ["river", "stream", "canal"] - } - }, - "render": { - "line-cap": "round" - }, - "style": { - "line-color": "@water", - "line-width": { - "base": 1.3, - "stops": [[13, 0.5], [20, 2]] - } - }, - "type": "line" - }, { - "id": "waterway_river", - "source": "mapbox", - "source-layer": "waterway", - "filter": { "class": "river" }, - "render": { - "line-cap": "round" - }, - "style": { - "line-color": "@water", - "line-width": { - "base": 1.2, - "stops": [[11, 0.5], [20, 6]] - } - }, - "type": "line" - }, { - "id": "waterway_stream_canal", - "source": "mapbox", - "source-layer": "waterway", - "filter": { "class": ["stream", "canal"] }, - "render": { - "line-cap": "round" - }, - "style": { - "line-color": "@water", - "line-width": { - "base": 1.3, - "stops": [[13, 0.5], [20, 6]] - } - }, - "type": "line" - }, { - "id": "water", - "source": "mapbox", - "source-layer": "water", - "style": { - "fill-color": "@water" - }, - "type": "fill" - }, { - "id": "water_offset", - "source": "mapbox", - "source-layer": "water", - "type": "fill", - "style": { - "fill-color": "white", - "fill-opacity": 0.3, - "fill-translate": [0, 2.5] - } - }, { - "id": "water_pattern", - "ref": "water", - "style": { - "fill-image": "wave", - "fill-translate": [0, 2.5] - } - }, { - "id": "aeroway_fill", - "source": "mapbox", - "source-layer": "aeroway", - "min-zoom": 11, - "filter": { - "$type": "Polygon" - }, - "style": { - "fill-color": "@aeroway", - "fill-opacity": 0.7 - }, - "type": "fill" - }, { - "id": "aeroway_runway", - "source": "mapbox", - "source-layer": "aeroway", - "min-zoom": 11, - "filter": { - "$type": "LineString", - "type": "runway" }, - "style": { - "line-color": "@aeroway", - "line-width": { - "base": 1.2, - "stops": [[11, 3], [20, 16]] - } - }, - "type": "line" - }, { - "id": "aeroway_taxiway", - "source": "mapbox", - "source-layer": "aeroway", - "min-zoom": 11, - "filter": { - "$type": "LineString", - "type": "taxiway" }, - "style": { - "line-color": "@aeroway", - "line-width": { - "base": 1.2, - "stops": [[11, 0.5], [20, 6]] - } - }, - "type": "line" - }, { - "id": "building", - "source": "mapbox", - "source-layer": "building", - "style": { - "fill-color": "@building_color_transition" - }, - "type": "fill" - }, { - "id": "building_top", - "ref": "building", - "style": { - "fill-color": "@building", - "fill-opacity": "@building_opacity", - "fill-translate": [{ - "base": 1, - "stops": [[15, 0], [16, -2] ] - }, { - "base": 1, - "stops": [[15, 0], [16, -2] ] - }], - "fill-outline-color": "@building_shadow" - } - }, { - "id": "tunnel_motorway_link_casing", - "source": "mapbox", - "source-layer": "tunnel", - "filter": { "class": "motorway_link" }, - "render": { - "line-cap": "round", - "line-join": "round" - }, - "style": { - "line-color": "@motorway_casing", - "line-dasharray": "@tunnel_line_dasharray", - "line-width": "@motorway_link_casing_width" - }, - "type": "line" - }, { - "id": "tunnel_service_casing", - "source": "mapbox", - "source-layer": "tunnel", - "filter": { "class": "service" }, - "render": { - "line-cap": "round", - "line-join": "round" - }, - "style": { - "line-color": "@street_casing", - "line-dasharray": "@tunnel_line_dasharray", - "line-width": "@service_casing_width" - }, - "type": "line" - }, { - "id": "tunnel_street_casing", - "source": "mapbox", - "source-layer": "tunnel", - "filter": { "class": ["street", "street_limited"] }, - "render": { - "line-join": "round" - }, - "style": { - "line-color": "@street_casing", - "line-dasharray": [7, 2], - "line-width": "@street_casing_width", - "line-opacity": "@street_casing_opacity" - }, - "type": "line" - }, { - "id": "tunnel_main_casing", - "source": "mapbox", - "source-layer": "tunnel", - "filter": { "class": "main" }, - "render": { - "line-cap": "round", - "line-join": "round" - }, - "style": { - "line-color": "@motorway_casing", - "line-dasharray": "@tunnel_line_dasharray", - "line-width": "@main_casing_width" - }, - "type": "line" - }, { - "id": "tunnel_motorway_casing", - "source": "mapbox", - "source-layer": "tunnel", - "filter": { "class": "motorway" }, - "render": { - "line-cap": "round", - "line-join": "round" - }, - "style": { - "line-color": "@motorway_casing", - "line-dasharray": "@tunnel_line_dasharray", - "line-width": "@motorway_casing_width" - }, - "type": "line" - }, { - "id": "tunnel_path", - "source": "mapbox", - "source-layer": "tunnel", - "filter": { "class": "path" }, - "type": "line", - "style": { - "line-color": "@path", - "line-dasharray": "@path_line_dasharray", - "line-width": "@path_width" - } - }, { - "id": "tunnel_motorway_link", - "ref": "tunnel_motorway_link_casing", - "style": { - "line-color": "@motorway", - "line-width": "@motorway_link_width" - } - }, { - "id": "tunnel_service", - "ref": "tunnel_service_casing", - "style": { - "line-color": "@street", - "line-width": "@service_width" - } - }, { - "id": "tunnel_street", - "ref": "tunnel_street_casing", - "style": { - "line-color": "@street", - "line-width": "@street_width" - } - }, { - "id": "tunnel_main", - "ref": "tunnel_main_casing", - "style": { - "line-color": "@main_tunnel", - "line-width": "@main_width" - } - }, { - "id": "tunnel_motorway", - "ref": "tunnel_motorway_casing", - "style": { - "line-color": "@motorway_tunnel", - "line-width": "@motorway_width" - } - }, { - "id": "tunnel_major_rail", - "source": "mapbox", - "source-layer": "tunnel", - "filter": { "class": "major_rail" }, - "style": { - "line-color": "@rail", - "line-width": "@rail_width" - }, - "type": "line" - }, { - "id": "tunnel_major_rail_hatching", - "ref": "tunnel_major_rail", - "style": { - "line-color": "@rail", - "line-dasharray": "@rail_hatch_line_dasharray", - "line-width": "@rail_hatch_width" - } - }, { - "id": "road_motorway_link_casing", - "source": "mapbox", - "source-layer": "road", - "min-zoom": 12, - "filter": { "class": "motorway_link" }, - "render": { - "line-cap": "round", - "line-join": "round" - }, - "style": { - "line-color": "@motorway_casing", - "line-width": "@motorway_link_casing_width" - }, - "type": "line" - }, { - "id": "road_service_casing", - "source": "mapbox", - "source-layer": "road", - "filter": { "class": "service" }, - "render": { - "line-cap": "round", - "line-join": "round" - }, - "style": { - "line-color": "@street_casing", - "line-width": "@service_casing_width" - }, - "type": "line" - }, { - "id": "road_street_casing", - "source": "mapbox", - "source-layer": "road", - "filter": { "class": ["street", "street_limited"], "$type": "LineString" }, - "render": { - "line-cap": "round", - "line-join": "round" - }, - "style": { - "line-color": "@street_casing", - "line-width": "@street_casing_width", - "line-opacity": "@street_casing_opacity" - }, - "type": "line" - }, { - "id": "road_main_casing", - "source": "mapbox", - "source-layer": "road", - "filter": { "class": "main" }, - "render": { - "line-cap": "round", - "line-join": "round" - }, - "style": { - "line-color": "@motorway_casing", - "line-width": "@main_casing_width" - }, - "type": "line" - }, { - "id": "road_motorway_casing", - "source": "mapbox", - "source-layer": "road", - "min-zoom": 5, - "filter": { "class": "motorway" }, - "render": { - "line-cap": "round", - "line-join": "round" - }, - "style": { - "line-color": "@motorway_casing", - "line-width": "@motorway_casing_width" - }, - "type": "line" - }, { - "id": "road_path", - "source": "mapbox", - "source-layer": "road", - "filter": { "class": "path" }, - "style": { - "line-color": "@path", - "line-dasharray": "@path_line_dasharray", - "line-width": "@path_width" - }, - "type": "line" - }, { - "id": "road_motorway_link", - "ref": "road_motorway_link_casing", - "style": { - "line-color": "@motorway", - "line-width": "@motorway_link_width" - } - }, { - "id": "road_service", - "ref": "road_service_casing", - "style": { - "line-color": "@street", - "line-width": "@service_width" - } - }, { - "id": "road_street", - "ref": "road_street_casing", - "style": { - "line-color": "@street", - "line-width": "@street_width" - } - }, { - "id": "road_main", - "ref": "road_main_casing", - "style": { - "line-color": "@main", - "line-width": "@main_width" - } - }, { - "id": "road_motorway", - "ref": "road_motorway_casing", - "style": { - "line-color": "@motorway", - "line-width": "@motorway_width" - }, - "type": "line" - }, { - "id": "road_major_rail", - "source": "mapbox", - "source-layer": "road", - "filter": { "class": "major_rail" }, - "style": { - "line-color": "@rail", - "line-width": "@rail_width" - }, - "type": "line" - }, { - "id": "road_major_rail_hatching", - "ref": "road_major_rail", - "style": { - "line-color": "@rail", - "line-dasharray": "@rail_hatch_line_dasharray", - "line-width": "@rail_hatch_width" - } - }, { - "id": "bridge_motorway_link_casing", - "source": "mapbox", - "source-layer": "bridge", - "filter": { "class": "motorway_link" }, - "render": { - "line-join": "round" - }, - "style": { - "line-color": "@motorway_casing", - "line-width": "@motorway_link_casing_width" - }, - "type": "line" - }, { - "id": "bridge_motorway_casing", - "source": "mapbox", - "source-layer": "bridge", - "filter": { "class": "motorway" }, - "render": { - "line-join": "round" - }, - "style": { - "line-color": "@motorway_casing", - "line-width": "@motorway_casing_width" - }, - "type": "line" - }, { - "id": "bridge_service_casing", - "source": "mapbox", - "source-layer": "bridge", - "filter": { "class": "service" }, - "render": { - "line-join": "round" - }, - "style": { - "line-color": "@street_casing", - "line-width": "@service_casing_width" - }, - "type": "line" - }, { - "id": "bridge_street_casing", - "source": "mapbox", - "source-layer": "bridge", - "filter": { "class": ["street", "street_limited"] }, - "render": { - "line-join": "round" - }, - "style": { - "line-color": "@street_casing", - "line-width": "@street_casing_width", - "line-opacity": "@street_casing_opacity" - }, - "type": "line" - }, { - "id": "bridge_main_casing", - "source": "mapbox", - "source-layer": "bridge", - "filter": { "class": "main" }, - "render": { - "line-join": "round" - }, - "style": { - "line-color": "@motorway_casing", - "line-width": "@main_casing_width" - }, - "type": "line" - }, { - "id": "bridge_path", - "source": "mapbox", - "source-layer": "bridge", - "filter": { "class": "path" }, - "style": { - "line-color": "@path", - "line-dasharray": "@path_line_dasharray", - "line-width": "@path_width" - }, - "type": "line" - }, { - "id": "bridge_motorway_link", - "ref": "bridge_motorway_link_casing", - "style": { - "line-color": "@motorway", - "line-width": "@motorway_link_width" - } - }, { - "id": "bridge_service", - "ref": "bridge_service_casing", - "style": { - "line-color": "@street", - "line-width": "@service_width" - } - }, { - "id": "bridge_street", - "ref": "bridge_street_casing", - "style": { - "line-color": "@street", - "line-width": "@street_width" - } - }, { - "id": "bridge_main", - "ref": "bridge_main_casing", - "style": { - "line-color": "@main", - "line-width": "@main_width" - } - }, { - "id": "bridge_motorway", - "ref": "bridge_motorway_casing", - "style": { - "line-color": "@motorway", - "line-width": "@motorway_width" - } - }, { - "id": "bridge_major_rail", - "source": "mapbox", - "source-layer": "bridge", - "filter": { "class": "major_rail" }, - "style": { - "line-color": "@rail", - "line-width": "@rail_width" - }, - "type": "line" - }, { - "id": "bridge_major_rail_hatching", - "ref": "bridge_major_rail", - "style": { - "line-color": "@rail", - "line-dasharray": "@rail_hatch_line_dasharray", - "line-width": "@rail_hatch_width" - } - }, { - "id": "admin_level_3", - "source": "mapbox", - "source-layer": "admin", - "filter": { - "admin_level": {">=": 3}, - "maritime": 0 - }, - "render": { - "line-join": "round" - }, - "style": { - "line-color": "@admin", - "line-opacity": "@admin-opacity", - "line-dasharray": [10, 3], - "line-width": "@admin_level_3_width" - }, - "type": "line" - }, { - "id": "admin_level_2", - "source": "mapbox", - "source-layer": "admin", - "filter": { - "admin_level": 2, - "disputed": 0, - "maritime": 0 - }, - "render": { - "line-cap": "round" - }, - "style": { - "line-color": "@admin", - "line-opacity": "@admin-opacity", - "line-width": "@admin_level_2_width" - }, - "type": "line" - }, { - "id": "admin_level_2_disputed", - "source": "mapbox", - "source-layer": "admin", - "filter": { - "admin_level": 2, - "disputed": 1, - "maritime": 0 - }, - "render": { - "line-cap": "round" - }, - "style": { - "line-color": "@admin", - "line-opacity": "@admin-opacity", - "line-dasharray": [4, 4], - "line-width": "@admin_level_2_width" - }, - "type": "line" - }, { - "id": "admin_level_3_maritime", - "source": "mapbox", - "source-layer": "admin", - "filter": { - "admin_level": {">=": 3}, - "maritime": 1 - }, - "render": { - "line-join": "round" - }, - "style": { - "line-color": "@water", - "line-opacity": "@admin-opacity", - "line-dasharray": [10, 3], - "line-width": "@admin_level_3_width" - }, - "type": "line" - }, { - "id": "admin_level_2_maritime", - "source": "mapbox", - "source-layer": "admin", - "filter": { - "admin_level": 2, - "maritime": 1 - }, - "render": { - "line-cap": "round" - }, - "style": { - "line-color": "@water", - "line-opacity": "@admin-opacity", - "line-width": "@admin_level_2_width" - }, - "type": "line" - }, { - "id": "country_label_line", - "source": "mapbox", - "source-layer": "country_label_line", - "style": { - "line-color": "@text", - "line-opacity": 0.5 - }, - "type": "line" - }, { - "id": "country_label_1", - "source": "mapbox", - "source-layer": "country_label", - "filter": { - "scalerank": 1 - }, - "render": { - "text-font": "@sans_bd", - "text-field": "@name", - "text-max-width": 6.25, - "text-transform": "uppercase", - "text-max-size": 17 - }, - "style": { - "text-color": "@text", - "text-halo-color": "@text_halo", - "text-halo-width": 2, - "text-halo-blur": 1, - "text-size": { - "stops": [[2, 13], [4, 17]] - } - }, - "type": "symbol" - }, { - "id": "country_label_2", - "source": "mapbox", - "source-layer": "country_label", - "filter": { - "scalerank": 2 - }, - "render": { - "text-font": "@sans_bd", - "text-field": "{name_en}", - "text-max-width": 6.25, - "text-transform": "uppercase", - "text-max-size": 17 - }, - "style": { - "text-color": "@text", - "text-halo-color": "@text_halo", - "text-halo-width": 2, - "text-halo-blur": 1, - "text-size": { - "stops": [[3, 13], [5, 17]] - } - }, - "type": "symbol" - }, { - "id": "country_label_3", - "source": "mapbox", - "source-layer": "country_label", - "filter": { - "scalerank": 3 - }, - "render": { - "text-font": "@sans_bd", - "text-field": "@name", - "text-max-width": 6.25, - "text-transform": "uppercase", - "text-max-size": 17 - }, - "style": { - "text-color": "@text", - "text-halo-color": "@text_halo", - "text-halo-width": 2, - "text-halo-blur": 1, - "text-size": { - "stops": [[4, 13], [7, 17]] - } - }, - "type": "symbol" - }, { - "id": "country_label_4", - "source": "mapbox", - "source-layer": "country_label", - "filter": { - "scalerank": {">=": 4} - }, - "render": { - "text-font": "@sans_bd", - "text-field": "@name", - "text-max-width": 6.25, - "text-transform": "uppercase", - "text-max-size": 15 - }, - "style": { - "text-color": "@text", - "text-halo-color": "@text_halo", - "text-halo-width": 2, - "text-halo-blur": 1, - "text-size": { - "stops": [[5, 13], [6, 15]] - } - }, - "type": "symbol" - }, { - "id": "marine_label_point_1", - "source": "mapbox", - "source-layer": "marine_label", - "filter": {"labelrank": 1, "$type": "Point"}, - "render": { - "text-font": "@sans_it", - "text-field": "@name", - "text-max-size": 22, - "text-max-width": 5, - "text-letter-spacing": 0.2, - "text-line-height": 1.6, - "symbol-placement": "point", - "text-offset": [0, 2.4] - }, - "style": { - "text-color": "@marine_text", - "text-halo-color": "@marine_text_halo", - "text-halo-width": 0.75, - "text-halo-blur": 0.75, - "text-size": { - "stops": [[3, 18], [4, 22]] - } - }, - "type": "symbol" - }, { - "id": "marine_label_line_1", - "source": "mapbox", - "source-layer": "marine_label", - "filter": {"labelrank": 1, "$type": "LineString"}, - "render": { - "text-font": "@sans_it", - "text-field": "@name", - "text-max-size": 14, - "text-letter-spacing": 0.2, - "symbol-placement": "line" - }, - "style": { - "text-color": "@marine_text", - "text-halo-color": "@marine_text_halo", - "text-halo-width": 0.75, - "text-halo-blur": 0.75, - "text-size": { - "stops": [[3, 18], [4, 22]] - } - }, - "type": "symbol" - }, { - "id": "marine_label_point_2", - "source": "mapbox", - "source-layer": "marine_label", - "filter": {"labelrank": 2, "$type": "Point"}, - "render": { - "text-font": "@sans_it", - "text-field": "@name", - "text-max-size": 16, - "text-max-width": 5, - "text-letter-spacing": 0.2, - "symbol-placement": "point" - }, - "style": { - "text-color": "@marine_text", - "text-halo-color": "@marine_text_halo", - "text-halo-width": 0.75, - "text-halo-blur": 0.75, - "text-size": { - "stops": [[3, 14], [4, 16]] - } - }, - "type": "symbol" - }, { - "id": "marine_label_line_2", - "source": "mapbox", - "source-layer": "marine_label", - "filter": {"labelrank": 2, "$type": "LineString"}, - "render": { - "text-font": "@sans_it", - "text-field": "@name", - "text-max-size": 16, - "text-letter-spacing": 0.2, - "symbol-placement": "line" - }, - "style": { - "text-color": "@marine_text", - "text-halo-color": "@marine_text_halo", - "text-halo-width": 0.75, - "text-halo-blur": 0.75, - "text-size": { - "stops": [[3, 14], [4, 16]] - } - }, - "type": "symbol" - }, { - "id": "marine_label_3", - "source": "mapbox", - "source-layer": "marine_label", - "filter": {"labelrank": 3, "$type": "Point"}, - "render": { - "text-font": "@sans_it", - "text-field": "@name", - "text-max-size": 14, - "text-max-width": 5, - "text-letter-spacing": 0.2, - "symbol-placement": "point" - }, - "style": { - "text-color": "@marine_text", - "text-halo-color": "@marine_text_halo", - "text-halo-width": 0.75, - "text-halo-blur": 0.75, - "text-size": { - "stops": [[3, 11], [4, 14]] - } - }, - "type": "symbol" - }, { - "id": "marine_label_line_3", - "source": "mapbox", - "source-layer": "marine_label", - "filter": {"labelrank": 3, "$type": "LineString"}, - "render": { - "text-font": "@sans_it", - "text-field": "@name", - "text-max-size": 14, - "text-letter-spacing": 0.2, - "symbol-placement": "line" - }, - "style": { - "text-color": "@marine_text", - "text-halo-color": "@marine_text_halo", - "text-halo-width": 0.75, - "text-halo-blur": 0.75, - "text-size": { - "stops": [[3, 11], [4, 14]] - } - }, - "type": "symbol" - }, { - "id": "marine_label_4", - "source": "mapbox", - "source-layer": "marine_label", - "filter": {"labelrank": {">=": 4}, "$type": "Point"}, - "render": { - "text-font": "@sans_it", - "text-field": "@name", - "text-max-size": 12, - "text-max-width": 6, - "text-letter-spacing": 0.2, - "symbol-placement": "point" - }, - "style": { - "text-color": "@marine_text", - "text-halo-color": "@marine_text_halo", - "text-halo-width": 0.75, - "text-halo-blur": 0.75, - "text-size": { - "stops": [[3, 11], [4, 12]] - } - }, - "type": "symbol" - }, { - "id": "marine_label_line_4", - "source": "mapbox", - "source-layer": "marine_label", - "filter": {"labelrank": {">=": 4}, "$type": "LineString"}, - "render": { - "text-font": "@sans_it", - "text-field": "@name", - "text-max-size": 12, - "text-letter-spacing": 0.2, - "symbol-placement": "line" - }, - "style": { - "text-color": "@marine_text", - "text-halo-color": "@marine_text_halo", - "text-halo-width": 0.75, - "text-halo-blur": 0.75, - "text-size": { - "stops": [[3, 11], [4, 12]] - } - }, - "type": "symbol" - }, { - "id": "place_label_city", - "source": "mapbox", - "source-layer": "place_label", - "filter": { "type": "city" }, - "render": { - "text-font": "@sans_md", - "text-field": "@name", - "text-max-size": 24, - "text-max-width": 8 - }, - "style": { - "text-color": "#333", - "text-halo-color": "@text_halo", - "text-halo-width": 1.2, - "text-size": { - "base": 1.2, - "stops": [[7, 14], [11, 24]] - } - }, - "type": "symbol" - }, { - "id": "place_label_town", - "source": "mapbox", - "source-layer": "place_label", - "filter": { "type": "town" }, - "render": { - "text-font": "@sans", - "text-field": "@name", - "text-max-size": 24, - "text-max-width": 8 - }, - "style": { - "text-color": "#333", - "text-halo-color": "@text_halo", - "text-halo-width": 1.2, - "text-size": { - "base": 1.2, - "stops": [[10, 14], [15, 24]] - } - }, - "type": "symbol" - }, { - "id": "place_label_village", - "source": "mapbox", - "source-layer": "place_label", - "filter": { "type": "village" }, - "render": { - "text-font": "@sans", - "text-field": "@name", - "text-max-size": 22, - "text-max-width": 8 - }, - "style": { - "text-color": "#333", - "text-halo-color": "@text_halo", - "text-halo-width": 1.2, - "text-size": { - "base": 1.2, - "stops": [[10, 12], [15, 22]] - } - }, - "type": "symbol" - }, { - "id": "road_label_highway_shields", - "source": "mapbox", - "source-layer": "road_label", - "filter": {"class": "motorway", "reflen": [1,2,3,4,5,6]}, - "render": { - "symbol-placement": "line", - "symbol-min-distance": 500, - "icon-image": "motorway_{reflen}", - "icon-max-size": 1, - "text-field": "{ref}", - "text-font": "@sans_bd", - "text-max-size": 11, - "text-rotation-alignment": "viewport", - "icon-rotation-alignment": "viewport" - }, - "style": { - "text-color": "#765", - "text-size": 11 - }, - "type": "symbol" - }, { - "id": "road_label", - "source": "mapbox", - "source-layer": "road_label", - "filter": { "$type": "LineString" }, - "render": { - "text-font": "@sans", - "text-field": "@name", - "text-max-size": 13, - "symbol-placement": "line" - }, - "style": { - "text-color": "#765", - "text-halo-color": "#fff", - "text-halo-width": 1, - "text-halo-blur": 0.5, - "text-size": { - "stops": [[13, 12], [14, 13]] - } - }, - "type": "symbol" - }, { - "id": "place_label_other", - "source": "mapbox", - "source-layer": "place_label", - "filter": { "type": ["hamlet", "suburb", "neighbourhood"] }, - "render": { - "text-font": "@sans_bd", - "text-transform": "uppercase", - "text-letter-spacing": 0.1, - "text-field": "@name", - "text-max-size": 14, - "text-max-width": 9 - }, - "style": { - "text-color": "#633", - "text-halo-color": "@text_halo", - "text-halo-width": 1.2, - "text-size": { - "base": 1.2, - "stops": [[12, 10], [15, 14]] - } - }, - "type": "symbol" - }, { - "id": "poi_label_1", - "source": "mapbox", - "source-layer": "poi_label", - "filter": { "$type": "Point", "scalerank": 1 }, - "render": { - "icon-image": "{maki}-12", - "text-font": "@sans_md", - "text-field": "@name", - "text-max-size": 12, - "text-max-width": 9, - "text-padding": 2, - "text-offset": [0, 0.6], - "text-vertical-align": "top" - }, - "style": { - "text-color": "@poi_text", - "text-size": 12, - "text-halo-color": "@poi_text_halo", - "text-halo-width": 1, - "text-halo-blur": 0.5 - }, - "min-zoom": 13, - "type": "symbol" - }, { - "id": "poi_label_2", - "source": "mapbox", - "source-layer": "poi_label", - "filter": { "$type": "Point", "scalerank": 2 }, - "render": { - "icon-image": "{maki}-12", - "text-font": "@sans_md", - "text-field": "@name", - "text-max-size": 12, - "text-max-width": 9, - "text-padding": 2, - "text-offset": [0, 0.6], - "text-vertical-align": "top" - }, - "style": { - "text-color": "@poi_text", - "text-size": 12, - "text-halo-color": "@poi_text_halo", - "text-halo-width": 1, - "text-halo-blur": 0.5 - }, - "min-zoom": 14, - "type": "symbol" - }, { - "id": "poi_label_3", - "source": "mapbox", - "source-layer": "poi_label", - "filter": { "$type": "Point", "scalerank": 3 }, - "render": { - "icon-image": "{maki}-12", - "text-font": "@sans_md", - "text-field": "@name", - "text-max-size": 12, - "text-max-width": 9, - "text-padding": 2, - "text-offset": [0, 0.6], - "text-vertical-align": "top" - }, - "style": { - "text-color": "@poi_text", - "text-size": 12, - "text-halo-color": "@poi_text_halo", - "text-halo-width": 1, - "text-halo-blur": 0.5 - }, - "min-zoom": 15, - "type": "symbol" - }, { - "id": "poi_label_4", - "source": "mapbox", - "source-layer": "poi_label", - "filter": { "$type": "Point", "scalerank": 4 }, - "render": { - "icon-image": "{maki}-12", - "text-font": "@sans_md", - "text-field": "@name", - "text-max-size": 12, - "text-max-width": 9, - "text-padding": 2, - "text-offset": [0, 0.6], - "text-vertical-align": "top" - }, - "style": { - "text-color": "@poi_text", - "text-size": 12, - "text-halo-color": "@poi_text_halo", - "text-halo-width": 1, - "text-halo-blur": 0.5 - }, - "min-zoom": 16, - "type": "symbol" - }, { - "id": "poi_label_other", - "source": "mapbox", - "source-layer": "poi_label", - "filter": { "$type": "Point", "scalerank": {">=": 5} }, - "render": { - "icon-image": "{maki}-12", - "text-font": "@sans_md", - "text-field": "@name", - "text-max-size": 12, - "text-max-width": 9, - "text-padding": 2, - "text-offset": [0, 0.6], - "text-vertical-align": "top" - }, - "style": { - "text-color": "@poi_text", - "text-size": 12, - "text-halo-color": "@poi_text_halo", - "text-halo-width": 1, - "text-halo-blur": 0.5 - }, - "min-zoom": 17, - "type": "symbol" - }, { - "id": "water_label", - "source": "mapbox", - "source-layer": "water_label", - "filter": { "$type": "Point" }, - "render": { - "text-font": "@sans_it", - "text-field": "@name", - "text-max-size": 12, - "text-max-width": 5 - }, - "style": { - "text-size": 12, - "text-color": "@marine_text", - "text-halo-width": 1.5, - "text-halo-color": "@marine_text_halo" - }, - "type": "symbol" - }] -} diff --git a/styles/outdoors/style.json b/styles/outdoors/style.json deleted file mode 100644 index 91c7874d7a..0000000000 --- a/styles/outdoors/style.json +++ /dev/null @@ -1,2223 +0,0 @@ -{ - "version": 4, - "sprite": "https://www.mapbox.com/mapbox-gl-styles/sprites/outdoors", - "glyphs": "mapbox://fontstack/{fontstack}/{range}.pbf", - "constants": { - "@land": "rgb(244,239,225)", - "@water": "#cdd", - "@water_dark": "#185869", - "@crop": "#eeeed4", - "@grass": "#e6e6cc", - "@scrub": "#dfe5c8", - "@wood": "#cee2bd", - "@snow": "#f4f8ff", - "@rock": "#ddd", - "@sand": "#ffd", - "@cemetery": "#edf4ed", - "@pitch": "#fff", - "@park": "#d4e4bc", - "@piste": "blue", - "@school": "#e8dfe0", - "@hospital": "#f8eee0", - "@builtup": "#f6faff", - "@case": "#fff", - "@motorway": "#cda0a0", - "@main": "#ddc0b9", - "@street": "#fff", - "@text": "#666", - "@text_stroke": "rgba(255,255,255,0.8)", - "@country_text": "#222", - "@marine_text": "#a0bdc0", - "@water_text": "#185869", - "@land_night": "#017293", - "@water_night": "#103", - "@water_dark_night": "#003366", - "@crop_night": "#178d96", - "@grass_night": "#23948a", - "@scrub_night": "#31a186", - "@wood_night": "#45b581", - "@park_night": "#51bd8b", - "@snow_night": "#5ad9fe", - "@rock_night": "#999", - "@sand_night": "#437162", - "@cemetery_night": "#218c96", - "@pitch_night": "rgba(255,255,255,0.2)", - "@school_night": "#01536a", - "@hospital_night": "#015e7a", - "@builtup_night": "#014b60", - "@admin_night": "#ffb680", - "@text_night": "#fff", - "@text_water_night": "#2a5b8a", - "@text_stroke_night": "#103", - "@text2_stroke_night": "rgba(1,69,89,0.8)", - "@case_night": "#015e7a", - "@street_case_night": "#015b76", - "@motorway_night": "#bbdde7", - "@main_night": "#64b2c9", - "@street_night": "#0186ac", - "@contour_night": "#ffff80", - "@river_canal_width": { - "stops": [[10, 0.5], [11, 1], [13, 2], [15, 3]] - }, - "@stream_width": { - "stops": [[12, 0.25], [13, 0.5], [15, 1.5], [17, 2]] - }, - "@motorway_width": { - "stops": [[4, 0], [5, 0.5], [7, 0.8], [9, 1], [10, 1.2], [11, 2], [12, 3], [13, 4], [14, 6], [15, 9], [16, 12], [17, 14]] - }, - "@motorway_casing_width": { - "stops": [[6.5, 0.6], [7, 0.8], [9, 2.8], [10, 3], [11, 4], [12, 5], [13, 6.5], [14, 9], [15, 12], [16, 15], [17, 17]] - }, - "@motorway_link_width": { - "stops": [[11, 1.2], [13, 2], [15, 3], [17, 4]] - }, - "@motorway_link_casing_width": { - "stops": [[11, 2.8], [13, 3.5], [15, 5], [17, 6]] - }, - "@main_width": { - "stops": [[4, 1], [11, 1], [12, 1.5], [13, 2], [14, 3], [15, 6], [16, 10], [17, 12]] - }, - "@main_casing_width": { - "stops": [[8, 2.9], [11, 2.9], [12, 3.5], [13, 4], [14, 5.5], [15, 9], [16, 12], [17, 14]] - }, - "@street_width": { - "stops": [[13.5, 0], [14, 1.5], [15, 3], [16, 8]] - }, - "@street_casing_width": { - "stops": [[12, 0.4], [13, 1], [14, 2.5], [15, 4], [16, 10]] - }, - "@street_casing_opacity": { - "stops": [[13, 0], [13.5, 1]] - }, - "@service_casing_width": { - "stops": [[13, 0.5], [14, 3], [15, 3.5], [16, 4], [17, 5], [18, 6]] - }, - "@runway_width": { - "stops": [[9, 1], [10, 2], [11, 3], [12, 5], [13, 7], [14, 11], [15, 15], [16, 19], [17, 23]] - }, - "@taxiway_width": { - "stops": [[9, 0.2], [11, 0.2], [12, 1], [13, 1.5], [14, 2], [15, 3], [16, 4], [17, 5]] - }, - "@aerialway_width": { - "stops": [[12.5, 0.8], [13, 1.4], [14, 1.6], [15, 2], [16, 2.4], [17, 3]] - }, - "@aerialway_casing_width": { - "stops": [[12.5, 2], [13, 2.5], [14, 3], [15, 3.5], [16, 4], [21, 5]] - }, - "@path_width": { - "stops": [[13, 1.2], [14, 1.5], [15, 1.8]] - }, - "@admin_l2_width": { - "stops": [[1, 0.5], [2, 0.7], [3, 0.7], [4, 0.8], [5, 1], [7, 2], [9, 3]] - }, - "@admin_l3_width": { - "stops": [[5, 0.6], [7, 1], [11, 2]] - }, - "@road_label_1_size": { - "stops": [[12, 11], [13, 12], [14, 13], [15, 14], [16, 16], [17, 18]] - }, - "@road_label_2_size": { - "stops": [[12, 11], [13, 12], [15, 14], [17, 16]] - }, - "@road_label_3_size": { - "stops": [[14, 10], [15, 12], [17, 14]] - }, - "@fence_width": { - "stops": [[16, 0.6], [18, 1]] - }, - "@hedge_width": { - "stops": [[15, 0.6], [16, 1.2], [18, 1.6]] - }, - "@barrier_line_land_width": { - "stops": [[13, 0.4], [14, 0.75], [15, 1.5], [16, 3], [17, 6], [18, 12], [19, 24], [20, 48]] - }, - "@country_label_size": { - "stops": [[0, 14], [11, 24]] - }, - "@poi_label_1-2_size": { - "stops": [[14, 10], [15, 11], [16, 12]] - }, - "@poi_label_3_size": { - "stops": [[15, 10], [16, 11]] - }, - "@hillshade_prerender": { - "stops": [[10, 0], [11, 1]] - }, - "@hillshade_prerender_size": { - "stops": [[10, 1056], [11, 512], [12, 256]] - } - }, - "sources": { - "mapbox": { - "type": "vector", - "url": "mapbox://mapbox.mapbox-terrain-v1,mapbox.mapbox-streets-v6-dev", - "maxZoom": 15 - } - }, - "layers": [{ - "id": "background", - "style": { - "background-color": "@land" - }, - "style.night": { - "background-color": "@land_night" - }, - "type": "background" - }, { - "id": "landcover_snow", - "source": "mapbox", - "source-layer": "landcover", - "filter": { "class": "snow" }, - "style": { - "fill-color": "@snow" - }, - "style.night": { - "fill-color": "@snow_night" - }, - "type": "fill" - }, { - "id": "landcover_crop", - "source": "mapbox", - "source-layer": "landcover", - "filter": { "class": "crop" }, - "style": { - "fill-color": "@crop" - }, - "style.night": { - "fill-color": "@crop_night" - }, - "type": "fill" - }, { - "id": "landcover_grass", - "source": "mapbox", - "source-layer": "landcover", - "filter": { "class": "grass" }, - "style": { - "fill-color": "@grass", - "fill-opacity": { - "stops": [[12, 1], [13, 0.8], [16, 0.2]] - } - }, - "style.night": { - "fill-color": "@grass_night", - "fill-opacity": { - "stops": [[12, 1], [13, 0.8], [16, 0.2]] - } - }, - "type": "fill" - }, { - "id": "landcover_scrub", - "source": "mapbox", - "source-layer": "landcover", - "filter": { "class": "scrub" }, - "style": { - "fill-color": "@scrub", - "fill-opacity": { - "stops": [[12, 1], [13, 0.8], [16, 0.2]] - } - }, - "style.night": { - "fill-color": "@scrub_night", - "fill-opacity": { - "stops": [[12, 1], [13, 0.8], [16, 0.2]] - } - }, - "type": "fill" - }, { - "id": "landcover_wood", - "source": "mapbox", - "source-layer": "landcover", - "filter": { "class": "wood" }, - "style": { - "fill-color": "@wood", - "fill-opacity": { - "stops": [[12, 1], [13, 0.8], [16, 0.2]] - } - }, - "style.night": { - "fill-color": "@wood_night", - "fill-opacity": { - "stops": [[12, 1], [13, 0.8], [16, 0.2]] - } - }, - "type": "fill" - }, { - "id": "landuse_wood", - "source": "mapbox", - "source-layer": "landuse", - "filter": { "class": "wood" }, - "style": { - "fill-color": "@wood" - }, - "style.night": { - "fill-color": "@wood_night", - "fill-opacity": 0.8 - }, - "type": "fill" - }, { - "id": "landuse_school", - "source": "mapbox", - "source-layer": "landuse", - "filter": { "class": "school" }, - "style": { - "fill-color": "@school" - }, - "style.night": { - "fill-color": "@school_night" - }, - "type": "fill" - }, { - "id": "landuse_sand", - "source": "mapbox", - "source-layer": "landuse", - "filter": { "class": "sand" }, - "style": { - "fill-color": "@sand" - }, - "style.night": { - "fill-color": "@sand_night", - "fill-opacity": 0.8 - }, - "type": "fill" - }, { - "id": "landuse_pitch", - "source": "mapbox", - "source-layer": "landuse", - "filter": { "class": "pitch" }, - "style": { - "fill-color": "rgba(255,255,255,0.5)", - "fill-outline-color": "@pitch" - }, - "style.night": { - "fill-color": "@pitch_night", - "fill-outline-color": "@pitch" - }, - "type": "fill" - }, { - "id": "landuse_park", - "source": "mapbox", - "source-layer": "landuse", - "filter": { "class": "park" }, - "style": { - "fill-color": "@park" - }, - "style.night": { - "fill-color": "@park_night" - }, - "type": "fill" - }, { - "id": "landuse_industrial", - "source": "mapbox", - "source-layer": "landuse", - "filter": { "class": "industrial" }, - "style": { - "fill-color": "rgba(246,250,255,0.5)" - }, - "style.night": { - "fill-color": "@builtup_night" - }, - "type": "fill" - }, { - "id": "landuse_scrub", - "source": "mapbox", - "source-layer": "landuse", - "filter": { "class": "scrub" }, - "style": { - "fill-color": "@scrub" - }, - "style.night": { - "fill-color": "@scrub_night", - "fill-opacity": 0.8 - }, - "type": "fill" - }, { - "id": "landuse_grass", - "source": "mapbox", - "source-layer": "landuse", - "filter": { "class": "grass" }, - "style": { - "fill-color": "@grass" - }, - "style.night": { - "fill-color": "@grass_night", - "fill-opacity": 0.8 - }, - "type": "fill" - }, { - "id": "landuse_crop", - "source": "mapbox", - "source-layer": "landuse", - "filter": { "class": "crop" }, - "style": { - "fill-color": "@crop" - }, - "style.night": { - "fill-color": "@crop_night", - "fill-opacity": 0.8 - }, - "type": "fill" - }, { - "id": "landuse_rock", - "source": "mapbox", - "source-layer": "landuse", - "filter": { "class": "rock" }, - "style": { - "fill-color": "@rock" - }, - "style.night": { - "fill-color": "@rock_night", - "fill-opacity": 0.8 - }, - "type": "fill" - }, { - "id": "landuse_snow", - "source": "mapbox", - "source-layer": "landuse", - "filter": { "class": "snow" }, - "style": { - "fill-color": "@snow" - }, - "style.night": { - "fill-color": "@snow_night", - "fill-opacity": 0.8 - }, - "type": "fill" - }, { - "id": "landuse_hospital", - "source": "mapbox", - "source-layer": "landuse", - "filter": { "class": "hospital" }, - "style": { - "fill-color": "@hospital" - }, - "style.night": { - "fill-color": "@hospital_night" - }, - "type": "fill" - }, { - "id": "landuse_cemetery", - "source": "mapbox", - "source-layer": "landuse", - "filter": { "class": "cemetery" }, - "style": { - "fill-color": "@cemetery" - }, - "style.night": { - "fill-color": "@cemetery_night" - }, - "type": "fill" - }, { - "id": "overlay_breakwater_pier", - "source": "mapbox", - "source-layer": "landuse_overlay", - "filter": { "class": ["breakwater", "pier"] }, - "style": { - "fill-color": "@land" - }, - "style.night": { - "fill-color": "@land_night" - }, - "type": "fill" - }, { - "id": "waterway_river_canal", - "source": "mapbox", - "source-layer": "waterway", - "filter": { "type": ["river", "canal"] }, - "render": { - "line-cap": "round" - }, - "style": { - "line-color": "#87abaf", - "line-width": "@river_canal_width" - }, - "style.night": { - "line-color": "rgb(10,20,71)", - "line-width": "@river_canal_width" - }, - "type": "line" - }, { - "id": "waterway_stream", - "source": "mapbox", - "source-layer": "waterway", - "filter": { "type": "stream" }, - "render": { - "line-cap": "round" - }, - "style": { - "line-color": "#87abaf", - "line-width": "@stream_width" - }, - "style.night": { - "line-color": "rgb(10,20,71)", - "line-width": "@stream_width" - }, - "type": "line" - }, { - "id": "hillshade_rasters", - "type": "raster", - "source": "mapbox", - "render": { - "raster-size": 512, - "raster-blur": 1 - }, - "style": { - "raster-opacity": 1 - }, - "layers": [ - { - "id": "hillshade_full_highlight", - "source": "mapbox", - "source-layer": "hillshade", - "filter": { "class": "full_highlight" }, - "style": { - "fill-color": "#fffff3", - "fill-antialias": false, - "fill-opacity": { - "stops": [[14, 0.3], [15, 0.3], [16, 0.2], [17, 0.2], [18, 0.1]] - } - }, - "style.night": { - "fill-color": "#fdfdad", - "fill-antialias": false, - "fill-opacity": { - "stops": [[13, 0.4], [14, 0.3], [16, 0.2], [17, 0.1], [18, 0.05]] - } - }, - "type": "fill" - }, { - "id": "hillshade_medium_highlight", - "source": "mapbox", - "source-layer": "hillshade", - "filter": { "class": "medium_highlight" }, - "style": { - "fill-color": "#ffd", - "fill-antialias": false, - "fill-opacity": { - "stops": [[14, 0.3], [15, 0.3], [16, 0.2], [17, 0.2], [18, 0.1]] - } - }, - "style.night": { - "fill-color": "#ffe1b7", - "fill-antialias": false, - "fill-opacity": { - "stops": [[14, 0.3], [16, 0.2], [17, 0.15], [18, 0.05]] - } - }, - "type": "fill" - }, { - "id": "hillshade_medium_shadow", - "source": "mapbox", - "source-layer": "hillshade", - "filter": { "class": "medium_shadow" }, - "style": { - "fill-color": "#206", - "fill-antialias": false, - "fill-opacity": { - "stops": [[14, 0.08], [15, 0.075], [16, 0.05], [17, 0.05], [18, 0.025]] - } - }, - "style.night": { - "fill-color": "#206", - "fill-antialias": false, - "fill-opacity": { - "stops": [[15, 0.3], [16, 0.2], [17, 0.1], [18, 0.05]] - } - }, - "type": "fill" - }, { - "id": "hillshade_full_shadow", - "source": "mapbox", - "source-layer": "hillshade", - "filter": { "class": "full_shadow" }, - "style": { - "fill-color": "#103", - "fill-antialias": false, - "fill-opacity": { - "stops": [[14, 0.08], [15, 0.075], [16, 0.05], [17, 0.05], [18, 0.025]] - } - }, - "style.night": { - "fill-color": "#103", - "fill-antialias": false, - "fill-opacity": { - "stops": [[15, 0.3], [16, 0.2], [17, 0.1], [18, 0.05]] - } - }, - "type": "fill" - } - ] - }, { - "id": "overlay_wetland", - "source": "mapbox", - "source-layer": "landuse_overlay", - "filter": { "class": ["wetland", "wetland_noveg"] }, - "style": { - "fill-color": "rgba(210,225,225,0.2)", - "fill-image": "wetland_noveg_64" - }, - "style.night": { - "fill-color": "rgba(210,225,225,0.2)", - "fill-image": "wetland_noveg_64" - }, - "type": "fill" - }, { - "id": "building_shadow", - "source": "mapbox", - "source-layer": "building", - "style": { - "fill-color": "#d5d1c6", - "fill-translate": [1, 1], - "fill-opacity": { - "stops": [[15.5, 0], [16, 1]] - }, - "fill-outline-color": "#d5d1c6" - }, - "style.night": { - "fill-color": "#026688", - "fill-translate": [1, 1], - "fill-opacity": { - "stops": [[15.5, 0], [16, 1]] - }, - "fill-outline-color": "#026688" - }, - "type": "fill" - }, { - "id": "building", - "ref": "building_shadow", - "style": { - "fill-color": "#ebe7db" - }, - "style.night": { - "fill-color": "#027797" - } - }, { - "id": "building_wall", - "ref": "building_shadow", - "style": { - "fill-color": "#ebe7db", - "fill-opacity": { - "stops": [[15.5, 0], [16, 0.7]] - }, - "fill-outline-color": "#d5d1c6" - }, - "style.night": { - "fill-color": "#027797", - "fill-opacity": { - "stops": [[15.5, 0], [16, 0.7]] - }, - "fill-outline-color": "#026688" - } - }, { - "id": "contour_line_loud", - "source": "mapbox", - "source-layer": "contour", - "filter": { "index": 5 }, - "render": { - "line-join": "round" - }, - "style": { - "line-color": "#008", - "line-width": 0.9, - "line-opacity": { - "stops": [[11, 0.05], [12, 0.11]] - } - }, - "style.night": { - "line-color": "@contour_night", - "line-width": 0.9, - "line-opacity": { - "stops": [[11, 0.1], [12, 0.2]] - } - }, - "type": "line" - }, { - "id": "contour_line_regular", - "source": "mapbox", - "source-layer": "contour", - "render": { - "line-join": "round" - }, - "style": { - "line-color": "#008", - "line-width": 0.5, - "line-opacity": { - "stops": [[11, 0.05], [12, 0.11]] - } - }, - "style.night": { - "line-color": "@contour_night", - "line-width": 0.5, - "line-opacity": { - "stops": [[11, 0.1], [12, 0.4]] - } - }, - "type": "line" - }, { - "id": "barrier_line_gate", - "source": "mapbox", - "source-layer": "barrier_line", - "filter": { "class": "gate" }, - "style": { - "line-width": 2.5, - "line-color": "#aab" - }, - "style.night": { - "line-width": 2.5, - "line-color": "#59596f" - }, - "type": "line" - }, { - "id": "barrier_line_fence", - "source": "mapbox", - "source-layer": "barrier_line", - "filter": { "class": "fence" }, - "style": { - "line-color": "#aeada3", - "line-width": "@fence_width" - }, - "style.night": { - "line-color": "#014b61", - "line-width": "@fence_width" - }, - "type": "line" - }, { - "id": "barrier_line_hedge", - "source": "mapbox", - "source-layer": "barrier_line", - "filter": { "class": "hedge" }, - "style": { - "line-color": "#8de99b", - "line-width": "@hedge_width" - }, - "style.night": { - "line-color": "#2e7a57", - "line-width": "@hedge_width" - }, - "type": "line" - }, { - "id": "barrier_line_land", - "source": "mapbox", - "source-layer": "barrier_line", - "filter": { "class": "land" }, - "style": { - "line-color": "@land", - "line-width": "@barrier_line_land_width" - }, - "style.night": { - "line-color": "@land_night", - "line-width": "@barrier_line_land_width" - }, - "type": "line" - }, { - "id": "barrier_line_land_fill", - "source": "mapbox", - "source-layer": "barrier_line", - "filter": { "class": "land" }, - "style": { - "fill-color": "@land" - }, - "style.night": { - "fill-color": "@land_night" - }, - "type": "fill" - }, { - "id": "barrier_line_cliff", - "source": "mapbox", - "source-layer": "barrier_line", - "filter": { "class": "cliff" }, - "style": { - "line-color": "#987", - "line-width": 4 - }, - "style.night": { - "line-color": "#63574b", - "line-width": 4 - }, - "type": "line" - }, { - "id": "water", - "source": "mapbox", - "source-layer": "water", - "style": { - "fill-color": "@water", - "fill-outline-color": "#a2bdc0" - }, - "style.night": { - "fill-color": "@water_night", - "fill-outline-color": "@water_dark_night" - }, - "type": "fill" - }, { - "id": "aeroway_fill", - "source": "mapbox", - "source-layer": "aeroway", - "filter": { - "$type": "Polygon" - }, - "style": { - "fill-color": "#ddd" - }, - "style.night": { - "fill-color": "#367" - }, - "type": "fill" - }, { - "id": "aeroway_runway", - "source": "mapbox", - "source-layer": "aeroway", - "filter": { "type": "runway" }, - "style": { - "line-color": "#ddd", - "line-width": "@runway_width" - }, - "style.night": { - "line-color": "#367", - "line-width": "@runway_width" - }, - "type": "line" - }, { - "id": "aeroway_taxiway", - "source": "mapbox", - "source-layer": "aeroway", - "filter": { "type": "taxiway" }, - "style": { - "line-color": "#ddd", - "line-width": "@taxiway_width" - }, - "style.night": { - "line-color": "#367", - "line-width": "@taxiway_width" - }, - "type": "line" - }, { - "id": "tunnel_motorway_link_casing", - "source": "mapbox", - "source-layer": "tunnel", - "filter": { "class": "motorway_link" }, - "style": { - "line-color": "@case", - "line-dasharray": [6, 6], - "line-width": "@motorway_link_casing_width" - }, - "style.night": { - "line-color": "@case_night", - "line-dasharray": [6, 6], - "line-width": "@motorway_link_casing_width" - }, - "type": "line" - }, { - "id": "tunnel_service_casing", - "source": "mapbox", - "source-layer": "tunnel", - "filter": { "class": "service" }, - "style": { - "line-color": "#000", - "line-opacity": 0.04, - "line-dasharray": [6, 6], - "line-width": "@service_casing_width" - }, - "style.night": { - "line-color": "#000", - "line-opacity": 0.04, - "line-dasharray": [6, 6], - "line-width": "@service_casing_width" - }, - "type": "line" - }, { - "id": "tunnel_main_casing", - "source": "mapbox", - "source-layer": "tunnel", - "filter": { "class": "main" }, - "style": { - "line-color": "@case", - "line-dasharray": [6, 6], - "line-width": "@main_casing_width", - "line-opacity": { - "stops": [[8, 0], [9, 1]] - } - }, - "style.night": { - "line-color": "@case_night", - "line-dasharray": [6, 6], - "line-width": "@main_casing_width", - "line-opacity": { - "stops": [[8, 0], [9, 1]] - } - }, - "type": "line" - }, { - "id": "tunnel_street_casing", - "source": "mapbox", - "source-layer": "tunnel", - "filter": { "class": ["street", "street_limited"] }, - "style": { - "line-color": "#d9d5c6", - "line-width": "@street_casing_width", - "line-opacity": "@street_casing_opacity" - }, - "style.night": { - "line-color": "@street_case_night", - "line-width": "@street_casing_width", - "line-opacity": "@street_casing_opacity" - }, - "type": "line" - }, { - "id": "tunnel_motorway_link", - "ref": "tunnel_motorway_link_casing", - "style": { - "line-color": "#e6cec7", - "line-width": "@motorway_link_width" - }, - "style.night": { - "line-color": "#78b0c1", - "line-width": "@motorway_link_width" - } - }, { - "id": "tunnel_service", - "ref": "tunnel_service_casing", - "style": { - "line-color": "#e6cec7", - "line-width": 2 - }, - "style.night": { - "line-color": "#017ca0", - "line-width": 2 - } - }, { - "id": "tunnel_street", - "ref": "tunnel_street_casing", - "style": { - "line-color": "#d9d5c6", - "line-width": "@street_width" - }, - "style.night": { - "line-color": "@street_night", - "line-width": "@street_width" - } - }, { - "id": "tunnel_main", - "ref": "tunnel_main_casing", - "style": { - "line-color": "#e6cec7", - "line-width": "@main_width", - "line-opacity": { - "stops": [[5.5, 0], [6, 1]] - } - }, - "style.night": { - "line-color": "#78b0c1", - "line-width": "@main_width", - "line-opacity": { - "stops": [[5.5, 0], [6, 1]] - } - } - }, { - "id": "tunnel_motorway_casing", - "source": "mapbox", - "source-layer": "tunnel", - "filter": { "class": "motorway" }, - "style": { - "line-color": "@case", - "line-dasharray": [6, 6], - "line-width": "@motorway_casing_width", - "line-opacity": { - "stops": [[8.5, 0], [9, 1]] - } - }, - "style.night": { - "line-color": "@case_night", - "line-dasharray": [6, 6], - "line-width": "@motorway_casing_width", - "line-opacity": { - "stops": [[8.5, 0], [9, 1]] - } - }, - "type": "line" - }, { - "id": "tunnel_motorway", - "ref": "tunnel_motorway_casing", - "style": { - "line-color": "#e6cec7", - "line-width": "@motorway_width", - "line-opacity": { - "stops": [[5.5, 0], [6, 1]] - } - }, - "style.night": { - "line-color": "#78b0c1", - "line-width": "@motorway_width", - "line-opacity": { - "stops": [[5.5, 0], [6, 1]] - } - } - }, { - "id": "road_path_case", - "source": "mapbox", - "source-layer": "road", - "filter": { "class": "path" }, - "style": { - "line-color": "#ffd", - "line-opacity": 0.4, - "line-width": { - "stops": [[14, 3], [15, 4]] - } - }, - "style.night": { - "line-color": "@land_night", - "line-opacity": 0.2 - }, - "type": "line" - }, { - "id": "road_path_footway", - "source": "mapbox", - "source-layer": "bridge", - "filter": { "type": "footway" }, - "style": { - "line-color": "#bba", - "line-dasharray": [10, 4], - "line-width": "@path_width" - }, - "style.night": { - "line-color": "#fff", - "line-dasharray": [10, 4], - "line-width": "@path_width" - }, - "type": "line" - }, { - "id": "road_path_path", - "source": "mapbox", - "source-layer": "bridge", - "filter": { "type": "path" }, - "style": { - "line-color": "#987", - "line-dasharray": [10, 4], - "line-opacity": 0.8, - "line-width": { - "stops": [[13, 0.8], [14, 0.9], [15, 1.2]] - } - }, - "style.night": { - "line-color": "#fff", - "line-dasharray": [10, 4], - "line-opacity": 0.8, - "line-width": { - "stops": [[13, 0.8], [14, 0.9], [15, 1.2]] - } - }, - "type": "line" - }, { - "id": "road_path_cycleway", - "source": "mapbox", - "source-layer": "bridge", - "filter": { "type": "cycleway" }, - "style": { - "line-color": "#488", - "line-dasharray": [10, 4], - "line-width": "@path_width" - }, - "style.night": { - "line-color": "#94e6ff", - "line-dasharray": [10, 4], - "line-width": "@path_width" - }, - "type": "line" - }, { - "id": "road_path_mtb", - "source": "mapbox", - "source-layer": "bridge", - "filter": { "type": "mtb" }, - "style": { - "line-color": "#488", - "line-dasharray": [12, 4], - "line-width": "@path_width" - }, - "style.night": { - "line-color": "#94e6ff", - "line-dasharray": [12, 4], - "line-width": "@path_width" - }, - "type": "line" - }, { - "id": "road_path_piste", - "source": "mapbox", - "source-layer": "bridge", - "filter": { "type": "piste" }, - "style": { - "line-color": "#87b", - "line-dasharray": [8, 4], - "line-width": "@path_width" - }, - "style.night": { - "line-color": "#715dae", - "line-dasharray": [8, 4], - "line-width": "@path_width" - }, - "type": "line" - }, { - "id": "road_path_steps", - "source": "mapbox", - "source-layer": "bridge", - "filter": { "type": "steps" }, - "style": { - "line-color": "#bba", - "line-dasharray": [10, 4], - "line-width": 4 - }, - "style.night": { - "line-color": "#016684", - "line-dasharray": [10, 4], - "line-opacity": 0.3, - "line-width": 6 - }, - "type": "line" - }, { - "id": "road_major_rail", - "source": "mapbox", - "source-layer": "bridge", - "filter": { "class": "major_rail" }, - "style": { - "line-color": "#c8c4c0", - "line-width": 0.8 - }, - "style.night": { - "line-color": "#c8c4c0", - "line-width": 0.8 - }, - "type": "line" - }, { - "id": "road_major_rail_hatching", - "ref": "road_major_rail", - "style": { - "line-color": "#c8c4c0", - "line-dasharray": [2, 31], - "line-width": 5 - }, - "style.night": { - "line-color": "#c8c4c0", - "line-dasharray": [2, 31], - "line-width": 5 - } - }, { - "id": "road_motorway_link_casing", - "source": "mapbox", - "source-layer": "road", - "filter": { "class": "motorway_link" }, - "render": { - "line-join": "round", - "line-cap": "round" - }, - "style": { - "line-color": "@case", - "line-width": "@motorway_link_casing_width" - }, - "style.night": { - "line-color": "@case_night", - "line-width": "@motorway_link_casing_width" - }, - "type": "line" - }, { - "id": "road_service_casing", - "source": "mapbox", - "source-layer": "road", - "filter": { "class": "service" }, - "render": { - "line-join": "round", - "line-cap": "round" - }, - "style": { - "line-color": "#000", - "line-opacity": 0.04, - "line-width": "@service_casing_width" - }, - "style.night": { - "line-color": "#000", - "line-opacity": 0.04, - "line-width": "@service_casing_width" - }, - "type": "line" - }, { - "id": "road_main_casing", - "source": "mapbox", - "source-layer": "road", - "filter": { "class": "main" }, - "render": { - "line-join": "round", - "line-cap": "round" - }, - "style": { - "line-color": "@case", - "line-width": "@main_casing_width", - "line-opacity": { - "stops": [[8, 0], [9, 1]] - } - }, - "style.night": { - "line-color": "@case_night", - "line-width": "@main_casing_width", - "line-opacity": { - "stops": [[8, 0], [9, 1]] - } - }, - "type": "line" - }, { - "id": "road_street_casing", - "source": "mapbox", - "source-layer": "road", - "filter": { "class": ["street", "street_limited"] }, - "render": { - "line-join": "round", - "line-cap": "round" - }, - "style": { - "line-color": "#d9d5c6", - "line-width": "@street_casing_width", - "line-opacity": "@street_casing_opacity" - }, - "style.night": { - "line-color": "@street_case_night", - "line-width": "@street_casing_width", - "line-opacity": "@street_casing_opacity" - }, - "type": "line" - }, { - "id": "road_motorway_link", - "ref": "road_motorway_link_casing", - "style": { - "line-color": "@motorway", - "line-width": "@motorway_link_width" - }, - "style.night": { - "line-color": "@motorway_night", - "line-width": "@motorway_link_width" - } - }, { - "id": "road_service", - "ref": "road_service_casing", - "style": { - "line-color": "@street", - "line-width": 2 - }, - "style.night": { - "line-color": "@street_night", - "line-width": 2 - } - }, { - "id": "road_street", - "ref": "road_street_casing", - "style": { - "line-color": "@street", - "line-width": "@street_width" - }, - "style.night": { - "line-color": "@street_night", - "line-width": "@street_width" - } - }, { - "id": "road_main", - "ref": "road_main_casing", - "style": { - "line-color": "@main", - "line-width": "@main_width", - "line-opacity": { - "stops": [[5.5, 0], [6, 1]] - } - }, - "style.night": { - "line-color": "@main_night", - "line-width": "@main_width", - "line-opacity": { - "stops": [[5.5, 0], [6, 1]] - } - } - }, { - "id": "road_motorway_casing", - "source": "mapbox", - "source-layer": "road", - "filter": { "class": "motorway" }, - "render": { - "line-join": "round", - "line-cap": "round" - }, - "style": { - "line-color": "@case", - "line-width": "@motorway_casing_width", - "line-opacity": { - "stops": [[8.5, 0], [9, 1]] - } - }, - "style.night": { - "line-color": "@case_night", - "line-width": "@motorway_casing_width", - "line-opacity": { - "stops": [[8.5, 0], [9, 1]] - } - }, - "type": "line" - }, { - "id": "road_motorway", - "ref": "road_motorway_casing", - "style": { - "line-color": "@motorway", - "line-width": "@motorway_width", - "line-opacity": { - "stops": [[5.5, 0], [6, 1]] - } - }, - "style.night": { - "line-color": "@motorway_night", - "line-width": "@motorway_width", - "line-opacity": { - "stops": [[5.5, 0], [6, 1]] - } - } - }, { - "id": "bridge_motorway_link_casing", - "source": "mapbox", - "source-layer": "bridge", - "filter": { "class": "motorway_link" }, - "style": { - "line-color": "@case", - "line-width": "@motorway_link_casing_width" - }, - "style.night": { - "line-color": "@case_night", - "line-width": "@motorway_link_casing_width" - }, - "type": "line" - }, { - "id": "bridge_service_casing", - "source": "mapbox", - "source-layer": "bridge", - "filter": { "class": "service" }, - "style": { - "line-color": "#000", - "line-opacity": 0.04, - "line-width": "@service_casing_width" - }, - "style.night": { - "line-color": "#000", - "line-opacity": 0.04, - "line-width": "@service_casing_width" - }, - "type": "line" - }, { - "id": "bridge_main_casing", - "source": "mapbox", - "source-layer": "bridge", - "filter": { "class": "main" }, - "style": { - "line-color": "@case", - "line-width": "@main_casing_width", - "line-opacity": { - "stops": [[8, 0], [9, 1]] - } - }, - "style.night": { - "line-color": "@case_night", - "line-width": "@main_casing_width", - "line-opacity": { - "stops": [[8, 0], [9, 1]] - } - }, - "type": "line" - }, { - "id": "bridge_street_casing", - "source": "mapbox", - "source-layer": "bridge", - "filter": { "class": ["street", "street_limited"] }, - "style": { - "line-color": "#d9d5c6", - "line-width": "@street_casing_width", - "line-opacity": "@street_casing_opacity" - }, - "style.night": { - "line-color": "@street_case_night", - "line-width": "@street_casing_width", - "line-opacity": "@street_casing_opacity" - }, - "type": "line" - }, { - "id": "bridge_motorway_link", - "ref": "bridge_motorway_link_casing", - "style": { - "line-color": "@motorway", - "line-width": "@motorway_link_width" - }, - "style.night": { - "line-color": "@motorway_night", - "line-width": "@motorway_link_width" - } - }, { - "id": "bridge_service", - "ref": "bridge_service_casing", - "style": { - "line-color": "@street", - "line-width": 2 - }, - "style.night": { - "line-color": "@street_night", - "line-width": 2 - } - }, { - "id": "bridge_street", - "ref": "bridge_street_casing", - "style": { - "line-color": "@street", - "line-width": "@street_width" - }, - "style.night": { - "line-color": "@street_night", - "line-width": "@street_width" - } - }, { - "id": "bridge_main", - "ref": "bridge_main_casing", - "style": { - "line-color": "@main", - "line-width": "@main_width", - "line-opacity": { - "stops": [[5.5, 0], [6, 1]] - } - }, - "style.night": { - "line-color": "@main_night", - "line-width": "@main_width", - "line-opacity": { - "stops": [[5.5, 0], [6, 1]] - } - } - }, { - "id": "bridge_motorway_casing", - "source": "mapbox", - "source-layer": "bridge", - "filter": { "class": "motorway" }, - "style": { - "line-color": "@case", - "line-width": "@motorway_casing_width", - "line-opacity": { - "stops": [[8.5, 0], [9, 1]] - } - }, - "style.night": { - "line-color": "@case_night", - "line-width": "@motorway_casing_width", - "line-opacity": { - "stops": [[8.5, 0], [9, 1]] - } - }, - "type": "line" - }, { - "id": "bridge_motorway", - "ref": "bridge_motorway_casing", - "style": { - "line-color": "@motorway", - "line-width": "@motorway_width", - "line-opacity": { - "stops": [[5.5, 0], [6, 1]] - } - }, - "style.night": { - "line-color": "@motorway_night", - "line-width": "@motorway_width", - "line-opacity": { - "stops": [[5.5, 0], [6, 1]] - } - } - }, { - "id": "bridge_aerialway_casing", - "source": "mapbox", - "source-layer": "bridge", - "filter": { "class": "aerialway" }, - "style": { - "line-color": "white", - "line-opacity": 0.5, - "line-width": "@aerialway_casing_width" - }, - "style.night": { - "line-color": "white", - "line-opacity": 0.5, - "line-width": "@aerialway_casing_width" - }, - "type": "line" - }, { - "id": "bridge_aerialway", - "ref": "bridge_aerialway_casing", - "style": { - "line-color": "#876", - "line-opacity": 0.5, - "line-width": "@aerialway_width" - }, - "style.night": { - "line-color": "#876", - "line-opacity": 0.5, - "line-width": "@aerialway_width" - } - }, { - "id": "admin_l3", - "source": "mapbox", - "source-layer": "admin", - "filter": { "admin_level": [3, 4, 5] }, - "render": { - "line-join": "round" - }, - "style": { - "line-color": "#88a", - "line-dasharray": [60, 20], - "line-opacity": { - "stops": [[3, 0], [5, 1]] - }, - "line-width": "@admin_l3_width" - }, - "style.night": { - "line-color": "@admin_night", - "line-dasharray": [60, 20], - "line-opacity": { - "stops": [[3, 0], [5, 1]] - }, - "line-width": "@admin_l3_width" - }, - "type": "line" - }, { - "id": "admin_l2", - "source": "mapbox", - "source-layer": "admin", - "filter": { "admin_level": 2 }, - "render": { - "line-join": "round", - "line-cap": "round" - }, - "style": { - "line-color": "#88a", - "line-width": "@admin_l2_width" - }, - "style.night": { - "line-color": "@admin_night", - "line-width": "@admin_l2_width" - }, - "type": "line" - }, { - "id": "admin_maritime_cover", - "source": "mapbox", - "source-layer": "admin", - "filter": { "maritime": 1 }, - "render": { - "line-join": "round", - "line-cap": "round" - }, - "style": { - "line-color": "@water", - "line-width": 5 - }, - "style.night": { - "line-color": "@water_night", - "line-width": 5 - }, - "type": "line" - }, { - "id": "admin_maritime", - "ref": "admin_maritime_cover", - "style": { - "line-color": "#c0d6d6", - "line-width": { - "stops": [[5, 1], [7, 2], [11, 3]] - } - }, - "style.night": { - "line-color": "#0a1347", - "line-width": { - "stops": [[5, 1], [7, 2], [11, 3]] - } - } - }, { - "id": "country_label_line", - "source": "mapbox", - "source-layer": "country_label_line", - "render": { - "text-max-width": 5 - }, - "style": { - "line-color": "@country_text", - "line-width": 0.5, - "line-opacity": 0.5 - }, - "style.night": { - "line-color": "@text_night", - "line-width": 0.5, - "line-opacity": 0.5 - }, - "type": "line" - }, { - "id": "country_label", - "source": "mapbox", - "source-layer": "country_label", - "filter": { "$type": "Point" }, - "render": { - "text-field": "{name_en}", - "text-font": "Open Sans Semibold, Arial Unicode MS Bold", - "text-max-size": 24, - "text-max-width": 5 - }, - "style": { - "text-color": "@country_text", - "text-halo-color": "rgba(255,255,255,0.5)", - "text-halo-width": { - "stops": [[0, 1.17], [11, 2]] - }, - "text-size": "@country_label_size" - }, - "style.night": { - "text-color": "@text_night", - "text-halo-color": "@text2_stroke_night", - "text-halo-width": { - "stops": [[0, 1.63], [11, 2.8]] - }, - "text-size": "@country_label_size" - }, - "type": "symbol" - }, { - "id": "marine_label_line_1", - "source": "mapbox", - "source-layer": "marine_label", - "filter": { "$type": "LineString", "labelrank": 1 }, - "render": { - "text-field": "{name_en}", - "text-font": "Open Sans Semibold Italic, Arial Unicode MS Bold", - "text-max-size": 30, - "text-max-angle": 28.65, - "text-letter-spacing": 0.4, - "symbol-placement": "line" - }, - "style": { - "text-color": "@marine_text", - "text-size": { - "stops": [[2, 20], [3, 25], [4, 30], [21, 30]] - }, - "text-halo-color": "@water" - }, - "style.night": { - "text-color": "@water_dark_night", - "text-size": { - "stops": [[2, 20], [3, 25], [4, 30], [21, 30]] - }, - "text-halo-color": "@water_night" - }, - "type": "symbol" - }, { - "id": "marine_label_line_2", - "source": "mapbox", - "source-layer": "marine_label", - "filter": { "$type": "LineString", "labelrank": 2 }, - "render": { - "text-field": "{name_en}", - "text-font": "Open Sans Semibold Italic, Arial Unicode MS Bold", - "text-max-size": 24, - "text-max-angle": 28.65, - "symbol-placement": "line" - }, - "style": { - "text-color": "@marine_text", - "text-size": { - "stops": [[2, 13], [3, 14], [4, 20], [5, 24], [21, 24]] - }, - "text-halo-color": "@water" - }, - "style.night": { - "text-color": "@water_dark_night", - "text-size": { - "stops": [[2, 13], [3, 14], [4, 20], [5, 24], [21, 24]] - }, - "text-halo-color": "@water_night" - }, - "type": "symbol" - }, { - "id": "marine_label_line_3", - "source": "mapbox", - "source-layer": "marine_label", - "filter": { "$type": "LineString", "labelrank": 3 }, - "render": { - "text-field": "{name_en}", - "text-font": "Open Sans Semibold Italic, Arial Unicode MS Bold", - "text-max-size": 18, - "text-max-angle": 28.65, - "symbol-placement": "line" - }, - "style": { - "text-color": "@marine_text", - "text-size": { - "stops": [[2, 12], [3, 13], [4, 15], [5, 18], [21, 18]] - }, - "text-halo-color": "@water" - }, - "style.night": { - "text-color": "@water_dark_night", - "text-size": { - "stops": [[2, 12], [3, 13], [4, 15], [5, 18], [21, 18]] - }, - "text-halo-color": "@water_night" - }, - "type": "symbol" - }, { - "id": "marine_label_line_other", - "source": "mapbox", - "source-layer": "marine_label", - "filter": { "$type": "LineString", "labelrank": [4, 5, 6] }, - "render": { - "text-field": "{name_en}", - "text-font": "Open Sans Semibold Italic, Arial Unicode MS Bold", - "text-max-size": 16, - "text-max-angle": 28.65, - "symbol-placement": "line" - }, - "style": { - "text-color": "@marine_text", - "text-size": { - "stops": [[3, 12], [4, 14], [5, 16], [21, 16]] - }, - "text-halo-color": "@water" - }, - "style.night": { - "text-color": "@water_dark_night", - "text-size": { - "stops": [[3, 12], [4, 14], [5, 16], [21, 16]] - }, - "text-halo-color": "@water_night" - }, - "type": "symbol" - }, { - "id": "marine_label_point_1", - "source": "mapbox", - "source-layer": "marine_label", - "filter": { "$type": "Point", "labelrank": 1 }, - "render": { - "text-field": "{name_en}", - "text-font": "Open Sans Semibold Italic, Arial Unicode MS Bold", - "text-max-size": 30, - "text-max-width": 8, - "text-letter-spacing": 0.4, - "text-line-height": 2 - }, - "style": { - "text-color": "@marine_text", - "text-size": { - "stops": [[2, 20], [3, 25], [4, 30], [21, 30]] - }, - "text-halo-color": "@water" - }, - "style.night": { - "text-color": "@water_dark_night", - "text-size": { - "stops": [[2, 20], [3, 25], [4, 30], [21, 30]] - }, - "text-halo-color": "@water_night" - }, - "type": "symbol" - }, { - "id": "marine_label_point_2", - "source": "mapbox", - "source-layer": "marine_label", - "filter": { "$type": "Point", "labelrank": 2 }, - "render": { - "text-field": "{name_en}", - "text-font": "Open Sans Semibold Italic, Arial Unicode MS Bold", - "text-max-size": 24, - "text-max-width": 8, - "text-letter-spacing": 0.2, - "text-line-height": 1.5 - }, - "style": { - "text-color": "@marine_text", - "text-size": { - "stops": [[2, 13], [3, 14], [4, 20], [5, 24], [21, 24]] - }, - "text-halo-color": "@water" - }, - "style.night": { - "text-color": "@water_dark_night", - "text-size": { - "stops": [[2, 13], [3, 14], [4, 20], [5, 24], [21, 24]] - }, - "text-halo-color": "@water_night" - }, - "type": "symbol" - }, { - "id": "marine_label_point_3", - "source": "mapbox", - "source-layer": "marine_label", - "filter": { "$type": "Point", "labelrank": 3 }, - "render": { - "text-field": "{name_en}", - "text-font": "Open Sans Semibold Italic, Arial Unicode MS Bold", - "text-max-size": 18, - "text-max-width": 8, - "text-letter-spacing": 0.1, - "text-line-height": 1.3 - }, - "style": { - "text-color": "@marine_text", - "text-size": { - "stops": [[2, 12], [3, 13], [4, 15], [5, 18], [21, 18]] - }, - "text-halo-color": "@water" - }, - "style.night": { - "text-color": "@water_dark_night", - "text-size": { - "stops": [[2, 12], [3, 13], [4, 15], [5, 18], [21, 18]] - }, - "text-halo-color": "@water_night" - }, - "type": "symbol" - }, { - "id": "marine_label_point_other", - "source": "mapbox", - "source-layer": "marine_label", - "filter": { "$type": "Point", "labelrank": [4, 5, 6] }, - "render": { - "text-field": "{name_en}", - "text-font": "Open Sans Semibold Italic, Arial Unicode MS Bold", - "text-max-size": 16, - "text-max-width": 8, - "text-letter-spacing": 0.1, - "text-line-height": 1.2 - }, - "style": { - "text-color": "@marine_text", - "text-size": { - "stops": [[3, 12], [4, 14], [5, 16], [21, 16]] - }, - "text-halo-color": "@water" - }, - "style.night": { - "text-color": "@water_dark_night", - "text-size": { - "stops": [[3, 12], [4, 14], [5, 16], [21, 16]] - }, - "text-halo-color": "@water_night" - }, - "type": "symbol" - }, { - "id": "state_label", - "source": "mapbox", - "source-layer": "state_label", - "filter": { "$type": "Point" }, - "render": { - "text-field": "{name_en}", - "text-font": "Open Sans Regular, Arial Unicode MS Regular", - "text-max-size": 16, - "text-max-width": 8 - }, - "style": { - "text-color": "#333", - "text-halo-width": { - "stops": [[2.99, 0], [3, 1.17], [8.99, 1.87], [9, 0]] - }, - "text-halo-color": "rgba(244,239,225,0.8)", - "text-size": { - "stops": [[2.99, 0], [3, 10], [8.99, 16], [9, 0]] - } - }, - "style.night": { - "text-color": "#fff", - "text-halo-width": { - "stops": [[2.99, 0], [3, 1.17], [8.99, 1.87], [9, 0]] - }, - "text-halo-color": "@land_night", - "text-size": { - "stops": [[2.99, 0], [3, 10], [8.99, 16], [9, 0]] - } - }, - "type": "symbol" - }, { - "id": "place_label_city", - "source": "mapbox", - "source-layer": "place_label", - "filter": { "type": "city", "$type": "Point" }, - "render": { - "text-field": "{name_en}", - "text-font": "Open Sans Semibold, Arial Unicode MS Bold", - "text-max-size": 20, - "text-max-width": 8 - }, - "style": { - "text-color": "#444", - "text-halo-width": { - "stops": [[2.99, 0], [3, 1.17], [6, 1.63], [13.99, 2.33], [14, 0]] - }, - "text-halo-color": "@text_stroke", - "text-size": { - "stops": [[2.99, 0], [3, 10], [6, 14], [13.99, 20], [14, 0]] - } - }, - "style.night": { - "text-color": "#fff", - "text-halo-width": { - "stops": [[2.99, 0], [3, 1.17], [6, 1.63], [13.99, 2.33], [14, 0]] - }, - "text-halo-color": "@text2_stroke_night", - "text-size": { - "stops": [[2.99, 0], [3, 10], [6, 14], [13.99, 20], [14, 0]] - } - }, - "type": "symbol" - }, { - "id": "place_label_town", - "source": "mapbox", - "source-layer": "place_label", - "filter": { "type": "town", "$type": "Point" }, - "render": { - "text-field": "{name_en}", - "text-font": "Open Sans Semibold, Arial Unicode MS Bold", - "text-max-size": 24, - "text-max-width": 8 - }, - "style": { - "text-color": "#716656", - "text-halo-width": { - "stops": [[8, 1.5], [11, 1.95], [13, 2.55], [15, 3.3]] - }, - "text-halo-color": "@text_stroke", - "text-size": { - "stops": [[8, 10], [11, 13], [13, 17], [15, 22]] - } - }, - "style.night": { - "text-color": "@text_night", - "text-halo-width": { - "stops": [[8, 1.5], [11, 1.95], [13, 2.55], [15, 3.3]] - }, - "text-halo-color": "@text2_stroke_night", - "text-size": { - "stops": [[8, 10], [11, 13], [13, 17], [15, 22]] - } - }, - "type": "symbol" - }, { - "id": "place_label_village", - "source": "mapbox", - "source-layer": "place_label", - "filter": { "type": "village", "$type": "Point" }, - "render": { - "text-field": "{name_en}", - "text-font": "Open Sans Semibold, Arial Unicode MS Bold", - "text-max-size": 22, - "text-max-width": 8 - }, - "style": { - "text-color": "#635644", - "text-halo-width": { - "stops": [[8, 1.2], [11, 1.5], [13, 2.1], [15, 2.4], [16, 3]] - }, - "text-halo-color": "@text_stroke", - "text-size": { - "stops": [[8, 8], [11, 10], [13, 14], [15, 16], [16, 20]] - } - }, - "style.night": { - "text-color": "@text_night", - "text-halo-width": { - "stops": [[8, 1.2], [11, 1.5], [13, 2.1], [15, 2.4], [16, 3]] - }, - "text-halo-color": "@text2_stroke_night", - "text-size": { - "stops": [[8, 8], [11, 10], [13, 14], [15, 16], [16, 20]] - } - }, - "type": "symbol" - }, { - "id": "place_label_other", - "source": "mapbox", - "source-layer": "place_label", - "filter": { "type": ["hamlet", "suburb", "neighbourhood"], "$type": "Point" }, - "render": { - "text-field": "{name_en}", - "text-font": "Open Sans Semibold, Arial Unicode MS Bold", - "text-max-size": 18, - "text-max-width": 6 - }, - "style": { - "text-color": "#7d6c55", - "text-halo-color": "@text_stroke", - "text-size": { - "stops": [[12, 11], [13, 12], [15, 14], [17, 18]] - } - }, - "style.night": { - "text-color": "@text_night", - "text-halo-color": "@text2_stroke_night", - "text-halo-width": { - "stops": [[12, 1.65], [13, 1.8], [15, 2.1], [17, 2.7]] - }, - "text-size": { - "stops": [[12, 11], [13, 12], [15, 14], [17, 18]] - } - }, - "type": "symbol" - }, { - "id": "road_label_1", - "source": "mapbox", - "source-layer": "road_label", - "filter": { "class": ["motorway", "main"], "$type": "LineString" }, - "render": { - "text-field": "{name_en}", - "text-padding": 2, - "text-font": "Open Sans Regular, Arial Unicode MS Regular", - "text-max-size": 18, - "text-max-angle": 28.65, - "symbol-placement": "line" - }, - "style": { - "text-color": "#585042", - "text-halo-color": "@land", - "text-halo-width": { - "stops": [[12, 0.55], [13, 0.6], [14, 0.65], [15, 0.7], [16, 0.8], [17, 0.9]] - }, - "text-size": "@road_label_1_size" - }, - "style.night": { - "text-color": "@text_night", - "text-halo-color": "@text2_stroke_night", - "text-halo-width": { - "stops": [[12, 0.92], [13, 1], [14, 1.08], [15, 1.17], [16, 1.33], [17, 1.5]] - }, - "text-size": "@road_label_1_size" - }, - "type": "symbol" - }, { - "id": "road_label_2", - "source": "mapbox", - "source-layer": "road_label", - "filter": { "class": ["street", "street_limited"], "$type": "LineString" }, - "render": { - "text-field": "{name_en}", - "text-padding": 2, - "text-font": "Open Sans Regular, Arial Unicode MS Regular", - "text-max-size": 16, - "text-max-angle": 28.65, - "symbol-placement": "line" - }, - "style": { - "text-color": "#585042", - "text-halo-color": "@land", - "text-halo-width": { - "stops": [[12, 0.55], [13, 0.6], [15, 0.7], [17, 0.8]] - }, - "text-size": "@road_label_2_size" - }, - "style.night": { - "text-color": "@text_night", - "text-halo-color": "@text2_stroke_night", - "text-halo-width": { - "stops": [[12, 0.92], [13, 1], [15, 1.17], [17, 1.33]] - }, - "text-size": "@road_label_2_size" - }, - "type": "symbol" - }, { - "id": "road_label_3", - "source": "mapbox", - "source-layer": "road_label", - "filter": { "class": ["service", "driveway", "path"], "$type": "LineString" }, - "render": { - "text-field": "{name_en}", - "text-padding": 2, - "text-font": "Open Sans Regular, Arial Unicode MS Regular", - "text-max-size": 14, - "text-max-angle": 28.65, - "symbol-placement": "line" - }, - "style": { - "text-color": "#585042", - "text-halo-color": "@land", - "text-halo-width": { - "stops": [[14, 0.5], [15, 0.6], [17, 0.7]] - }, - "text-size": "@road_label_3_size" - }, - "style.night": { - "text-color": "@text_night", - "text-halo-color": "@text2_stroke_night", - "text-halo-width": { - "stops": [[14, 0.83], [15, 1], [17, 1.17]] - }, - "text-size": "@road_label_3_size" - }, - "type": "symbol" - }, { - "id": "contour_label", - "source": "mapbox", - "source-layer": "contour", - "filter": { "index": [5, 10], "$type": "LineString" }, - "render": { - "text-field": "{ele} m", - "text-font": "Open Sans Regular, Arial Unicode MS Regular", - "text-max-size": 10, - "text-max-angle": 28.65, - "symbol-placement": "line" - }, - "style": { - "text-color": "@text", - "text-halo-color": "@land", - "text-halo-width": 1.5, - "text-size": 10 - }, - "style.night": { - "text-color": "@contour_night", - "text-halo-color": "@land_night", - "text-halo-width": 1.5, - "text-size": 10 - }, - "type": "symbol" - }, { - "id": "water_label", - "source": "mapbox", - "source-layer": "water_label", - "filter": { "$type": "Point" }, - "render": { - "text-field": "{name_en}", - "text-font": "Open Sans Semibold Italic, Arial Unicode MS Bold", - "text-max-size": 12, - "text-max-width": 8 - }, - "style": { - "text-color": "@water_dark", - "text-halo-color": "rgba(255,255,255,0.75)" - }, - "style.night": { - "text-color": "@text_water_night", - "text-halo-color": "@water_night" - }, - "type": "symbol" - }, { - "id": "waterway_label", - "source": "mapbox", - "source-layer": "waterway_label", - "filter": { "$type": "LineString" }, - "render": { - "text-field": "{name_en}", - "text-font": "Open Sans Semibold Italic, Arial Unicode MS Bold", - "text-max-size": 12, - "text-max-angle": 28.65, - "symbol-placement": "line" - }, - "style": { - "text-color": "@water_dark", - "text-halo-width": 1.4, - "text-halo-color": "@text_stroke" - }, - "style.night": { - "text-color": "@text_water_night", - "text-halo-color": "@water_night" - }, - "type": "symbol" - }, { - "id": "poi_label_1-2", - "source": "mapbox", - "source-layer": "poi_label", - "filter": { "scalerank": [1, 2], "$type": "Point" }, - "render": { - "icon-image": "{maki}-12", - "text-field": "{name_en}", - "text-padding": 2, - "text-font": "Open Sans Semibold, Arial Unicode MS Bold", - "text-max-size": 12, - "text-max-width": 10, - "text-offset": [0, 0.6], - "text-vertical-align": "top" - }, - "style": { - "text-color": "#444", - "text-size": "@poi_label_1-2_size", - "text-halo-color": "@land", - "text-halo-width": { - "stops": [[14, 1.5], [15, 1.65], [16, 1.8]] - } - }, - "style.night": { - "text-color": "#fff", - "text-size": "@poi_label_1-2_size", - "text-halo-color": "@text2_stroke_night", - "text-halo-width": { - "stops": [[14, 1.5], [15, 1.65], [16, 1.8]] - } - }, - "type": "symbol" - }, { - "id": "poi_label_3", - "source": "mapbox", - "source-layer": "poi_label", - "filter": { "scalerank": 3, "$type": "Point" }, - "render": { - "icon-image": "{maki}-12", - "text-field": "{name_en}", - "text-padding": 2, - "text-font": "Open Sans Semibold, Arial Unicode MS Bold", - "text-max-size": 11, - "text-max-width": 10, - "text-offset": [0, 0.6], - "text-vertical-align": "top" - }, - "style": { - "icon-opacity": { - "stops": [[15.5, 0], [15.75, 1]] - }, - "text-color": "#444", - "text-size": "@poi_label_3_size", - "text-halo-color": "@land", - "text-halo-width": { - "stops": [[15, 1.5], [16, 1.65]] - }, - "text-opacity": { - "stops": [[15.5, 0], [15.75, 1]] - } - }, - "style.night": { - "text-color": "#fff", - "text-size": "@poi_label_3_size", - "text-halo-color": "@text2_stroke_night", - "text-halo-width": { - "stops": [[15, 1.5], [16, 1.65]] - }, - "text-opacity": { - "stops": [[15.5, 0], [15.75, 1]] - } - }, - "type": "symbol" - }, { - "id": "poi_label_4", - "source": "mapbox", - "source-layer": "poi_label", - "filter": { "scalerank": 4, "$type": "Point" }, - "render": { - "icon-image": "{maki}-12", - "text-field": "{name_en}", - "text-padding": 2, - "text-font": "Open Sans Semibold, Arial Unicode MS Bold", - "text-max-size": 10, - "text-max-width": 10, - "text-offset": [0, 0.6], - "text-vertical-align": "top" - }, - "style": { - "icon-opacity": { - "stops": [[17.5, 0], [17.75, 1]] - }, - "text-color": "#444", - "text-size": 10, - "text-opacity": { - "stops": [[17.5, 0], [17.75, 1]] - }, - "text-halo-color": "@land", - "text-halo-width": 1.5 - }, - "style.night": { - "text-color": "#fff", - "text-size": 10, - "text-opacity": { - "stops": [[17.5, 0], [17.75, 1]] - }, - "text-halo-color": "@text2_stroke_night", - "text-halo-width": 1.5 - }, - "type": "symbol" - }] -} -- cgit v1.2.1 From 80040304b416f1cd82fa683235cfe2371113fc8c Mon Sep 17 00:00:00 2001 From: Dane Springmeyer Date: Fri, 31 Oct 2014 16:15:14 -0400 Subject: only the linux app needs 'copy-styles' - works around make xproj error (gyp generator bug?) with nested paths that leads to 'assert group_ref.__class__ == PBXGroup' --- gyp/styles.gypi | 12 +----------- linux/mapboxgl-app.gyp | 12 +++++++++++- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/gyp/styles.gypi b/gyp/styles.gypi index 19f84481dc..02cdea6e04 100644 --- a/gyp/styles.gypi +++ b/gyp/styles.gypi @@ -21,16 +21,6 @@ 'direct_dependent_settings': { 'mac_bundle_resources': [ '../styles/styles' ], } - }, - { - 'target_name': 'copy_styles', - 'type': 'none', - 'hard_dependency': 1, - 'dependencies': [ 'touch_styles' ], # required for xcode http://openradar.appspot.com/7232149 - 'copies': [{ - 'files': [ '../styles' ], - 'destination': '<(PRODUCT_DIR)' - }], - }, + } ] } diff --git a/linux/mapboxgl-app.gyp b/linux/mapboxgl-app.gyp index 57bd1171b2..537d4491ea 100644 --- a/linux/mapboxgl-app.gyp +++ b/linux/mapboxgl-app.gyp @@ -3,6 +3,16 @@ '../gyp/common.gypi', ], 'targets': [ + { + 'target_name': 'copy_styles', + 'type': 'none', + 'hard_dependency': 1, + 'dependencies': [ '../styles.gyp:touch_styles' ], # required for xcode http://openradar.appspot.com/7232149 + 'copies': [{ + 'files': [ '../styles/styles' ], + 'destination': '<(PRODUCT_DIR)' + }], + }, { 'target_name': 'linuxapp', 'product_name': 'mapbox-gl', @@ -42,9 +52,9 @@ }] ], 'dependencies': [ + 'copy_styles', '../mapboxgl.gyp:mbgl-standalone', '../mapboxgl.gyp:mbgl-linux', - '../mapboxgl.gyp:copy_styles', '../mapboxgl.gyp:copy_certificate_bundle', ], }, -- cgit v1.2.1 From 28bfdbb9e4c28d91f35c2ab2e248693e0e8f0307 Mon Sep 17 00:00:00 2001 From: Dane Springmeyer Date: Fri, 31 Oct 2014 16:25:57 -0400 Subject: no need for touch workaround since linux app is built with make not xcode --- linux/mapboxgl-app.gyp | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/linux/mapboxgl-app.gyp b/linux/mapboxgl-app.gyp index 537d4491ea..c4be409be3 100644 --- a/linux/mapboxgl-app.gyp +++ b/linux/mapboxgl-app.gyp @@ -3,16 +3,6 @@ '../gyp/common.gypi', ], 'targets': [ - { - 'target_name': 'copy_styles', - 'type': 'none', - 'hard_dependency': 1, - 'dependencies': [ '../styles.gyp:touch_styles' ], # required for xcode http://openradar.appspot.com/7232149 - 'copies': [{ - 'files': [ '../styles/styles' ], - 'destination': '<(PRODUCT_DIR)' - }], - }, { 'target_name': 'linuxapp', 'product_name': 'mapbox-gl', @@ -52,11 +42,14 @@ }] ], 'dependencies': [ - 'copy_styles', '../mapboxgl.gyp:mbgl-standalone', '../mapboxgl.gyp:mbgl-linux', '../mapboxgl.gyp:copy_certificate_bundle', ], + 'copies': [{ + 'files': [ '../styles/styles' ], + 'destination': '<(PRODUCT_DIR)' + }], }, ], } -- cgit v1.2.1 From b2032103f2fc8567d623a311ff612853d8bce048 Mon Sep 17 00:00:00 2001 From: Dane Springmeyer Date: Fri, 31 Oct 2014 16:26:24 -0400 Subject: linux app: fix path to styles --- linux/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux/main.cpp b/linux/main.cpp index fa4a495837..7b96a349e1 100644 --- a/linux/main.cpp +++ b/linux/main.cpp @@ -65,7 +65,7 @@ int main(int argc, char *argv[]) { } // Load style - const std::string style = std::string("file://") + uv::cwd() + std::string("/styles/bright-v5.json"); + const std::string style = std::string("file://") + uv::cwd() + std::string("/styles/styles/bright-v5.json"); map.setStyleURL(style); int ret = view->run(); -- cgit v1.2.1 From 03ae142d7257999b196593cf8bea77bdc2f50915 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20Ka=CC=88fer?= Date: Fri, 31 Oct 2014 17:33:10 -0400 Subject: use a local version of mason instead of writing into ~/.mason fixes #526 --- .gitmodules | 3 +++ .mason | 1 + .travis.yml | 2 +- configure | 7 +------ scripts/local_mason.sh | 8 ++++++++ 5 files changed, 14 insertions(+), 7 deletions(-) create mode 160000 .mason create mode 100755 scripts/local_mason.sh diff --git a/.gitmodules b/.gitmodules index 850e0c7e2b..e1831c3172 100644 --- a/.gitmodules +++ b/.gitmodules @@ -5,3 +5,6 @@ [submodule "test/suite"] path = test/suite url = https://github.com/mapbox/mapbox-gl-test-suite.git +[submodule ".mason"] + path = .mason + url = https://github.com/mapbox/mason.git diff --git a/.mason b/.mason new file mode 160000 index 0000000000..462fe28479 --- /dev/null +++ b/.mason @@ -0,0 +1 @@ +Subproject commit 462fe28479ea700943abd2fde15b03038a168da0 diff --git a/.travis.yml b/.travis.yml index 8edbe3c157..a7c7109f03 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,9 +25,9 @@ env: - LD_LIBRARY_PATH: '/usr/local/lib' before_install: +- source ./scripts/local_mason.sh - source ./scripts/travis_helper.sh - source ./scripts/flags.sh -- (git clone https://github.com/mapbox/mason.git ~/.mason ; sudo ln -s ~/.mason/mason /usr/local/bin/mason) - ./scripts/travis_before_install.sh - if [[ ${TRAVIS_OS_NAME} == "linux" ]]; then export LD_LIBRARY_PATH=`mason prefix mesa 10.3.1`/lib; fi - if [[ ${TRAVIS_OS_NAME} == "linux" ]]; then glxinfo; fi diff --git a/configure b/configure index 8b82a72083..2b5ec80ca2 100755 --- a/configure +++ b/configure @@ -2,7 +2,6 @@ set -e set -o pipefail -shopt -s expand_aliases CONFIG_FILE=${1:-config.gypi} @@ -16,11 +15,7 @@ function finish { trap finish EXIT # Install mason -if [[ ! -d ~/.mason ]]; then - >&2 echo -e "\033[1m\033[32m* Installing Mason\033[0m" - git clone https://github.com/mapbox/mason.git ~/.mason -fi -alias mason='~/.mason/mason' +. ./scripts/local_mason.sh case ${MASON_PLATFORM} in 'ios') diff --git a/scripts/local_mason.sh b/scripts/local_mason.sh new file mode 100755 index 0000000000..d51b2e36b6 --- /dev/null +++ b/scripts/local_mason.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +shopt -s expand_aliases + +git submodule update --init .mason + +alias mason=`pwd`/.mason/mason +export MASON_DIR=`pwd`/.mason -- cgit v1.2.1 From ec42892f5c43ec69588c66ea3524bc7f5753619b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20Ka=CC=88fer?= Date: Fri, 31 Oct 2014 17:38:34 -0400 Subject: add to $PATH instead of using aliases --- scripts/local_mason.sh | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/scripts/local_mason.sh b/scripts/local_mason.sh index d51b2e36b6..2d8687a280 100755 --- a/scripts/local_mason.sh +++ b/scripts/local_mason.sh @@ -1,8 +1,5 @@ #!/usr/bin/env bash -shopt -s expand_aliases - git submodule update --init .mason - -alias mason=`pwd`/.mason/mason +PATH=`pwd`/.mason:$PATH export MASON_DIR=`pwd`/.mason -- cgit v1.2.1 From 551ff954a5e30c89c27f59a9848ba0a9be871adc Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Fri, 31 Oct 2014 17:47:25 -0400 Subject: Remove unused --- .gitignore | 2 -- gyp/fixtures.gypi | 17 ----------------- mapboxgl.gyp | 1 - test/test.gyp | 3 +-- 4 files changed, 1 insertion(+), 22 deletions(-) delete mode 100644 gyp/fixtures.gypi diff --git a/.gitignore b/.gitignore index bce644c7e8..c907dbdec5 100644 --- a/.gitignore +++ b/.gitignore @@ -12,5 +12,3 @@ /src/shader/shaders_gl.cpp /src/shader/shaders_gles2.cpp /bin/style.bin.js -/test/fixtures/styles/index.html -/test/fixtures/style_parser/styles diff --git a/gyp/fixtures.gypi b/gyp/fixtures.gypi deleted file mode 100644 index 199865a6f3..0000000000 --- a/gyp/fixtures.gypi +++ /dev/null @@ -1,17 +0,0 @@ -{ - 'targets': [ - { 'target_name': 'copy_fixtures', - 'type': 'none', - 'hard_dependency': 1, - 'dependencies': [ - 'bundle_styles' - ], - 'copies': [ - { - 'files': [ '../styles' ], - 'destination': '../test/fixtures/style_parser' - } - ] - }, - ] -} diff --git a/mapboxgl.gyp b/mapboxgl.gyp index 69cc31016a..3978ebf0ad 100644 --- a/mapboxgl.gyp +++ b/mapboxgl.gyp @@ -3,7 +3,6 @@ './gyp/common.gypi', './gyp/shaders.gypi', './gyp/styles.gypi', - './gyp/fixtures.gypi', './gyp/certificates.gypi', './gyp/mbgl-core.gypi', './gyp/mbgl-platform.gypi', diff --git a/test/test.gyp b/test/test.gyp index 249be64076..8ae475d1c1 100644 --- a/test/test.gyp +++ b/test/test.gyp @@ -77,8 +77,7 @@ ], 'dependencies': [ '../deps/gtest/gtest.gyp:gtest', - '../mapboxgl.gyp:mbgl-standalone', - '../mapboxgl.gyp:copy_fixtures', + '../mapboxgl.gyp:mbgl-standalone' ], 'conditions': [ ['OS == "mac"', { 'xcode_settings': { 'OTHER_LDFLAGS': [ '<@(ldflags)' ] } -- cgit v1.2.1