MapboxでUnity3D対応をしたいので調査...
ただの個人的なメモ書き
手がかりをさぐる
同じことを考えている人はいるはずなのでとりあえず検索してみる。
Qtで同じことをやっている人はいるようだ。 これを真似すれば良さそう。
どのファイルをいじればいいのか?
commitログを眺める。
$ git log --oneline efca99c [Qt] expose NorthOrientation ... 69465c9 [Qt] Add a Qt wrapper aroung mbgl::Map d10cfd0 [ci skip] [android] Main loop integration 69465c9 [Qt] Add a Qt wrapper aroung mbgl::Map d10cfd0 [ci skip] [android] Main loop integration fd64b14 [glfw] Main loop integration c31c91e [core] Add foreign main loop integration support to mbgl::RunLoop bd5fabd [tests] Adapt tests for rendering on the main thread 1676934 [core] Render from the main thread 0f37b67 [core] Do not use std:: namespace for log2()
[Qt]
というタグがついてるコミットが対象っぽい.
masterとの差分ファイル一覧を出す
$ git diff --name-only HEAD...qt-app Makefile android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/NativeMapView.java configure gyp/common.gypi gyp/http-qt.gypi gyp/linux.gyp gyp/mbgl.gyp gyp/osx.gyp gyp/platform-qt.gypi gyp/qt.gypi include/mbgl/map/map.hpp include/mbgl/platform/default/glfw_view.hpp include/mbgl/platform/qt/QMapboxGL include/mbgl/platform/qt/qmapboxgl.hpp include/mbgl/util/run_loop.hpp platform/android/jni.cpp platform/android/native_map_view.cpp platform/default/async_task.cpp platform/default/glfw_view.cpp platform/default/run_loop.cpp platform/default/timer.cpp platform/qt/application_root.cpp platform/qt/asset_root.cpp platform/qt/async_task.cpp platform/qt/async_task_impl.hpp platform/qt/http_context_qt.cpp platform/qt/http_context_qt.hpp platform/qt/http_request_qt.cpp platform/qt/http_request_qt.hpp platform/qt/image.cpp platform/qt/qmapboxgl.cpp platform/qt/qmapboxgl.qrc platform/qt/qmapboxgl_p.hpp platform/qt/run_loop.cpp platform/qt/run_loop_impl.hpp platform/qt/timer.cpp platform/qt/timer_impl.hpp qt/main.cpp qt/mapwindow.cpp qt/mapwindow.hpp qt/qmapboxgl.gypi scripts/linux/configure.sh scripts/osx/configure.sh scripts/osx/install.sh scripts/osx/setup.sh src/mbgl/map/map.cpp src/mbgl/map/map_context.cpp src/mbgl/map/map_context.hpp src/mbgl/map/map_data.cpp src/mbgl/map/map_data.hpp src/mbgl/util/thread_context.hpp test/api/annotations.cpp test/api/api_misuse.cpp test/api/custom_layer.cpp test/api/repeated_render.cpp test/api/set_style.cpp test/fixtures/util.cpp test/miscellaneous/map.cpp test/storage/http_error.cpp test/storage/http_retry_network_status.cpp test/test.gypi
変更されたディレクトリ一覧を出す
$ git diff --name-only HEAD...qt-app | xargs -n1 dirname | sort | uniq . android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views gyp include/mbgl/map include/mbgl/platform/default include/mbgl/platform/qt include/mbgl/util platform/android platform/default platform/qt qt scripts/linux scripts/osx src/mbgl/map src/mbgl/util test test/api test/fixtures test/miscellaneous test/storage
一つ一つファイルの変更をみていく
Makefile - qtのビルドオプションが追加されただけ
MapView.java - めっちゃ長い. タップイベントやら諸々が書かれてる
NativeMapView.java - 微修正. リネーム等なされているようだ
configure - printの設定が追加されただけ
gyp/linux.gyp gyp/common.gypi - フラグ変更のみ
gyp/qt.gypi gyp/platform-qt.gypi gyp/http-qt.gypi - 新規追加
gyp/mbgl.gyp - qt用に設定追加
...
こっちのソース見るほうが早いかも...
GitHub - tmpsantos/qmapboxgl: Mapbox GL for Qt