├── .clang-format ├── .gitattributes ├── .github └── FUNDING.yml ├── .gitignore ├── .gitmodules ├── CMakeLists.txt ├── LICENSE ├── README.md ├── build_dependencies.sh ├── clean_dependencies.sh ├── config.h.in ├── lib ├── CMakeLists.txt ├── PROJ4Config.cmake ├── TIFFConfig.cmake ├── lv_conf.h ├── lv_font_roboto_20.c ├── lvgl.cmake ├── patches │ ├── detex.patch │ └── mupdf.patch ├── sqlite3.cmake └── sqlite3 │ ├── shell.c │ ├── sqlite3.c │ ├── sqlite3.h │ └── sqlite3ext.h ├── res ├── charts │ └── readme.pdf ├── config.json ├── icons │ ├── folder.png │ ├── if_Airport_22906.png │ ├── if_Help_1493288.png │ ├── if_applications-internet_118835.png │ ├── if_icon-plane_211875.png │ ├── if_ilustracoes_04-11_1519786.png │ ├── if_starthere_18227.png │ ├── if_txt2_3783.png │ └── if_xmag_3617.png └── online-maps │ └── mapconfig.json ├── screenshots ├── airports.jpg ├── charts.jpg ├── epsg-maps.jpg ├── geotiff-map.jpg ├── keyboard.jpg ├── launcher.jpg ├── map.jpg ├── mercator-map.jpg ├── notes.jpg ├── routes.jpg └── xplane-map.jpg ├── setup.sh ├── src ├── CMakeLists.txt ├── Logger.cpp ├── Logger.h ├── MsfsAddon.cpp ├── Plugin.cpp ├── StandAlone.cpp ├── avitab │ ├── AviTab.cpp │ ├── AviTab.h │ ├── CMakeLists.txt │ └── apps │ │ ├── About.cpp │ │ ├── About.h │ │ ├── AirportApp.cpp │ │ ├── AirportApp.h │ │ ├── App.cpp │ │ ├── App.h │ │ ├── AppFunctions.h │ │ ├── AppLauncher.cpp │ │ ├── AppLauncher.h │ │ ├── CMakeLists.txt │ │ ├── ChartsApp.cpp │ │ ├── ChartsApp.h │ │ ├── DocumentsApp.cpp │ │ ├── DocumentsApp.h │ │ ├── HeaderApp.cpp │ │ ├── HeaderApp.h │ │ ├── MapApp.cpp │ │ ├── MapApp.h │ │ ├── NotesApp.cpp │ │ ├── NotesApp.h │ │ ├── PlaneManualApp.cpp │ │ ├── PlaneManualApp.h │ │ ├── ProvidersApp.cpp │ │ ├── ProvidersApp.h │ │ ├── RouteApp.cpp │ │ ├── RouteApp.h │ │ └── components │ │ ├── CMakeLists.txt │ │ ├── ContainerWithClickableCustomList.cpp │ │ ├── ContainerWithClickableCustomList.h │ │ ├── FileChooser.cpp │ │ ├── FileChooser.h │ │ ├── FileSelect.cpp │ │ ├── FileSelect.h │ │ ├── FilesysBrowser.cpp │ │ └── FilesysBrowser.h ├── charts │ ├── APICall.h │ ├── CMakeLists.txt │ ├── Chart.h │ ├── ChartService.cpp │ ├── ChartService.h │ ├── Crypto.cpp │ ├── Crypto.h │ ├── RESTClient.cpp │ ├── RESTClient.h │ ├── libchartfox │ │ ├── CMakeLists.txt │ │ ├── ChartFoxAPI.cpp │ │ ├── ChartFoxAPI.h │ │ ├── ChartFoxAuthServer.cpp │ │ ├── ChartFoxAuthServer.h │ │ ├── ChartFoxChart.cpp │ │ ├── ChartFoxChart.h │ │ ├── ChartFoxOAuth2Client.cpp │ │ └── ChartFoxOAuth2Client.h │ ├── liblocalfile │ │ ├── CMakeLists.txt │ │ ├── LocalFileAPI.cpp │ │ ├── LocalFileAPI.h │ │ ├── LocalFileChart.cpp │ │ └── LocalFileChart.h │ └── libnavigraph │ │ ├── AuthServer.cpp │ │ ├── AuthServer.h │ │ ├── CMakeLists.txt │ │ ├── NavigraphAPI.cpp │ │ ├── NavigraphAPI.h │ │ ├── NavigraphChart.cpp │ │ ├── NavigraphChart.h │ │ ├── OIDCClient.cpp │ │ └── OIDCClient.h ├── environment │ ├── CMakeLists.txt │ ├── Config.cpp │ ├── Config.h │ ├── EnvData.h │ ├── Environment.cpp │ ├── Environment.h │ ├── GUIDriver.cpp │ ├── GUIDriver.h │ ├── Settings.cpp │ ├── Settings.h │ ├── ToolEnvironment.cpp │ ├── ToolEnvironment.h │ ├── msfs │ │ ├── CMakeLists.txt │ │ ├── MsfsAddonEnvironment.cpp │ │ └── MsfsAddonEnvironment.h │ ├── standalone │ │ ├── CMakeLists.txt │ │ ├── GlfwGUIDriver.cpp │ │ ├── GlfwGUIDriver.h │ │ ├── StandAloneEnvironment.cpp │ │ └── StandAloneEnvironment.h │ └── xplane │ │ ├── CMakeLists.txt │ │ ├── DataCache.cpp │ │ ├── DataCache.h │ │ ├── DataRefExport.cpp │ │ ├── DataRefExport.h │ │ ├── DataRefImport.cpp │ │ ├── DataRefImport.h │ │ ├── MonitorBoundsDecider.cpp │ │ ├── MonitorBoundsDecider.h │ │ ├── XPlaneEnvironment.cpp │ │ ├── XPlaneEnvironment.h │ │ ├── XPlaneGUIDriver.cpp │ │ └── XPlaneGUIDriver.h ├── gui_toolkit │ ├── CMakeLists.txt │ ├── LVGLToolkit.cpp │ ├── LVGLToolkit.h │ ├── Timer.cpp │ ├── Timer.h │ └── widgets │ │ ├── Button.cpp │ │ ├── Button.h │ │ ├── CMakeLists.txt │ │ ├── Checkbox.cpp │ │ ├── Checkbox.h │ │ ├── Container.cpp │ │ ├── Container.h │ │ ├── DropDownList.cpp │ │ ├── DropDownList.h │ │ ├── Keyboard.cpp │ │ ├── Keyboard.h │ │ ├── Label.cpp │ │ ├── Label.h │ │ ├── List.cpp │ │ ├── List.h │ │ ├── MessageBox.cpp │ │ ├── MessageBox.h │ │ ├── Page.cpp │ │ ├── Page.h │ │ ├── PixMap.cpp │ │ ├── PixMap.h │ │ ├── Screen.cpp │ │ ├── Screen.h │ │ ├── Slider.cpp │ │ ├── Slider.h │ │ ├── TabGroup.cpp │ │ ├── TabGroup.h │ │ ├── TextArea.cpp │ │ ├── TextArea.h │ │ ├── Widget.cpp │ │ ├── Widget.h │ │ ├── Window.cpp │ │ └── Window.h ├── libimg │ ├── CMakeLists.txt │ ├── DDSImage.cpp │ ├── DDSImage.h │ ├── Image.cpp │ ├── Image.h │ ├── Rasterizer.cpp │ ├── Rasterizer.h │ ├── TTFStamper.cpp │ ├── TTFStamper.h │ ├── XTiffImage.cpp │ ├── XTiffImage.h │ └── stitcher │ │ ├── CMakeLists.txt │ │ ├── Stitcher.cpp │ │ ├── Stitcher.h │ │ ├── TileCache.cpp │ │ ├── TileCache.h │ │ └── TileSource.h ├── libnavsql │ ├── CMakeLists.txt │ ├── NavDbSchema.h │ ├── SqlDatabase.cpp │ ├── SqlDatabase.h │ ├── SqlLoadManager.cpp │ ├── SqlLoadManager.h │ ├── SqlStatement.cpp │ ├── SqlStatement.h │ ├── SqlWorld.cpp │ ├── SqlWorld.h │ ├── loaders │ │ ├── AirportLoader.cpp │ │ ├── AirportLoader.h │ │ ├── CMakeLists.txt │ │ ├── FixLoader.cpp │ │ └── FixLoader.h │ └── models │ │ └── airports │ │ └── procs │ │ ├── CMakeLists.txt │ │ ├── SqlApproach.cpp │ │ ├── SqlApproach.h │ │ ├── SqlProcedure.cpp │ │ ├── SqlProcedure.h │ │ ├── SqlSID.cpp │ │ ├── SqlSID.h │ │ ├── SqlSTAR.cpp │ │ └── SqlSTAR.h ├── libxdata │ ├── CMakeLists.txt │ ├── XData.cpp │ ├── XData.h │ ├── XWorld.cpp │ ├── XWorld.h │ ├── loaders │ │ ├── AirportLoader.cpp │ │ ├── AirportLoader.h │ │ ├── AirwayLoader.cpp │ │ ├── AirwayLoader.h │ │ ├── CIFPLoader.cpp │ │ ├── CIFPLoader.h │ │ ├── CMakeLists.txt │ │ ├── FixLoader.cpp │ │ ├── FixLoader.h │ │ ├── MetarLoader.cpp │ │ ├── MetarLoader.h │ │ ├── NavaidLoader.cpp │ │ └── NavaidLoader.h │ ├── models │ │ └── airports │ │ │ └── procs │ │ │ ├── CMakeLists.txt │ │ │ ├── ProcedureOptions.cpp │ │ │ ├── ProcedureOptions.h │ │ │ ├── XApproach.cpp │ │ │ ├── XApproach.h │ │ │ ├── XSID.cpp │ │ │ ├── XSID.h │ │ │ ├── XSTAR.cpp │ │ │ └── XSTAR.h │ └── parsers │ │ ├── AirportParser.cpp │ │ ├── AirportParser.h │ │ ├── AirwayParser.cpp │ │ ├── AirwayParser.h │ │ ├── CIFPParser.cpp │ │ ├── CIFPParser.h │ │ ├── CMakeLists.txt │ │ ├── CustomSceneryParser.cpp │ │ ├── CustomSceneryParser.h │ │ ├── FixParser.cpp │ │ ├── FixParser.h │ │ ├── MetarParser.cpp │ │ ├── MetarParser.h │ │ ├── NavaidParser.cpp │ │ ├── NavaidParser.h │ │ └── objects │ │ ├── AirportData.h │ │ ├── AirwayData.h │ │ ├── CIFPData.h │ │ ├── FixData.h │ │ ├── MetarData.h │ │ └── NavaidData.h ├── maps │ ├── CMakeLists.txt │ ├── Downloader.cpp │ ├── Downloader.h │ ├── OverlayConfig.h │ ├── OverlayHelper.h │ ├── OverlayHighlight.cpp │ ├── OverlayHighlight.h │ ├── OverlayedAirport.cpp │ ├── OverlayedAirport.h │ ├── OverlayedDME.cpp │ ├── OverlayedDME.h │ ├── OverlayedFix.cpp │ ├── OverlayedFix.h │ ├── OverlayedILSLocalizer.cpp │ ├── OverlayedILSLocalizer.h │ ├── OverlayedMap.cpp │ ├── OverlayedMap.h │ ├── OverlayedNDB.cpp │ ├── OverlayedNDB.h │ ├── OverlayedNode.cpp │ ├── OverlayedNode.h │ ├── OverlayedRoute.cpp │ ├── OverlayedRoute.h │ ├── OverlayedUserFix.cpp │ ├── OverlayedUserFix.h │ ├── OverlayedVOR.cpp │ ├── OverlayedVOR.h │ ├── OverlayedWaypoint.cpp │ ├── OverlayedWaypoint.h │ └── sources │ │ ├── CMakeLists.txt │ │ ├── Calibration.cpp │ │ ├── Calibration.h │ │ ├── DocumentSource.cpp │ │ ├── DocumentSource.h │ │ ├── DownloadedSource.cpp │ │ ├── DownloadedSource.h │ │ ├── EPSGSource.cpp │ │ ├── EPSGSource.h │ │ ├── GeoTIFFSource.cpp │ │ ├── GeoTIFFSource.h │ │ ├── ImageSource.cpp │ │ ├── ImageSource.h │ │ ├── LinearEquation.cpp │ │ ├── LinearEquation.h │ │ ├── LocalFileSource.cpp │ │ ├── LocalFileSource.h │ │ ├── NavigraphSource.cpp │ │ ├── NavigraphSource.h │ │ ├── OnlineSlippyMapConfig.cpp │ │ ├── OnlineSlippyMapConfig.h │ │ ├── OnlineSlippySource.cpp │ │ ├── OnlineSlippySource.h │ │ ├── XPlaneSource.cpp │ │ └── XPlaneSource.h ├── platform │ ├── CMakeLists.txt │ ├── CrashHandler.cpp │ ├── CrashHandler.h │ ├── FSImpl.cpp │ ├── Platform.cpp │ ├── Platform.h │ ├── strtod.cpp │ └── strtod.h ├── scripting │ ├── CMakeLists.txt │ ├── Runtime.cpp │ └── Runtime.h ├── tools │ ├── CMakeLists.txt │ └── navdb │ │ ├── AtoolsAirwayCompiler.cpp │ │ ├── AtoolsAirwayCompiler.h │ │ ├── AtoolsNavTranslator.cpp │ │ ├── AtoolsNavTranslator.h │ │ ├── AtoolsProcCompiler.cpp │ │ ├── AtoolsProcCompiler.h │ │ ├── BuildNavDB.cpp │ │ └── CMakeLists.txt └── world │ ├── CMakeLists.txt │ ├── LoadManager.cpp │ ├── LoadManager.h │ ├── World.h │ ├── graph │ ├── CMakeLists.txt │ ├── NavEdge.h │ ├── NavNode.cpp │ └── NavNode.h │ ├── loaders │ ├── CMakeLists.txt │ ├── FMSLoader.cpp │ ├── FMSLoader.h │ ├── UserFixLoader.cpp │ └── UserFixLoader.h │ ├── models │ ├── Airway.cpp │ ├── Airway.h │ ├── CMakeLists.txt │ ├── Frequency.cpp │ ├── Frequency.h │ ├── Location.cpp │ ├── Location.h │ ├── Region.cpp │ ├── Region.h │ ├── airport │ │ ├── Airport.cpp │ │ ├── Airport.h │ │ ├── CMakeLists.txt │ │ ├── Heliport.cpp │ │ ├── Heliport.h │ │ ├── Runway.cpp │ │ ├── Runway.h │ │ └── procs │ │ │ ├── Approach.h │ │ │ ├── Procedure.h │ │ │ ├── SID.h │ │ │ └── STAR.h │ └── navaids │ │ ├── CMakeLists.txt │ │ ├── DME.cpp │ │ ├── DME.h │ │ ├── Fix.cpp │ │ ├── Fix.h │ │ ├── ILSLocalizer.cpp │ │ ├── ILSLocalizer.h │ │ ├── Morse.cpp │ │ ├── Morse.h │ │ ├── NDB.cpp │ │ ├── NDB.h │ │ ├── RadioNavaid.cpp │ │ ├── RadioNavaid.h │ │ ├── UserFix.cpp │ │ ├── UserFix.h │ │ ├── VOR.cpp │ │ └── VOR.h │ ├── parsers │ ├── BaseParser.cpp │ ├── BaseParser.h │ ├── CMakeLists.txt │ ├── FMSParser.cpp │ ├── FMSParser.h │ ├── UserFixParser.cpp │ ├── UserFixParser.h │ └── objects │ │ ├── FlightPlanNodeData.h │ │ └── UserFixData.h │ └── routing │ ├── CMakeLists.txt │ ├── Route.cpp │ ├── Route.h │ ├── RouteFinder.cpp │ └── RouteFinder.h └── teardown.sh /.gitattributes: -------------------------------------------------------------------------------- 1 | # Enforce consistent line feed for all files that Git considers texty. 2 | * text=auto eol=lf 3 | 4 | # NB will need to add specific rules for any files that require CRLF line endings. 5 | # Currently Avitab does not have any of these in its repository. 6 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | custom: ['paypal.me/avitab'] 4 | 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # C++ standard ignored files from: https://github.com/github/gitignore/blob/master/C%2B%2B.gitignore 2 | 3 | # Prerequisites 4 | *.d 5 | 6 | # Compiled Object files 7 | *.slo 8 | *.lo 9 | *.o 10 | *.obj 11 | 12 | # Precompiled Headers 13 | *.gch 14 | *.pch 15 | 16 | # Compiled Dynamic libraries 17 | *.so 18 | *.dylib 19 | *.dll 20 | 21 | # Fortran module files 22 | *.mod 23 | *.smod 24 | 25 | # Compiled Static libraries 26 | *.lai 27 | *.la 28 | *.a 29 | *.lib 30 | 31 | # Executables 32 | *.exe 33 | *.out 34 | *.app 35 | 36 | # Project specific ignores 37 | /build/ 38 | /build-third/ 39 | /cmake-build-debug/ 40 | /build-*/ 41 | /scratch/ 42 | 43 | # Ignore hidden files, apart from some project specifics 44 | /.* 45 | !/.gitattributes 46 | !/.gitignore 47 | !/.gitmodules 48 | !/.clang-format 49 | 50 | # Jetbrains IDE 51 | .idea/ 52 | 53 | # OS X artifacts 54 | .DS_Store 55 | 56 | # VSCode IDE 57 | .vscode/ 58 | *.code-workspace 59 | 60 | # clangd index and compilation database 61 | .cache 62 | compile_commands.json 63 | 64 | # Eclipse IDE 65 | .project 66 | .cproject 67 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "lib/lvgl"] 2 | path = lib/lvgl 3 | url = https://github.com/littlevgl/lvgl.git 4 | ignore = dirty 5 | [submodule "lib/detex"] 6 | path = lib/detex 7 | url = https://github.com/hglm/detex 8 | ignore = dirty 9 | [submodule "lib/stb"] 10 | path = lib/stb 11 | url = https://github.com/nothings/stb 12 | ignore = dirty 13 | [submodule "lib/json"] 14 | path = lib/json 15 | url = https://github.com/nlohmann/json 16 | ignore = dirty 17 | [submodule "lib/mupdf"] 18 | path = lib/mupdf 19 | url = https://github.com/ArtifexSoftware/mupdf 20 | ignore = dirty 21 | [submodule "lib/curl"] 22 | path = lib/curl 23 | url = https://github.com/curl/curl 24 | ignore = dirty 25 | [submodule "lib/mbedtls"] 26 | path = lib/mbedtls 27 | url = https://github.com/ARMmbed/mbedtls 28 | ignore = dirty 29 | [submodule "lib/libtiff"] 30 | path = lib/libtiff 31 | url = https://github.com/vadz/libtiff 32 | ignore = dirty 33 | [submodule "lib/proj"] 34 | path = lib/proj 35 | url = https://github.com/OSGeo/proj.4 36 | ignore = dirty 37 | [submodule "lib/XSDK"] 38 | path = lib/XSDK 39 | url = https://github.com/fpw/XSDK 40 | ignore = dirty 41 | [submodule "lib/libgeotiff"] 42 | path = lib/libgeotiff 43 | url = https://github.com/OSGeo/libgeotiff 44 | ignore = dirty 45 | [submodule "lib/QuickJS"] 46 | path = lib/QuickJS 47 | url = https://github.com/ldarren/QuickJS/ 48 | ignore = dirty 49 | [submodule "lib/filesystem"] 50 | path = lib/filesystem 51 | url = https://github.com/gulrak/filesystem.git 52 | -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.16) 2 | project(AviTab VERSION 0.7.1 DESCRIPTION "AviTab X-Plane plugin") 3 | 4 | if (NOT "$ENV{NAVIGRAPH_SECRET}" STREQUAL "") 5 | set(NAVIGRAPH_SECRET "$ENV{NAVIGRAPH_SECRET}" CACHE INTERNAL "Copied from environment variable") 6 | endif() 7 | if (NOT "$ENV{CHARTFOX_CLIENTID}" STREQUAL "") 8 | set(CHARTFOX_CLIENTID "$ENV{CHARTFOX_CLIENTID}" CACHE INTERNAL "Copied from environment variable") 9 | endif() 10 | 11 | configure_file( 12 | "${PROJECT_SOURCE_DIR}/config.h.in" 13 | "${PROJECT_BINARY_DIR}/config.h" 14 | ) 15 | 16 | add_definitions("-include ${PROJECT_BINARY_DIR}/config.h") 17 | 18 | set(CMAKE_EXPORT_COMPILE_COMMANDS ON) 19 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC") 20 | 21 | include(lib/CMakeLists.txt) 22 | include(src/CMakeLists.txt) 23 | -------------------------------------------------------------------------------- /clean_dependencies.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | OUTDIR=`pwd`/build-third/ 4 | rm -rf "$OUTDIR" 5 | 6 | cd lib 7 | 8 | echo "Cleaning detex..." 9 | cd detex 10 | git clean -d -x -f 11 | cd .. 12 | 13 | echo "Cleaning mupdf..." 14 | cd mupdf 15 | git clean -d -x -f 16 | cd .. 17 | 18 | echo "Cleaning mbedtls..." 19 | cd mbedtls 20 | git clean -d -x -f 21 | cd .. 22 | 23 | echo "Cleaning curl..." 24 | cd curl 25 | git clean -d -x -f 26 | cd .. 27 | 28 | echo "Cleaning libtiff..." 29 | cd libtiff 30 | git clean -d -x -f 31 | cd .. 32 | 33 | echo "Cleaning libproj..." 34 | cd proj 35 | git clean -d -x -f 36 | cd .. 37 | 38 | echo "Cleaning libgeotiff..." 39 | cd libgeotiff 40 | git clean -d -x -f 41 | cd .. 42 | 43 | echo "Cleaning QuickJS..." 44 | cd QuickJS 45 | git clean -d -x -f 46 | cd .. 47 | 48 | -------------------------------------------------------------------------------- /config.h.in: -------------------------------------------------------------------------------- 1 | /* 2 | * AviTab - Aviator's Virtual Tablet 3 | * Copyright (C) 2018 Folke Will 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU Affero General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU Affero General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU Affero General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | #define AVITAB_VERSION_MAJOR @AviTab_VERSION_MAJOR@ 20 | #define AVITAB_VERSION_MINOR @AviTab_VERSION_MINOR@ 21 | #define AVITAB_VERSION_PATCH @AviTab_VERSION_PATCH@ 22 | #define AVITAB_VERSION_STR "@AviTab_VERSION_MAJOR@.@AviTab_VERSION_MINOR@.@AviTab_VERSION_PATCH@" 23 | #define NAVIGRAPH_CLIENT_SECRET "@NAVIGRAPH_SECRET@" 24 | #define CHARTFOX_CLIENT_ID "@CHARTFOX_CLIENTID@" 25 | -------------------------------------------------------------------------------- /lib/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | include(${CMAKE_CURRENT_LIST_DIR}/lvgl.cmake) 2 | add_library(lvgl ${lvgl_sources}) 3 | include(${CMAKE_CURRENT_LIST_DIR}/sqlite3.cmake) 4 | add_library(sqlite3 STATIC ${sqlite3_sources}) 5 | target_compile_definitions(sqlite3 PRIVATE 6 | SQLITE_DQS=0 7 | SQLITE_DEFAULT_MEMSTATUS=0 8 | SQLITE_DEFAULT_SYNCHRONOUS=0 9 | SQLITE_DEFAULT_WAL_SYNCHRONOUS=0 10 | SQLITE_MAX_EXPR_DEPTH=0 11 | SQLITE_OMIT_DECLTYPE 12 | SQLITE_OMIT_DEPRECATED 13 | SQLITE_OMIT_LOAD_EXTENSION 14 | SQLITE_OMIT_PROGRESS_CALLBACK 15 | SQLITE_OMIT_SHARED_CACHE 16 | SQLITE_USE_ALLOCA 17 | SQLITE_OMIT_AUTOINIT 18 | ) 19 | -------------------------------------------------------------------------------- /lib/PROJ4Config.cmake: -------------------------------------------------------------------------------- 1 | set(PROJ4_LIBRARY "${CMAKE_CURRENT_LIST_DIR}/../build-third/lib/libproj.a") 2 | set(PROJ4_INCLUDE_DIR "${CMAKE_CURRENT_LIST_DIR}/../build-third/lib/include") 3 | set(PROJ4_LIBRARIES ${PROJ4_LIBRARY}) 4 | -------------------------------------------------------------------------------- /lib/TIFFConfig.cmake: -------------------------------------------------------------------------------- 1 | set(TIFF_LIBRARY "${CMAKE_CURRENT_LIST_DIR}/../build-third/lib/libtiff.a") 2 | set(TIFF_INCLUDE_DIR "${CMAKE_CURRENT_LIST_DIR}/../build-third/include") 3 | set(TIFF_LIBRARIES ${TIFF_LIBRARY} "${CMAKE_CURRENT_LIST_DIR}/../build-third/lib/libmupdf-third.a" m) 4 | -------------------------------------------------------------------------------- /lib/patches/detex.patch: -------------------------------------------------------------------------------- 1 | diff --git a/Makefile b/Makefile 2 | index b361a63..039539d 100644 3 | --- a/Makefile 4 | +++ b/Makefile 5 | @@ -16,7 +16,7 @@ else 6 | OPTCFLAGS += -Ofast -ffast-math 7 | endif 8 | # Use the 1999 ISO C standard with POSIX.1-2008 definitions. 9 | -CFLAGS = -std=c99 -D_POSIX_C_SOURCE=200809L -Wall -Wno-maybe-uninitialized -pipe -I. $(OPTCFLAGS) 10 | +CFLAGS = -std=c99 -D_POSIX_C_SOURCE=200809L -pipe -I. $(OPTCFLAGS) 11 | 12 | ifeq ($(LIBRARY_CONFIGURATION), SHARED) 13 | # Shared library. 14 | diff --git a/misc.c b/misc.c 15 | index 52d339f..373f02d 100644 16 | --- a/misc.c 17 | +++ b/misc.c 18 | @@ -81,7 +81,7 @@ void detexSetErrorMessage(const char *format, ...) { 19 | va_start(args, format); 20 | char *message; 21 | // Allocate and set message. 22 | - int r = vasprintf(&message, format, args); 23 | + int r = 0; 24 | if (r < 0) 25 | message = strdup("detexSetErrorMessage: vasprintf returned error"); 26 | va_end(args); 27 | -------------------------------------------------------------------------------- /lib/sqlite3.cmake: -------------------------------------------------------------------------------- 1 | if(APPLE) 2 | set(CMAKE_C_ARCHIVE_FINISH " -c ") 3 | endif() 4 | 5 | list(APPEND sqlite3_sources 6 | ${CMAKE_CURRENT_LIST_DIR}/sqlite3/sqlite3.c 7 | ) 8 | -------------------------------------------------------------------------------- /res/charts/readme.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fpw/avitab/a3157e432ea95e2872322f6554fb601d8208f937/res/charts/readme.pdf -------------------------------------------------------------------------------- /res/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "AviTab": { 3 | "logToStdOut": false, 4 | "loadNavData": true 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /res/icons/folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fpw/avitab/a3157e432ea95e2872322f6554fb601d8208f937/res/icons/folder.png -------------------------------------------------------------------------------- /res/icons/if_Airport_22906.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fpw/avitab/a3157e432ea95e2872322f6554fb601d8208f937/res/icons/if_Airport_22906.png -------------------------------------------------------------------------------- /res/icons/if_Help_1493288.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fpw/avitab/a3157e432ea95e2872322f6554fb601d8208f937/res/icons/if_Help_1493288.png -------------------------------------------------------------------------------- /res/icons/if_applications-internet_118835.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fpw/avitab/a3157e432ea95e2872322f6554fb601d8208f937/res/icons/if_applications-internet_118835.png -------------------------------------------------------------------------------- /res/icons/if_icon-plane_211875.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fpw/avitab/a3157e432ea95e2872322f6554fb601d8208f937/res/icons/if_icon-plane_211875.png -------------------------------------------------------------------------------- /res/icons/if_ilustracoes_04-11_1519786.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fpw/avitab/a3157e432ea95e2872322f6554fb601d8208f937/res/icons/if_ilustracoes_04-11_1519786.png -------------------------------------------------------------------------------- /res/icons/if_starthere_18227.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fpw/avitab/a3157e432ea95e2872322f6554fb601d8208f937/res/icons/if_starthere_18227.png -------------------------------------------------------------------------------- /res/icons/if_txt2_3783.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fpw/avitab/a3157e432ea95e2872322f6554fb601d8208f937/res/icons/if_txt2_3783.png -------------------------------------------------------------------------------- /res/icons/if_xmag_3617.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fpw/avitab/a3157e432ea95e2872322f6554fb601d8208f937/res/icons/if_xmag_3617.png -------------------------------------------------------------------------------- /res/online-maps/mapconfig.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "OpenTopoMap", 4 | "servers": [ 5 | "a.tile.opentopomap.org", 6 | "b.tile.opentopomap.org", 7 | "c.tile.opentopomap.org" 8 | ], 9 | "protocol": "https", 10 | "copyright": "Map Data (c) OpenStreetMap, SRTM - Map Style (c) OpenTopoMap (CC-BY-SA)", 11 | "url": "{z}/{x}/{y}.png", 12 | "min_zoom_level": 1, 13 | "max_zoom_level": 17, 14 | "tile_width_px": 256, 15 | "tile_height_px": 256, 16 | "enabled": true 17 | }, 18 | { 19 | "name": "OpenStreetMap", 20 | "servers": [ 21 | "tile.openstreetmap.org" 22 | ], 23 | "protocol": "https", 24 | "copyright": "Map tiles (c) OpenStreetMap (ODbL)", 25 | "url": "{z}/{x}/{y}.png", 26 | "min_zoom_level": 1, 27 | "max_zoom_level": 17, 28 | "tile_width_px": 256, 29 | "tile_height_px": 256, 30 | "enabled": false, 31 | "comment": "https://wiki.openstreetmap.org/wiki/Raster_tile_providers" 32 | } 33 | ] 34 | -------------------------------------------------------------------------------- /screenshots/airports.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fpw/avitab/a3157e432ea95e2872322f6554fb601d8208f937/screenshots/airports.jpg -------------------------------------------------------------------------------- /screenshots/charts.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fpw/avitab/a3157e432ea95e2872322f6554fb601d8208f937/screenshots/charts.jpg -------------------------------------------------------------------------------- /screenshots/epsg-maps.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fpw/avitab/a3157e432ea95e2872322f6554fb601d8208f937/screenshots/epsg-maps.jpg -------------------------------------------------------------------------------- /screenshots/geotiff-map.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fpw/avitab/a3157e432ea95e2872322f6554fb601d8208f937/screenshots/geotiff-map.jpg -------------------------------------------------------------------------------- /screenshots/keyboard.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fpw/avitab/a3157e432ea95e2872322f6554fb601d8208f937/screenshots/keyboard.jpg -------------------------------------------------------------------------------- /screenshots/launcher.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fpw/avitab/a3157e432ea95e2872322f6554fb601d8208f937/screenshots/launcher.jpg -------------------------------------------------------------------------------- /screenshots/map.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fpw/avitab/a3157e432ea95e2872322f6554fb601d8208f937/screenshots/map.jpg -------------------------------------------------------------------------------- /screenshots/mercator-map.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fpw/avitab/a3157e432ea95e2872322f6554fb601d8208f937/screenshots/mercator-map.jpg -------------------------------------------------------------------------------- /screenshots/notes.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fpw/avitab/a3157e432ea95e2872322f6554fb601d8208f937/screenshots/notes.jpg -------------------------------------------------------------------------------- /screenshots/routes.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fpw/avitab/a3157e432ea95e2872322f6554fb601d8208f937/screenshots/routes.jpg -------------------------------------------------------------------------------- /screenshots/xplane-map.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fpw/avitab/a3157e432ea95e2872322f6554fb601d8208f937/screenshots/xplane-map.jpg -------------------------------------------------------------------------------- /src/avitab/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | include(${CMAKE_CURRENT_LIST_DIR}/apps/CMakeLists.txt) 2 | 3 | target_sources(avitab_common PRIVATE 4 | ${CMAKE_CURRENT_LIST_DIR}/AviTab.cpp 5 | ) 6 | -------------------------------------------------------------------------------- /src/avitab/apps/About.h: -------------------------------------------------------------------------------- 1 | /* 2 | * AviTab - Aviator's Virtual Tablet 3 | * Copyright (C) 2018 Folke Will 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU Affero General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU Affero General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU Affero General Public License 16 | * along with this program. If not, see . 17 | */ 18 | #ifndef SRC_AVITAB_APPS_ABOUT_H_ 19 | #define SRC_AVITAB_APPS_ABOUT_H_ 20 | 21 | #include 22 | #include "App.h" 23 | #include "src/gui_toolkit/widgets/Window.h" 24 | #include "src/gui_toolkit/widgets/Label.h" 25 | 26 | namespace avitab { 27 | 28 | class About: public App { 29 | public: 30 | About(FuncsPtr appFuncs); 31 | private: 32 | std::shared_ptr window; 33 | std::shared_ptr