Files
MapLibreParticleLab/include/llmr/platform/platform.hpp
2014-02-21 14:18:48 -08:00

41 lines
1.4 KiB
C++

#ifndef LLMR_PLATFORM_IOS
#define LLMR_PLATFORM_IOS
#include <memory>
#include <functional>
#include <string>
#define kTileURL "http://a.gl-api-us-east-1.tilestream.net/v3/mapbox.mapbox-streets-v4/%d/%d/%d.gl.pbf"
#define kSpriteURL "https://dl.dropboxusercontent.com/u/575564/sprite"
namespace llmr {
class Tile;
typedef std::shared_ptr<Tile> tile_ptr;
namespace platform {
// Restarts painting. This could for example trigger the event loop of the controlling application.
void restart();
struct Response {
int16_t code = -1;
std::string body;
};
// Makes an HTTP request of a URL on a background thread, calls a function with the results on the same thread, and finally calls a callback function on the main thread.
void request_http(std::string url, std::function<void(Response&)> background_function, std::function<void()> foreground_callback);
// Makes a tile-specific HTTP request of a URL on a background thread, calls a function with the results on the same thread, and finally calls a callback function on the main thread. Access to the tile object is provided via a shared pointer.
void request_http_tile(std::string tile_template_url, tile_ptr tile_object, std::function<void(Response&)> background_function, std::function<void()> foreground_callback);
// Returns a relative timestamp in seconds. This value must be monotonic.
double time();
}
}
#endif