#pragma once #include "source.hpp" #include #include #include #include "../../geojson/geometry.hpp" #include "../../geojson/feature.hpp" #include "../../geojson/feature_collection.hpp" #include "../../geometry/lat_lng_bounds.hpp" #include namespace mbgl { namespace android { class CustomGeometrySource : public Source { public: static constexpr auto Name() { return "com/mapbox/mapboxsdk/style/sources/CustomGeometrySource"; }; static jni::Class javaClass; static void registerNative(jni::JNIEnv&); CustomGeometrySource(jni::JNIEnv&, jni::String, jni::Object<>); CustomGeometrySource(jni::JNIEnv&, mbgl::style::Source&, AndroidRendererFrontend&); ~CustomGeometrySource(); void fetchTile(const mbgl::CanonicalTileID& tileID); void cancelTile(const mbgl::CanonicalTileID& tileID); void setTileData(jni::JNIEnv& env, jni::jint z, jni::jint x, jni::jint y, jni::Object jf); void invalidateTile(jni::JNIEnv& env, jni::jint z, jni::jint x, jni::jint y); void invalidateBounds(jni::JNIEnv& env, jni::Object bounds); jni::Array> querySourceFeatures(jni::JNIEnv&, jni::Array> ); private: jni::Object createJavaPeer(jni::JNIEnv&); }; // class CustomGeometrySource } // namespace android } // namespace mbgl