Merge pull request #951 from mapbox/mbgl-render

Update static image rendering executable
This commit is contained in:
Konstantin Käfer
2015-03-06 13:24:47 +01:00
4 changed files with 23 additions and 10 deletions

View File

@@ -184,6 +184,16 @@ android-deploy: $(ANDROID_ABIS)
cd android/java/MapboxGLAndroidSDK && chmod ugo+x deploy.sh && ./deploy.sh
##### Render builds ############################################################
.PRECIOUS: Makefile/render
Makefile/render: bin/render.gyp config/$(HOST).gypi
deps/run_gyp bin/render.gyp $(CONFIG_$(HOST)) $(LIBS_$(HOST)) --generator-output=./build/$(HOST) -f make
render: Makefile/render
$(MAKE) -C build/$(HOST) BUILDTYPE=$(BUILDTYPE) mbgl-render
##### Maintenace operations ####################################################
.PHONY: clear_xcode_cache

View File

@@ -3,10 +3,6 @@
#include <mbgl/util/std.hpp>
#include <mbgl/util/io.hpp>
#include <rapidjson/document.h>
#include <rapidjson/writer.h>
#include <rapidjson/stringbuffer.h>
#include <mbgl/platform/default/headless_view.hpp>
#include <mbgl/platform/default/headless_display.hpp>
#include <mbgl/storage/default_file_source.hpp>
@@ -32,8 +28,8 @@ int main(int argc, char *argv[]) {
double zoom = 0;
double bearing = 0;
int width = 256;
int height = 256;
int width = 512;
int height = 512;
double pixelRatio = 1.0;
std::string output = "out.png";
std::string cache_file = "cache.sqlite";
@@ -100,16 +96,14 @@ int main(int argc, char *argv[]) {
view.resize(width, height, pixelRatio);
map.resize(width, height, pixelRatio);
map.setLatLonZoom(LatLng(lat, lon), zoom);
map.setLatLngZoom({ lat, lon }, zoom);
map.setBearing(bearing);
std::unique_ptr<uint32_t[]> pixels;
// Run the loop. It will terminate when we don't have any further listeners.
map.run();
// Get the data from the GPU.
pixels = view.readPixels();
auto pixels = view.readPixels();
const unsigned int w = width * pixelRatio;
const unsigned int h = height * pixelRatio;

View File

@@ -37,6 +37,11 @@ class GlyphAtlas;
class SpriteAtlas;
class LineAtlas;
struct exception : std::runtime_error {
inline exception(const char *msg) : std::runtime_error(msg) {
}
};
class Map : private util::noncopyable {
public:
explicit Map(View&, FileSource&);

View File

@@ -241,6 +241,10 @@ void Map::run() {
checkForPause();
}
if (mode == Mode::Static && !style && styleURL.empty()) {
throw exception("Style is not set");
}
view.activate();
workers = util::make_unique<uv::worker>(**loop, 4, "Tile Worker");