From c017af337243426048bd8e60a774316672da2add Mon Sep 17 00:00:00 2001 From: Victor Shcherb Date: Sat, 13 Sep 2014 17:18:13 +0200 Subject: [PATCH 01/14] Working commit --- .../src/net/osmand/data/RotatedTileBox.java | 8 + OsmAnd/AndroidManifest.xml | 1 + .../assets/OsmAndCore_ResourcesBundle.index | 1752 +++++++++++++++++ OsmAnd/libs/QtAndroid-bundled.jar | Bin 0 -> 52046 bytes .../libs/QtAndroidAccessibility-bundled.jar | Bin 0 -> 6314 bytes OsmAnd/res/layout/activity_gl.xml | 17 + .../CoreResourcesFromAndroidAssets.java | 249 +++ ...cesFromAndroid_LegacyOsmAndCompatible.java | 36 + .../net/osmand/core/android/GLActivity.java | 520 +++++ .../net/osmand/core/jni/AlphaChannelData.java | 53 + OsmAnd/src/net/osmand/core/jni/AreaD.java | 148 ++ OsmAnd/src/net/osmand/core/jni/AreaF.java | 148 ++ OsmAnd/src/net/osmand/core/jni/AreaI.java | 148 ++ .../jni/AtlasMapRendererConfiguration.java | 104 + .../core/jni/BinaryMapDataProvider.java | 69 + .../osmand/core/jni/BinaryMapDataTile.java | 60 + .../core/jni/BinaryMapPrimitivesProvider.java | 82 + .../core/jni/BinaryMapPrimitivesTile.java | 54 + .../BinaryMapRasterBitmapTileProvider.java | 73 + ...yMapRasterBitmapTileProvider_Software.java | 44 + .../core/jni/BinaryMapRasterizedTile.java | 49 + .../jni/BinaryMapStaticSymbolsProvider.java | 65 + .../core/jni/BinaryMapStaticSymbolsTile.java | 45 + OsmAnd/src/net/osmand/core/jni/BoolPtr.java | 60 + OsmAnd/src/net/osmand/core/jni/ColorARGB.java | 90 + OsmAnd/src/net/osmand/core/jni/ColorRGB.java | 82 + .../core/jni/CoreResourcesEmbeddedBundle.java | 74 + .../net/osmand/core/jni/DefaultLogSink.java | 48 + OsmAnd/src/net/osmand/core/jni/DoublePtr.java | 60 + OsmAnd/src/net/osmand/core/jni/Edge.java | 55 + .../osmand/core/jni/ElevationDataTile.java | 73 + .../src/net/osmand/core/jni/FColorARGB.java | 86 + OsmAnd/src/net/osmand/core/jni/FColorRGB.java | 78 + OsmAnd/src/net/osmand/core/jni/FloatPtr.java | 60 + .../core/jni/ICoreResourcesProvider.java | 90 + OsmAnd/src/net/osmand/core/jni/ILogSink.java | 42 + .../net/osmand/core/jni/IMapDataProvider.java | 89 + .../core/jni/IMapElevationDataProvider.java | 44 + .../core/jni/IMapKeyedDataProvider.java | 52 + .../core/jni/IMapKeyedSymbolsProvider.java | 40 + .../jni/IMapRasterBitmapTileProvider.java | 48 + .../src/net/osmand/core/jni/IMapRenderer.java | 518 +++++ .../osmand/core/jni/IMapStylesCollection.java | 56 + .../core/jni/IMapStylesPresetsCollection.java | 51 + .../core/jni/IMapTiledDataProvider.java | 56 + .../core/jni/IMapTiledSymbolsProvider.java | 48 + .../net/osmand/core/jni/IObfsCollection.java | 47 + .../src/net/osmand/core/jni/IObservable.java | 42 + .../osmand/core/jni/IOnlineTileSources.java | 137 ++ OsmAnd/src/net/osmand/core/jni/IntPtr.java | 60 + .../osmand/core/jni/KeyedMapSymbolsData.java | 57 + .../src/net/osmand/core/jni/LanguageId.java | 53 + OsmAnd/src/net/osmand/core/jni/LatLon.java | 66 + .../net/osmand/core/jni/LogSeverityLevel.java | 54 + OsmAnd/src/net/osmand/core/jni/Logger.java | 63 + OsmAnd/src/net/osmand/core/jni/MapData.java | 50 + .../osmand/core/jni/MapFoundationType.java | 54 + .../src/net/osmand/core/jni/MapKeyedData.java | 45 + .../core/jni/MapPresentationEnvironment.java | 136 ++ .../net/osmand/core/jni/MapRendererClass.java | 52 + .../core/jni/MapRendererConfiguration.java | 83 + .../core/jni/MapRendererDebugSettings.java | 187 ++ .../core/jni/MapRendererSetupOptions.java | 248 +++ .../net/osmand/core/jni/MapRendererState.java | 209 ++ .../core/jni/MapRendererStateChange.java | 64 + .../core/jni/MapRendererStateChanges.java | 62 + OsmAnd/src/net/osmand/core/jni/MapStyle.java | 116 ++ .../jni/MapStyleBuiltinValueDefinitions.java | 38 + .../net/osmand/core/jni/MapStylePreset.java | 108 + .../src/net/osmand/core/jni/MapStyleRule.java | 51 + .../osmand/core/jni/MapStyleRulesetType.java | 56 + .../net/osmand/core/jni/MapStyleValue.java | 50 + .../osmand/core/jni/MapStyleValueClass.java | 52 + .../core/jni/MapStyleValueDataType.java | 55 + .../core/jni/MapStyleValueDefinition.java | 58 + .../osmand/core/jni/MapStylesCollection.java | 61 + .../core/jni/MapStylesPresetsCollection.java | 85 + OsmAnd/src/net/osmand/core/jni/MapSymbol.java | 144 ++ .../net/osmand/core/jni/MapSymbolsGroup.java | 461 +++++ .../src/net/osmand/core/jni/MapTiledData.java | 49 + OsmAnd/src/net/osmand/core/jni/OOBBD.java | 74 + OsmAnd/src/net/osmand/core/jni/OOBBF.java | 74 + OsmAnd/src/net/osmand/core/jni/OOBBI.java | 74 + .../osmand/core/jni/ObfAddressBlockType.java | 53 + .../net/osmand/core/jni/ObfDataInterface.java | 131 ++ OsmAnd/src/net/osmand/core/jni/ObfFile.java | 59 + OsmAnd/src/net/osmand/core/jni/ObfInfo.java | 70 + .../core/jni/ObfMapSectionDataBlockId.java | 66 + .../jni/ObfRoutingSectionDataBlockId.java | 66 + .../net/osmand/core/jni/ObfsCollection.java | 81 + .../core/jni/OnlineRasterMapTileProvider.java | 132 ++ .../osmand/core/jni/OnlineTileSources.java | 86 + .../src/net/osmand/core/jni/OsmAndCore.java | 70 + .../osmand/core/jni/OsmAndCoreConstants.java | 19 + .../net/osmand/core/jni/OsmAndCoreJNI.java | 1350 +++++++++++++ OsmAnd/src/net/osmand/core/jni/PointD.java | 66 + OsmAnd/src/net/osmand/core/jni/PointF.java | 66 + OsmAnd/src/net/osmand/core/jni/PointI.java | 66 + .../src/net/osmand/core/jni/Primitiviser.java | 758 +++++++ .../net/osmand/core/jni/QIODeviceLogSink.java | 57 + .../src/net/osmand/core/jni/QStringList.java | 70 + OsmAnd/src/net/osmand/core/jni/Quadrant.java | 54 + .../net/osmand/core/jni/RasterBitmapTile.java | 73 + .../net/osmand/core/jni/RasterMapLayerId.java | 55 + .../net/osmand/core/jni/ResourcesManager.java | 867 ++++++++ .../net/osmand/core/jni/RoutingDataLevel.java | 52 + ...taProvider_Metrics__Metric_obtainData.java | 26 + ...esProvider_Metrics__Metric_obtainData.java | 26 + ...leProvider_Metrics__Metric_obtainData.java | 26 + ...IGTYPE_p_FilterMapObjectsByIdFunction.java | 26 + .../SWIGTYPE_p_FilterRoadsByIdFunction.java | 26 + ...SWIGTYPE_p_IOnPathMapSymbol__PinPoint.java | 26 + .../jni/SWIGTYPE_p_MapFoundationType.java | 26 + .../SWIGTYPE_p_MapStyleEvaluationResult.java | 26 + ..._ObfMapSectionReader__DataBlocksCache.java | 26 + ...ctionReader_Metrics__Metric_loadRoads.java | 26 + ...RoutingSectionReader__DataBlocksCache.java | 26 + ...RoutingSectionReader__VisitorFunction.java | 26 + ...rStateChange_unsigned_int_t__BitmaskT.java | 26 + ...tionProcessingModeFlag_unsigned_int_t.java | 26 + ...__PresentationModeFlag_unsigned_int_t.java | 26 + ...__IMapRenderer__FramePreparedObserver.java | 26 + ...nd__IMapRenderer__StateChangeObserver.java | 26 + .../SWIGTYPE_p_OsmAnd__IQueryController.java | 26 + ...upOptions__FrameUpdateRequestCallback.java | 26 + ...SetupOptions__GpuWorkerThreadEpilogue.java | 26 + ...SetupOptions__GpuWorkerThreadPrologue.java | 26 + .../SWIGTYPE_p_OsmAnd__MapStyleEvaluator.java | 26 + ...Reader_Metrics__Metric_loadMapObjects.java | 26 + ...IMapRenderer__FramePreparedObserver_t.java | 26 + ...MapRenderer__IFramePreparedObserver_t.java | 26 + ...nderer__IFramePreparedObserver_t__Tag.java | 26 + ..._IMapRenderer__IStateChangeObserver_t.java | 26 + ...Renderer__IStateChangeObserver_t__Tag.java | 26 + ...__IMapRenderer__StateChangeObserver_t.java | 26 + ...rcesManager__ILocalResourcesChanged_t.java | 26 + ...anager__ILocalResourcesChanged_t__Tag.java | 26 + ...esourcesManager__IRepositoryUpdated_t.java | 26 + ...cesManager__IRepositoryUpdated_t__Tag.java | 26 + ...urcesManager__LocalResourcesChanged_t.java | 26 + ...ResourcesManager__RepositoryUpdated_t.java | 26 + ...SWIGTYPE_p_OsmAnd__PointT_long_long_t.java | 26 + ...sourcesManager__LocalResourcesChanged.java | 26 + ...__ResourcesManager__RepositoryUpdated.java | 26 + ...mitiviser_Metrics__Metric_primitivise.java | 26 + .../core/jni/SWIGTYPE_p_QByteArray.java | 26 + .../net/osmand/core/jni/SWIGTYPE_p_QDir.java | 26 + .../osmand/core/jni/SWIGTYPE_p_QFileInfo.java | 26 + .../core/jni/SWIGTYPE_p_QFileInfoList.java | 26 + .../SWIGTYPE_p_QHashT_QString_QString_t.java | 26 + ..._IOnlineTileSources__Source_const_t_t.java | 26 + ...cesManager__BuiltinResource_const_t_t.java | 26 + ...urcesManager__LocalResource_const_t_t.java | 26 + ...nager__ResourceInRepository_const_t_t.java | 26 + ...ition_const_t_OsmAnd__MapStyleValue_t.java | 26 + ...dditionalSymbolInstanceParameters_t_t.java | 26 + ..._Primitiviser__SymbolsGroup_const_t_t.java | 26 + .../osmand/core/jni/SWIGTYPE_p_QIODevice.java | 26 + ...tT_std__shared_ptrT_ObfFile_const_t_t.java | 26 + ...MapSectionReader__DataBlock_const_t_t.java | 26 + ...ingSectionReader__DataBlock_const_t_t.java | 26 + ...ptrT_OsmAnd__MapStylePreset_const_t_t.java | 26 + ...hared_ptrT_OsmAnd__MapStyle_const_t_t.java | 26 + ...ared_ptrT_OsmAnd__MapSymbol_const_t_t.java | 26 + ...td__shared_ptrT_OsmAnd__MapSymbol_t_t.java | 26 + ...pSymbolsGroup__AdditionalInstance_t_t.java | 26 + ...ared_ptrT_OsmAnd__MapSymbolsGroup_t_t.java | 26 + ...And__Model__BinaryMapObject_const_t_t.java | 26 + ...ed_ptrT_OsmAnd__Model__Road_const_t_t.java | 26 + ...trT_OsmAnd__ObfAddressSectionInfo_t_t.java | 26 + ...shared_ptrT_OsmAnd__ObfFile_const_t_t.java | 26 + ...ed_ptrT_OsmAnd__ObfMapSectionInfo_t_t.java | 26 + ...ed_ptrT_OsmAnd__ObfPoiSectionInfo_t_t.java | 26 + ...ared_ptrT_OsmAnd__ObfReader_const_t_t.java | 26 + ...trT_OsmAnd__ObfRoutingSectionInfo_t_t.java | 26 + ...T_OsmAnd__ObfTransportSectionInfo_t_t.java | 26 + ...nd__Primitiviser__Primitive_const_t_t.java | 26 + ...imitiviser__PrimitivesGroup_const_t_t.java | 26 + ...smAnd__Primitiviser__Symbol_const_t_t.java | 26 + .../jni/SWIGTYPE_p_QListT_void_const_p_t.java | 26 + .../SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t.java | 26 + .../core/jni/SWIGTYPE_p_QSetT_QString_t.java | 26 + .../core/jni/SWIGTYPE_p_QSetT_int_t.java | 26 + ...std__shared_ptrT_OsmAnd__ILogSink_t_t.java | 26 + ...red_ptrT_OsmAnd__IMapDataProvider_t_t.java | 26 + .../core/jni/SWIGTYPE_p_QStringList.java | 26 + .../net/osmand/core/jni/SWIGTYPE_p_QUrl.java | 26 + ...p_QVectorT_OsmAnd__PointT_int32_t_t_t.java | 26 + .../core/jni/SWIGTYPE_p_RoutingDataLevel.java | 26 + ...Primitiviser__PrimitivesGroup_const_t.java | 26 + ...d__Primitiviser__SymbolsGroup_const_t.java | 26 + ...ent__RequestProgressCallbackSignature.java | 26 + .../net/osmand/core/jni/SWIGTYPE_p_bool.java | 26 + .../osmand/core/jni/SWIGTYPE_p_double.java | 26 + .../net/osmand/core/jni/SWIGTYPE_p_float.java | 26 + .../net/osmand/core/jni/SWIGTYPE_p_int.java | 26 + ..._float_OsmAnd__RasterMapLayersCount_t.java | 26 + ...ider_t_OsmAnd__RasterMapLayersCount_t.java | 26 + ...void_fOsmAnd__PointT_int_t_const_RF_t.java | 26 + ...smAnd__Model__BinaryMapObject_const_t.java | 26 + ...trT_OsmAnd__ObfMapSectionInfo_const_t.java | 26 + ...IGTYPE_p_std__shared_ptrT_QIODevice_t.java | 26 + ...E_p_std__shared_ptrT_SkBitmap_const_t.java | 26 + ...WIGTYPE_p_std__shared_ptrT_SkBitmap_t.java | 26 + ...bfMapSectionReader__DataBlocksCache_t.java | 26 + ...__weak_ptrT_OsmAnd__MapSymbolsGroup_t.java | 26 + ...Primitiviser__PrimitivesGroup_const_t.java | 26 + .../core/jni/SWIGTYPE_p_unsigned_int.java | 26 + .../net/osmand/core/jni/SWIGTYPE_p_void.java | 26 + .../net/osmand/core/jni/SwigUtilities.java | 46 + .../core/jni/TextureFilteringQuality.java | 53 + OsmAnd/src/net/osmand/core/jni/TileId.java | 66 + .../osmand/core/jni/TiledMapSymbolsData.java | 57 + OsmAnd/src/net/osmand/core/jni/UIntPtr.java | 60 + OsmAnd/src/net/osmand/core/jni/Utilities.java | 363 ++++ OsmAnd/src/net/osmand/core/jni/ZoomLevel.java | 85 + .../osmand/plus/OsmAndAppCustomization.java | 15 +- .../plus/render/NativeOsmandLibrary.java | 11 +- 218 files changed, 16793 insertions(+), 8 deletions(-) create mode 100644 OsmAnd/assets/OsmAndCore_ResourcesBundle.index create mode 100644 OsmAnd/libs/QtAndroid-bundled.jar create mode 100644 OsmAnd/libs/QtAndroidAccessibility-bundled.jar create mode 100644 OsmAnd/res/layout/activity_gl.xml create mode 100644 OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroidAssets.java create mode 100644 OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroid_LegacyOsmAndCompatible.java create mode 100644 OsmAnd/src/net/osmand/core/android/GLActivity.java create mode 100644 OsmAnd/src/net/osmand/core/jni/AlphaChannelData.java create mode 100644 OsmAnd/src/net/osmand/core/jni/AreaD.java create mode 100644 OsmAnd/src/net/osmand/core/jni/AreaF.java create mode 100644 OsmAnd/src/net/osmand/core/jni/AreaI.java create mode 100644 OsmAnd/src/net/osmand/core/jni/AtlasMapRendererConfiguration.java create mode 100644 OsmAnd/src/net/osmand/core/jni/BinaryMapDataProvider.java create mode 100644 OsmAnd/src/net/osmand/core/jni/BinaryMapDataTile.java create mode 100644 OsmAnd/src/net/osmand/core/jni/BinaryMapPrimitivesProvider.java create mode 100644 OsmAnd/src/net/osmand/core/jni/BinaryMapPrimitivesTile.java create mode 100644 OsmAnd/src/net/osmand/core/jni/BinaryMapRasterBitmapTileProvider.java create mode 100644 OsmAnd/src/net/osmand/core/jni/BinaryMapRasterBitmapTileProvider_Software.java create mode 100644 OsmAnd/src/net/osmand/core/jni/BinaryMapRasterizedTile.java create mode 100644 OsmAnd/src/net/osmand/core/jni/BinaryMapStaticSymbolsProvider.java create mode 100644 OsmAnd/src/net/osmand/core/jni/BinaryMapStaticSymbolsTile.java create mode 100644 OsmAnd/src/net/osmand/core/jni/BoolPtr.java create mode 100644 OsmAnd/src/net/osmand/core/jni/ColorARGB.java create mode 100644 OsmAnd/src/net/osmand/core/jni/ColorRGB.java create mode 100644 OsmAnd/src/net/osmand/core/jni/CoreResourcesEmbeddedBundle.java create mode 100644 OsmAnd/src/net/osmand/core/jni/DefaultLogSink.java create mode 100644 OsmAnd/src/net/osmand/core/jni/DoublePtr.java create mode 100644 OsmAnd/src/net/osmand/core/jni/Edge.java create mode 100644 OsmAnd/src/net/osmand/core/jni/ElevationDataTile.java create mode 100644 OsmAnd/src/net/osmand/core/jni/FColorARGB.java create mode 100644 OsmAnd/src/net/osmand/core/jni/FColorRGB.java create mode 100644 OsmAnd/src/net/osmand/core/jni/FloatPtr.java create mode 100644 OsmAnd/src/net/osmand/core/jni/ICoreResourcesProvider.java create mode 100644 OsmAnd/src/net/osmand/core/jni/ILogSink.java create mode 100644 OsmAnd/src/net/osmand/core/jni/IMapDataProvider.java create mode 100644 OsmAnd/src/net/osmand/core/jni/IMapElevationDataProvider.java create mode 100644 OsmAnd/src/net/osmand/core/jni/IMapKeyedDataProvider.java create mode 100644 OsmAnd/src/net/osmand/core/jni/IMapKeyedSymbolsProvider.java create mode 100644 OsmAnd/src/net/osmand/core/jni/IMapRasterBitmapTileProvider.java create mode 100644 OsmAnd/src/net/osmand/core/jni/IMapRenderer.java create mode 100644 OsmAnd/src/net/osmand/core/jni/IMapStylesCollection.java create mode 100644 OsmAnd/src/net/osmand/core/jni/IMapStylesPresetsCollection.java create mode 100644 OsmAnd/src/net/osmand/core/jni/IMapTiledDataProvider.java create mode 100644 OsmAnd/src/net/osmand/core/jni/IMapTiledSymbolsProvider.java create mode 100644 OsmAnd/src/net/osmand/core/jni/IObfsCollection.java create mode 100644 OsmAnd/src/net/osmand/core/jni/IObservable.java create mode 100644 OsmAnd/src/net/osmand/core/jni/IOnlineTileSources.java create mode 100644 OsmAnd/src/net/osmand/core/jni/IntPtr.java create mode 100644 OsmAnd/src/net/osmand/core/jni/KeyedMapSymbolsData.java create mode 100644 OsmAnd/src/net/osmand/core/jni/LanguageId.java create mode 100644 OsmAnd/src/net/osmand/core/jni/LatLon.java create mode 100644 OsmAnd/src/net/osmand/core/jni/LogSeverityLevel.java create mode 100644 OsmAnd/src/net/osmand/core/jni/Logger.java create mode 100644 OsmAnd/src/net/osmand/core/jni/MapData.java create mode 100644 OsmAnd/src/net/osmand/core/jni/MapFoundationType.java create mode 100644 OsmAnd/src/net/osmand/core/jni/MapKeyedData.java create mode 100644 OsmAnd/src/net/osmand/core/jni/MapPresentationEnvironment.java create mode 100644 OsmAnd/src/net/osmand/core/jni/MapRendererClass.java create mode 100644 OsmAnd/src/net/osmand/core/jni/MapRendererConfiguration.java create mode 100644 OsmAnd/src/net/osmand/core/jni/MapRendererDebugSettings.java create mode 100644 OsmAnd/src/net/osmand/core/jni/MapRendererSetupOptions.java create mode 100644 OsmAnd/src/net/osmand/core/jni/MapRendererState.java create mode 100644 OsmAnd/src/net/osmand/core/jni/MapRendererStateChange.java create mode 100644 OsmAnd/src/net/osmand/core/jni/MapRendererStateChanges.java create mode 100644 OsmAnd/src/net/osmand/core/jni/MapStyle.java create mode 100644 OsmAnd/src/net/osmand/core/jni/MapStyleBuiltinValueDefinitions.java create mode 100644 OsmAnd/src/net/osmand/core/jni/MapStylePreset.java create mode 100644 OsmAnd/src/net/osmand/core/jni/MapStyleRule.java create mode 100644 OsmAnd/src/net/osmand/core/jni/MapStyleRulesetType.java create mode 100644 OsmAnd/src/net/osmand/core/jni/MapStyleValue.java create mode 100644 OsmAnd/src/net/osmand/core/jni/MapStyleValueClass.java create mode 100644 OsmAnd/src/net/osmand/core/jni/MapStyleValueDataType.java create mode 100644 OsmAnd/src/net/osmand/core/jni/MapStyleValueDefinition.java create mode 100644 OsmAnd/src/net/osmand/core/jni/MapStylesCollection.java create mode 100644 OsmAnd/src/net/osmand/core/jni/MapStylesPresetsCollection.java create mode 100644 OsmAnd/src/net/osmand/core/jni/MapSymbol.java create mode 100644 OsmAnd/src/net/osmand/core/jni/MapSymbolsGroup.java create mode 100644 OsmAnd/src/net/osmand/core/jni/MapTiledData.java create mode 100644 OsmAnd/src/net/osmand/core/jni/OOBBD.java create mode 100644 OsmAnd/src/net/osmand/core/jni/OOBBF.java create mode 100644 OsmAnd/src/net/osmand/core/jni/OOBBI.java create mode 100644 OsmAnd/src/net/osmand/core/jni/ObfAddressBlockType.java create mode 100644 OsmAnd/src/net/osmand/core/jni/ObfDataInterface.java create mode 100644 OsmAnd/src/net/osmand/core/jni/ObfFile.java create mode 100644 OsmAnd/src/net/osmand/core/jni/ObfInfo.java create mode 100644 OsmAnd/src/net/osmand/core/jni/ObfMapSectionDataBlockId.java create mode 100644 OsmAnd/src/net/osmand/core/jni/ObfRoutingSectionDataBlockId.java create mode 100644 OsmAnd/src/net/osmand/core/jni/ObfsCollection.java create mode 100644 OsmAnd/src/net/osmand/core/jni/OnlineRasterMapTileProvider.java create mode 100644 OsmAnd/src/net/osmand/core/jni/OnlineTileSources.java create mode 100644 OsmAnd/src/net/osmand/core/jni/OsmAndCore.java create mode 100644 OsmAnd/src/net/osmand/core/jni/OsmAndCoreConstants.java create mode 100644 OsmAnd/src/net/osmand/core/jni/OsmAndCoreJNI.java create mode 100644 OsmAnd/src/net/osmand/core/jni/PointD.java create mode 100644 OsmAnd/src/net/osmand/core/jni/PointF.java create mode 100644 OsmAnd/src/net/osmand/core/jni/PointI.java create mode 100644 OsmAnd/src/net/osmand/core/jni/Primitiviser.java create mode 100644 OsmAnd/src/net/osmand/core/jni/QIODeviceLogSink.java create mode 100644 OsmAnd/src/net/osmand/core/jni/QStringList.java create mode 100644 OsmAnd/src/net/osmand/core/jni/Quadrant.java create mode 100644 OsmAnd/src/net/osmand/core/jni/RasterBitmapTile.java create mode 100644 OsmAnd/src/net/osmand/core/jni/RasterMapLayerId.java create mode 100644 OsmAnd/src/net/osmand/core/jni/ResourcesManager.java create mode 100644 OsmAnd/src/net/osmand/core/jni/RoutingDataLevel.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapDataProvider_Metrics__Metric_obtainData.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapPrimitivesProvider_Metrics__Metric_obtainData.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapRasterBitmapTileProvider_Metrics__Metric_obtainData.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_FilterMapObjectsByIdFunction.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_FilterRoadsByIdFunction.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_IOnPathMapSymbol__PinPoint.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_MapFoundationType.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_MapStyleEvaluationResult.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader_Metrics__Metric_loadRoads.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__IntersectionProcessingModeFlag_unsigned_int_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__PresentationModeFlag_unsigned_int_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__FramePreparedObserver.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__StateChangeObserver.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IQueryController.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapStyleEvaluator.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObfMapSectionReader_Metrics__Metric_loadMapObjects.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__FramePreparedObserver_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t__Tag.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t__Tag.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__StateChangeObserver_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t__Tag.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t__Tag.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__LocalResourcesChanged_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__RepositoryUpdated_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__PointT_long_long_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__LocalResourcesChanged.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__RepositoryUpdated.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_Primitiviser_Metrics__Metric_primitivise.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QByteArray.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QDir.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QFileInfo.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QFileInfoList.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_QString_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__IOnlineTileSources__Source_const_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__BuiltinResource_const_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__LocalResource_const_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__ResourceInRepository_const_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapStyleValueDefinition_const_t_OsmAnd__MapStyleValue_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapSymbol_t_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalSymbolInstanceParameters_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_std__shared_ptrT_OsmAnd__Primitiviser__SymbolsGroup_const_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QIODevice.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfFile_const_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStyle_const_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_const_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalInstance_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfAddressSectionInfo_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfPoiSectionInfo_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfReader_const_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfRoutingSectionInfo_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfTransportSectionInfo_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_void_const_p_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_QString_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_int_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__ILogSink_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__IMapDataProvider_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QStringList.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QUrl.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QVectorT_OsmAnd__PointT_int32_t_t_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_RoutingDataLevel.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__SymbolsGroup_const_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_WebClient__RequestProgressCallbackSignature.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_bool.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_double.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_float.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_int.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__arrayT_float_OsmAnd__RasterMapLayersCount_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__arrayT_std__shared_ptrT_OsmAnd__IMapRasterBitmapTileProvider_t_OsmAnd__RasterMapLayersCount_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__functionT_void_fOsmAnd__PointT_int_t_const_RF_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_const_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_QIODevice_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_ObfMapSectionReader__DataBlocksCache_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_unsigned_int.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_void.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SwigUtilities.java create mode 100644 OsmAnd/src/net/osmand/core/jni/TextureFilteringQuality.java create mode 100644 OsmAnd/src/net/osmand/core/jni/TileId.java create mode 100644 OsmAnd/src/net/osmand/core/jni/TiledMapSymbolsData.java create mode 100644 OsmAnd/src/net/osmand/core/jni/UIntPtr.java create mode 100644 OsmAnd/src/net/osmand/core/jni/Utilities.java create mode 100644 OsmAnd/src/net/osmand/core/jni/ZoomLevel.java diff --git a/OsmAnd-java/src/net/osmand/data/RotatedTileBox.java b/OsmAnd-java/src/net/osmand/data/RotatedTileBox.java index bacc8b3024..518a0685b3 100644 --- a/OsmAnd-java/src/net/osmand/data/RotatedTileBox.java +++ b/OsmAnd-java/src/net/osmand/data/RotatedTileBox.java @@ -119,6 +119,14 @@ public class RotatedTileBox { public double getCenterTileX(){ return oxTile; } + + public int getCenter31X(){ + return MapUtils.get31TileNumberX(lon); + } + + public int getCenter31Y(){ + return MapUtils.get31TileNumberY(lat); + } public double getCenterTileY(){ return oyTile; diff --git a/OsmAnd/AndroidManifest.xml b/OsmAnd/AndroidManifest.xml index 0529ef42f0..e0f509d584 100644 --- a/OsmAnd/AndroidManifest.xml +++ b/OsmAnd/AndroidManifest.xml @@ -220,6 +220,7 @@ + diff --git a/OsmAnd/assets/OsmAndCore_ResourcesBundle.index b/OsmAnd/assets/OsmAndCore_ResourcesBundle.index new file mode 100644 index 0000000000..11edc60eb7 --- /dev/null +++ b/OsmAnd/assets/OsmAndCore_ResourcesBundle.index @@ -0,0 +1,1752 @@ +[ddf=1.5]/map/shaders/osmc_black_bg_yellow_bar.png +[ddf=1.5]/map/shaders/osmc_red_bg.png +[ddf=1.5]/map/shaders/osmc_black_bg_blue_bar.png +[ddf=1.5]/map/shaders/nr21.png +[ddf=1.5]/map/shaders/osmc_white_bg_black_circle.png +[ddf=1.5]/map/shaders/wood_needleleaved.png +[ddf=1.5]/map/shaders/osmc_yellow_bg_green_bar.png +[ddf=1.5]/map/shaders/danger_night.png +[ddf=1.5]/map/shaders/osmc_red_bg_black_bar.png +[ddf=1.5]/map/shaders/osmc_yellow_bg_black_circle.png +[ddf=1.5]/map/shaders/osmc_yellow_bg_blue_bar.png +[ddf=1.5]/map/shaders/osmc_white_bg_red_circle.png +[ddf=1.5]/map/shaders/orchard2.png +[ddf=1.5]/map/shaders/osmc_white_green_backslash.png +[ddf=1.5]/map/shaders/arrow.png +[ddf=1.5]/map/shaders/osmc_black_bg.png +[ddf=1.5]/map/shaders/osmc_yellow_bg_white_circle.png +[ddf=1.5]/map/shaders/osmc_white_red_bar.png +[ddf=1.5]/map/shaders/cable_car.png +[ddf=1.5]/map/shaders/osmc_black_bg_yellow_circle.png +[ddf=1.5]/map/shaders/vineyard.png +[ddf=1.5]/map/shaders/osmc_yellow_bg_red_bar.png +[ddf=1.5]/map/shaders/osmc_green_bg_black_bar.png +[ddf=1.5]/map/shaders/osmc_green_bg_blue_bar.png +[ddf=1.5]/map/shaders/osmc_blue_bg_black_circle.png +[ddf=1.5]/map/shaders/osmc_blue_bg_green_circle.png +[ddf=1.5]/map/shaders/orchard.png +[ddf=1.5]/map/shaders/orchard_olive.png +[ddf=1.5]/map/shaders/forest_broadleaved.png +[ddf=1.5]/map/shaders/osmc_blue_bg_yellow_bar.png +[ddf=1.5]/map/shaders/forest.png +[ddf=1.5]/map/shaders/paving_stones_green_night.png +[ddf=1.5]/map/shaders/quarry3.png +[ddf=1.5]/map/shaders/osmc_yellow_bg.png +[ddf=1.5]/map/shaders/glacier2night.png +[ddf=1.5]/map/shaders/osmc__yellow_diamond1.png +[ddf=1.5]/map/shaders/mud.png +[ddf=1.5]/map/shaders/osmc_yellow_diamond.png +[ddf=1.5]/map/shaders/scree.png +[ddf=1.5]/map/shaders/quarry3night.png +[ddf=1.5]/map/shaders/osmc_green_bg_white_bar.png +[ddf=1.5]/map/shaders/osmc_white_bg.png +[ddf=1.5]/map/shaders/osmc_white_bg_green_circle.png +[ddf=1.5]/map/shaders/nr2.png +[ddf=1.5]/map/shaders/osmc_blue_bg_black_bar.png +[ddf=1.5]/map/shaders/wood_needleleaved2.png +[ddf=1.5]/map/shaders/reef.png +[ddf=1.5]/map/shaders/forest1.png +[ddf=1.5]/map/shaders/osmc_blue_bg_red_circle.png +[ddf=1.5]/map/shaders/fell_night.png +[ddf=1.5]/map/shaders/osmc_red_bg_yellow_bar.png +[ddf=1.5]/map/shaders/beach2.png +[ddf=1.5]/map/shaders/orchard_oil_palms.png +[ddf=1.5]/map/shaders/osmc_red_bg_green_bar.png +[ddf=1.5]/map/shaders/osmc_green_bg_yellow_bar.png +[ddf=1.5]/map/shaders/osmc_yellow_bg_black_bar.png +[ddf=1.5]/map/shaders/osmc_yellow_bg_white_bar.png +[ddf=1.5]/map/shaders/osmc_yellow_bg_red_circle.png +[ddf=1.5]/map/shaders/nr2_night.png +[ddf=1.5]/map/shaders/osmc_white_bg_blue_bar.png +[ddf=1.5]/map/shaders/osmc__yellow_diamond.png +[ddf=1.5]/map/shaders/orchard_banana.png +[ddf=1.5]/map/shaders/osmc_blue_bg.png +[ddf=1.5]/map/shaders/marsh.png +[ddf=1.5]/map/shaders/vineyard1.png +[ddf=1.5]/map/shaders/osmc_black_bg_white_circle.png +[ddf=1.5]/map/shaders/paving_stones_green.png +[ddf=1.5]/map/shaders/osmc_white_yellow_bar.png +[ddf=1.5]/map/shaders/wood_mixed.png +[ddf=1.5]/map/shaders/quarry2.png +[ddf=1.5]/map/shaders/cemetery.png +[ddf=1.5]/map/shaders/orchard_apple.png +[ddf=1.5]/map/shaders/wood_mixed2.png +[ddf=1.5]/map/shaders/osmc_black_bg_blue_circle.png +[ddf=1.5]/map/shaders/beach2night.png +[ddf=1.5]/map/shaders/osmc_green_bg.png +[ddf=1.5]/map/shaders/cemetery_muslim.png +[ddf=1.5]/map/shaders/grave_yard.png +[ddf=1.5]/map/shaders/nr1.png +[ddf=1.5]/map/shaders/osmc_blue_bg_green_bar.png +[ddf=1.5]/map/shaders/osmc_red_bg_white_circle.png +[ddf=1.5]/map/shaders/osmc_blue_bg_white_bar.png +[ddf=1.5]/map/shaders/osmc_red_bg_green_circle.png +[ddf=1.5]/map/shaders/orchard_orange.png +[ddf=1.5]/map/shaders/osmc_green_bg_black_circle.png +[ddf=1.5]/map/shaders/osmc_red_bg_blue_circle.png +[ddf=1.5]/map/shaders/osmc_white_green_bar.png +[ddf=1.5]/map/shaders/amenity_grave_yard.png +[ddf=1.5]/map/shaders/glacier.png +[ddf=1.5]/map/shaders/paving_stones.png +[ddf=1.5]/map/shaders/osmc_green_bg_blue_circle.png +[ddf=1.5]/map/shaders/osmc_red_bg_blue_bar.png +[ddf=1.5]/map/shaders/pedestrian_paved_night.png +[ddf=1.5]/map/shaders/nr.png +[ddf=1.5]/map/shaders/osmc_black_bg_red_bar.png +[ddf=1.5]/map/shaders/osmc_blue_bg_red_bar.png +[ddf=1.5]/map/shaders/scree_night.png +[ddf=1.5]/map/shaders/chair_lift.png +[ddf=1.5]/map/shaders/cemetery_jewish.png +[ddf=1.5]/map/shaders/osmc_white_bg_green_bar.png +[ddf=1.5]/map/shaders/osmc_white_black_bar.png +[ddf=1.5]/map/shaders/osmc_yellow_diamond1.png +[ddf=1.5]/map/shaders/danger1.png +[ddf=1.5]/map/shaders/cemetery_christian.png +[ddf=1.5]/map/shaders/paving_stones_night.png +[ddf=1.5]/map/shaders/osmc_white_bg_yellow_bar.png +[ddf=1.5]/map/shaders/osmc_white_bg_yellow_circle.png +[ddf=1.5]/map/shaders/osmc_white_blue_bar.png +[ddf=1.5]/map/shaders/osmc_red_white_bar.png +[ddf=1.5]/map/shaders/orchard_almond.png +[ddf=1.5]/map/shaders/osmc_black_bg_green_circle.png +[ddf=1.5]/map/shaders/osmc_black_bg_red_circle.png +[ddf=1.5]/map/shaders/osmc_red_bg_yellow_circle.png +[ddf=1.5]/map/shaders/osmc_blue_bg_white_circle.png +[ddf=1.5]/map/shaders/osmc_black_bg_white_bar.png +[ddf=1.5]/map/shaders/vineyard2.png +[ddf=1.5]/map/shaders/forest_mixed.png +[ddf=1.5]/map/shaders/osmc_green_bg_yellow_circle.png +[ddf=1.5]/map/shaders/osmc_green_bg_white_circle.png +[ddf=1.5]/map/shaders/osmc_blue_bg_yellow_circle.png +[ddf=1.5]/map/shaders/osmc_black_bg_green_bar.png +[ddf=1.5]/map/shaders/zoo.png +[ddf=1.5]/map/shaders/osmc_red_bg_white_bar.png +[ddf=1.5]/map/shaders/glacier2.png +[ddf=1.5]/map/shaders/osmc_yellow_bg_green_circle.png +[ddf=1.5]/map/shaders/danger.png +[ddf=1.5]/map/shaders/wood_broadleaved.png +[ddf=1.5]/map/shaders/osmc_yellow_bg_blue_circle.png +[ddf=1.5]/map/shaders/osmc_white_bg_blue_circle.png +[ddf=1.5]/map/shaders/osmc_green_bg_red_circle.png +[ddf=1.5]/map/shaders/wood_broadleaved2.png +[ddf=1.5]/map/shaders/zoo1.png +[ddf=1.5]/map/shaders/beach.png +[ddf=1.5]/map/shaders/fell.png +[ddf=1.5]/map/shaders/osmc_green_bg_red_bar.png +[ddf=1.5]/map/shaders/forest_needleleaved.png +[ddf=1.5]/map/shaders/osmc_white_bg_black_bar.png +[ddf=1.5]/map/shaders/scrub.png +[ddf=1.5]/map/shaders/bare_rock.png +[ddf=1.5]/map/shaders/pedestrian_paved.png +[ddf=1.5]/map/shaders/osmc_white_bg_red_bar.png +[ddf=1.5]/map/shaders/osmc_red_bg_black_circle.png +[ddf=1.5]/map/icons/railway_subway_station_small_blue.png +[ddf=1.5]/map/icons/shop_boutique.png +[ddf=1.5]/map/icons/shop_tobacco.png +[ddf=1.5]/map/icons/tourism_viewpoint.png +[ddf=1.5]/map/icons/historic_archaeological_site.png +[ddf=1.5]/map/icons/tower_type_communication.png +[ddf=1.5]/map/icons/railway_subway_entrance_gray.png +[ddf=1.5]/map/icons/sport_baseball.png +[ddf=1.5]/map/icons/amenity_bus_station2.png +[ddf=1.5]/map/icons/sport_tennis.png +[ddf=1.5]/map/icons/barrier_small_black_1.png +[ddf=1.5]/map/icons/natural_saddle.png +[ddf=1.5]/map/icons/education.png +[ddf=1.5]/map/icons/sport_gymnastics.png +[ddf=1.5]/map/icons/place_town_night.png +[ddf=1.5]/map/icons/sport_skating.png +[ddf=1.5]/map/icons/historic_memorial.png +[ddf=1.5]/map/icons/natural_peak_framed_big.png +[ddf=1.5]/map/icons/man_made_chimney.png +[ddf=1.5]/map/icons/shop_computer.png +[ddf=1.5]/map/icons/restaurants.png +[ddf=1.5]/map/icons/amenity_hospital.png +[ddf=1.5]/map/icons/food_shop.png +[ddf=1.5]/map/icons/religion_shinto.png +[ddf=1.5]/map/icons/amenity_recycling.png +[ddf=1.5]/map/icons/barrier_small_white_4.png +[ddf=1.5]/map/icons/seamark.png +[ddf=1.5]/map/icons/natural_spring.png +[ddf=1.5]/map/icons/amenity_vending_machine.png +[ddf=1.5]/map/icons/railway_subway_station_small_lightgreen.png +[ddf=1.5]/map/icons/shop_doityourself.png +[ddf=1.5]/map/icons/shop_electronics.png +[ddf=1.5]/map/icons/amenity_pharmacy.png +[ddf=1.5]/map/icons/amenity_townhall.png +[ddf=1.5]/map/icons/railway_subway_station_small_black.png +[ddf=1.5]/map/icons/railway_subway_station_small_default.png +[ddf=1.5]/map/icons/highway_traffic_signals.png +[ddf=1.5]/map/icons/railway_tram_stop_round_big.png +[ddf=1.5]/map/icons/tourism_chalet.png +[ddf=1.5]/map/icons/amenity_bicycle_parking.png +[ddf=1.5]/map/icons/waterway_waterfall.png +[ddf=1.5]/map/icons/shop_hearing_aids.png +[ddf=1.5]/map/icons/leisure_playground.png +[ddf=1.5]/map/icons/amenity_bus_station.png +[ddf=1.5]/map/icons/shop_gift.png +[ddf=1.5]/map/icons/shop.png +[ddf=1.5]/map/icons/name_finder.png +[ddf=1.5]/map/icons/power_station_solar.png +[ddf=1.5]/map/icons/shop_musical_instrument.png +[ddf=1.5]/map/icons/leisure_stadium.png +[ddf=1.5]/map/icons/barrier_chain.png +[ddf=1.5]/map/icons/amenity_monastery.png +[ddf=1.5]/map/icons/shop_department_store.png +[ddf=1.5]/map/icons/railway_subway_station_small_lightblue.png +[ddf=1.5]/map/icons/natural_beach2.png +[ddf=1.5]/map/icons/barrier_small_red_4.png +[ddf=1.5]/map/icons/amenity_toilets.png +[ddf=1.5]/map/icons/man_made_water_tower.png +[ddf=1.5]/map/icons/shop_car_parts.png +[ddf=1.5]/map/icons/amenity_bank.png +[ddf=1.5]/map/icons/amenity_boat_sharing.png +[ddf=1.5]/map/icons/historic_fort.png +[ddf=1.5]/map/icons/amenity_police.png +[ddf=1.5]/map/icons/shop_mall.png +[ddf=1.5]/map/icons/emergency.png +[ddf=1.5]/map/icons/barrier_sally_port.png +[ddf=1.5]/map/icons/railway_subway_entrance.png +[ddf=1.5]/map/icons/railway_subway.png +[ddf=1.5]/map/icons/religion_jewish.png +[ddf=1.5]/map/icons/power_station_wind.png +[ddf=1.5]/map/icons/shop_jewelry.png +[ddf=1.5]/map/icons/amenity_casino.png +[ddf=1.5]/map/icons/office_government.png +[ddf=1.5]/map/icons/barrier_small_black_4.png +[ddf=1.5]/map/icons/landuse.png +[ddf=1.5]/map/icons/amenity_fast_food.png +[ddf=1.5]/map/icons/parking.png +[ddf=1.5]/map/icons/railway_subway_station_small_yellow.png +[ddf=1.5]/map/icons/sport_golf.png +[ddf=1.5]/map/icons/amenity_fire_station.png +[ddf=1.5]/map/icons/power_station_water2.png +[ddf=1.5]/map/icons/building_entrance.png +[ddf=1.5]/map/icons/religion_taoist.png +[ddf=1.5]/map/icons/natural_volcano_framed_big.png +[ddf=1.5]/map/icons/aeroway_airport.png +[ddf=1.5]/map/icons/amenity_fuel.png +[ddf=1.5]/map/icons/shop_hairdresser.png +[ddf=1.5]/map/icons/amenity_ice_cream.png +[ddf=1.5]/map/icons/landuse_cemetery.png +[ddf=1.5]/map/icons/historic.png +[ddf=1.5]/map/icons/amenity_food_court.png +[ddf=1.5]/map/icons/shop_garden_centre.png +[ddf=1.5]/map/icons/barrier_small_black_2.png +[ddf=1.5]/map/icons/railway_subway_entrance_lightblue.png +[ddf=1.5]/map/icons/railway_subway_station_small_red.png +[ddf=1.5]/map/icons/barrier_small_red_2.png +[ddf=1.5]/map/icons/amenity_cinema.png +[ddf=1.5]/map/icons/man_made_mineshaft.png +[ddf=1.5]/map/icons/amenity_post_box.png +[ddf=1.5]/map/icons/amenity_drinking_water.png +[ddf=1.5]/map/icons/barrier_bollard.png +[ddf=1.5]/map/icons/highway_bus_stop_small.png +[ddf=1.5]/map/icons/natural_glacier.png +[ddf=1.5]/map/icons/natural_tree_needleleaved.png +[ddf=1.5]/map/icons/shop_alcohol.png +[ddf=1.5]/map/icons/sport_stadium.png +[ddf=1.5]/map/icons/religion_muslim.png +[ddf=1.5]/map/icons/shop_optician.png +[ddf=1.5]/map/icons/natural_cave_entrance.png +[ddf=1.5]/map/icons/barrier_lift_gate.png +[ddf=1.5]/map/icons/amenity_telephone.png +[ddf=1.5]/map/icons/landuse_grass.png +[ddf=1.5]/map/icons/shop_kiosk.png +[ddf=1.5]/map/icons/emergency_phone.png +[ddf=1.5]/map/icons/tourism_guest_house.png +[ddf=1.5]/map/icons/natural_tree_broadleaved.png +[ddf=1.5]/map/icons/tourism_picnic_site.png +[ddf=1.5]/map/icons/sport_scuba_diving.png +[ddf=1.5]/map/icons/amenity_bench.png +[ddf=1.5]/map/icons/highway_bus_stop_round_big_night.png +[ddf=1.5]/map/icons/amenity_atm.png +[ddf=1.5]/map/icons/amenity_stripclub.png +[ddf=1.5]/map/icons/entrance_yes.png +[ddf=1.5]/map/icons/highway_mini_roundabout.png +[ddf=1.5]/map/icons/amenity_car_sharing.png +[ddf=1.5]/map/icons/shop_dairy.png +[ddf=1.5]/map/icons/highway_speed_camera.png +[ddf=1.5]/map/icons/shop_video.png +[ddf=1.5]/map/icons/power_tower.png +[ddf=1.5]/map/icons/highway_ford.png +[ddf=1.5]/map/icons/public_transport_platform.png +[ddf=1.5]/map/icons/barrier_small_red_3.png +[ddf=1.5]/map/icons/highway_bus_stop.png +[ddf=1.5]/map/icons/military.png +[ddf=1.5]/map/icons/amenity_pub.png +[ddf=1.5]/map/icons/tourism.png +[ddf=1.5]/map/icons/shop_laundry.png +[ddf=1.5]/map/icons/barrier_small_red_1.png +[ddf=1.5]/map/icons/amenity_bureau_de_change.png +[ddf=1.5]/map/icons/barrier_small_white_2.png +[ddf=1.5]/map/icons/shop_toys.png +[ddf=1.5]/map/icons/tourism_hostel.png +[ddf=1.5]/map/icons/amenity_university.png +[ddf=1.5]/map/icons/transportation.png +[ddf=1.5]/map/icons/aeroway_gate.png +[ddf=1.5]/map/icons/highway_gate.png +[ddf=1.5]/map/icons/barrier_small_white_3.png +[ddf=1.5]/map/icons/power_station_coal.png +[ddf=1.5]/map/icons/shop_fashion.png +[ddf=1.5]/map/icons/entrance_main.png +[ddf=1.5]/map/icons/traffic_calming_bump.png +[ddf=1.5]/map/icons/railway_station.png +[ddf=1.5]/map/icons/railway_subway_entrance_brown.png +[ddf=1.5]/map/icons/sport_horse_racing.png +[ddf=1.5]/map/icons/highway_noexit.png +[ddf=1.5]/map/icons/shop_convenience.png +[ddf=1.5]/map/icons/barrier_kissing_gate.png +[ddf=1.5]/map/icons/accomodation.png +[ddf=1.5]/map/icons/railway_subway_entrance_yellow.png +[ddf=1.5]/map/icons/amenity_courthouse.png +[ddf=1.5]/map/icons/shop_supermarket.png +[ddf=1.5]/map/icons/car_aid.png +[ddf=1.5]/map/icons/railway_subway_station_small_black2.png +[ddf=1.5]/map/icons/null.png +[ddf=1.5]/map/icons/natural_spring2.png +[ddf=1.5]/map/icons/railway_tram_stop.png +[ddf=1.5]/map/icons/railway_subway_station_small_green.png +[ddf=1.5]/map/icons/shop_clothes.png +[ddf=1.5]/map/icons/amenity_bar.png +[ddf=1.5]/map/icons/natural_scrub.png +[ddf=1.5]/map/icons/tourism_motel.png +[ddf=1.5]/map/icons/leisure_bird_hide.png +[ddf=1.5]/map/icons/leisure_water_park.png +[ddf=1.5]/map/icons/highway_milestone.png +[ddf=1.5]/map/icons/sport_soccer.png +[ddf=1.5]/map/icons/natural_volcano_framed.png +[ddf=1.5]/map/icons/amenity_theatre.png +[ddf=1.5]/map/icons/leisure_slipway.png +[ddf=1.5]/map/icons/man_made.png +[ddf=1.5]/map/icons/amenity_college.png +[ddf=1.5]/map/icons/amenity_post_office2.png +[ddf=1.5]/map/icons/shop_greengrocer.png +[ddf=1.5]/map/icons/sport_shooting.png +[ddf=1.5]/map/icons/amenity_kindergarten.png +[ddf=1.5]/map/icons/leisure_ice_rink.png +[ddf=1.5]/map/icons/finance.png +[ddf=1.5]/map/icons/amenity_doctors.png +[ddf=1.5]/map/icons/natural_beach.png +[ddf=1.5]/map/icons/amenity_biergarten.png +[ddf=1.5]/map/icons/sport_canoe.png +[ddf=1.5]/map/icons/leisure_sports_centre.png +[ddf=1.5]/map/icons/bitcoin_yes.png +[ddf=1.5]/map/icons/leisure_sports_centre2.png +[ddf=1.5]/map/icons/sport_billiard.png +[ddf=1.5]/map/icons/natural.png +[ddf=1.5]/map/icons/amenity_car_rental.png +[ddf=1.5]/map/icons/amenity_prison.png +[ddf=1.5]/map/icons/natural_peak_night_big.png +[ddf=1.5]/map/icons/geocache.png +[ddf=1.5]/map/icons/barrier.png +[ddf=1.5]/map/icons/amenity_cafe.png +[ddf=1.5]/map/icons/amenity_parking_private.png +[ddf=1.5]/map/icons/amenity_restaurant.png +[ddf=1.5]/map/icons/historic_monument.png +[ddf=1.5]/map/icons/tourism_theme_park.png +[ddf=1.5]/map/icons/amenity_fuel_lpg.png +[ddf=1.5]/map/icons/leisure_marina.png +[ddf=1.5]/map/icons/amenity_post_office.png +[ddf=1.5]/map/icons/place_capital.png +[ddf=1.5]/map/icons/shop_florist.png +[ddf=1.5]/map/icons/historic_wreck.png +[ddf=1.5]/map/icons/osmwiki.png +[ddf=1.5]/map/icons/railway_halt.png +[ddf=1.5]/map/icons/religion_sikh.png +[ddf=1.5]/map/icons/amenity_embassy.png +[ddf=1.5]/map/icons/sport_archery.png +[ddf=1.5]/map/icons/amenity_grave_yard.png +[ddf=1.5]/map/icons/shop_general.png +[ddf=1.5]/map/icons/wikipedia.png +[ddf=1.5]/map/icons/natural_swamp.png +[ddf=1.5]/map/icons/power_station_gas.png +[ddf=1.5]/map/icons/sport.png +[ddf=1.5]/map/icons/railway_tram_stop_round_big_night.png +[ddf=1.5]/map/icons/shop_car.png +[ddf=1.5]/map/icons/railway_subway_entrance_orange.png +[ddf=1.5]/map/icons/amenity_shelter.png +[ddf=1.5]/map/icons/natural_peak_framed.png +[ddf=1.5]/map/icons/power_tower2.png +[ddf=1.5]/map/icons/railway_subway_entrance_black.png +[ddf=1.5]/map/icons/shop_copyshop.png +[ddf=1.5]/map/icons/emergency_fire_hydrant.png +[ddf=1.5]/map/icons/historic_wayside_cross.png +[ddf=1.5]/map/icons/tourism_information.png +[ddf=1.5]/map/icons/railway_subway_station_small_purple.png +[ddf=1.5]/map/icons/natural_tree.png +[ddf=1.5]/map/icons/aeroway_aerodrome.png +[ddf=1.5]/map/icons/entrance_exit_2.png +[ddf=1.5]/map/icons/religion_buddhist.png +[ddf=1.5]/map/icons/amenity_fountain.png +[ddf=1.5]/map/icons/historic_boundary_stone.png +[ddf=1.5]/map/icons/shop_motorcycle.png +[ddf=1.5]/map/icons/amenity_community_centre.png +[ddf=1.5]/map/icons/shop_bakery.png +[ddf=1.5]/map/icons/religion_hindu.png +[ddf=1.5]/map/icons/natural_peak.png +[ddf=1.5]/map/icons/railway_tram_stop_round_small.png +[ddf=1.5]/map/icons/amenity_nightclub.png +[ddf=1.5]/map/icons/aerialway_station.png +[ddf=1.5]/map/icons/amenity_marketplace.png +[ddf=1.5]/map/icons/healthcare.png +[ddf=1.5]/map/icons/man_made_water_well.png +[ddf=1.5]/map/icons/power_transformer2.png +[ddf=1.5]/map/icons/man_made_lighthouse.png +[ddf=1.5]/map/icons/natural_tree_leafless.png +[ddf=1.5]/map/icons/amenity_pharmacy2.png +[ddf=1.5]/map/icons/historic_battlefield.png +[ddf=1.5]/map/icons/railway_subway_entrance_purple.png +[ddf=1.5]/map/icons/administrative.png +[ddf=1.5]/map/icons/shop_butcher.png +[ddf=1.5]/map/icons/man_made_windmill.png +[ddf=1.5]/map/icons/barrier_border_control.png +[ddf=1.5]/map/icons/historic_wayside_shrine.png +[ddf=1.5]/map/icons/user_defined.png +[ddf=1.5]/map/icons/religion_christian.png +[ddf=1.5]/map/icons/shop_bicycle.png +[ddf=1.5]/map/icons/highway_bus_stop_round_big.png +[ddf=1.5]/map/icons/leisure.png +[ddf=1.5]/map/icons/barrier_small_black_3.png +[ddf=1.5]/map/icons/entrance_exit.png +[ddf=1.5]/map/icons/tourism_hotel.png +[ddf=1.5]/map/icons/historic_mine.png +[ddf=1.5]/map/icons/shop_seafood.png +[ddf=1.5]/map/icons/historic_castle.png +[ddf=1.5]/map/icons/shop_baby_goods.png +[ddf=1.5]/map/icons/amenity_bicycle_rental.png +[ddf=1.5]/map/icons/place_city.png +[ddf=1.5]/map/icons/shop_outdoor.png +[ddf=1.5]/map/icons/railway_subway_entrance_lightgreen.png +[ddf=1.5]/map/icons/natural_tree_cypress.png +[ddf=1.5]/map/icons/military_danger_area.png +[ddf=1.5]/map/icons/railway_platform.png +[ddf=1.5]/map/icons/landuse_forest.png +[ddf=1.5]/map/icons/shop_confectionery.png +[ddf=1.5]/map/icons/place_town.png +[ddf=1.5]/map/icons/amenity_school.png +[ddf=1.5]/map/icons/railway_subway_station_small_orange.png +[ddf=1.5]/map/icons/sustenance.png +[ddf=1.5]/map/icons/waterway_lock_gate.png +[ddf=1.5]/map/icons/amenity_veterinary.png +[ddf=1.5]/map/icons/amenity_parking_paid.png +[ddf=1.5]/map/icons/railway_station_small.png +[ddf=1.5]/map/icons/highway_bus_stop_round_small_night.png +[ddf=1.5]/map/icons/amenity_parking.png +[ddf=1.5]/map/icons/railway_subway_entrance_blue.png +[ddf=1.5]/map/icons/amenity_dentist.png +[ddf=1.5]/map/icons/barrier_entrance.png +[ddf=1.5]/map/icons/shop_pet.png +[ddf=1.5]/map/icons/geocache_found.png +[ddf=1.5]/map/icons/barrier_small_white_1.png +[ddf=1.5]/map/icons/barrier_swing_gate.png +[ddf=1.5]/map/icons/tourism_zoo.png +[ddf=1.5]/map/icons/entertainment.png +[ddf=1.5]/map/icons/tourism_caravan_site.png +[ddf=1.5]/map/icons/amenity_public_building.png +[ddf=1.5]/map/icons/amenity_arts_centre.png +[ddf=1.5]/map/icons/shop_car_repair.png +[ddf=1.5]/map/icons/historic_ruins.png +[ddf=1.5]/map/icons/barrier_gate.png +[ddf=1.5]/map/icons/amenity_place_of_worship.png +[ddf=1.5]/map/icons/sport_skiing.png +[ddf=1.5]/map/icons/other.png +[ddf=1.5]/map/icons/amenity_taxi.png +[ddf=1.5]/map/icons/barrier_block.png +[ddf=1.5]/map/icons/highway_bus_stop_round_small.png +[ddf=1.5]/map/icons/place_capital_night.png +[ddf=1.5]/map/icons/railway_level_crossing.png +[ddf=1.5]/map/icons/shop_mobile_phone.png +[ddf=1.5]/map/icons/sport_swimming.png +[ddf=1.5]/map/icons/natural_volcano_big.png +[ddf=1.5]/map/icons/railway_subway_entrance_red.png +[ddf=1.5]/map/icons/geocache_not_found.png +[ddf=1.5]/map/icons/power_station.png +[ddf=1.5]/map/icons/railway_subway_station_small_brown.png +[ddf=1.5]/map/icons/amenity_hospital2.png +[ddf=1.5]/map/icons/place_city_night.png +[ddf=1.5]/map/icons/office.png +[ddf=1.5]/map/icons/aeroway_helipad.png +[ddf=1.5]/map/icons/natural_tree_palm.png +[ddf=1.5]/map/icons/railway_tram_stop_round_small_night.png +[ddf=1.5]/map/icons/tourism_museum.png +[ddf=1.5]/map/icons/tourism_alpine_hut.png +[ddf=1.5]/map/icons/railway_subway_entrance_2.png +[ddf=1.5]/map/icons/natural_volcano.png +[ddf=1.5]/map/icons/natural_stone.png +[ddf=1.5]/map/icons/railway_subway_entrance_green.png +[ddf=1.5]/map/icons/power_station_nuclear.png +[ddf=1.5]/map/icons/amenity_library.png +[ddf=1.5]/map/icons/shop_hardware.png +[ddf=1.5]/map/icons/railway_subway_station_small_yellow2.png +[ddf=1.5]/map/icons/aerialway_station_small.png +[ddf=1.5]/map/icons/fuel.png +[ddf=1.5]/map/icons/leisure_fishing.png +[ddf=1.5]/map/icons/sport_diving.png +[ddf=1.5]/map/icons/for_tourists.png +[ddf=1.5]/map/icons/sightseeing.png +[ddf=1.5]/map/icons/natural_peak_night.png +[ddf=1.5]/map/icons/railway_subway_station_small_gray.png +[ddf=1.5]/map/icons/entrance_yes_2.png +[ddf=1.5]/map/icons/amenity_water_well.png +[ddf=1.5]/map/icons/tourism_camp_site.png +[ddf=1.5]/map/icons/amenity_social_centre.png +[ddf=1.5]/map/icons/public_transport.png +[ddf=1.5]/map/icons/highway_crossing2.png +[ddf=1.5]/map/icons/barrier_toll_booth.png +[ddf=1.5]/map/shields/gray_gray_square_small_shield.png +[ddf=1.5]/map/shields/unc_shield6.png +[ddf=1.5]/map/shields/gray_red_round_shield.png +[ddf=1.5]/map/shields/pri_shield6.png +[ddf=1.5]/map/shields/sec_shield3.png +[ddf=1.5]/map/shields/tru_shield5.png +[ddf=1.5]/map/shields/gray_gray_round_shield.png +[ddf=1.5]/map/shields/tru_shield6.png +[ddf=1.5]/map/shields/ter_shield7.png +[ddf=1.5]/map/shields/tru_shield3.png +[ddf=1.5]/map/shields/mot_shield3.png +[ddf=1.5]/map/shields/mot_shield8.png +[ddf=1.5]/map/shields/sec_shield6.png +[ddf=1.5]/map/shields/unc_shield4.png +[ddf=1.5]/map/shields/white_green_round_shield.png +[ddf=1.5]/map/shields/white_red_round_shield.png +[ddf=1.5]/map/shields/mot_shield2.png +[ddf=1.5]/map/shields/ter_shield2.png +[ddf=1.5]/map/shields/mot_shield7.png +[ddf=1.5]/map/shields/mot_shield1.png +[ddf=1.5]/map/shields/unc_shield3.png +[ddf=1.5]/map/shields/pri_shield4.png +[ddf=1.5]/map/shields/mot_shield4.png +[ddf=1.5]/map/shields/ter_shield6.png +[ddf=1.5]/map/shields/tru_shield1.png +[ddf=1.5]/map/shields/gray_green_square_shield.png +[ddf=1.5]/map/shields/pri_shield5.png +[ddf=1.5]/map/shields/sec_shield7.png +[ddf=1.5]/map/shields/white_round_small_shield.png +[ddf=1.5]/map/shields/unc_shield7.png +[ddf=1.5]/map/shields/sec_shield5.png +[ddf=1.5]/map/shields/pri_shield3.png +[ddf=1.5]/map/shields/white_black_round_shield.png +[ddf=1.5]/map/shields/gray_red_square_shield.png +[ddf=1.5]/map/shields/ter_shield8.png +[ddf=1.5]/map/shields/pri_shield7.png +[ddf=1.5]/map/shields/ter_shield3.png +[ddf=1.5]/map/shields/unc_shield8.png +[ddf=1.5]/map/shields/unc_shield5.png +[ddf=1.5]/map/shields/unc_shield2.png +[ddf=1.5]/map/shields/sec_shield2.png +[ddf=1.5]/map/shields/gray_gray_square_shield.png +[ddf=1.5]/map/shields/sec_shield4.png +[ddf=1.5]/map/shields/mot_shield5.png +[ddf=1.5]/map/shields/ter_shield4.png +[ddf=1.5]/map/shields/unc_shield1.png +[ddf=1.5]/map/shields/white_red_square_shield.png +[ddf=1.5]/map/shields/mot_shield6.png +[ddf=1.5]/map/shields/sec_shield1.png +[ddf=1.5]/map/shields/ter_shield5.png +[ddf=1.5]/map/shields/pri_shield8.png +[ddf=1.5]/map/shields/white_blue_round_shield.png +[ddf=1.5]/map/shields/tru_shield7.png +[ddf=1.5]/map/shields/white_blue_square_shield.png +[ddf=1.5]/map/shields/ter_shield1.png +[ddf=1.5]/map/shields/sec_shield8.png +[ddf=1.5]/map/shields/pri_shield2.png +[ddf=1.5]/map/shields/white_gray_square_shield.png +[ddf=1.5]/map/shields/white_green_square_shield.png +[ddf=1.5]/map/shields/white_gray_square_small_shield.png +[ddf=1.5]/map/shields/pri_shield1.png +[ddf=1.5]/map/shields/gray_blue_round_shield.png +[ddf=1.5]/map/shields/gray_blue_square_shield.png +[ddf=1.5]/map/shields/tru_shield8.png +[ddf=1.5]/map/shields/tru_shield4.png +[ddf=1.5]/map/shields/gray_brown_square_shield.png +[ddf=1.5]/map/shields/darkgray_round_small_shield.png +[ddf=1.5]/map/shields/tru_shield2.png +[ddf=1.5]/map/shields/black_round_small_shield.png +[ddf=1.5]/map/shields/white_gray_round_shield.png +[ddf=1.5]/map/shields/white_brown_square_shield.png +[ddf=1.5]/map/shields/gray_green_round_shield.png +[ddf=2.0]/map/shaders/osmc_black_bg_yellow_bar.png +[ddf=2.0]/map/shaders/osmc_red_bg.png +[ddf=2.0]/map/shaders/osmc_black_bg_blue_bar.png +[ddf=2.0]/map/shaders/nr21.png +[ddf=2.0]/map/shaders/osmc_white_bg_black_circle.png +[ddf=2.0]/map/shaders/wood_needleleaved.png +[ddf=2.0]/map/shaders/osmc_yellow_bg_green_bar.png +[ddf=2.0]/map/shaders/danger_night.png +[ddf=2.0]/map/shaders/osmc_red_bg_black_bar.png +[ddf=2.0]/map/shaders/osmc_yellow_bg_black_circle.png +[ddf=2.0]/map/shaders/osmc_yellow_bg_blue_bar.png +[ddf=2.0]/map/shaders/osmc_white_bg_red_circle.png +[ddf=2.0]/map/shaders/orchard2.png +[ddf=2.0]/map/shaders/osmc_white_green_backslash.png +[ddf=2.0]/map/shaders/arrow.png +[ddf=2.0]/map/shaders/osmc_black_bg.png +[ddf=2.0]/map/shaders/osmc_yellow_bg_white_circle.png +[ddf=2.0]/map/shaders/osmc_white_red_bar.png +[ddf=2.0]/map/shaders/cable_car.png +[ddf=2.0]/map/shaders/osmc_black_bg_yellow_circle.png +[ddf=2.0]/map/shaders/vineyard.png +[ddf=2.0]/map/shaders/osmc_yellow_bg_red_bar.png +[ddf=2.0]/map/shaders/osmc_green_bg_black_bar.png +[ddf=2.0]/map/shaders/osmc_green_bg_blue_bar.png +[ddf=2.0]/map/shaders/osmc_blue_bg_black_circle.png +[ddf=2.0]/map/shaders/osmc_blue_bg_green_circle.png +[ddf=2.0]/map/shaders/orchard.png +[ddf=2.0]/map/shaders/orchard_olive.png +[ddf=2.0]/map/shaders/forest_broadleaved.png +[ddf=2.0]/map/shaders/osmc_blue_bg_yellow_bar.png +[ddf=2.0]/map/shaders/forest.png +[ddf=2.0]/map/shaders/paving_stones_green_night.png +[ddf=2.0]/map/shaders/quarry3.png +[ddf=2.0]/map/shaders/osmc_yellow_bg.png +[ddf=2.0]/map/shaders/glacier2night.png +[ddf=2.0]/map/shaders/osmc__yellow_diamond1.png +[ddf=2.0]/map/shaders/mud.png +[ddf=2.0]/map/shaders/osmc_yellow_diamond.png +[ddf=2.0]/map/shaders/scree.png +[ddf=2.0]/map/shaders/quarry3night.png +[ddf=2.0]/map/shaders/osmc_green_bg_white_bar.png +[ddf=2.0]/map/shaders/osmc_white_bg.png +[ddf=2.0]/map/shaders/osmc_white_bg_green_circle.png +[ddf=2.0]/map/shaders/nr2.png +[ddf=2.0]/map/shaders/osmc_blue_bg_black_bar.png +[ddf=2.0]/map/shaders/wood_needleleaved2.png +[ddf=2.0]/map/shaders/reef.png +[ddf=2.0]/map/shaders/forest1.png +[ddf=2.0]/map/shaders/osmc_blue_bg_red_circle.png +[ddf=2.0]/map/shaders/fell_night.png +[ddf=2.0]/map/shaders/osmc_red_bg_yellow_bar.png +[ddf=2.0]/map/shaders/beach2.png +[ddf=2.0]/map/shaders/orchard_oil_palms.png +[ddf=2.0]/map/shaders/osmc_red_bg_green_bar.png +[ddf=2.0]/map/shaders/osmc_green_bg_yellow_bar.png +[ddf=2.0]/map/shaders/osmc_yellow_bg_black_bar.png +[ddf=2.0]/map/shaders/osmc_yellow_bg_white_bar.png +[ddf=2.0]/map/shaders/osmc_yellow_bg_red_circle.png +[ddf=2.0]/map/shaders/nr2_night.png +[ddf=2.0]/map/shaders/osmc_white_bg_blue_bar.png +[ddf=2.0]/map/shaders/osmc__yellow_diamond.png +[ddf=2.0]/map/shaders/orchard_banana.png +[ddf=2.0]/map/shaders/osmc_blue_bg.png +[ddf=2.0]/map/shaders/marsh.png +[ddf=2.0]/map/shaders/vineyard1.png +[ddf=2.0]/map/shaders/osmc_black_bg_white_circle.png +[ddf=2.0]/map/shaders/paving_stones_green.png +[ddf=2.0]/map/shaders/osmc_white_yellow_bar.png +[ddf=2.0]/map/shaders/wood_mixed.png +[ddf=2.0]/map/shaders/quarry2.png +[ddf=2.0]/map/shaders/cemetery.png +[ddf=2.0]/map/shaders/orchard_apple.png +[ddf=2.0]/map/shaders/wood_mixed2.png +[ddf=2.0]/map/shaders/osmc_black_bg_blue_circle.png +[ddf=2.0]/map/shaders/beach2night.png +[ddf=2.0]/map/shaders/osmc_green_bg.png +[ddf=2.0]/map/shaders/cemetery_muslim.png +[ddf=2.0]/map/shaders/grave_yard.png +[ddf=2.0]/map/shaders/nr1.png +[ddf=2.0]/map/shaders/osmc_blue_bg_green_bar.png +[ddf=2.0]/map/shaders/osmc_red_bg_white_circle.png +[ddf=2.0]/map/shaders/osmc_blue_bg_white_bar.png +[ddf=2.0]/map/shaders/osmc_red_bg_green_circle.png +[ddf=2.0]/map/shaders/orchard_orange.png +[ddf=2.0]/map/shaders/osmc_green_bg_black_circle.png +[ddf=2.0]/map/shaders/osmc_red_bg_blue_circle.png +[ddf=2.0]/map/shaders/osmc_white_green_bar.png +[ddf=2.0]/map/shaders/amenity_grave_yard.png +[ddf=2.0]/map/shaders/glacier.png +[ddf=2.0]/map/shaders/paving_stones.png +[ddf=2.0]/map/shaders/osmc_green_bg_blue_circle.png +[ddf=2.0]/map/shaders/osmc_red_bg_blue_bar.png +[ddf=2.0]/map/shaders/pedestrian_paved_night.png +[ddf=2.0]/map/shaders/nr.png +[ddf=2.0]/map/shaders/osmc_black_bg_red_bar.png +[ddf=2.0]/map/shaders/osmc_blue_bg_red_bar.png +[ddf=2.0]/map/shaders/scree_night.png +[ddf=2.0]/map/shaders/chair_lift.png +[ddf=2.0]/map/shaders/cemetery_jewish.png +[ddf=2.0]/map/shaders/osmc_white_bg_green_bar.png +[ddf=2.0]/map/shaders/osmc_white_black_bar.png +[ddf=2.0]/map/shaders/osmc_yellow_diamond1.png +[ddf=2.0]/map/shaders/danger1.png +[ddf=2.0]/map/shaders/cemetery_christian.png +[ddf=2.0]/map/shaders/paving_stones_night.png +[ddf=2.0]/map/shaders/osmc_white_bg_yellow_bar.png +[ddf=2.0]/map/shaders/osmc_white_bg_yellow_circle.png +[ddf=2.0]/map/shaders/osmc_white_blue_bar.png +[ddf=2.0]/map/shaders/osmc_red_white_bar.png +[ddf=2.0]/map/shaders/orchard_almond.png +[ddf=2.0]/map/shaders/osmc_black_bg_green_circle.png +[ddf=2.0]/map/shaders/osmc_black_bg_red_circle.png +[ddf=2.0]/map/shaders/osmc_red_bg_yellow_circle.png +[ddf=2.0]/map/shaders/osmc_blue_bg_white_circle.png +[ddf=2.0]/map/shaders/osmc_black_bg_white_bar.png +[ddf=2.0]/map/shaders/vineyard2.png +[ddf=2.0]/map/shaders/forest_mixed.png +[ddf=2.0]/map/shaders/osmc_green_bg_yellow_circle.png +[ddf=2.0]/map/shaders/osmc_green_bg_white_circle.png +[ddf=2.0]/map/shaders/osmc_blue_bg_yellow_circle.png +[ddf=2.0]/map/shaders/osmc_black_bg_green_bar.png +[ddf=2.0]/map/shaders/zoo.png +[ddf=2.0]/map/shaders/osmc_red_bg_white_bar.png +[ddf=2.0]/map/shaders/glacier2.png +[ddf=2.0]/map/shaders/osmc_yellow_bg_green_circle.png +[ddf=2.0]/map/shaders/danger.png +[ddf=2.0]/map/shaders/wood_broadleaved.png +[ddf=2.0]/map/shaders/osmc_yellow_bg_blue_circle.png +[ddf=2.0]/map/shaders/osmc_white_bg_blue_circle.png +[ddf=2.0]/map/shaders/osmc_green_bg_red_circle.png +[ddf=2.0]/map/shaders/wood_broadleaved2.png +[ddf=2.0]/map/shaders/zoo1.png +[ddf=2.0]/map/shaders/beach.png +[ddf=2.0]/map/shaders/fell.png +[ddf=2.0]/map/shaders/osmc_green_bg_red_bar.png +[ddf=2.0]/map/shaders/forest_needleleaved.png +[ddf=2.0]/map/shaders/osmc_white_bg_black_bar.png +[ddf=2.0]/map/shaders/scrub.png +[ddf=2.0]/map/shaders/bare_rock.png +[ddf=2.0]/map/shaders/pedestrian_paved.png +[ddf=2.0]/map/shaders/osmc_white_bg_red_bar.png +[ddf=2.0]/map/shaders/osmc_red_bg_black_circle.png +[ddf=2.0]/map/icons/railway_subway_station_small_blue.png +[ddf=2.0]/map/icons/shop_boutique.png +[ddf=2.0]/map/icons/shop_tobacco.png +[ddf=2.0]/map/icons/tourism_viewpoint.png +[ddf=2.0]/map/icons/historic_archaeological_site.png +[ddf=2.0]/map/icons/tower_type_communication.png +[ddf=2.0]/map/icons/railway_subway_entrance_gray.png +[ddf=2.0]/map/icons/sport_baseball.png +[ddf=2.0]/map/icons/amenity_bus_station2.png +[ddf=2.0]/map/icons/sport_tennis.png +[ddf=2.0]/map/icons/barrier_small_black_1.png +[ddf=2.0]/map/icons/natural_saddle.png +[ddf=2.0]/map/icons/education.png +[ddf=2.0]/map/icons/sport_gymnastics.png +[ddf=2.0]/map/icons/place_town_night.png +[ddf=2.0]/map/icons/sport_skating.png +[ddf=2.0]/map/icons/historic_memorial.png +[ddf=2.0]/map/icons/natural_peak_framed_big.png +[ddf=2.0]/map/icons/man_made_chimney.png +[ddf=2.0]/map/icons/shop_computer.png +[ddf=2.0]/map/icons/restaurants.png +[ddf=2.0]/map/icons/amenity_hospital.png +[ddf=2.0]/map/icons/food_shop.png +[ddf=2.0]/map/icons/religion_shinto.png +[ddf=2.0]/map/icons/amenity_recycling.png +[ddf=2.0]/map/icons/barrier_small_white_4.png +[ddf=2.0]/map/icons/seamark.png +[ddf=2.0]/map/icons/natural_spring.png +[ddf=2.0]/map/icons/amenity_vending_machine.png +[ddf=2.0]/map/icons/railway_subway_station_small_lightgreen.png +[ddf=2.0]/map/icons/shop_doityourself.png +[ddf=2.0]/map/icons/shop_electronics.png +[ddf=2.0]/map/icons/amenity_pharmacy.png +[ddf=2.0]/map/icons/amenity_townhall.png +[ddf=2.0]/map/icons/railway_subway_station_small_black.png +[ddf=2.0]/map/icons/railway_subway_station_small_default.png +[ddf=2.0]/map/icons/highway_traffic_signals.png +[ddf=2.0]/map/icons/railway_tram_stop_round_big.png +[ddf=2.0]/map/icons/tourism_chalet.png +[ddf=2.0]/map/icons/amenity_bicycle_parking.png +[ddf=2.0]/map/icons/waterway_waterfall.png +[ddf=2.0]/map/icons/shop_hearing_aids.png +[ddf=2.0]/map/icons/leisure_playground.png +[ddf=2.0]/map/icons/amenity_bus_station.png +[ddf=2.0]/map/icons/shop_gift.png +[ddf=2.0]/map/icons/shop.png +[ddf=2.0]/map/icons/name_finder.png +[ddf=2.0]/map/icons/power_station_solar.png +[ddf=2.0]/map/icons/shop_musical_instrument.png +[ddf=2.0]/map/icons/leisure_stadium.png +[ddf=2.0]/map/icons/barrier_chain.png +[ddf=2.0]/map/icons/amenity_monastery.png +[ddf=2.0]/map/icons/shop_department_store.png +[ddf=2.0]/map/icons/railway_subway_station_small_lightblue.png +[ddf=2.0]/map/icons/natural_beach2.png +[ddf=2.0]/map/icons/barrier_small_red_4.png +[ddf=2.0]/map/icons/amenity_toilets.png +[ddf=2.0]/map/icons/man_made_water_tower.png +[ddf=2.0]/map/icons/shop_car_parts.png +[ddf=2.0]/map/icons/amenity_bank.png +[ddf=2.0]/map/icons/amenity_boat_sharing.png +[ddf=2.0]/map/icons/historic_fort.png +[ddf=2.0]/map/icons/amenity_police.png +[ddf=2.0]/map/icons/shop_mall.png +[ddf=2.0]/map/icons/emergency.png +[ddf=2.0]/map/icons/barrier_sally_port.png +[ddf=2.0]/map/icons/railway_subway_entrance.png +[ddf=2.0]/map/icons/railway_subway.png +[ddf=2.0]/map/icons/religion_jewish.png +[ddf=2.0]/map/icons/power_station_wind.png +[ddf=2.0]/map/icons/shop_jewelry.png +[ddf=2.0]/map/icons/amenity_casino.png +[ddf=2.0]/map/icons/office_government.png +[ddf=2.0]/map/icons/barrier_small_black_4.png +[ddf=2.0]/map/icons/landuse.png +[ddf=2.0]/map/icons/amenity_fast_food.png +[ddf=2.0]/map/icons/parking.png +[ddf=2.0]/map/icons/railway_subway_station_small_yellow.png +[ddf=2.0]/map/icons/sport_golf.png +[ddf=2.0]/map/icons/amenity_fire_station.png +[ddf=2.0]/map/icons/power_station_water2.png +[ddf=2.0]/map/icons/building_entrance.png +[ddf=2.0]/map/icons/religion_taoist.png +[ddf=2.0]/map/icons/natural_volcano_framed_big.png +[ddf=2.0]/map/icons/aeroway_airport.png +[ddf=2.0]/map/icons/amenity_fuel.png +[ddf=2.0]/map/icons/shop_hairdresser.png +[ddf=2.0]/map/icons/amenity_ice_cream.png +[ddf=2.0]/map/icons/landuse_cemetery.png +[ddf=2.0]/map/icons/historic.png +[ddf=2.0]/map/icons/amenity_food_court.png +[ddf=2.0]/map/icons/shop_garden_centre.png +[ddf=2.0]/map/icons/barrier_small_black_2.png +[ddf=2.0]/map/icons/railway_subway_entrance_lightblue.png +[ddf=2.0]/map/icons/railway_subway_station_small_red.png +[ddf=2.0]/map/icons/barrier_small_red_2.png +[ddf=2.0]/map/icons/amenity_cinema.png +[ddf=2.0]/map/icons/man_made_mineshaft.png +[ddf=2.0]/map/icons/amenity_post_box.png +[ddf=2.0]/map/icons/amenity_drinking_water.png +[ddf=2.0]/map/icons/barrier_bollard.png +[ddf=2.0]/map/icons/highway_bus_stop_small.png +[ddf=2.0]/map/icons/natural_glacier.png +[ddf=2.0]/map/icons/natural_tree_needleleaved.png +[ddf=2.0]/map/icons/shop_alcohol.png +[ddf=2.0]/map/icons/sport_stadium.png +[ddf=2.0]/map/icons/religion_muslim.png +[ddf=2.0]/map/icons/shop_optician.png +[ddf=2.0]/map/icons/natural_cave_entrance.png +[ddf=2.0]/map/icons/barrier_lift_gate.png +[ddf=2.0]/map/icons/amenity_telephone.png +[ddf=2.0]/map/icons/landuse_grass.png +[ddf=2.0]/map/icons/shop_kiosk.png +[ddf=2.0]/map/icons/emergency_phone.png +[ddf=2.0]/map/icons/tourism_guest_house.png +[ddf=2.0]/map/icons/natural_tree_broadleaved.png +[ddf=2.0]/map/icons/tourism_picnic_site.png +[ddf=2.0]/map/icons/sport_scuba_diving.png +[ddf=2.0]/map/icons/amenity_bench.png +[ddf=2.0]/map/icons/highway_bus_stop_round_big_night.png +[ddf=2.0]/map/icons/amenity_atm.png +[ddf=2.0]/map/icons/amenity_stripclub.png +[ddf=2.0]/map/icons/entrance_yes.png +[ddf=2.0]/map/icons/highway_mini_roundabout.png +[ddf=2.0]/map/icons/amenity_car_sharing.png +[ddf=2.0]/map/icons/shop_dairy.png +[ddf=2.0]/map/icons/highway_speed_camera.png +[ddf=2.0]/map/icons/shop_video.png +[ddf=2.0]/map/icons/power_tower.png +[ddf=2.0]/map/icons/highway_ford.png +[ddf=2.0]/map/icons/public_transport_platform.png +[ddf=2.0]/map/icons/barrier_small_red_3.png +[ddf=2.0]/map/icons/highway_bus_stop.png +[ddf=2.0]/map/icons/military.png +[ddf=2.0]/map/icons/amenity_pub.png +[ddf=2.0]/map/icons/tourism.png +[ddf=2.0]/map/icons/shop_laundry.png +[ddf=2.0]/map/icons/barrier_small_red_1.png +[ddf=2.0]/map/icons/amenity_bureau_de_change.png +[ddf=2.0]/map/icons/barrier_small_white_2.png +[ddf=2.0]/map/icons/shop_toys.png +[ddf=2.0]/map/icons/tourism_hostel.png +[ddf=2.0]/map/icons/amenity_university.png +[ddf=2.0]/map/icons/transportation.png +[ddf=2.0]/map/icons/aeroway_gate.png +[ddf=2.0]/map/icons/highway_gate.png +[ddf=2.0]/map/icons/barrier_small_white_3.png +[ddf=2.0]/map/icons/power_station_coal.png +[ddf=2.0]/map/icons/shop_fashion.png +[ddf=2.0]/map/icons/entrance_main.png +[ddf=2.0]/map/icons/traffic_calming_bump.png +[ddf=2.0]/map/icons/railway_station.png +[ddf=2.0]/map/icons/railway_subway_entrance_brown.png +[ddf=2.0]/map/icons/sport_horse_racing.png +[ddf=2.0]/map/icons/highway_noexit.png +[ddf=2.0]/map/icons/shop_convenience.png +[ddf=2.0]/map/icons/barrier_kissing_gate.png +[ddf=2.0]/map/icons/accomodation.png +[ddf=2.0]/map/icons/railway_subway_entrance_yellow.png +[ddf=2.0]/map/icons/amenity_courthouse.png +[ddf=2.0]/map/icons/shop_supermarket.png +[ddf=2.0]/map/icons/car_aid.png +[ddf=2.0]/map/icons/railway_subway_station_small_black2.png +[ddf=2.0]/map/icons/null.png +[ddf=2.0]/map/icons/natural_spring2.png +[ddf=2.0]/map/icons/railway_tram_stop.png +[ddf=2.0]/map/icons/railway_subway_station_small_green.png +[ddf=2.0]/map/icons/shop_clothes.png +[ddf=2.0]/map/icons/amenity_bar.png +[ddf=2.0]/map/icons/natural_scrub.png +[ddf=2.0]/map/icons/tourism_motel.png +[ddf=2.0]/map/icons/leisure_bird_hide.png +[ddf=2.0]/map/icons/leisure_water_park.png +[ddf=2.0]/map/icons/highway_milestone.png +[ddf=2.0]/map/icons/sport_soccer.png +[ddf=2.0]/map/icons/natural_volcano_framed.png +[ddf=2.0]/map/icons/amenity_theatre.png +[ddf=2.0]/map/icons/leisure_slipway.png +[ddf=2.0]/map/icons/man_made.png +[ddf=2.0]/map/icons/amenity_college.png +[ddf=2.0]/map/icons/amenity_post_office2.png +[ddf=2.0]/map/icons/shop_greengrocer.png +[ddf=2.0]/map/icons/sport_shooting.png +[ddf=2.0]/map/icons/amenity_kindergarten.png +[ddf=2.0]/map/icons/leisure_ice_rink.png +[ddf=2.0]/map/icons/finance.png +[ddf=2.0]/map/icons/amenity_doctors.png +[ddf=2.0]/map/icons/natural_beach.png +[ddf=2.0]/map/icons/amenity_biergarten.png +[ddf=2.0]/map/icons/sport_canoe.png +[ddf=2.0]/map/icons/leisure_sports_centre.png +[ddf=2.0]/map/icons/bitcoin_yes.png +[ddf=2.0]/map/icons/leisure_sports_centre2.png +[ddf=2.0]/map/icons/sport_billiard.png +[ddf=2.0]/map/icons/natural.png +[ddf=2.0]/map/icons/amenity_car_rental.png +[ddf=2.0]/map/icons/amenity_prison.png +[ddf=2.0]/map/icons/natural_peak_night_big.png +[ddf=2.0]/map/icons/geocache.png +[ddf=2.0]/map/icons/barrier.png +[ddf=2.0]/map/icons/amenity_cafe.png +[ddf=2.0]/map/icons/amenity_parking_private.png +[ddf=2.0]/map/icons/amenity_restaurant.png +[ddf=2.0]/map/icons/historic_monument.png +[ddf=2.0]/map/icons/tourism_theme_park.png +[ddf=2.0]/map/icons/amenity_fuel_lpg.png +[ddf=2.0]/map/icons/leisure_marina.png +[ddf=2.0]/map/icons/amenity_post_office.png +[ddf=2.0]/map/icons/place_capital.png +[ddf=2.0]/map/icons/shop_florist.png +[ddf=2.0]/map/icons/historic_wreck.png +[ddf=2.0]/map/icons/osmwiki.png +[ddf=2.0]/map/icons/railway_halt.png +[ddf=2.0]/map/icons/religion_sikh.png +[ddf=2.0]/map/icons/amenity_embassy.png +[ddf=2.0]/map/icons/sport_archery.png +[ddf=2.0]/map/icons/amenity_grave_yard.png +[ddf=2.0]/map/icons/shop_general.png +[ddf=2.0]/map/icons/wikipedia.png +[ddf=2.0]/map/icons/natural_swamp.png +[ddf=2.0]/map/icons/power_station_gas.png +[ddf=2.0]/map/icons/sport.png +[ddf=2.0]/map/icons/railway_tram_stop_round_big_night.png +[ddf=2.0]/map/icons/shop_car.png +[ddf=2.0]/map/icons/railway_subway_entrance_orange.png +[ddf=2.0]/map/icons/amenity_shelter.png +[ddf=2.0]/map/icons/natural_peak_framed.png +[ddf=2.0]/map/icons/power_tower2.png +[ddf=2.0]/map/icons/railway_subway_entrance_black.png +[ddf=2.0]/map/icons/shop_copyshop.png +[ddf=2.0]/map/icons/emergency_fire_hydrant.png +[ddf=2.0]/map/icons/historic_wayside_cross.png +[ddf=2.0]/map/icons/tourism_information.png +[ddf=2.0]/map/icons/railway_subway_station_small_purple.png +[ddf=2.0]/map/icons/natural_tree.png +[ddf=2.0]/map/icons/aeroway_aerodrome.png +[ddf=2.0]/map/icons/entrance_exit_2.png +[ddf=2.0]/map/icons/religion_buddhist.png +[ddf=2.0]/map/icons/amenity_fountain.png +[ddf=2.0]/map/icons/historic_boundary_stone.png +[ddf=2.0]/map/icons/shop_motorcycle.png +[ddf=2.0]/map/icons/amenity_community_centre.png +[ddf=2.0]/map/icons/shop_bakery.png +[ddf=2.0]/map/icons/religion_hindu.png +[ddf=2.0]/map/icons/natural_peak.png +[ddf=2.0]/map/icons/railway_tram_stop_round_small.png +[ddf=2.0]/map/icons/amenity_nightclub.png +[ddf=2.0]/map/icons/aerialway_station.png +[ddf=2.0]/map/icons/amenity_marketplace.png +[ddf=2.0]/map/icons/healthcare.png +[ddf=2.0]/map/icons/man_made_water_well.png +[ddf=2.0]/map/icons/power_transformer2.png +[ddf=2.0]/map/icons/man_made_lighthouse.png +[ddf=2.0]/map/icons/natural_tree_leafless.png +[ddf=2.0]/map/icons/amenity_pharmacy2.png +[ddf=2.0]/map/icons/historic_battlefield.png +[ddf=2.0]/map/icons/railway_subway_entrance_purple.png +[ddf=2.0]/map/icons/administrative.png +[ddf=2.0]/map/icons/shop_butcher.png +[ddf=2.0]/map/icons/man_made_windmill.png +[ddf=2.0]/map/icons/barrier_border_control.png +[ddf=2.0]/map/icons/historic_wayside_shrine.png +[ddf=2.0]/map/icons/user_defined.png +[ddf=2.0]/map/icons/religion_christian.png +[ddf=2.0]/map/icons/shop_bicycle.png +[ddf=2.0]/map/icons/highway_bus_stop_round_big.png +[ddf=2.0]/map/icons/leisure.png +[ddf=2.0]/map/icons/barrier_small_black_3.png +[ddf=2.0]/map/icons/entrance_exit.png +[ddf=2.0]/map/icons/tourism_hotel.png +[ddf=2.0]/map/icons/historic_mine.png +[ddf=2.0]/map/icons/shop_seafood.png +[ddf=2.0]/map/icons/historic_castle.png +[ddf=2.0]/map/icons/shop_baby_goods.png +[ddf=2.0]/map/icons/amenity_bicycle_rental.png +[ddf=2.0]/map/icons/place_city.png +[ddf=2.0]/map/icons/shop_outdoor.png +[ddf=2.0]/map/icons/railway_subway_entrance_lightgreen.png +[ddf=2.0]/map/icons/natural_tree_cypress.png +[ddf=2.0]/map/icons/military_danger_area.png +[ddf=2.0]/map/icons/railway_platform.png +[ddf=2.0]/map/icons/landuse_forest.png +[ddf=2.0]/map/icons/shop_confectionery.png +[ddf=2.0]/map/icons/place_town.png +[ddf=2.0]/map/icons/amenity_school.png +[ddf=2.0]/map/icons/railway_subway_station_small_orange.png +[ddf=2.0]/map/icons/sustenance.png +[ddf=2.0]/map/icons/waterway_lock_gate.png +[ddf=2.0]/map/icons/amenity_veterinary.png +[ddf=2.0]/map/icons/amenity_parking_paid.png +[ddf=2.0]/map/icons/railway_station_small.png +[ddf=2.0]/map/icons/highway_bus_stop_round_small_night.png +[ddf=2.0]/map/icons/amenity_parking.png +[ddf=2.0]/map/icons/railway_subway_entrance_blue.png +[ddf=2.0]/map/icons/amenity_dentist.png +[ddf=2.0]/map/icons/barrier_entrance.png +[ddf=2.0]/map/icons/shop_pet.png +[ddf=2.0]/map/icons/geocache_found.png +[ddf=2.0]/map/icons/barrier_small_white_1.png +[ddf=2.0]/map/icons/barrier_swing_gate.png +[ddf=2.0]/map/icons/tourism_zoo.png +[ddf=2.0]/map/icons/entertainment.png +[ddf=2.0]/map/icons/tourism_caravan_site.png +[ddf=2.0]/map/icons/amenity_public_building.png +[ddf=2.0]/map/icons/amenity_arts_centre.png +[ddf=2.0]/map/icons/shop_car_repair.png +[ddf=2.0]/map/icons/historic_ruins.png +[ddf=2.0]/map/icons/barrier_gate.png +[ddf=2.0]/map/icons/amenity_place_of_worship.png +[ddf=2.0]/map/icons/sport_skiing.png +[ddf=2.0]/map/icons/other.png +[ddf=2.0]/map/icons/amenity_taxi.png +[ddf=2.0]/map/icons/barrier_block.png +[ddf=2.0]/map/icons/highway_bus_stop_round_small.png +[ddf=2.0]/map/icons/place_capital_night.png +[ddf=2.0]/map/icons/railway_level_crossing.png +[ddf=2.0]/map/icons/shop_mobile_phone.png +[ddf=2.0]/map/icons/sport_swimming.png +[ddf=2.0]/map/icons/natural_volcano_big.png +[ddf=2.0]/map/icons/railway_subway_entrance_red.png +[ddf=2.0]/map/icons/geocache_not_found.png +[ddf=2.0]/map/icons/power_station.png +[ddf=2.0]/map/icons/railway_subway_station_small_brown.png +[ddf=2.0]/map/icons/amenity_hospital2.png +[ddf=2.0]/map/icons/place_city_night.png +[ddf=2.0]/map/icons/office.png +[ddf=2.0]/map/icons/aeroway_helipad.png +[ddf=2.0]/map/icons/natural_tree_palm.png +[ddf=2.0]/map/icons/railway_tram_stop_round_small_night.png +[ddf=2.0]/map/icons/tourism_museum.png +[ddf=2.0]/map/icons/tourism_alpine_hut.png +[ddf=2.0]/map/icons/railway_subway_entrance_2.png +[ddf=2.0]/map/icons/natural_volcano.png +[ddf=2.0]/map/icons/natural_stone.png +[ddf=2.0]/map/icons/railway_subway_entrance_green.png +[ddf=2.0]/map/icons/power_station_nuclear.png +[ddf=2.0]/map/icons/amenity_library.png +[ddf=2.0]/map/icons/shop_hardware.png +[ddf=2.0]/map/icons/railway_subway_station_small_yellow2.png +[ddf=2.0]/map/icons/aerialway_station_small.png +[ddf=2.0]/map/icons/fuel.png +[ddf=2.0]/map/icons/leisure_fishing.png +[ddf=2.0]/map/icons/sport_diving.png +[ddf=2.0]/map/icons/for_tourists.png +[ddf=2.0]/map/icons/sightseeing.png +[ddf=2.0]/map/icons/natural_peak_night.png +[ddf=2.0]/map/icons/railway_subway_station_small_gray.png +[ddf=2.0]/map/icons/entrance_yes_2.png +[ddf=2.0]/map/icons/amenity_water_well.png +[ddf=2.0]/map/icons/tourism_camp_site.png +[ddf=2.0]/map/icons/amenity_social_centre.png +[ddf=2.0]/map/icons/public_transport.png +[ddf=2.0]/map/icons/highway_crossing2.png +[ddf=2.0]/map/icons/barrier_toll_booth.png +[ddf=2.0]/map/shields/gray_gray_square_small_shield.png +[ddf=2.0]/map/shields/unc_shield6.png +[ddf=2.0]/map/shields/gray_red_round_shield.png +[ddf=2.0]/map/shields/pri_shield6.png +[ddf=2.0]/map/shields/sec_shield3.png +[ddf=2.0]/map/shields/tru_shield5.png +[ddf=2.0]/map/shields/gray_gray_round_shield.png +[ddf=2.0]/map/shields/tru_shield6.png +[ddf=2.0]/map/shields/ter_shield7.png +[ddf=2.0]/map/shields/tru_shield3.png +[ddf=2.0]/map/shields/mot_shield3.png +[ddf=2.0]/map/shields/mot_shield8.png +[ddf=2.0]/map/shields/sec_shield6.png +[ddf=2.0]/map/shields/unc_shield4.png +[ddf=2.0]/map/shields/white_green_round_shield.png +[ddf=2.0]/map/shields/white_red_round_shield.png +[ddf=2.0]/map/shields/mot_shield2.png +[ddf=2.0]/map/shields/ter_shield2.png +[ddf=2.0]/map/shields/mot_shield7.png +[ddf=2.0]/map/shields/mot_shield1.png +[ddf=2.0]/map/shields/unc_shield3.png +[ddf=2.0]/map/shields/pri_shield4.png +[ddf=2.0]/map/shields/mot_shield4.png +[ddf=2.0]/map/shields/ter_shield6.png +[ddf=2.0]/map/shields/tru_shield1.png +[ddf=2.0]/map/shields/gray_green_square_shield.png +[ddf=2.0]/map/shields/pri_shield5.png +[ddf=2.0]/map/shields/sec_shield7.png +[ddf=2.0]/map/shields/white_round_small_shield.png +[ddf=2.0]/map/shields/unc_shield7.png +[ddf=2.0]/map/shields/sec_shield5.png +[ddf=2.0]/map/shields/pri_shield3.png +[ddf=2.0]/map/shields/white_black_round_shield.png +[ddf=2.0]/map/shields/gray_red_square_shield.png +[ddf=2.0]/map/shields/ter_shield8.png +[ddf=2.0]/map/shields/pri_shield7.png +[ddf=2.0]/map/shields/ter_shield3.png +[ddf=2.0]/map/shields/unc_shield8.png +[ddf=2.0]/map/shields/unc_shield5.png +[ddf=2.0]/map/shields/unc_shield2.png +[ddf=2.0]/map/shields/sec_shield2.png +[ddf=2.0]/map/shields/gray_gray_square_shield.png +[ddf=2.0]/map/shields/sec_shield4.png +[ddf=2.0]/map/shields/mot_shield5.png +[ddf=2.0]/map/shields/ter_shield4.png +[ddf=2.0]/map/shields/unc_shield1.png +[ddf=2.0]/map/shields/white_red_square_shield.png +[ddf=2.0]/map/shields/mot_shield6.png +[ddf=2.0]/map/shields/sec_shield1.png +[ddf=2.0]/map/shields/ter_shield5.png +[ddf=2.0]/map/shields/pri_shield8.png +[ddf=2.0]/map/shields/white_blue_round_shield.png +[ddf=2.0]/map/shields/tru_shield7.png +[ddf=2.0]/map/shields/white_blue_square_shield.png +[ddf=2.0]/map/shields/ter_shield1.png +[ddf=2.0]/map/shields/sec_shield8.png +[ddf=2.0]/map/shields/pri_shield2.png +[ddf=2.0]/map/shields/white_gray_square_shield.png +[ddf=2.0]/map/shields/white_green_square_shield.png +[ddf=2.0]/map/shields/white_gray_square_small_shield.png +[ddf=2.0]/map/shields/pri_shield1.png +[ddf=2.0]/map/shields/gray_blue_round_shield.png +[ddf=2.0]/map/shields/gray_blue_square_shield.png +[ddf=2.0]/map/shields/tru_shield8.png +[ddf=2.0]/map/shields/tru_shield4.png +[ddf=2.0]/map/shields/gray_brown_square_shield.png +[ddf=2.0]/map/shields/darkgray_round_small_shield.png +[ddf=2.0]/map/shields/tru_shield2.png +[ddf=2.0]/map/shields/black_round_small_shield.png +[ddf=2.0]/map/shields/white_gray_round_shield.png +[ddf=2.0]/map/shields/white_brown_square_shield.png +[ddf=2.0]/map/shields/gray_green_round_shield.png +[ddf=1.0]/map/shaders/osmc_black_bg_yellow_bar.png +[ddf=1.0]/map/shaders/osmc_red_bg.png +[ddf=1.0]/map/shaders/osmc_black_bg_blue_bar.png +[ddf=1.0]/map/shaders/nr21.png +[ddf=1.0]/map/shaders/osmc_white_bg_black_circle.png +[ddf=1.0]/map/shaders/wood_needleleaved.png +[ddf=1.0]/map/shaders/osmc_yellow_bg_green_bar.png +[ddf=1.0]/map/shaders/danger_night.png +[ddf=1.0]/map/shaders/osmc_red_bg_black_bar.png +[ddf=1.0]/map/shaders/osmc_yellow_bg_black_circle.png +[ddf=1.0]/map/shaders/osmc_yellow_bg_blue_bar.png +[ddf=1.0]/map/shaders/osmc_white_bg_red_circle.png +[ddf=1.0]/map/shaders/orchard2.png +[ddf=1.0]/map/shaders/osmc_white_green_backslash.png +[ddf=1.0]/map/shaders/arrow.png +[ddf=1.0]/map/shaders/osmc_black_bg.png +[ddf=1.0]/map/shaders/osmc_yellow_bg_white_circle.png +[ddf=1.0]/map/shaders/osmc_white_red_bar.png +[ddf=1.0]/map/shaders/cable_car.png +[ddf=1.0]/map/shaders/osmc_black_bg_yellow_circle.png +[ddf=1.0]/map/shaders/vineyard.png +[ddf=1.0]/map/shaders/osmc_yellow_bg_red_bar.png +[ddf=1.0]/map/shaders/osmc_green_bg_black_bar.png +[ddf=1.0]/map/shaders/osmc_green_bg_blue_bar.png +[ddf=1.0]/map/shaders/osmc_blue_bg_black_circle.png +[ddf=1.0]/map/shaders/osmc_blue_bg_green_circle.png +[ddf=1.0]/map/shaders/orchard.png +[ddf=1.0]/map/shaders/orchard_olive.png +[ddf=1.0]/map/shaders/forest_broadleaved.png +[ddf=1.0]/map/shaders/osmc_blue_bg_yellow_bar.png +[ddf=1.0]/map/shaders/forest.png +[ddf=1.0]/map/shaders/paving_stones_green_night.png +[ddf=1.0]/map/shaders/quarry3.png +[ddf=1.0]/map/shaders/osmc_yellow_bg.png +[ddf=1.0]/map/shaders/glacier2night.png +[ddf=1.0]/map/shaders/osmc__yellow_diamond1.png +[ddf=1.0]/map/shaders/mud.png +[ddf=1.0]/map/shaders/osmc_yellow_diamond.png +[ddf=1.0]/map/shaders/scree.png +[ddf=1.0]/map/shaders/quarry3night.png +[ddf=1.0]/map/shaders/osmc_green_bg_white_bar.png +[ddf=1.0]/map/shaders/osmc_white_bg.png +[ddf=1.0]/map/shaders/osmc_white_bg_green_circle.png +[ddf=1.0]/map/shaders/nr2.png +[ddf=1.0]/map/shaders/osmc_blue_bg_black_bar.png +[ddf=1.0]/map/shaders/wood_needleleaved2.png +[ddf=1.0]/map/shaders/reef.png +[ddf=1.0]/map/shaders/forest1.png +[ddf=1.0]/map/shaders/osmc_blue_bg_red_circle.png +[ddf=1.0]/map/shaders/fell_night.png +[ddf=1.0]/map/shaders/osmc_red_bg_yellow_bar.png +[ddf=1.0]/map/shaders/beach2.png +[ddf=1.0]/map/shaders/orchard_oil_palms.png +[ddf=1.0]/map/shaders/osmc_red_bg_green_bar.png +[ddf=1.0]/map/shaders/osmc_green_bg_yellow_bar.png +[ddf=1.0]/map/shaders/osmc_yellow_bg_black_bar.png +[ddf=1.0]/map/shaders/osmc_yellow_bg_white_bar.png +[ddf=1.0]/map/shaders/osmc_yellow_bg_red_circle.png +[ddf=1.0]/map/shaders/nr2_night.png +[ddf=1.0]/map/shaders/osmc_white_bg_blue_bar.png +[ddf=1.0]/map/shaders/osmc__yellow_diamond.png +[ddf=1.0]/map/shaders/orchard_banana.png +[ddf=1.0]/map/shaders/osmc_blue_bg.png +[ddf=1.0]/map/shaders/marsh.png +[ddf=1.0]/map/shaders/vineyard1.png +[ddf=1.0]/map/shaders/osmc_black_bg_white_circle.png +[ddf=1.0]/map/shaders/paving_stones_green.png +[ddf=1.0]/map/shaders/osmc_white_yellow_bar.png +[ddf=1.0]/map/shaders/wood_mixed.png +[ddf=1.0]/map/shaders/quarry2.png +[ddf=1.0]/map/shaders/cemetery.png +[ddf=1.0]/map/shaders/orchard_apple.png +[ddf=1.0]/map/shaders/wood_mixed2.png +[ddf=1.0]/map/shaders/osmc_black_bg_blue_circle.png +[ddf=1.0]/map/shaders/beach2night.png +[ddf=1.0]/map/shaders/osmc_green_bg.png +[ddf=1.0]/map/shaders/cemetery_muslim.png +[ddf=1.0]/map/shaders/grave_yard.png +[ddf=1.0]/map/shaders/nr1.png +[ddf=1.0]/map/shaders/osmc_blue_bg_green_bar.png +[ddf=1.0]/map/shaders/osmc_red_bg_white_circle.png +[ddf=1.0]/map/shaders/osmc_blue_bg_white_bar.png +[ddf=1.0]/map/shaders/osmc_red_bg_green_circle.png +[ddf=1.0]/map/shaders/orchard_orange.png +[ddf=1.0]/map/shaders/osmc_green_bg_black_circle.png +[ddf=1.0]/map/shaders/osmc_red_bg_blue_circle.png +[ddf=1.0]/map/shaders/osmc_white_green_bar.png +[ddf=1.0]/map/shaders/amenity_grave_yard.png +[ddf=1.0]/map/shaders/glacier.png +[ddf=1.0]/map/shaders/paving_stones.png +[ddf=1.0]/map/shaders/osmc_green_bg_blue_circle.png +[ddf=1.0]/map/shaders/osmc_red_bg_blue_bar.png +[ddf=1.0]/map/shaders/pedestrian_paved_night.png +[ddf=1.0]/map/shaders/nr.png +[ddf=1.0]/map/shaders/osmc_black_bg_red_bar.png +[ddf=1.0]/map/shaders/osmc_blue_bg_red_bar.png +[ddf=1.0]/map/shaders/scree_night.png +[ddf=1.0]/map/shaders/chair_lift.png +[ddf=1.0]/map/shaders/cemetery_jewish.png +[ddf=1.0]/map/shaders/osmc_white_bg_green_bar.png +[ddf=1.0]/map/shaders/osmc_white_black_bar.png +[ddf=1.0]/map/shaders/osmc_yellow_diamond1.png +[ddf=1.0]/map/shaders/danger1.png +[ddf=1.0]/map/shaders/cemetery_christian.png +[ddf=1.0]/map/shaders/paving_stones_night.png +[ddf=1.0]/map/shaders/osmc_white_bg_yellow_bar.png +[ddf=1.0]/map/shaders/osmc_white_bg_yellow_circle.png +[ddf=1.0]/map/shaders/osmc_white_blue_bar.png +[ddf=1.0]/map/shaders/osmc_red_white_bar.png +[ddf=1.0]/map/shaders/orchard_almond.png +[ddf=1.0]/map/shaders/osmc_black_bg_green_circle.png +[ddf=1.0]/map/shaders/osmc_black_bg_red_circle.png +[ddf=1.0]/map/shaders/osmc_red_bg_yellow_circle.png +[ddf=1.0]/map/shaders/osmc_blue_bg_white_circle.png +[ddf=1.0]/map/shaders/osmc_black_bg_white_bar.png +[ddf=1.0]/map/shaders/vineyard2.png +[ddf=1.0]/map/shaders/forest_mixed.png +[ddf=1.0]/map/shaders/osmc_green_bg_yellow_circle.png +[ddf=1.0]/map/shaders/osmc_green_bg_white_circle.png +[ddf=1.0]/map/shaders/osmc_blue_bg_yellow_circle.png +[ddf=1.0]/map/shaders/osmc_black_bg_green_bar.png +[ddf=1.0]/map/shaders/zoo.png +[ddf=1.0]/map/shaders/osmc_red_bg_white_bar.png +[ddf=1.0]/map/shaders/glacier2.png +[ddf=1.0]/map/shaders/osmc_yellow_bg_green_circle.png +[ddf=1.0]/map/shaders/danger.png +[ddf=1.0]/map/shaders/wood_broadleaved.png +[ddf=1.0]/map/shaders/osmc_yellow_bg_blue_circle.png +[ddf=1.0]/map/shaders/osmc_white_bg_blue_circle.png +[ddf=1.0]/map/shaders/osmc_green_bg_red_circle.png +[ddf=1.0]/map/shaders/wood_broadleaved2.png +[ddf=1.0]/map/shaders/zoo1.png +[ddf=1.0]/map/shaders/beach.png +[ddf=1.0]/map/shaders/fell.png +[ddf=1.0]/map/shaders/osmc_green_bg_red_bar.png +[ddf=1.0]/map/shaders/forest_needleleaved.png +[ddf=1.0]/map/shaders/osmc_white_bg_black_bar.png +[ddf=1.0]/map/shaders/scrub.png +[ddf=1.0]/map/shaders/bare_rock.png +[ddf=1.0]/map/shaders/pedestrian_paved.png +[ddf=1.0]/map/shaders/osmc_white_bg_red_bar.png +[ddf=1.0]/map/shaders/osmc_red_bg_black_circle.png +[ddf=1.0]/map/icons/railway_subway_station_small_blue.png +[ddf=1.0]/map/icons/shop_boutique.png +[ddf=1.0]/map/icons/shop_tobacco.png +[ddf=1.0]/map/icons/tourism_viewpoint.png +[ddf=1.0]/map/icons/historic_archaeological_site.png +[ddf=1.0]/map/icons/tower_type_communication.png +[ddf=1.0]/map/icons/railway_subway_entrance_gray.png +[ddf=1.0]/map/icons/sport_baseball.png +[ddf=1.0]/map/icons/amenity_bus_station2.png +[ddf=1.0]/map/icons/sport_tennis.png +[ddf=1.0]/map/icons/barrier_small_black_1.png +[ddf=1.0]/map/icons/natural_saddle.png +[ddf=1.0]/map/icons/education.png +[ddf=1.0]/map/icons/sport_gymnastics.png +[ddf=1.0]/map/icons/place_town_night.png +[ddf=1.0]/map/icons/sport_skating.png +[ddf=1.0]/map/icons/historic_memorial.png +[ddf=1.0]/map/icons/natural_peak_framed_big.png +[ddf=1.0]/map/icons/man_made_chimney.png +[ddf=1.0]/map/icons/shop_computer.png +[ddf=1.0]/map/icons/restaurants.png +[ddf=1.0]/map/icons/amenity_hospital.png +[ddf=1.0]/map/icons/food_shop.png +[ddf=1.0]/map/icons/religion_shinto.png +[ddf=1.0]/map/icons/amenity_recycling.png +[ddf=1.0]/map/icons/barrier_small_white_4.png +[ddf=1.0]/map/icons/seamark.png +[ddf=1.0]/map/icons/natural_spring.png +[ddf=1.0]/map/icons/amenity_vending_machine.png +[ddf=1.0]/map/icons/railway_subway_station_small_lightgreen.png +[ddf=1.0]/map/icons/shop_doityourself.png +[ddf=1.0]/map/icons/shop_electronics.png +[ddf=1.0]/map/icons/amenity_pharmacy.png +[ddf=1.0]/map/icons/amenity_townhall.png +[ddf=1.0]/map/icons/railway_subway_station_small_black.png +[ddf=1.0]/map/icons/railway_subway_station_small_default.png +[ddf=1.0]/map/icons/highway_traffic_signals.png +[ddf=1.0]/map/icons/railway_tram_stop_round_big.png +[ddf=1.0]/map/icons/tourism_chalet.png +[ddf=1.0]/map/icons/amenity_bicycle_parking.png +[ddf=1.0]/map/icons/waterway_waterfall.png +[ddf=1.0]/map/icons/shop_hearing_aids.png +[ddf=1.0]/map/icons/leisure_playground.png +[ddf=1.0]/map/icons/amenity_bus_station.png +[ddf=1.0]/map/icons/shop_gift.png +[ddf=1.0]/map/icons/shop.png +[ddf=1.0]/map/icons/name_finder.png +[ddf=1.0]/map/icons/power_station_solar.png +[ddf=1.0]/map/icons/shop_musical_instrument.png +[ddf=1.0]/map/icons/leisure_stadium.png +[ddf=1.0]/map/icons/barrier_chain.png +[ddf=1.0]/map/icons/amenity_monastery.png +[ddf=1.0]/map/icons/shop_department_store.png +[ddf=1.0]/map/icons/railway_subway_station_small_lightblue.png +[ddf=1.0]/map/icons/natural_beach2.png +[ddf=1.0]/map/icons/barrier_small_red_4.png +[ddf=1.0]/map/icons/amenity_toilets.png +[ddf=1.0]/map/icons/man_made_water_tower.png +[ddf=1.0]/map/icons/shop_car_parts.png +[ddf=1.0]/map/icons/amenity_bank.png +[ddf=1.0]/map/icons/amenity_boat_sharing.png +[ddf=1.0]/map/icons/historic_fort.png +[ddf=1.0]/map/icons/amenity_police.png +[ddf=1.0]/map/icons/shop_mall.png +[ddf=1.0]/map/icons/emergency.png +[ddf=1.0]/map/icons/barrier_sally_port.png +[ddf=1.0]/map/icons/railway_subway_entrance.png +[ddf=1.0]/map/icons/railway_subway.png +[ddf=1.0]/map/icons/religion_jewish.png +[ddf=1.0]/map/icons/power_station_wind.png +[ddf=1.0]/map/icons/shop_jewelry.png +[ddf=1.0]/map/icons/amenity_casino.png +[ddf=1.0]/map/icons/office_government.png +[ddf=1.0]/map/icons/barrier_small_black_4.png +[ddf=1.0]/map/icons/landuse.png +[ddf=1.0]/map/icons/amenity_fast_food.png +[ddf=1.0]/map/icons/parking.png +[ddf=1.0]/map/icons/railway_subway_station_small_yellow.png +[ddf=1.0]/map/icons/sport_golf.png +[ddf=1.0]/map/icons/amenity_fire_station.png +[ddf=1.0]/map/icons/power_station_water2.png +[ddf=1.0]/map/icons/building_entrance.png +[ddf=1.0]/map/icons/religion_taoist.png +[ddf=1.0]/map/icons/natural_volcano_framed_big.png +[ddf=1.0]/map/icons/aeroway_airport.png +[ddf=1.0]/map/icons/amenity_fuel.png +[ddf=1.0]/map/icons/shop_hairdresser.png +[ddf=1.0]/map/icons/amenity_ice_cream.png +[ddf=1.0]/map/icons/landuse_cemetery.png +[ddf=1.0]/map/icons/historic.png +[ddf=1.0]/map/icons/amenity_food_court.png +[ddf=1.0]/map/icons/shop_garden_centre.png +[ddf=1.0]/map/icons/barrier_small_black_2.png +[ddf=1.0]/map/icons/railway_subway_entrance_lightblue.png +[ddf=1.0]/map/icons/railway_subway_station_small_red.png +[ddf=1.0]/map/icons/barrier_small_red_2.png +[ddf=1.0]/map/icons/amenity_cinema.png +[ddf=1.0]/map/icons/man_made_mineshaft.png +[ddf=1.0]/map/icons/amenity_post_box.png +[ddf=1.0]/map/icons/amenity_drinking_water.png +[ddf=1.0]/map/icons/barrier_bollard.png +[ddf=1.0]/map/icons/highway_bus_stop_small.png +[ddf=1.0]/map/icons/natural_glacier.png +[ddf=1.0]/map/icons/natural_tree_needleleaved.png +[ddf=1.0]/map/icons/shop_alcohol.png +[ddf=1.0]/map/icons/sport_stadium.png +[ddf=1.0]/map/icons/religion_muslim.png +[ddf=1.0]/map/icons/shop_optician.png +[ddf=1.0]/map/icons/natural_cave_entrance.png +[ddf=1.0]/map/icons/barrier_lift_gate.png +[ddf=1.0]/map/icons/amenity_telephone.png +[ddf=1.0]/map/icons/landuse_grass.png +[ddf=1.0]/map/icons/shop_kiosk.png +[ddf=1.0]/map/icons/emergency_phone.png +[ddf=1.0]/map/icons/tourism_guest_house.png +[ddf=1.0]/map/icons/natural_tree_broadleaved.png +[ddf=1.0]/map/icons/tourism_picnic_site.png +[ddf=1.0]/map/icons/sport_scuba_diving.png +[ddf=1.0]/map/icons/amenity_bench.png +[ddf=1.0]/map/icons/highway_bus_stop_round_big_night.png +[ddf=1.0]/map/icons/amenity_atm.png +[ddf=1.0]/map/icons/amenity_stripclub.png +[ddf=1.0]/map/icons/entrance_yes.png +[ddf=1.0]/map/icons/highway_mini_roundabout.png +[ddf=1.0]/map/icons/amenity_car_sharing.png +[ddf=1.0]/map/icons/shop_dairy.png +[ddf=1.0]/map/icons/highway_speed_camera.png +[ddf=1.0]/map/icons/shop_video.png +[ddf=1.0]/map/icons/power_tower.png +[ddf=1.0]/map/icons/highway_ford.png +[ddf=1.0]/map/icons/public_transport_platform.png +[ddf=1.0]/map/icons/barrier_small_red_3.png +[ddf=1.0]/map/icons/highway_bus_stop.png +[ddf=1.0]/map/icons/military.png +[ddf=1.0]/map/icons/amenity_pub.png +[ddf=1.0]/map/icons/tourism.png +[ddf=1.0]/map/icons/shop_laundry.png +[ddf=1.0]/map/icons/barrier_small_red_1.png +[ddf=1.0]/map/icons/amenity_bureau_de_change.png +[ddf=1.0]/map/icons/barrier_small_white_2.png +[ddf=1.0]/map/icons/shop_toys.png +[ddf=1.0]/map/icons/tourism_hostel.png +[ddf=1.0]/map/icons/amenity_university.png +[ddf=1.0]/map/icons/transportation.png +[ddf=1.0]/map/icons/aeroway_gate.png +[ddf=1.0]/map/icons/highway_gate.png +[ddf=1.0]/map/icons/barrier_small_white_3.png +[ddf=1.0]/map/icons/power_station_coal.png +[ddf=1.0]/map/icons/shop_fashion.png +[ddf=1.0]/map/icons/entrance_main.png +[ddf=1.0]/map/icons/traffic_calming_bump.png +[ddf=1.0]/map/icons/railway_station.png +[ddf=1.0]/map/icons/railway_subway_entrance_brown.png +[ddf=1.0]/map/icons/sport_horse_racing.png +[ddf=1.0]/map/icons/highway_noexit.png +[ddf=1.0]/map/icons/shop_convenience.png +[ddf=1.0]/map/icons/barrier_kissing_gate.png +[ddf=1.0]/map/icons/accomodation.png +[ddf=1.0]/map/icons/railway_subway_entrance_yellow.png +[ddf=1.0]/map/icons/amenity_courthouse.png +[ddf=1.0]/map/icons/shop_supermarket.png +[ddf=1.0]/map/icons/car_aid.png +[ddf=1.0]/map/icons/railway_subway_station_small_black2.png +[ddf=1.0]/map/icons/null.png +[ddf=1.0]/map/icons/natural_spring2.png +[ddf=1.0]/map/icons/railway_tram_stop.png +[ddf=1.0]/map/icons/railway_subway_station_small_green.png +[ddf=1.0]/map/icons/shop_clothes.png +[ddf=1.0]/map/icons/amenity_bar.png +[ddf=1.0]/map/icons/natural_scrub.png +[ddf=1.0]/map/icons/tourism_motel.png +[ddf=1.0]/map/icons/leisure_bird_hide.png +[ddf=1.0]/map/icons/leisure_water_park.png +[ddf=1.0]/map/icons/highway_milestone.png +[ddf=1.0]/map/icons/sport_soccer.png +[ddf=1.0]/map/icons/natural_volcano_framed.png +[ddf=1.0]/map/icons/amenity_theatre.png +[ddf=1.0]/map/icons/leisure_slipway.png +[ddf=1.0]/map/icons/man_made.png +[ddf=1.0]/map/icons/amenity_college.png +[ddf=1.0]/map/icons/amenity_post_office2.png +[ddf=1.0]/map/icons/shop_greengrocer.png +[ddf=1.0]/map/icons/sport_shooting.png +[ddf=1.0]/map/icons/amenity_kindergarten.png +[ddf=1.0]/map/icons/leisure_ice_rink.png +[ddf=1.0]/map/icons/finance.png +[ddf=1.0]/map/icons/amenity_doctors.png +[ddf=1.0]/map/icons/natural_beach.png +[ddf=1.0]/map/icons/amenity_biergarten.png +[ddf=1.0]/map/icons/sport_canoe.png +[ddf=1.0]/map/icons/leisure_sports_centre.png +[ddf=1.0]/map/icons/bitcoin_yes.png +[ddf=1.0]/map/icons/leisure_sports_centre2.png +[ddf=1.0]/map/icons/sport_billiard.png +[ddf=1.0]/map/icons/natural.png +[ddf=1.0]/map/icons/amenity_car_rental.png +[ddf=1.0]/map/icons/amenity_prison.png +[ddf=1.0]/map/icons/natural_peak_night_big.png +[ddf=1.0]/map/icons/geocache.png +[ddf=1.0]/map/icons/barrier.png +[ddf=1.0]/map/icons/amenity_cafe.png +[ddf=1.0]/map/icons/amenity_parking_private.png +[ddf=1.0]/map/icons/amenity_restaurant.png +[ddf=1.0]/map/icons/historic_monument.png +[ddf=1.0]/map/icons/tourism_theme_park.png +[ddf=1.0]/map/icons/amenity_fuel_lpg.png +[ddf=1.0]/map/icons/leisure_marina.png +[ddf=1.0]/map/icons/amenity_post_office.png +[ddf=1.0]/map/icons/place_capital.png +[ddf=1.0]/map/icons/shop_florist.png +[ddf=1.0]/map/icons/historic_wreck.png +[ddf=1.0]/map/icons/osmwiki.png +[ddf=1.0]/map/icons/railway_halt.png +[ddf=1.0]/map/icons/religion_sikh.png +[ddf=1.0]/map/icons/amenity_embassy.png +[ddf=1.0]/map/icons/sport_archery.png +[ddf=1.0]/map/icons/amenity_grave_yard.png +[ddf=1.0]/map/icons/shop_general.png +[ddf=1.0]/map/icons/wikipedia.png +[ddf=1.0]/map/icons/natural_swamp.png +[ddf=1.0]/map/icons/power_station_gas.png +[ddf=1.0]/map/icons/sport.png +[ddf=1.0]/map/icons/railway_tram_stop_round_big_night.png +[ddf=1.0]/map/icons/shop_car.png +[ddf=1.0]/map/icons/railway_subway_entrance_orange.png +[ddf=1.0]/map/icons/amenity_shelter.png +[ddf=1.0]/map/icons/natural_peak_framed.png +[ddf=1.0]/map/icons/power_tower2.png +[ddf=1.0]/map/icons/railway_subway_entrance_black.png +[ddf=1.0]/map/icons/shop_copyshop.png +[ddf=1.0]/map/icons/emergency_fire_hydrant.png +[ddf=1.0]/map/icons/historic_wayside_cross.png +[ddf=1.0]/map/icons/tourism_information.png +[ddf=1.0]/map/icons/railway_subway_station_small_purple.png +[ddf=1.0]/map/icons/natural_tree.png +[ddf=1.0]/map/icons/aeroway_aerodrome.png +[ddf=1.0]/map/icons/entrance_exit_2.png +[ddf=1.0]/map/icons/religion_buddhist.png +[ddf=1.0]/map/icons/amenity_fountain.png +[ddf=1.0]/map/icons/historic_boundary_stone.png +[ddf=1.0]/map/icons/shop_motorcycle.png +[ddf=1.0]/map/icons/amenity_community_centre.png +[ddf=1.0]/map/icons/shop_bakery.png +[ddf=1.0]/map/icons/religion_hindu.png +[ddf=1.0]/map/icons/natural_peak.png +[ddf=1.0]/map/icons/railway_tram_stop_round_small.png +[ddf=1.0]/map/icons/amenity_nightclub.png +[ddf=1.0]/map/icons/aerialway_station.png +[ddf=1.0]/map/icons/amenity_marketplace.png +[ddf=1.0]/map/icons/healthcare.png +[ddf=1.0]/map/icons/man_made_water_well.png +[ddf=1.0]/map/icons/power_transformer2.png +[ddf=1.0]/map/icons/man_made_lighthouse.png +[ddf=1.0]/map/icons/natural_tree_leafless.png +[ddf=1.0]/map/icons/amenity_pharmacy2.png +[ddf=1.0]/map/icons/historic_battlefield.png +[ddf=1.0]/map/icons/railway_subway_entrance_purple.png +[ddf=1.0]/map/icons/administrative.png +[ddf=1.0]/map/icons/shop_butcher.png +[ddf=1.0]/map/icons/man_made_windmill.png +[ddf=1.0]/map/icons/barrier_border_control.png +[ddf=1.0]/map/icons/historic_wayside_shrine.png +[ddf=1.0]/map/icons/user_defined.png +[ddf=1.0]/map/icons/religion_christian.png +[ddf=1.0]/map/icons/shop_bicycle.png +[ddf=1.0]/map/icons/highway_bus_stop_round_big.png +[ddf=1.0]/map/icons/leisure.png +[ddf=1.0]/map/icons/barrier_small_black_3.png +[ddf=1.0]/map/icons/entrance_exit.png +[ddf=1.0]/map/icons/tourism_hotel.png +[ddf=1.0]/map/icons/historic_mine.png +[ddf=1.0]/map/icons/shop_seafood.png +[ddf=1.0]/map/icons/historic_castle.png +[ddf=1.0]/map/icons/shop_baby_goods.png +[ddf=1.0]/map/icons/amenity_bicycle_rental.png +[ddf=1.0]/map/icons/place_city.png +[ddf=1.0]/map/icons/shop_outdoor.png +[ddf=1.0]/map/icons/railway_subway_entrance_lightgreen.png +[ddf=1.0]/map/icons/natural_tree_cypress.png +[ddf=1.0]/map/icons/military_danger_area.png +[ddf=1.0]/map/icons/railway_platform.png +[ddf=1.0]/map/icons/landuse_forest.png +[ddf=1.0]/map/icons/shop_confectionery.png +[ddf=1.0]/map/icons/place_town.png +[ddf=1.0]/map/icons/amenity_school.png +[ddf=1.0]/map/icons/railway_subway_station_small_orange.png +[ddf=1.0]/map/icons/sustenance.png +[ddf=1.0]/map/icons/waterway_lock_gate.png +[ddf=1.0]/map/icons/amenity_veterinary.png +[ddf=1.0]/map/icons/amenity_parking_paid.png +[ddf=1.0]/map/icons/railway_station_small.png +[ddf=1.0]/map/icons/highway_bus_stop_round_small_night.png +[ddf=1.0]/map/icons/amenity_parking.png +[ddf=1.0]/map/icons/railway_subway_entrance_blue.png +[ddf=1.0]/map/icons/amenity_dentist.png +[ddf=1.0]/map/icons/barrier_entrance.png +[ddf=1.0]/map/icons/shop_pet.png +[ddf=1.0]/map/icons/geocache_found.png +[ddf=1.0]/map/icons/barrier_small_white_1.png +[ddf=1.0]/map/icons/barrier_swing_gate.png +[ddf=1.0]/map/icons/tourism_zoo.png +[ddf=1.0]/map/icons/entertainment.png +[ddf=1.0]/map/icons/tourism_caravan_site.png +[ddf=1.0]/map/icons/amenity_public_building.png +[ddf=1.0]/map/icons/amenity_arts_centre.png +[ddf=1.0]/map/icons/shop_car_repair.png +[ddf=1.0]/map/icons/historic_ruins.png +[ddf=1.0]/map/icons/barrier_gate.png +[ddf=1.0]/map/icons/amenity_place_of_worship.png +[ddf=1.0]/map/icons/sport_skiing.png +[ddf=1.0]/map/icons/other.png +[ddf=1.0]/map/icons/amenity_taxi.png +[ddf=1.0]/map/icons/barrier_block.png +[ddf=1.0]/map/icons/highway_bus_stop_round_small.png +[ddf=1.0]/map/icons/place_capital_night.png +[ddf=1.0]/map/icons/railway_level_crossing.png +[ddf=1.0]/map/icons/shop_mobile_phone.png +[ddf=1.0]/map/icons/sport_swimming.png +[ddf=1.0]/map/icons/natural_volcano_big.png +[ddf=1.0]/map/icons/railway_subway_entrance_red.png +[ddf=1.0]/map/icons/geocache_not_found.png +[ddf=1.0]/map/icons/power_station.png +[ddf=1.0]/map/icons/railway_subway_station_small_brown.png +[ddf=1.0]/map/icons/amenity_hospital2.png +[ddf=1.0]/map/icons/place_city_night.png +[ddf=1.0]/map/icons/office.png +[ddf=1.0]/map/icons/aeroway_helipad.png +[ddf=1.0]/map/icons/natural_tree_palm.png +[ddf=1.0]/map/icons/railway_tram_stop_round_small_night.png +[ddf=1.0]/map/icons/tourism_museum.png +[ddf=1.0]/map/icons/tourism_alpine_hut.png +[ddf=1.0]/map/icons/railway_subway_entrance_2.png +[ddf=1.0]/map/icons/natural_volcano.png +[ddf=1.0]/map/icons/natural_stone.png +[ddf=1.0]/map/icons/railway_subway_entrance_green.png +[ddf=1.0]/map/icons/power_station_nuclear.png +[ddf=1.0]/map/icons/amenity_library.png +[ddf=1.0]/map/icons/shop_hardware.png +[ddf=1.0]/map/icons/railway_subway_station_small_yellow2.png +[ddf=1.0]/map/icons/aerialway_station_small.png +[ddf=1.0]/map/icons/fuel.png +[ddf=1.0]/map/icons/leisure_fishing.png +[ddf=1.0]/map/icons/sport_diving.png +[ddf=1.0]/map/icons/for_tourists.png +[ddf=1.0]/map/icons/sightseeing.png +[ddf=1.0]/map/icons/natural_peak_night.png +[ddf=1.0]/map/icons/railway_subway_station_small_gray.png +[ddf=1.0]/map/icons/entrance_yes_2.png +[ddf=1.0]/map/icons/amenity_water_well.png +[ddf=1.0]/map/icons/tourism_camp_site.png +[ddf=1.0]/map/icons/amenity_social_centre.png +[ddf=1.0]/map/icons/public_transport.png +[ddf=1.0]/map/icons/highway_crossing2.png +[ddf=1.0]/map/icons/barrier_toll_booth.png +[ddf=1.0]/map/shields/gray_gray_square_small_shield.png +[ddf=1.0]/map/shields/unc_shield6.png +[ddf=1.0]/map/shields/gray_red_round_shield.png +[ddf=1.0]/map/shields/pri_shield6.png +[ddf=1.0]/map/shields/sec_shield3.png +[ddf=1.0]/map/shields/tru_shield5.png +[ddf=1.0]/map/shields/gray_gray_round_shield.png +[ddf=1.0]/map/shields/tru_shield6.png +[ddf=1.0]/map/shields/ter_shield7.png +[ddf=1.0]/map/shields/tru_shield3.png +[ddf=1.0]/map/shields/mot_shield3.png +[ddf=1.0]/map/shields/mot_shield8.png +[ddf=1.0]/map/shields/sec_shield6.png +[ddf=1.0]/map/shields/unc_shield4.png +[ddf=1.0]/map/shields/white_green_round_shield.png +[ddf=1.0]/map/shields/white_red_round_shield.png +[ddf=1.0]/map/shields/mot_shield2.png +[ddf=1.0]/map/shields/ter_shield2.png +[ddf=1.0]/map/shields/mot_shield7.png +[ddf=1.0]/map/shields/mot_shield1.png +[ddf=1.0]/map/shields/unc_shield3.png +[ddf=1.0]/map/shields/pri_shield4.png +[ddf=1.0]/map/shields/mot_shield4.png +[ddf=1.0]/map/shields/ter_shield6.png +[ddf=1.0]/map/shields/tru_shield1.png +[ddf=1.0]/map/shields/gray_green_square_shield.png +[ddf=1.0]/map/shields/pri_shield5.png +[ddf=1.0]/map/shields/sec_shield7.png +[ddf=1.0]/map/shields/white_round_small_shield.png +[ddf=1.0]/map/shields/unc_shield7.png +[ddf=1.0]/map/shields/sec_shield5.png +[ddf=1.0]/map/shields/pri_shield3.png +[ddf=1.0]/map/shields/white_black_round_shield.png +[ddf=1.0]/map/shields/gray_red_square_shield.png +[ddf=1.0]/map/shields/ter_shield8.png +[ddf=1.0]/map/shields/pri_shield7.png +[ddf=1.0]/map/shields/ter_shield3.png +[ddf=1.0]/map/shields/unc_shield8.png +[ddf=1.0]/map/shields/unc_shield5.png +[ddf=1.0]/map/shields/unc_shield2.png +[ddf=1.0]/map/shields/sec_shield2.png +[ddf=1.0]/map/shields/gray_gray_square_shield.png +[ddf=1.0]/map/shields/sec_shield4.png +[ddf=1.0]/map/shields/mot_shield5.png +[ddf=1.0]/map/shields/ter_shield4.png +[ddf=1.0]/map/shields/unc_shield1.png +[ddf=1.0]/map/shields/white_red_square_shield.png +[ddf=1.0]/map/shields/mot_shield6.png +[ddf=1.0]/map/shields/sec_shield1.png +[ddf=1.0]/map/shields/ter_shield5.png +[ddf=1.0]/map/shields/pri_shield8.png +[ddf=1.0]/map/shields/white_blue_round_shield.png +[ddf=1.0]/map/shields/tru_shield7.png +[ddf=1.0]/map/shields/white_blue_square_shield.png +[ddf=1.0]/map/shields/ter_shield1.png +[ddf=1.0]/map/shields/sec_shield8.png +[ddf=1.0]/map/shields/pri_shield2.png +[ddf=1.0]/map/shields/white_gray_square_shield.png +[ddf=1.0]/map/shields/white_green_square_shield.png +[ddf=1.0]/map/shields/white_gray_square_small_shield.png +[ddf=1.0]/map/shields/pri_shield1.png +[ddf=1.0]/map/shields/gray_blue_round_shield.png +[ddf=1.0]/map/shields/gray_blue_square_shield.png +[ddf=1.0]/map/shields/tru_shield8.png +[ddf=1.0]/map/shields/tru_shield4.png +[ddf=1.0]/map/shields/gray_brown_square_shield.png +[ddf=1.0]/map/shields/darkgray_round_small_shield.png +[ddf=1.0]/map/shields/tru_shield2.png +[ddf=1.0]/map/shields/black_round_small_shield.png +[ddf=1.0]/map/shields/white_gray_round_shield.png +[ddf=1.0]/map/shields/white_brown_square_shield.png +[ddf=1.0]/map/shields/gray_green_round_shield.png +routing/routing.xml +map/styles/default.map_styles_presets.xml +map/styles/default.render.xml +map/stubs/favorite_location_pin_icon.png +map/stubs/processing_tile.png +map/stubs/unavailable_tile.png +misc/icu4c/icu-data-l.dat + +map/fonts/DroidSansHebrew-Regular.ttf +map/fonts/NotoSansKannada-Regular.ttf +map/fonts/NotoSansMalayalam.ttf +map/fonts/NotoSansThai-Regular.ttf +map/fonts/NotoSansGeorgian-Bold.ttf +map/fonts/DroidNaskh-Bold.ttf +map/fonts/DroidSansEthiopic-Regular.ttf +map/fonts/NotoSansHebrew-Regular.ttf +map/fonts/DroidSansHebrew-Bold.ttf +map/fonts/NotoSansHebrew-Bold.ttf +map/fonts/NotoSansKhmer-Regular.ttf +map/fonts/DroidSansFallback.ttf +map/fonts/DroidSansGeorgian.ttf +map/fonts/DroidNaskh-Regular.ttf +map/fonts/MTLmr3m.ttf +map/fonts/NotoSansTelugu-Regular.ttf +map/fonts/NotoSansDevanagari-Regular.ttf +map/fonts/NotoSansLao-Regular.ttf +map/fonts/NotoSansLao-Bold.ttf +map/fonts/NotoSansTelugu-Bold.ttf +map/fonts/NotoSansBengali-Bold.ttf +map/fonts/NotoSansArmenian-Regular.ttf +map/fonts/NotoSansTamil-Regular.ttf +map/fonts/NotoSansDevanagari-Bold.ttf +map/fonts/DroidSansEthiopic-Bold.ttf +map/fonts/NotoSansThai-Bold.ttf +map/fonts/NotoSansGeorgian-Regular.ttf +map/fonts/NotoSansArmenian-Bold.ttf +map/fonts/NotoSansBengali-Regular.ttf +map/fonts/NotoSansKhmer-Bold.ttf +map/fonts/NotoSansMalayalam-Bold.ttf +map/fonts/NotoSansKannada-Bold.ttf +map/fonts/DroidSansJapanese.ttf +map/fonts/NotoSansTamil-Bold.ttf +map/fonts/DroidSansArmenian.ttf +map/fonts/DroidSansArabic.ttf +map/fonts/OpenSans/OpenSans-SemiboldItalic.ttf +map/fonts/OpenSans/OpenSans-Regular.ttf +map/fonts/OpenSans/OpenSans-Italic.ttf +map/fonts/OpenSans/OpenSans-Semibold.ttf \ No newline at end of file diff --git a/OsmAnd/libs/QtAndroid-bundled.jar b/OsmAnd/libs/QtAndroid-bundled.jar new file mode 100644 index 0000000000000000000000000000000000000000..8b46053eadbd9ddabf5653f04c45160f6b869f3d GIT binary patch literal 52046 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 bzeic*B*6gj{BQm@Es!YSHqddyx8ME`8a!E$ literal 0 HcmV?d00001 diff --git a/OsmAnd/libs/QtAndroidAccessibility-bundled.jar b/OsmAnd/libs/QtAndroidAccessibility-bundled.jar new file mode 100644 index 0000000000000000000000000000000000000000..5ab3135dd5f0ab41cf75ba1c210333bdee10c125 GIT binary patch literal 6314 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 YLq1eMD5$sdxcyM6Z%~^v;qBc&00T<0x&QzG literal 0 HcmV?d00001 diff --git a/OsmAnd/res/layout/activity_gl.xml b/OsmAnd/res/layout/activity_gl.xml new file mode 100644 index 0000000000..784bde7a71 --- /dev/null +++ b/OsmAnd/res/layout/activity_gl.xml @@ -0,0 +1,17 @@ + + + + + + + \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroidAssets.java b/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroidAssets.java new file mode 100644 index 0000000000..da7e70505f --- /dev/null +++ b/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroidAssets.java @@ -0,0 +1,249 @@ +package net.osmand.core.android; + +import java.io.BufferedReader; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import net.osmand.core.jni.BoolPtr; +import net.osmand.core.jni.ICoreResourcesProvider; +import net.osmand.core.jni.SWIGTYPE_p_QByteArray; +import net.osmand.core.jni.SWIGTYPE_p_bool; +import net.osmand.core.jni.SwigUtilities; +import net.osmand.plus.OsmandApplication; +import android.content.Context; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager.NameNotFoundException; +import android.content.res.AssetManager; +import android.util.Log; + +// This class provides reverse mapping from 'embed-resources.list' to files&folders scheme used by OsmAndCore_android.aar package +public class CoreResourcesFromAndroidAssets extends ICoreResourcesProvider { + private static final String TAG = "CoreResourcesFromAndroidAssets"; + + private CoreResourcesFromAndroidAssets(final Context context) { + _context = context; + } + + private boolean load() { + final AssetManager assetManager = _context.getResources().getAssets(); + + PackageInfo packageInfo = null; + try { + packageInfo = _context.getPackageManager().getPackageInfo(_context.getPackageName(), 0); + } catch(NameNotFoundException e) { + Log.e(TAG, "Failed to get own package info", e); + return false; + } + _bundleFilename = packageInfo.applicationInfo.sourceDir; + Log.i(TAG, "Located own package at '" + _bundleFilename + "'"); + + // Load the index + final List resourcesInBundle = new LinkedList(); + try { + final InputStream resourcesIndexStream = assetManager.open("OsmAndCore_ResourcesBundle.index", AssetManager.ACCESS_BUFFER); + + final BufferedReader resourcesIndexBufferedReader = new BufferedReader(new InputStreamReader(resourcesIndexStream)); + String resourceInBundle; + while ((resourceInBundle = resourcesIndexBufferedReader.readLine()) != null) + resourcesInBundle.add(resourceInBundle); + } catch (IOException e) { + Log.e(TAG, "Failed to read bundle index", e); + return false; + } + Log.i(TAG, "Application contains " + resourcesInBundle.size() + " resources"); + + // Parse resources index + final Pattern resourceNameWithQualifiersRegExp = Pattern.compile("(?:\\[(.*)\\]/)(.*)"); + for (String resourceInBundle : resourcesInBundle) { + // Process resource name + String pureResourceName = resourceInBundle; + String[] qualifiers = null; + final Matcher resourceNameComponentsMatcher = resourceNameWithQualifiersRegExp.matcher(resourceInBundle); + if (resourceNameComponentsMatcher.matches()) { + qualifiers = resourceNameComponentsMatcher.group(1).split(";"); + pureResourceName = resourceNameComponentsMatcher.group(2); + } + + // Get location of this resource + long declaredSize; + long size; + long offset; +// try { +// +// final AssetFileDescriptor resourceFd = assetManager.openFd("OsmAndCore_ResourcesBundle/" + resourceInBundle); +// declaredSize = resourceFd.getDeclaredLength(); +// size = resourceFd.getLength(); +// offset = resourceFd.getStartOffset(); +// resourceFd.close(); +// } catch (IOException e) { +// Log.e(TAG, "Failed to locate '" + resourceInBundle + "'", e); +// continue; +// } +// if (declaredSize != size) { +// Log.e(TAG, "Declared size does not match size for '" + resourceInBundle + "'"); +// continue; +// } + final ResourceData resourceData = new ResourceData(); + resourceData.offset = 0; + resourceData.path = ((OsmandApplication) _context.getApplicationContext()).getAppPath("OsmAndCore_ResourcesBundle/" + resourceInBundle); + resourceData.size = resourceData.path.length(); + + // Get resource entry for this resource + ResourceEntry resourceEntry = _resources.get(pureResourceName); + if (resourceEntry == null) { + resourceEntry = new ResourceEntry(); + _resources.put(pureResourceName, resourceEntry); + } + if (qualifiers == null) { + resourceEntry.defaultVariant = resourceData; + } else { + for (String qualifier : qualifiers) { + final String[] qualifierComponents = qualifier.trim().split("="); + + if (qualifierComponents.length == 2 && qualifierComponents[0].equals("ddf")) { + float ddfValue; + try { + ddfValue = Float.parseFloat(qualifierComponents[1]); + } catch (NumberFormatException e) { + Log.e(TAG, "Unsupported value '" + qualifierComponents[1] + "' for DDF qualifier", e); + continue; + } + + if (resourceEntry.variantsByDisplayDensityFactor == null) + resourceEntry.variantsByDisplayDensityFactor = new TreeMap(); + resourceEntry.variantsByDisplayDensityFactor.put(ddfValue, resourceData); + } else { + Log.w(TAG, "Unsupported qualifier '" + qualifier.trim() + "'"); + } + } + } + } + + return true; + } + + private final Context _context; + private String _bundleFilename; + private final HashMap _resources = new HashMap(); + + private final class ResourceData { + public File path; + public long offset; + public long size; + } + private final class ResourceEntry { + public ResourceData defaultVariant; + public TreeMap variantsByDisplayDensityFactor; + } + + @Override + public SWIGTYPE_p_QByteArray getResource(String name, float displayDensityFactor, SWIGTYPE_p_bool ok_) { + final BoolPtr ok = BoolPtr.frompointer(ok_); + + final ResourceEntry resourceEntry = _resources.get(name); + if (resourceEntry == null || resourceEntry.variantsByDisplayDensityFactor == null) { + Log.w(TAG, "Requested resource [ddf=" + displayDensityFactor + "]'" + name + "' was not found"); + if (ok != null) + ok.assign(false); + return SwigUtilities.emptyQByteArray(); + } + + Map.Entry resourceDataEntry = resourceEntry.variantsByDisplayDensityFactor.ceilingEntry(displayDensityFactor); + if (resourceDataEntry == null) + resourceDataEntry = resourceEntry.variantsByDisplayDensityFactor.lastEntry(); + ResourceData resourceData = resourceDataEntry.getValue(); + Log.d(TAG, "Using ddf=" + resourceDataEntry.getKey() + " while looking for " + displayDensityFactor + " of '" + name + "'"); + + final SWIGTYPE_p_QByteArray data = SwigUtilities.readPartOfFile( +// _bundleFilename, + resourceData.path.getAbsolutePath(), + resourceData.offset, + resourceData.size); + if (data == null) { + Log.e(TAG, "Failed to load data of '" + name + "'"); + if (ok != null) + ok.assign(false); + return SwigUtilities.emptyQByteArray(); + } + + if (ok != null) + ok.assign(true); + return data; + } + + @Override + public SWIGTYPE_p_QByteArray getResource(String name, SWIGTYPE_p_bool ok_) { + final BoolPtr ok = BoolPtr.frompointer(ok_); + + final ResourceEntry resourceEntry = _resources.get(name); + if (resourceEntry == null) { + Log.w(TAG, "Requested resource '" + name + "' was not found"); + if (ok != null) + ok.assign(false); + return SwigUtilities.emptyQByteArray(); + } + + if (resourceEntry.defaultVariant == null) { + Log.w(TAG, "Requested resource '" + name + "' was not found"); + if (ok != null) + ok.assign(false); + return SwigUtilities.emptyQByteArray(); + } + + final SWIGTYPE_p_QByteArray data = SwigUtilities.readPartOfFile( +// _bundleFilename, + resourceEntry.defaultVariant.path.getAbsolutePath(), + resourceEntry.defaultVariant.offset, + resourceEntry.defaultVariant.size); + if (data == null) { + Log.e(TAG, "Failed to load data of '" + name + "'"); + if (ok != null) + ok.assign(false); + return SwigUtilities.emptyQByteArray(); + } + + if (ok != null) + ok.assign(true); + return data; + } + + @Override + public boolean containsResource(String name, float displayDensityFactor) { + final ResourceEntry resourceEntry = _resources.get(name); + if (resourceEntry == null || resourceEntry.variantsByDisplayDensityFactor == null) + return false; + + // If there's variant for any DDF, it will be used + return true; + } + + @Override + public boolean containsResource(String name) { + final ResourceEntry resourceEntry = _resources.get(name); + if (resourceEntry == null) + return false; + + if (resourceEntry.defaultVariant == null) + return false; + + return true; + } + + public static CoreResourcesFromAndroidAssets loadFromCurrentApplication(final Context context) { + final CoreResourcesFromAndroidAssets bundle = new CoreResourcesFromAndroidAssets(context); + + if (!bundle.load()) + return null; + + return bundle; + } +} \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroid_LegacyOsmAndCompatible.java b/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroid_LegacyOsmAndCompatible.java new file mode 100644 index 0000000000..260ceed941 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroid_LegacyOsmAndCompatible.java @@ -0,0 +1,36 @@ +package net.osmand.core.android; + +import android.content.Context; +import android.content.res.AssetManager; +import android.content.res.Resources; + +import net.osmand.core.jni.*; + +// This class provides reverse mapping from 'embed-resources.list' to scheme used by current (legacy in future) OsmAnd for Android +public class CoreResourcesFromAndroid_LegacyOsmAndCompatible extends ICoreResourcesProvider { + public CoreResourcesFromAndroid_LegacyOsmAndCompatible(final Context context) { + _context = context; + } + + private final Context _context; + + @Override + public SWIGTYPE_p_QByteArray getResource(String name, float displayDensityFactor, SWIGTYPE_p_bool ok) { + return SwigUtilities.emptyQByteArray(); + } + + @Override + public SWIGTYPE_p_QByteArray getResource(String name, SWIGTYPE_p_bool ok) { + return SwigUtilities.emptyQByteArray(); + } + + @Override + public boolean containsResource(String name, float displayDensityFactor) { + return false; + } + + @Override + public boolean containsResource(String name) { + return false; + } +} \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/core/android/GLActivity.java b/OsmAnd/src/net/osmand/core/android/GLActivity.java new file mode 100644 index 0000000000..f4c7d9f6e8 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/android/GLActivity.java @@ -0,0 +1,520 @@ +package net.osmand.core.android; + +import javax.microedition.khronos.egl.EGL10; +import javax.microedition.khronos.egl.EGLConfig; +import javax.microedition.khronos.egl.EGLContext; +import javax.microedition.khronos.egl.EGLDisplay; +import javax.microedition.khronos.egl.EGLSurface; +import javax.microedition.khronos.opengles.GL10; + +import net.osmand.core.android.CoreResourcesFromAndroidAssets; +import net.osmand.core.jni.AreaI; +import net.osmand.core.jni.AtlasMapRendererConfiguration; +import net.osmand.core.jni.BinaryMapDataProvider; +import net.osmand.core.jni.BinaryMapPrimitivesProvider; +import net.osmand.core.jni.BinaryMapRasterBitmapTileProvider; +import net.osmand.core.jni.BinaryMapRasterBitmapTileProvider_Software; +import net.osmand.core.jni.BinaryMapStaticSymbolsProvider; +import net.osmand.core.jni.IMapRenderer; +import net.osmand.core.jni.IMapStylesCollection; +import net.osmand.core.jni.Logger; +import net.osmand.core.jni.MapPresentationEnvironment; +import net.osmand.core.jni.MapRendererClass; +import net.osmand.core.jni.MapRendererSetupOptions; +import net.osmand.core.jni.MapStyle; +import net.osmand.core.jni.MapStylesCollection; +import net.osmand.core.jni.ObfsCollection; +import net.osmand.core.jni.OsmAndCore; +import net.osmand.core.jni.PointI; +import net.osmand.core.jni.Primitiviser; +import net.osmand.core.jni.QIODeviceLogSink; +import net.osmand.core.jni.RasterMapLayerId; +import net.osmand.data.LatLon; +import net.osmand.data.QuadPoint; +import net.osmand.data.RotatedTileBox; +import net.osmand.plus.OsmandApplication; +import net.osmand.plus.OsmandSettings; +import net.osmand.plus.R; +import net.osmand.plus.helpers.SimpleTwoFingerTapDetector; +import net.osmand.plus.render.NativeOsmandLibrary; +import android.app.Activity; +import android.content.Context; +import android.opengl.EGL14; +import android.opengl.GLSurfaceView; +import android.os.Bundle; +import android.os.Environment; +import android.util.DisplayMetrics; +import android.util.Log; +import android.view.GestureDetector; +import android.view.GestureDetector.OnDoubleTapListener; +import android.view.Menu; +import android.view.MenuItem; +import android.view.MotionEvent; +import android.view.Window; +import android.view.WindowManager; + +public class GLActivity extends Activity { + + static { + NativeOsmandLibrary.loadLibrary("gnustl_shared"); + NativeOsmandLibrary.loadLibrary("Qt5Core"); + NativeOsmandLibrary.loadLibrary("Qt5Network"); + NativeOsmandLibrary.loadLibrary("Qt5Sql"); + NativeOsmandLibrary.loadLibrary("OsmAndCoreWithJNI"); + } + private static final String TAG = "OsmAndCoreSample"; + + private CoreResourcesFromAndroidAssets _coreResources; + + private float _displayDensityFactor; + private int _referenceTileSize; + private int _rasterTileSize; + private IMapStylesCollection _mapStylesCollection; + private MapStyle _mapStyle; + private ObfsCollection _obfsCollection; + private MapPresentationEnvironment _mapPresentationEnvironment; + private Primitiviser _primitiviser; + private BinaryMapDataProvider _binaryMapDataProvider; + private BinaryMapPrimitivesProvider _binaryMapPrimitivesProvider; + private BinaryMapStaticSymbolsProvider _binaryMapStaticSymbolsProvider; + private BinaryMapRasterBitmapTileProvider _binaryMapRasterBitmapTileProvider; + private IMapRenderer _mapRenderer; + private GpuWorkerThreadPrologue _gpuWorkerThreadPrologue; + private GpuWorkerThreadEpilogue _gpuWorkerThreadEpilogue; + private RenderRequestCallback _renderRequestCallback; + private QIODeviceLogSink _fileLogSink; + private RotatedTileBox currentViewport = null; + + private GestureDetector gestureDetector; + + + protected OsmandApplication getApp() { + return (OsmandApplication) getApplication(); + } + + private boolean afterTwoFingerTap = false; + SimpleTwoFingerTapDetector twoFingerTapDetector = new SimpleTwoFingerTapDetector() { + @Override + public void onTwoFingerTap() { + afterTwoFingerTap = true; + currentViewport.setZoom(currentViewport.getZoom() - 1); + updateView(); + } + }; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + requestWindowFeature(Window.FEATURE_NO_TITLE); + OsmandSettings st = getApp().getSettings(); + WindowManager mgr = (WindowManager) getSystemService(Context.WINDOW_SERVICE); + DisplayMetrics dm = new DisplayMetrics(); + mgr.getDefaultDisplay().getMetrics(dm); + currentViewport = new RotatedTileBox.RotatedTileBoxBuilder(). + setLocation(st.getLastKnownMapLocation().getLatitude(), + st.getLastKnownMapLocation().getLongitude()).setZoomAndScale(st.getLastKnownMapZoom(), 0). + setPixelDimensions(dm.widthPixels, dm.heightPixels).build(); + currentViewport.setDensity(dm.density); + + + + gestureDetector = new GestureDetector(this, new android.view.GestureDetector.OnGestureListener() { + + @Override + public boolean onSingleTapUp(MotionEvent e) { + return false; + } + + @Override + public void onShowPress(MotionEvent e) { + } + + @Override + public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { + final QuadPoint cp = currentViewport.getCenterPixelPoint(); + final LatLon latlon = currentViewport.getLatLonFromPixel(cp.x + distanceX, cp.y + distanceY); + currentViewport.setLatLonCenter(latlon.getLatitude(), latlon.getLongitude()); + updateView(); + return false; + } + + @Override + public void onLongPress(MotionEvent e) { + } + + @Override + public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { + return false; + } + + @Override + public boolean onDown(MotionEvent e) { + return false; + } + }); + gestureDetector.setOnDoubleTapListener(new OnDoubleTapListener() { + @Override + public boolean onSingleTapConfirmed(MotionEvent e) { + return false; + } + + @Override + public boolean onDoubleTapEvent(MotionEvent e) { + return false; + } + + @Override + public boolean onDoubleTap(MotionEvent e) { + currentViewport.setZoom(currentViewport.getZoom() + 1); + updateView(); + return true; + } + }); + + setContentView(R.layout.activity_gl); + + // Get device display density factor + DisplayMetrics displayMetrics = new DisplayMetrics(); + getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); + _displayDensityFactor = displayMetrics.densityDpi / 160.0f; + _referenceTileSize = (int)(256 * _displayDensityFactor); + _rasterTileSize = Integer.highestOneBit(_referenceTileSize - 1) * 2; + Log.i(TAG, "displayDensityFactor = " + _displayDensityFactor); + Log.i(TAG, "referenceTileSize = " + _referenceTileSize); + Log.i(TAG, "rasterTileSize = " + _rasterTileSize); + + Log.i(TAG, "Initializing core..."); + _coreResources = CoreResourcesFromAndroidAssets.loadFromCurrentApplication(this); + OsmAndCore.InitializeCore(_coreResources); + + _fileLogSink = QIODeviceLogSink.createFileLogSink(Environment.getExternalStorageDirectory() + "/osmand/osmandcore.log"); + Logger.get().addLogSink(_fileLogSink); + + Log.i(TAG, "Going to resolve default embedded style..."); + _mapStylesCollection = new MapStylesCollection(); + _mapStyle = _mapStylesCollection.getBakedStyle("default"); + if (_mapStyle == null) + { + Log.e(TAG, "Failed to resolve style 'default'"); + System.exit(0); + } + + Log.i(TAG, "Going to prepare OBFs collection"); + _obfsCollection = new ObfsCollection(); + Log.i(TAG, "Will load OBFs from " + Environment.getExternalStorageDirectory() + "/osmand"); + _obfsCollection.addDirectory(Environment.getExternalStorageDirectory() + "/osmand", false); + + Log.i(TAG, "Going to prepare all resources for renderer"); + _mapPresentationEnvironment = new MapPresentationEnvironment( + _mapStyle, + _displayDensityFactor, + "en"); //TODO: here should be current locale + //mapPresentationEnvironment->setSettings(configuration.styleSettings); + _primitiviser = new Primitiviser( + _mapPresentationEnvironment); + _binaryMapDataProvider = new BinaryMapDataProvider( + _obfsCollection); + _binaryMapPrimitivesProvider = new BinaryMapPrimitivesProvider( + _binaryMapDataProvider, + _primitiviser, + _rasterTileSize); + _binaryMapStaticSymbolsProvider = new BinaryMapStaticSymbolsProvider( + _binaryMapPrimitivesProvider, + _rasterTileSize); + _binaryMapRasterBitmapTileProvider = new BinaryMapRasterBitmapTileProvider_Software( + _binaryMapPrimitivesProvider); + + Log.i(TAG, "Going to create renderer"); + _mapRenderer = OsmAndCore.createMapRenderer(MapRendererClass.AtlasMapRenderer_OpenGLES2); + if (_mapRenderer == null) + { + Log.e(TAG, "Failed to create map renderer 'AtlasMapRenderer_OpenGLES2'"); + System.exit(0); + } + + AtlasMapRendererConfiguration atlasRendererConfiguration = AtlasMapRendererConfiguration.Casts.upcastFrom(_mapRenderer.getConfiguration()); + atlasRendererConfiguration.setReferenceTileSizeOnScreenInPixels(_referenceTileSize); + _mapRenderer.setConfiguration(AtlasMapRendererConfiguration.Casts.downcastTo_MapRendererConfiguration(atlasRendererConfiguration)); + + _mapRenderer.addSymbolProvider(_binaryMapStaticSymbolsProvider); + updateView(); + /* + IMapRasterBitmapTileProvider mapnik = OnlineTileSources.getBuiltIn().createProviderFor("Mapnik (OsmAnd)"); + if (mapnik == null) + Log.e(TAG, "Failed to create mapnik"); + */ + _mapRenderer.setRasterLayerProvider(RasterMapLayerId.BaseLayer, _binaryMapRasterBitmapTileProvider); + + _glSurfaceView = (GLSurfaceView) findViewById(R.id.glSurfaceView); + //TODO:_glSurfaceView.setPreserveEGLContextOnPause(true); + _glSurfaceView.setEGLContextClientVersion(2); + _glSurfaceView.setEGLContextFactory(new EGLContextFactory()); + _glSurfaceView.setRenderer(new Renderer()); + _glSurfaceView.setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY); + } + + protected void updateView() { + _mapRenderer.setAzimuth(0.0f); + _mapRenderer.setElevationAngle(90); + _mapRenderer.setTarget(new PointI(currentViewport.getCenter31X(), currentViewport.getCenter31Y())); + _mapRenderer.setZoom(currentViewport.getZoom() + currentViewport.getZoomScale()); + } + + private GLSurfaceView _glSurfaceView; + + @Override + public boolean onTouchEvent(MotionEvent event) { + if (twoFingerTapDetector.onTouchEvent(event)) { + return true; + } + return gestureDetector.onTouchEvent(event); + } + @Override + protected void onPause() { + super.onPause(); + _glSurfaceView.onPause(); + } + + @Override + protected void onResume() { + super.onResume(); + _glSurfaceView.onResume(); + } + + @Override + protected void onDestroy() { + if (_mapStylesCollection != null) { + _mapStylesCollection.delete(); + _mapStylesCollection = null; + } + + if (_mapStyle != null) { + _mapStyle.delete(); + _mapStyle = null; + } + + if (_obfsCollection != null) { + _obfsCollection.delete(); + _obfsCollection = null; + } + + if (_mapPresentationEnvironment != null) { + _mapPresentationEnvironment.delete(); + _mapPresentationEnvironment = null; + } + + if (_primitiviser != null) { + _primitiviser.delete(); + _primitiviser = null; + } + + if (_binaryMapDataProvider != null) { + _binaryMapDataProvider.delete(); + _binaryMapDataProvider = null; + } + + if (_binaryMapPrimitivesProvider != null) { + _binaryMapPrimitivesProvider.delete(); + _binaryMapPrimitivesProvider = null; + } + + if (_binaryMapStaticSymbolsProvider != null) { + _binaryMapStaticSymbolsProvider.delete(); + _binaryMapStaticSymbolsProvider = null; + } + + if (_binaryMapRasterBitmapTileProvider != null) { + _binaryMapRasterBitmapTileProvider.delete(); + _binaryMapRasterBitmapTileProvider = null; + } + + if (_mapRenderer != null) { + _mapRenderer.delete(); + _mapRenderer = null; + } + + OsmAndCore.ReleaseCore(); + + super.onDestroy(); + } + + private class RenderRequestCallback extends MapRendererSetupOptions.IFrameUpdateRequestCallback { + @Override + public void method(IMapRenderer mapRenderer) { + _glSurfaceView.requestRender(); + } + } + + private class GpuWorkerThreadPrologue extends MapRendererSetupOptions.IGpuWorkerThreadPrologue { + public GpuWorkerThreadPrologue(EGL10 egl, EGLDisplay eglDisplay, EGLContext context, EGLSurface surface) { + _egl = egl; + _eglDisplay = eglDisplay; + _context = context; + _eglSurface = surface; + } + + private final EGL10 _egl; + private final EGLDisplay _eglDisplay; + private final EGLContext _context; + private final EGLSurface _eglSurface; + + @Override + public void method(IMapRenderer mapRenderer) { + try { + if (!_egl.eglMakeCurrent(_eglDisplay, _eglSurface, _eglSurface, _context)) + Log.e(TAG, "Failed to set GPU worker context active: " + _egl.eglGetError()); + } catch (Exception e) { + Log.e(TAG, "Failed to set GPU worker context active", e); + } + } + } + + private class GpuWorkerThreadEpilogue extends MapRendererSetupOptions.IGpuWorkerThreadEpilogue { + public GpuWorkerThreadEpilogue(EGL10 egl) { + _egl = egl; + } + + private final EGL10 _egl; + + @Override + public void method(IMapRenderer mapRenderer) { + try { + if (!_egl.eglWaitGL()) + Log.e(TAG, "Failed to wait for GPU worker context: " + _egl.eglGetError()); + } catch (Exception e) { + Log.e(TAG, "Failed to wait for GPU worker context", e); + } + } + } + + private class EGLContextFactory implements GLSurfaceView.EGLContextFactory { + private EGLContext _gpuWorkerContext; + private EGLSurface _gpuWorkerFakeSurface; + + public EGLContext createContext(EGL10 egl, EGLDisplay display, EGLConfig eglConfig) { + final String eglExtensions = egl.eglQueryString(display, EGL10.EGL_EXTENSIONS); + Log.i(TAG, "EGL extensions: " + eglExtensions); + final String eglVersion = egl.eglQueryString(display, EGL10.EGL_VERSION); + Log.i(TAG, "EGL version: " + eglVersion); + + Log.i(TAG, "Creating main context..."); + final int[] contextAttribList = { + EGL14.EGL_CONTEXT_CLIENT_VERSION, 2, + EGL10.EGL_NONE }; + + EGLContext mainContext = null; + try { + mainContext = egl.eglCreateContext(display, eglConfig, EGL10.EGL_NO_CONTEXT, contextAttribList); + } catch (Exception e) { + Log.e(TAG, "Failed to create main context", e); + } + if (mainContext == null || mainContext == EGL10.EGL_NO_CONTEXT) { + Log.e(TAG, "Failed to create main context: " + egl.eglGetError()); + mainContext = null; + System.exit(0); + } + + Log.i(TAG, "Creating GPU worker context..."); + try { + _gpuWorkerContext = egl.eglCreateContext( + display, + eglConfig, + mainContext, + contextAttribList); + } catch (Exception e) { + Log.e(TAG, "Failed to create GPU worker context", e); + } + if (_gpuWorkerContext == null || _gpuWorkerContext == EGL10.EGL_NO_CONTEXT) + { + Log.e(TAG, "Failed to create GPU worker context: " + egl.eglGetError()); + _gpuWorkerContext = null; + } + + if (_gpuWorkerContext != null) + { + Log.i(TAG, "Creating GPU worker fake surface..."); + try { + final int[] surfaceAttribList = { + EGL10.EGL_WIDTH, 1, + EGL10.EGL_HEIGHT, 1, + EGL10.EGL_NONE }; + _gpuWorkerFakeSurface = egl.eglCreatePbufferSurface(display, eglConfig, surfaceAttribList); + } catch (Exception e) { + Log.e(TAG, "Failed to create GPU worker fake surface", e); + } + if (_gpuWorkerFakeSurface == null || _gpuWorkerFakeSurface == EGL10.EGL_NO_SURFACE) + { + Log.e(TAG, "Failed to create GPU worker fake surface: " + egl.eglGetError()); + _gpuWorkerFakeSurface = null; + } + } + + MapRendererSetupOptions rendererSetupOptions = new MapRendererSetupOptions(); + if (_gpuWorkerContext != null && _gpuWorkerFakeSurface != null) { + rendererSetupOptions.setGpuWorkerThreadEnabled(true); + _gpuWorkerThreadPrologue = new GpuWorkerThreadPrologue(egl, display, _gpuWorkerContext, _gpuWorkerFakeSurface); + rendererSetupOptions.setGpuWorkerThreadPrologue(_gpuWorkerThreadPrologue.getBinding()); + _gpuWorkerThreadEpilogue = new GpuWorkerThreadEpilogue(egl); + rendererSetupOptions.setGpuWorkerThreadEpilogue(_gpuWorkerThreadEpilogue.getBinding()); + } else { + rendererSetupOptions.setGpuWorkerThreadEnabled(false); + } + _renderRequestCallback = new RenderRequestCallback(); + rendererSetupOptions.setFrameUpdateRequestCallback(_renderRequestCallback.getBinding()); + _mapRenderer.setup(rendererSetupOptions); + + return mainContext; + } + + public void destroyContext(EGL10 egl, EGLDisplay display, EGLContext context) { + egl.eglDestroyContext(display, context); + + if (_gpuWorkerContext != null) { + egl.eglDestroyContext(display, _gpuWorkerContext); + _gpuWorkerContext = null; + } + + if (_gpuWorkerFakeSurface != null) { + egl.eglDestroySurface(display, _gpuWorkerFakeSurface); + _gpuWorkerFakeSurface = null; + } + } + } + + private class Renderer implements GLSurfaceView.Renderer { + public void onSurfaceCreated(GL10 gl, EGLConfig config) { + Log.i(TAG, "onSurfaceCreated"); + if (_mapRenderer.isRenderingInitialized()) + _mapRenderer.releaseRendering(); + } + + public void onSurfaceChanged(GL10 gl, int width, int height) { + Log.i(TAG, "onSurfaceChanged"); + _mapRenderer.setViewport(new AreaI(0, 0, height, width)); + _mapRenderer.setWindowSize(new PointI(width, height)); + + if (!_mapRenderer.isRenderingInitialized()) + { + if (!_mapRenderer.initializeRendering()) + Log.e(TAG, "Failed to initialize rendering"); + } + } + + public void onDrawFrame(GL10 gl) { + _mapRenderer.update(); + + if (_mapRenderer.prepareFrame()) + _mapRenderer.renderFrame(); + } + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + return super.onOptionsItemSelected(item); + } +} \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/core/jni/AlphaChannelData.java b/OsmAnd/src/net/osmand/core/jni/AlphaChannelData.java new file mode 100644 index 0000000000..e8a11e9fac --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/AlphaChannelData.java @@ -0,0 +1,53 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public enum AlphaChannelData { + Present, + NotPresent, + Undefined; + + public final int swigValue() { + return swigValue; + } + + public static AlphaChannelData swigToEnum(int swigValue) { + AlphaChannelData[] swigValues = AlphaChannelData.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (AlphaChannelData swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + AlphaChannelData.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private AlphaChannelData() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private AlphaChannelData(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private AlphaChannelData(AlphaChannelData swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/AreaD.java b/OsmAnd/src/net/osmand/core/jni/AreaD.java new file mode 100644 index 0000000000..45f2daba7d --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/AreaD.java @@ -0,0 +1,148 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class AreaD { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected AreaD(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(AreaD obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_AreaD(swigCPtr); + } + swigCPtr = 0; + } + } + + public AreaD() { + this(OsmAndCoreJNI.new_AreaD__SWIG_0(), true); + } + + public AreaD(double t, double l, double b, double r) { + this(OsmAndCoreJNI.new_AreaD__SWIG_1(t, l, b, r), true); + } + + public AreaD(PointD tl, PointD br) { + this(OsmAndCoreJNI.new_AreaD__SWIG_2(PointD.getCPtr(tl), tl, PointD.getCPtr(br), br), true); + } + + public AreaD(AreaD that) { + this(OsmAndCoreJNI.new_AreaD__SWIG_3(AreaD.getCPtr(that), that), true); + } + + public void setTopLeft(PointD value) { + OsmAndCoreJNI.AreaD_topLeft_set(swigCPtr, this, PointD.getCPtr(value), value); + } + + public PointD getTopLeft() { + long cPtr = OsmAndCoreJNI.AreaD_topLeft_get(swigCPtr, this); + return (cPtr == 0) ? null : new PointD(cPtr, false); + } + + public void setBottomRight(PointD value) { + OsmAndCoreJNI.AreaD_bottomRight_set(swigCPtr, this, PointD.getCPtr(value), value); + } + + public PointD getBottomRight() { + long cPtr = OsmAndCoreJNI.AreaD_bottomRight_get(swigCPtr, this); + return (cPtr == 0) ? null : new PointD(cPtr, false); + } + + public boolean contains(double x, double y) { + return OsmAndCoreJNI.AreaD_contains__SWIG_0(swigCPtr, this, x, y); + } + + public boolean contains(PointD p) { + return OsmAndCoreJNI.AreaD_contains__SWIG_1(swigCPtr, this, PointD.getCPtr(p), p); + } + + public boolean contains(double t, double l, double b, double r) { + return OsmAndCoreJNI.AreaD_contains__SWIG_2(swigCPtr, this, t, l, b, r); + } + + public boolean contains(AreaD that) { + return OsmAndCoreJNI.AreaD_contains__SWIG_3(swigCPtr, this, AreaD.getCPtr(that), that); + } + + public boolean intersects(double t, double l, double b, double r) { + return OsmAndCoreJNI.AreaD_intersects__SWIG_0(swigCPtr, this, t, l, b, r); + } + + public boolean intersects(AreaD that) { + return OsmAndCoreJNI.AreaD_intersects__SWIG_1(swigCPtr, this, AreaD.getCPtr(that), that); + } + + public boolean contains(OOBBD that) { + return OsmAndCoreJNI.AreaD_contains__SWIG_4(swigCPtr, this, OOBBD.getCPtr(that), that); + } + + public boolean intersects(OOBBD that) { + return OsmAndCoreJNI.AreaD_intersects__SWIG_2(swigCPtr, this, OOBBD.getCPtr(that), that); + } + + public double width() { + return OsmAndCoreJNI.AreaD_width(swigCPtr, this); + } + + public double height() { + return OsmAndCoreJNI.AreaD_height(swigCPtr, this); + } + + public PointD center() { + return new PointD(OsmAndCoreJNI.AreaD_center(swigCPtr, this), true); + } + + public PointD topRight() { + return new PointD(OsmAndCoreJNI.AreaD_topRight(swigCPtr, this), true); + } + + public PointD bottomLeft() { + return new PointD(OsmAndCoreJNI.AreaD_bottomLeft(swigCPtr, this), true); + } + + public AreaD getQuadrant(Quadrant quadrant) { + return new AreaD(OsmAndCoreJNI.AreaD_getQuadrant(swigCPtr, this, quadrant.swigValue()), true); + } + + public AreaD getEnlargedToInclude(PointD p) { + return new AreaD(OsmAndCoreJNI.AreaD_getEnlargedToInclude(swigCPtr, this, PointD.getCPtr(p), p), true); + } + + public AreaD getEnlargedBy(PointD delta) { + return new AreaD(OsmAndCoreJNI.AreaD_getEnlargedBy__SWIG_0(swigCPtr, this, PointD.getCPtr(delta), delta), true); + } + + public AreaD getEnlargedBy(double dt, double dl, double db, double dr) { + return new AreaD(OsmAndCoreJNI.AreaD_getEnlargedBy__SWIG_1(swigCPtr, this, dt, dl, db, dr), true); + } + + public static AreaD largest() { + return new AreaD(OsmAndCoreJNI.AreaD_largest(), true); + } + + public static AreaD fromCenterAndSize(double cx, double cy, double width, double height) { + return new AreaD(OsmAndCoreJNI.AreaD_fromCenterAndSize(cx, cy, width, height), true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/AreaF.java b/OsmAnd/src/net/osmand/core/jni/AreaF.java new file mode 100644 index 0000000000..569a5fe9a2 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/AreaF.java @@ -0,0 +1,148 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class AreaF { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected AreaF(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(AreaF obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_AreaF(swigCPtr); + } + swigCPtr = 0; + } + } + + public AreaF() { + this(OsmAndCoreJNI.new_AreaF__SWIG_0(), true); + } + + public AreaF(float t, float l, float b, float r) { + this(OsmAndCoreJNI.new_AreaF__SWIG_1(t, l, b, r), true); + } + + public AreaF(PointF tl, PointF br) { + this(OsmAndCoreJNI.new_AreaF__SWIG_2(PointF.getCPtr(tl), tl, PointF.getCPtr(br), br), true); + } + + public AreaF(AreaF that) { + this(OsmAndCoreJNI.new_AreaF__SWIG_3(AreaF.getCPtr(that), that), true); + } + + public void setTopLeft(PointF value) { + OsmAndCoreJNI.AreaF_topLeft_set(swigCPtr, this, PointF.getCPtr(value), value); + } + + public PointF getTopLeft() { + long cPtr = OsmAndCoreJNI.AreaF_topLeft_get(swigCPtr, this); + return (cPtr == 0) ? null : new PointF(cPtr, false); + } + + public void setBottomRight(PointF value) { + OsmAndCoreJNI.AreaF_bottomRight_set(swigCPtr, this, PointF.getCPtr(value), value); + } + + public PointF getBottomRight() { + long cPtr = OsmAndCoreJNI.AreaF_bottomRight_get(swigCPtr, this); + return (cPtr == 0) ? null : new PointF(cPtr, false); + } + + public boolean contains(float x, float y) { + return OsmAndCoreJNI.AreaF_contains__SWIG_0(swigCPtr, this, x, y); + } + + public boolean contains(PointF p) { + return OsmAndCoreJNI.AreaF_contains__SWIG_1(swigCPtr, this, PointF.getCPtr(p), p); + } + + public boolean contains(float t, float l, float b, float r) { + return OsmAndCoreJNI.AreaF_contains__SWIG_2(swigCPtr, this, t, l, b, r); + } + + public boolean contains(AreaF that) { + return OsmAndCoreJNI.AreaF_contains__SWIG_3(swigCPtr, this, AreaF.getCPtr(that), that); + } + + public boolean intersects(float t, float l, float b, float r) { + return OsmAndCoreJNI.AreaF_intersects__SWIG_0(swigCPtr, this, t, l, b, r); + } + + public boolean intersects(AreaF that) { + return OsmAndCoreJNI.AreaF_intersects__SWIG_1(swigCPtr, this, AreaF.getCPtr(that), that); + } + + public boolean contains(OOBBF that) { + return OsmAndCoreJNI.AreaF_contains__SWIG_4(swigCPtr, this, OOBBF.getCPtr(that), that); + } + + public boolean intersects(OOBBF that) { + return OsmAndCoreJNI.AreaF_intersects__SWIG_2(swigCPtr, this, OOBBF.getCPtr(that), that); + } + + public float width() { + return OsmAndCoreJNI.AreaF_width(swigCPtr, this); + } + + public float height() { + return OsmAndCoreJNI.AreaF_height(swigCPtr, this); + } + + public PointF center() { + return new PointF(OsmAndCoreJNI.AreaF_center(swigCPtr, this), true); + } + + public PointF topRight() { + return new PointF(OsmAndCoreJNI.AreaF_topRight(swigCPtr, this), true); + } + + public PointF bottomLeft() { + return new PointF(OsmAndCoreJNI.AreaF_bottomLeft(swigCPtr, this), true); + } + + public AreaF getQuadrant(Quadrant quadrant) { + return new AreaF(OsmAndCoreJNI.AreaF_getQuadrant(swigCPtr, this, quadrant.swigValue()), true); + } + + public AreaF getEnlargedToInclude(PointF p) { + return new AreaF(OsmAndCoreJNI.AreaF_getEnlargedToInclude(swigCPtr, this, PointF.getCPtr(p), p), true); + } + + public AreaF getEnlargedBy(PointF delta) { + return new AreaF(OsmAndCoreJNI.AreaF_getEnlargedBy__SWIG_0(swigCPtr, this, PointF.getCPtr(delta), delta), true); + } + + public AreaF getEnlargedBy(float dt, float dl, float db, float dr) { + return new AreaF(OsmAndCoreJNI.AreaF_getEnlargedBy__SWIG_1(swigCPtr, this, dt, dl, db, dr), true); + } + + public static AreaF largest() { + return new AreaF(OsmAndCoreJNI.AreaF_largest(), true); + } + + public static AreaF fromCenterAndSize(float cx, float cy, float width, float height) { + return new AreaF(OsmAndCoreJNI.AreaF_fromCenterAndSize(cx, cy, width, height), true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/AreaI.java b/OsmAnd/src/net/osmand/core/jni/AreaI.java new file mode 100644 index 0000000000..2c8d468f01 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/AreaI.java @@ -0,0 +1,148 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class AreaI { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected AreaI(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(AreaI obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_AreaI(swigCPtr); + } + swigCPtr = 0; + } + } + + public AreaI() { + this(OsmAndCoreJNI.new_AreaI__SWIG_0(), true); + } + + public AreaI(int t, int l, int b, int r) { + this(OsmAndCoreJNI.new_AreaI__SWIG_1(t, l, b, r), true); + } + + public AreaI(PointI tl, PointI br) { + this(OsmAndCoreJNI.new_AreaI__SWIG_2(PointI.getCPtr(tl), tl, PointI.getCPtr(br), br), true); + } + + public AreaI(AreaI that) { + this(OsmAndCoreJNI.new_AreaI__SWIG_3(AreaI.getCPtr(that), that), true); + } + + public void setTopLeft(PointI value) { + OsmAndCoreJNI.AreaI_topLeft_set(swigCPtr, this, PointI.getCPtr(value), value); + } + + public PointI getTopLeft() { + long cPtr = OsmAndCoreJNI.AreaI_topLeft_get(swigCPtr, this); + return (cPtr == 0) ? null : new PointI(cPtr, false); + } + + public void setBottomRight(PointI value) { + OsmAndCoreJNI.AreaI_bottomRight_set(swigCPtr, this, PointI.getCPtr(value), value); + } + + public PointI getBottomRight() { + long cPtr = OsmAndCoreJNI.AreaI_bottomRight_get(swigCPtr, this); + return (cPtr == 0) ? null : new PointI(cPtr, false); + } + + public boolean contains(int x, int y) { + return OsmAndCoreJNI.AreaI_contains__SWIG_0(swigCPtr, this, x, y); + } + + public boolean contains(PointI p) { + return OsmAndCoreJNI.AreaI_contains__SWIG_1(swigCPtr, this, PointI.getCPtr(p), p); + } + + public boolean contains(int t, int l, int b, int r) { + return OsmAndCoreJNI.AreaI_contains__SWIG_2(swigCPtr, this, t, l, b, r); + } + + public boolean contains(AreaI that) { + return OsmAndCoreJNI.AreaI_contains__SWIG_3(swigCPtr, this, AreaI.getCPtr(that), that); + } + + public boolean intersects(int t, int l, int b, int r) { + return OsmAndCoreJNI.AreaI_intersects__SWIG_0(swigCPtr, this, t, l, b, r); + } + + public boolean intersects(AreaI that) { + return OsmAndCoreJNI.AreaI_intersects__SWIG_1(swigCPtr, this, AreaI.getCPtr(that), that); + } + + public boolean contains(OOBBI that) { + return OsmAndCoreJNI.AreaI_contains__SWIG_4(swigCPtr, this, OOBBI.getCPtr(that), that); + } + + public boolean intersects(OOBBI that) { + return OsmAndCoreJNI.AreaI_intersects__SWIG_2(swigCPtr, this, OOBBI.getCPtr(that), that); + } + + public int width() { + return OsmAndCoreJNI.AreaI_width(swigCPtr, this); + } + + public int height() { + return OsmAndCoreJNI.AreaI_height(swigCPtr, this); + } + + public PointI center() { + return new PointI(OsmAndCoreJNI.AreaI_center(swigCPtr, this), true); + } + + public PointI topRight() { + return new PointI(OsmAndCoreJNI.AreaI_topRight(swigCPtr, this), true); + } + + public PointI bottomLeft() { + return new PointI(OsmAndCoreJNI.AreaI_bottomLeft(swigCPtr, this), true); + } + + public AreaI getQuadrant(Quadrant quadrant) { + return new AreaI(OsmAndCoreJNI.AreaI_getQuadrant(swigCPtr, this, quadrant.swigValue()), true); + } + + public AreaI getEnlargedToInclude(PointI p) { + return new AreaI(OsmAndCoreJNI.AreaI_getEnlargedToInclude(swigCPtr, this, PointI.getCPtr(p), p), true); + } + + public AreaI getEnlargedBy(PointI delta) { + return new AreaI(OsmAndCoreJNI.AreaI_getEnlargedBy__SWIG_0(swigCPtr, this, PointI.getCPtr(delta), delta), true); + } + + public AreaI getEnlargedBy(int dt, int dl, int db, int dr) { + return new AreaI(OsmAndCoreJNI.AreaI_getEnlargedBy__SWIG_1(swigCPtr, this, dt, dl, db, dr), true); + } + + public static AreaI largest() { + return new AreaI(OsmAndCoreJNI.AreaI_largest(), true); + } + + public static AreaI fromCenterAndSize(int cx, int cy, int width, int height) { + return new AreaI(OsmAndCoreJNI.AreaI_fromCenterAndSize(cx, cy, width, height), true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/AtlasMapRendererConfiguration.java b/OsmAnd/src/net/osmand/core/jni/AtlasMapRendererConfiguration.java new file mode 100644 index 0000000000..5c4e1ecd1f --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/AtlasMapRendererConfiguration.java @@ -0,0 +1,104 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class AtlasMapRendererConfiguration extends MapRendererConfiguration { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected AtlasMapRendererConfiguration(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.AtlasMapRendererConfiguration_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(AtlasMapRendererConfiguration obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_AtlasMapRendererConfiguration(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public AtlasMapRendererConfiguration() { + this(OsmAndCoreJNI.new_AtlasMapRendererConfiguration(), true); + } + + public void setReferenceTileSizeOnScreenInPixels(long value) { + OsmAndCoreJNI.AtlasMapRendererConfiguration_referenceTileSizeOnScreenInPixels_set(swigCPtr, this, value); + } + + public long getReferenceTileSizeOnScreenInPixels() { + return OsmAndCoreJNI.AtlasMapRendererConfiguration_referenceTileSizeOnScreenInPixels_get(swigCPtr, this); + } + + public void copyTo(MapRendererConfiguration other) { + OsmAndCoreJNI.AtlasMapRendererConfiguration_copyTo(swigCPtr, this, MapRendererConfiguration.getCPtr(other), other); + } + + public MapRendererConfiguration createCopy() { + long cPtr = OsmAndCoreJNI.AtlasMapRendererConfiguration_createCopy(swigCPtr, this); + return (cPtr == 0) ? null : new MapRendererConfiguration(cPtr, true); + } + + static public class Casts { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected Casts(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(Casts obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_AtlasMapRendererConfiguration_Casts(swigCPtr); + } + swigCPtr = 0; + } + } + + public static AtlasMapRendererConfiguration upcastFrom(MapRendererConfiguration input) { + long cPtr = OsmAndCoreJNI.AtlasMapRendererConfiguration_Casts_upcastFrom(MapRendererConfiguration.getCPtr(input), input); + return (cPtr == 0) ? null : new AtlasMapRendererConfiguration(cPtr, true); + } + + public static MapRendererConfiguration downcastTo_MapRendererConfiguration(AtlasMapRendererConfiguration input) { + long cPtr = OsmAndCoreJNI.AtlasMapRendererConfiguration_Casts_downcastTo_MapRendererConfiguration(AtlasMapRendererConfiguration.getCPtr(input), input); + return (cPtr == 0) ? null : new MapRendererConfiguration(cPtr, true); + } + + public Casts() { + this(OsmAndCoreJNI.new_AtlasMapRendererConfiguration_Casts(), true); + } + + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/BinaryMapDataProvider.java b/OsmAnd/src/net/osmand/core/jni/BinaryMapDataProvider.java new file mode 100644 index 0000000000..285407dabf --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/BinaryMapDataProvider.java @@ -0,0 +1,69 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class BinaryMapDataProvider extends IMapTiledDataProvider { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected BinaryMapDataProvider(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.BinaryMapDataProvider_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(BinaryMapDataProvider obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_BinaryMapDataProvider(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public BinaryMapDataProvider(IObfsCollection obfsCollection) { + this(OsmAndCoreJNI.new_BinaryMapDataProvider(IObfsCollection.getCPtr(obfsCollection), obfsCollection), true); + } + + public IObfsCollection getObfsCollection() { + long cPtr = OsmAndCoreJNI.BinaryMapDataProvider_obfsCollection_get(swigCPtr, this); + return (cPtr == 0) ? null : new IObfsCollection(cPtr, true); + } + + public ZoomLevel getMinZoom() { + return ZoomLevel.swigToEnum(OsmAndCoreJNI.BinaryMapDataProvider_getMinZoom(swigCPtr, this)); + } + + public ZoomLevel getMaxZoom() { + return ZoomLevel.swigToEnum(OsmAndCoreJNI.BinaryMapDataProvider_getMaxZoom(swigCPtr, this)); + } + + public boolean obtainData(TileId tileId, ZoomLevel zoom, MapTiledData outTiledData, SWIGTYPE_p_OsmAnd__IQueryController queryController) { + return OsmAndCoreJNI.BinaryMapDataProvider_obtainData__SWIG_0(swigCPtr, this, TileId.getCPtr(tileId), tileId, zoom.swigValue(), MapTiledData.getCPtr(outTiledData), outTiledData, SWIGTYPE_p_OsmAnd__IQueryController.getCPtr(queryController)); + } + + public boolean obtainData(TileId tileId, ZoomLevel zoom, MapTiledData outTiledData) { + return OsmAndCoreJNI.BinaryMapDataProvider_obtainData__SWIG_1(swigCPtr, this, TileId.getCPtr(tileId), tileId, zoom.swigValue(), MapTiledData.getCPtr(outTiledData), outTiledData); + } + + public boolean obtainData(TileId tileId, ZoomLevel zoom, MapTiledData outTiledData, SWIGTYPE_p_BinaryMapDataProvider_Metrics__Metric_obtainData metric, SWIGTYPE_p_OsmAnd__IQueryController queryController) { + return OsmAndCoreJNI.BinaryMapDataProvider_obtainData__SWIG_2(swigCPtr, this, TileId.getCPtr(tileId), tileId, zoom.swigValue(), MapTiledData.getCPtr(outTiledData), outTiledData, SWIGTYPE_p_BinaryMapDataProvider_Metrics__Metric_obtainData.getCPtr(metric), SWIGTYPE_p_OsmAnd__IQueryController.getCPtr(queryController)); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/BinaryMapDataTile.java b/OsmAnd/src/net/osmand/core/jni/BinaryMapDataTile.java new file mode 100644 index 0000000000..4210153a41 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/BinaryMapDataTile.java @@ -0,0 +1,60 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class BinaryMapDataTile extends MapTiledData { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected BinaryMapDataTile(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.BinaryMapDataTile_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(BinaryMapDataTile obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_BinaryMapDataTile(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public SWIGTYPE_p_std__weak_ptrT_ObfMapSectionReader__DataBlocksCache_t getDataBlocksCache() { + return new SWIGTYPE_p_std__weak_ptrT_ObfMapSectionReader__DataBlocksCache_t(OsmAndCoreJNI.BinaryMapDataTile_dataBlocksCache_get(swigCPtr, this), true); + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t getReferencedDataBlocks() { + return new SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t(OsmAndCoreJNI.BinaryMapDataTile_referencedDataBlocks_get(swigCPtr, this), false); + } + + public MapFoundationType getTileFoundation() { + return MapFoundationType.swigToEnum(OsmAndCoreJNI.BinaryMapDataTile_tileFoundation_get(swigCPtr, this)); + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t getMapObjects() { + return new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t(OsmAndCoreJNI.BinaryMapDataTile_mapObjects_get(swigCPtr, this), false); + } + + public void releaseConsumableContent() { + OsmAndCoreJNI.BinaryMapDataTile_releaseConsumableContent(swigCPtr, this); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/BinaryMapPrimitivesProvider.java b/OsmAnd/src/net/osmand/core/jni/BinaryMapPrimitivesProvider.java new file mode 100644 index 0000000000..f1cbf11fe7 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/BinaryMapPrimitivesProvider.java @@ -0,0 +1,82 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class BinaryMapPrimitivesProvider extends IMapTiledDataProvider { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected BinaryMapPrimitivesProvider(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.BinaryMapPrimitivesProvider_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(BinaryMapPrimitivesProvider obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_BinaryMapPrimitivesProvider(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public BinaryMapPrimitivesProvider(BinaryMapDataProvider dataProvider, Primitiviser primitiviser, long tileSize) { + this(OsmAndCoreJNI.new_BinaryMapPrimitivesProvider__SWIG_0(BinaryMapDataProvider.getCPtr(dataProvider), dataProvider, Primitiviser.getCPtr(primitiviser), primitiviser, tileSize), true); + } + + public BinaryMapPrimitivesProvider(BinaryMapDataProvider dataProvider, Primitiviser primitiviser) { + this(OsmAndCoreJNI.new_BinaryMapPrimitivesProvider__SWIG_1(BinaryMapDataProvider.getCPtr(dataProvider), dataProvider, Primitiviser.getCPtr(primitiviser), primitiviser), true); + } + + public BinaryMapDataProvider getDataProvider() { + long cPtr = OsmAndCoreJNI.BinaryMapPrimitivesProvider_dataProvider_get(swigCPtr, this); + return (cPtr == 0) ? null : new BinaryMapDataProvider(cPtr, true); + } + + public Primitiviser getPrimitiviser() { + long cPtr = OsmAndCoreJNI.BinaryMapPrimitivesProvider_primitiviser_get(swigCPtr, this); + return (cPtr == 0) ? null : new Primitiviser(cPtr, true); + } + + public long getTileSize() { + return OsmAndCoreJNI.BinaryMapPrimitivesProvider_tileSize_get(swigCPtr, this); + } + + public ZoomLevel getMinZoom() { + return ZoomLevel.swigToEnum(OsmAndCoreJNI.BinaryMapPrimitivesProvider_getMinZoom(swigCPtr, this)); + } + + public ZoomLevel getMaxZoom() { + return ZoomLevel.swigToEnum(OsmAndCoreJNI.BinaryMapPrimitivesProvider_getMaxZoom(swigCPtr, this)); + } + + public boolean obtainData(TileId tileId, ZoomLevel zoom, MapTiledData outTiledData, SWIGTYPE_p_OsmAnd__IQueryController queryController) { + return OsmAndCoreJNI.BinaryMapPrimitivesProvider_obtainData__SWIG_0(swigCPtr, this, TileId.getCPtr(tileId), tileId, zoom.swigValue(), MapTiledData.getCPtr(outTiledData), outTiledData, SWIGTYPE_p_OsmAnd__IQueryController.getCPtr(queryController)); + } + + public boolean obtainData(TileId tileId, ZoomLevel zoom, MapTiledData outTiledData) { + return OsmAndCoreJNI.BinaryMapPrimitivesProvider_obtainData__SWIG_1(swigCPtr, this, TileId.getCPtr(tileId), tileId, zoom.swigValue(), MapTiledData.getCPtr(outTiledData), outTiledData); + } + + public boolean obtainData(TileId tileId, ZoomLevel zoom, MapTiledData outTiledData, SWIGTYPE_p_BinaryMapPrimitivesProvider_Metrics__Metric_obtainData metric, SWIGTYPE_p_OsmAnd__IQueryController queryController) { + return OsmAndCoreJNI.BinaryMapPrimitivesProvider_obtainData__SWIG_2(swigCPtr, this, TileId.getCPtr(tileId), tileId, zoom.swigValue(), MapTiledData.getCPtr(outTiledData), outTiledData, SWIGTYPE_p_BinaryMapPrimitivesProvider_Metrics__Metric_obtainData.getCPtr(metric), SWIGTYPE_p_OsmAnd__IQueryController.getCPtr(queryController)); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/BinaryMapPrimitivesTile.java b/OsmAnd/src/net/osmand/core/jni/BinaryMapPrimitivesTile.java new file mode 100644 index 0000000000..d6f84311c4 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/BinaryMapPrimitivesTile.java @@ -0,0 +1,54 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class BinaryMapPrimitivesTile extends MapTiledData { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected BinaryMapPrimitivesTile(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.BinaryMapPrimitivesTile_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(BinaryMapPrimitivesTile obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_BinaryMapPrimitivesTile(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public BinaryMapDataTile getDataTile() { + long cPtr = OsmAndCoreJNI.BinaryMapPrimitivesTile_dataTile_get(swigCPtr, this); + return (cPtr == 0) ? null : new BinaryMapDataTile(cPtr, true); + } + + public Primitiviser.PrimitivisedArea getPrimitivisedArea() { + long cPtr = OsmAndCoreJNI.BinaryMapPrimitivesTile_primitivisedArea_get(swigCPtr, this); + return (cPtr == 0) ? null : new Primitiviser.PrimitivisedArea(cPtr, true); + } + + public void releaseConsumableContent() { + OsmAndCoreJNI.BinaryMapPrimitivesTile_releaseConsumableContent(swigCPtr, this); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/BinaryMapRasterBitmapTileProvider.java b/OsmAnd/src/net/osmand/core/jni/BinaryMapRasterBitmapTileProvider.java new file mode 100644 index 0000000000..e3586f7d0e --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/BinaryMapRasterBitmapTileProvider.java @@ -0,0 +1,73 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class BinaryMapRasterBitmapTileProvider extends IMapRasterBitmapTileProvider { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected BinaryMapRasterBitmapTileProvider(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.BinaryMapRasterBitmapTileProvider_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(BinaryMapRasterBitmapTileProvider obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_BinaryMapRasterBitmapTileProvider(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public BinaryMapPrimitivesProvider getPrimitivesProvider() { + long cPtr = OsmAndCoreJNI.BinaryMapRasterBitmapTileProvider_primitivesProvider_get(swigCPtr, this); + return (cPtr == 0) ? null : new BinaryMapPrimitivesProvider(cPtr, true); + } + + public float getTileDensityFactor() { + return OsmAndCoreJNI.BinaryMapRasterBitmapTileProvider_getTileDensityFactor(swigCPtr, this); + } + + public long getTileSize() { + return OsmAndCoreJNI.BinaryMapRasterBitmapTileProvider_getTileSize(swigCPtr, this); + } + + public boolean obtainData(TileId tileId, ZoomLevel zoom, MapTiledData outTiledData, SWIGTYPE_p_OsmAnd__IQueryController queryController) { + return OsmAndCoreJNI.BinaryMapRasterBitmapTileProvider_obtainData__SWIG_0(swigCPtr, this, TileId.getCPtr(tileId), tileId, zoom.swigValue(), MapTiledData.getCPtr(outTiledData), outTiledData, SWIGTYPE_p_OsmAnd__IQueryController.getCPtr(queryController)); + } + + public boolean obtainData(TileId tileId, ZoomLevel zoom, MapTiledData outTiledData) { + return OsmAndCoreJNI.BinaryMapRasterBitmapTileProvider_obtainData__SWIG_1(swigCPtr, this, TileId.getCPtr(tileId), tileId, zoom.swigValue(), MapTiledData.getCPtr(outTiledData), outTiledData); + } + + public boolean obtainData(TileId tileId, ZoomLevel zoom, MapTiledData outTiledData, SWIGTYPE_p_BinaryMapRasterBitmapTileProvider_Metrics__Metric_obtainData metric, SWIGTYPE_p_OsmAnd__IQueryController queryController) { + return OsmAndCoreJNI.BinaryMapRasterBitmapTileProvider_obtainData__SWIG_2(swigCPtr, this, TileId.getCPtr(tileId), tileId, zoom.swigValue(), MapTiledData.getCPtr(outTiledData), outTiledData, SWIGTYPE_p_BinaryMapRasterBitmapTileProvider_Metrics__Metric_obtainData.getCPtr(metric), SWIGTYPE_p_OsmAnd__IQueryController.getCPtr(queryController)); + } + + public ZoomLevel getMinZoom() { + return ZoomLevel.swigToEnum(OsmAndCoreJNI.BinaryMapRasterBitmapTileProvider_getMinZoom(swigCPtr, this)); + } + + public ZoomLevel getMaxZoom() { + return ZoomLevel.swigToEnum(OsmAndCoreJNI.BinaryMapRasterBitmapTileProvider_getMaxZoom(swigCPtr, this)); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/BinaryMapRasterBitmapTileProvider_Software.java b/OsmAnd/src/net/osmand/core/jni/BinaryMapRasterBitmapTileProvider_Software.java new file mode 100644 index 0000000000..7c176c8953 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/BinaryMapRasterBitmapTileProvider_Software.java @@ -0,0 +1,44 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class BinaryMapRasterBitmapTileProvider_Software extends BinaryMapRasterBitmapTileProvider { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected BinaryMapRasterBitmapTileProvider_Software(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.BinaryMapRasterBitmapTileProvider_Software_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(BinaryMapRasterBitmapTileProvider_Software obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_BinaryMapRasterBitmapTileProvider_Software(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public BinaryMapRasterBitmapTileProvider_Software(BinaryMapPrimitivesProvider primitivesProvider) { + this(OsmAndCoreJNI.new_BinaryMapRasterBitmapTileProvider_Software(BinaryMapPrimitivesProvider.getCPtr(primitivesProvider), primitivesProvider), true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/BinaryMapRasterizedTile.java b/OsmAnd/src/net/osmand/core/jni/BinaryMapRasterizedTile.java new file mode 100644 index 0000000000..3955a13940 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/BinaryMapRasterizedTile.java @@ -0,0 +1,49 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class BinaryMapRasterizedTile extends RasterBitmapTile { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected BinaryMapRasterizedTile(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.BinaryMapRasterizedTile_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(BinaryMapRasterizedTile obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_BinaryMapRasterizedTile(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public BinaryMapRasterizedTile(BinaryMapPrimitivesTile binaryMapTile, SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t bitmap, AlphaChannelData alphaChannelData, float densityFactor, TileId tileId, ZoomLevel zoom) { + this(OsmAndCoreJNI.new_BinaryMapRasterizedTile(BinaryMapPrimitivesTile.getCPtr(binaryMapTile), binaryMapTile, SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t.getCPtr(bitmap), alphaChannelData.swigValue(), densityFactor, TileId.getCPtr(tileId), tileId, zoom.swigValue()), true); + } + + public BinaryMapPrimitivesTile getBinaryMapTile() { + long cPtr = OsmAndCoreJNI.BinaryMapRasterizedTile_binaryMapTile_get(swigCPtr, this); + return (cPtr == 0) ? null : new BinaryMapPrimitivesTile(cPtr, true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/BinaryMapStaticSymbolsProvider.java b/OsmAnd/src/net/osmand/core/jni/BinaryMapStaticSymbolsProvider.java new file mode 100644 index 0000000000..df275dc0ea --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/BinaryMapStaticSymbolsProvider.java @@ -0,0 +1,65 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class BinaryMapStaticSymbolsProvider extends IMapTiledSymbolsProvider { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected BinaryMapStaticSymbolsProvider(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.BinaryMapStaticSymbolsProvider_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(BinaryMapStaticSymbolsProvider obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_BinaryMapStaticSymbolsProvider(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public BinaryMapStaticSymbolsProvider(BinaryMapPrimitivesProvider primitivesProvider, long referenceTileSizeInPixels) { + this(OsmAndCoreJNI.new_BinaryMapStaticSymbolsProvider(BinaryMapPrimitivesProvider.getCPtr(primitivesProvider), primitivesProvider, referenceTileSizeInPixels), true); + } + + public BinaryMapPrimitivesProvider getPrimitivesProvider() { + long cPtr = OsmAndCoreJNI.BinaryMapStaticSymbolsProvider_primitivesProvider_get(swigCPtr, this); + return (cPtr == 0) ? null : new BinaryMapPrimitivesProvider(cPtr, true); + } + + public void setReferenceTileSizeInPixels(long value) { + OsmAndCoreJNI.BinaryMapStaticSymbolsProvider_referenceTileSizeInPixels_set(swigCPtr, this, value); + } + + public long getReferenceTileSizeInPixels() { + return OsmAndCoreJNI.BinaryMapStaticSymbolsProvider_referenceTileSizeInPixels_get(swigCPtr, this); + } + + public ZoomLevel getMinZoom() { + return ZoomLevel.swigToEnum(OsmAndCoreJNI.BinaryMapStaticSymbolsProvider_getMinZoom(swigCPtr, this)); + } + + public ZoomLevel getMaxZoom() { + return ZoomLevel.swigToEnum(OsmAndCoreJNI.BinaryMapStaticSymbolsProvider_getMaxZoom(swigCPtr, this)); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/BinaryMapStaticSymbolsTile.java b/OsmAnd/src/net/osmand/core/jni/BinaryMapStaticSymbolsTile.java new file mode 100644 index 0000000000..e9d6debf03 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/BinaryMapStaticSymbolsTile.java @@ -0,0 +1,45 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class BinaryMapStaticSymbolsTile extends TiledMapSymbolsData { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected BinaryMapStaticSymbolsTile(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.BinaryMapStaticSymbolsTile_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(BinaryMapStaticSymbolsTile obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_BinaryMapStaticSymbolsTile(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public BinaryMapPrimitivesTile getDataTile() { + long cPtr = OsmAndCoreJNI.BinaryMapStaticSymbolsTile_dataTile_get(swigCPtr, this); + return (cPtr == 0) ? null : new BinaryMapPrimitivesTile(cPtr, true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/BoolPtr.java b/OsmAnd/src/net/osmand/core/jni/BoolPtr.java new file mode 100644 index 0000000000..897480b9f8 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/BoolPtr.java @@ -0,0 +1,60 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class BoolPtr { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected BoolPtr(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(BoolPtr obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_BoolPtr(swigCPtr); + } + swigCPtr = 0; + } + } + + public BoolPtr() { + this(OsmAndCoreJNI.new_BoolPtr(), true); + } + + public void assign(boolean value) { + OsmAndCoreJNI.BoolPtr_assign(swigCPtr, this, value); + } + + public boolean value() { + return OsmAndCoreJNI.BoolPtr_value(swigCPtr, this); + } + + public SWIGTYPE_p_bool cast() { + long cPtr = OsmAndCoreJNI.BoolPtr_cast(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_bool(cPtr, false); + } + + public static BoolPtr frompointer(SWIGTYPE_p_bool t) { + long cPtr = OsmAndCoreJNI.BoolPtr_frompointer(SWIGTYPE_p_bool.getCPtr(t)); + return (cPtr == 0) ? null : new BoolPtr(cPtr, false); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/ColorARGB.java b/OsmAnd/src/net/osmand/core/jni/ColorARGB.java new file mode 100644 index 0000000000..b303515d57 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/ColorARGB.java @@ -0,0 +1,90 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class ColorARGB { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected ColorARGB(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(ColorARGB obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_ColorARGB(swigCPtr); + } + swigCPtr = 0; + } + } + + public ColorARGB() { + this(OsmAndCoreJNI.new_ColorARGB__SWIG_0(), true); + } + + public ColorARGB(short a_, short r_, short g_, short b_) { + this(OsmAndCoreJNI.new_ColorARGB__SWIG_1(a_, r_, g_, b_), true); + } + + public ColorARGB(FColorARGB other) { + this(OsmAndCoreJNI.new_ColorARGB__SWIG_2(FColorARGB.getCPtr(other), other), true); + } + + public void setA(short value) { + OsmAndCoreJNI.ColorARGB_a_set(swigCPtr, this, value); + } + + public short getA() { + return OsmAndCoreJNI.ColorARGB_a_get(swigCPtr, this); + } + + public void setR(short value) { + OsmAndCoreJNI.ColorARGB_r_set(swigCPtr, this, value); + } + + public short getR() { + return OsmAndCoreJNI.ColorARGB_r_get(swigCPtr, this); + } + + public void setG(short value) { + OsmAndCoreJNI.ColorARGB_g_set(swigCPtr, this, value); + } + + public short getG() { + return OsmAndCoreJNI.ColorARGB_g_get(swigCPtr, this); + } + + public void setB(short value) { + OsmAndCoreJNI.ColorARGB_b_set(swigCPtr, this, value); + } + + public short getB() { + return OsmAndCoreJNI.ColorARGB_b_get(swigCPtr, this); + } + + public ColorARGB withAlpha(short newAlpha) { + return new ColorARGB(OsmAndCoreJNI.ColorARGB_withAlpha(swigCPtr, this, newAlpha), true); + } + + public ColorARGB setAlpha(short newAlpha) { + return new ColorARGB(OsmAndCoreJNI.ColorARGB_setAlpha(swigCPtr, this, newAlpha), false); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/ColorRGB.java b/OsmAnd/src/net/osmand/core/jni/ColorRGB.java new file mode 100644 index 0000000000..aad85d8aad --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/ColorRGB.java @@ -0,0 +1,82 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class ColorRGB { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected ColorRGB(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(ColorRGB obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_ColorRGB(swigCPtr); + } + swigCPtr = 0; + } + } + + public ColorRGB() { + this(OsmAndCoreJNI.new_ColorRGB__SWIG_0(), true); + } + + public ColorRGB(short r_, short g_, short b_) { + this(OsmAndCoreJNI.new_ColorRGB__SWIG_1(r_, g_, b_), true); + } + + public ColorRGB(ColorARGB other) { + this(OsmAndCoreJNI.new_ColorRGB__SWIG_2(ColorARGB.getCPtr(other), other), true); + } + + public ColorRGB(FColorRGB other) { + this(OsmAndCoreJNI.new_ColorRGB__SWIG_3(FColorRGB.getCPtr(other), other), true); + } + + public void setR(short value) { + OsmAndCoreJNI.ColorRGB_r_set(swigCPtr, this, value); + } + + public short getR() { + return OsmAndCoreJNI.ColorRGB_r_get(swigCPtr, this); + } + + public void setG(short value) { + OsmAndCoreJNI.ColorRGB_g_set(swigCPtr, this, value); + } + + public short getG() { + return OsmAndCoreJNI.ColorRGB_g_get(swigCPtr, this); + } + + public void setB(short value) { + OsmAndCoreJNI.ColorRGB_b_set(swigCPtr, this, value); + } + + public short getB() { + return OsmAndCoreJNI.ColorRGB_b_get(swigCPtr, this); + } + + public ColorARGB withAlpha(short alpha) { + return new ColorARGB(OsmAndCoreJNI.ColorRGB_withAlpha(swigCPtr, this, alpha), true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/CoreResourcesEmbeddedBundle.java b/OsmAnd/src/net/osmand/core/jni/CoreResourcesEmbeddedBundle.java new file mode 100644 index 0000000000..4fa77fb4a1 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/CoreResourcesEmbeddedBundle.java @@ -0,0 +1,74 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class CoreResourcesEmbeddedBundle extends ICoreResourcesProvider { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected CoreResourcesEmbeddedBundle(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.CoreResourcesEmbeddedBundle_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(CoreResourcesEmbeddedBundle obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_CoreResourcesEmbeddedBundle(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public SWIGTYPE_p_QByteArray getResource(String name, float displayDensityFactor, SWIGTYPE_p_bool ok) { + return new SWIGTYPE_p_QByteArray(OsmAndCoreJNI.CoreResourcesEmbeddedBundle_getResource__SWIG_0(swigCPtr, this, name, displayDensityFactor, SWIGTYPE_p_bool.getCPtr(ok)), true); + } + + public SWIGTYPE_p_QByteArray getResource(String name, float displayDensityFactor) { + return new SWIGTYPE_p_QByteArray(OsmAndCoreJNI.CoreResourcesEmbeddedBundle_getResource__SWIG_1(swigCPtr, this, name, displayDensityFactor), true); + } + + public SWIGTYPE_p_QByteArray getResource(String name, SWIGTYPE_p_bool ok) { + return new SWIGTYPE_p_QByteArray(OsmAndCoreJNI.CoreResourcesEmbeddedBundle_getResource__SWIG_2(swigCPtr, this, name, SWIGTYPE_p_bool.getCPtr(ok)), true); + } + + public SWIGTYPE_p_QByteArray getResource(String name) { + return new SWIGTYPE_p_QByteArray(OsmAndCoreJNI.CoreResourcesEmbeddedBundle_getResource__SWIG_3(swigCPtr, this, name), true); + } + + public boolean containsResource(String name, float displayDensityFactor) { + return OsmAndCoreJNI.CoreResourcesEmbeddedBundle_containsResource__SWIG_0(swigCPtr, this, name, displayDensityFactor); + } + + public boolean containsResource(String name) { + return OsmAndCoreJNI.CoreResourcesEmbeddedBundle_containsResource__SWIG_1(swigCPtr, this, name); + } + + public static CoreResourcesEmbeddedBundle loadFromCurrentExecutable() { + long cPtr = OsmAndCoreJNI.CoreResourcesEmbeddedBundle_loadFromCurrentExecutable(); + return (cPtr == 0) ? null : new CoreResourcesEmbeddedBundle(cPtr, true); + } + + public static CoreResourcesEmbeddedBundle loadFromLibrary(String libraryNameOrFilename) { + long cPtr = OsmAndCoreJNI.CoreResourcesEmbeddedBundle_loadFromLibrary(libraryNameOrFilename); + return (cPtr == 0) ? null : new CoreResourcesEmbeddedBundle(cPtr, true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/DefaultLogSink.java b/OsmAnd/src/net/osmand/core/jni/DefaultLogSink.java new file mode 100644 index 0000000000..5fd02b898c --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/DefaultLogSink.java @@ -0,0 +1,48 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class DefaultLogSink extends ILogSink { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected DefaultLogSink(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.DefaultLogSink_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(DefaultLogSink obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_DefaultLogSink(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public DefaultLogSink() { + this(OsmAndCoreJNI.new_DefaultLogSink(), true); + } + + public void flush() { + OsmAndCoreJNI.DefaultLogSink_flush(swigCPtr, this); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/DoublePtr.java b/OsmAnd/src/net/osmand/core/jni/DoublePtr.java new file mode 100644 index 0000000000..f1cd59d3f9 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/DoublePtr.java @@ -0,0 +1,60 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class DoublePtr { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected DoublePtr(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(DoublePtr obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_DoublePtr(swigCPtr); + } + swigCPtr = 0; + } + } + + public DoublePtr() { + this(OsmAndCoreJNI.new_DoublePtr(), true); + } + + public void assign(double value) { + OsmAndCoreJNI.DoublePtr_assign(swigCPtr, this, value); + } + + public double value() { + return OsmAndCoreJNI.DoublePtr_value(swigCPtr, this); + } + + public SWIGTYPE_p_double cast() { + long cPtr = OsmAndCoreJNI.DoublePtr_cast(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_double(cPtr, false); + } + + public static DoublePtr frompointer(SWIGTYPE_p_double t) { + long cPtr = OsmAndCoreJNI.DoublePtr_frompointer(SWIGTYPE_p_double.getCPtr(t)); + return (cPtr == 0) ? null : new DoublePtr(cPtr, false); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/Edge.java b/OsmAnd/src/net/osmand/core/jni/Edge.java new file mode 100644 index 0000000000..78b9dfa149 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/Edge.java @@ -0,0 +1,55 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public enum Edge { + Invalid(OsmAndCoreJNI.Edge_Invalid_get()), + Left(OsmAndCoreJNI.Edge_Left_get()), + Top(OsmAndCoreJNI.Edge_Top_get()), + Right(OsmAndCoreJNI.Edge_Right_get()), + Bottom(OsmAndCoreJNI.Edge_Bottom_get()); + + public final int swigValue() { + return swigValue; + } + + public static Edge swigToEnum(int swigValue) { + Edge[] swigValues = Edge.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (Edge swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + Edge.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private Edge() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private Edge(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private Edge(Edge swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/ElevationDataTile.java b/OsmAnd/src/net/osmand/core/jni/ElevationDataTile.java new file mode 100644 index 0000000000..62fa568624 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/ElevationDataTile.java @@ -0,0 +1,73 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class ElevationDataTile extends MapTiledData { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected ElevationDataTile(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.ElevationDataTile_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(ElevationDataTile obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_ElevationDataTile(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public ElevationDataTile(SWIGTYPE_p_float data, long rowLength, long size, TileId tileId, ZoomLevel zoom) { + this(OsmAndCoreJNI.new_ElevationDataTile(SWIGTYPE_p_float.getCPtr(data), rowLength, size, TileId.getCPtr(tileId), tileId, zoom.swigValue()), true); + } + + public void setData(SWIGTYPE_p_float value) { + OsmAndCoreJNI.ElevationDataTile_data_set(swigCPtr, this, SWIGTYPE_p_float.getCPtr(value)); + } + + public SWIGTYPE_p_float getData() { + long cPtr = OsmAndCoreJNI.ElevationDataTile_data_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_float(cPtr, false); + } + + public void setRowLength(long value) { + OsmAndCoreJNI.ElevationDataTile_rowLength_set(swigCPtr, this, value); + } + + public long getRowLength() { + return OsmAndCoreJNI.ElevationDataTile_rowLength_get(swigCPtr, this); + } + + public void setSize(long value) { + OsmAndCoreJNI.ElevationDataTile_size_set(swigCPtr, this, value); + } + + public long getSize() { + return OsmAndCoreJNI.ElevationDataTile_size_get(swigCPtr, this); + } + + public void releaseConsumableContent() { + OsmAndCoreJNI.ElevationDataTile_releaseConsumableContent(swigCPtr, this); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/FColorARGB.java b/OsmAnd/src/net/osmand/core/jni/FColorARGB.java new file mode 100644 index 0000000000..0cddac9068 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/FColorARGB.java @@ -0,0 +1,86 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class FColorARGB { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected FColorARGB(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(FColorARGB obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_FColorARGB(swigCPtr); + } + swigCPtr = 0; + } + } + + public FColorARGB() { + this(OsmAndCoreJNI.new_FColorARGB__SWIG_0(), true); + } + + public FColorARGB(float a_, float r_, float g_, float b_) { + this(OsmAndCoreJNI.new_FColorARGB__SWIG_1(a_, r_, g_, b_), true); + } + + public void setA(float value) { + OsmAndCoreJNI.FColorARGB_a_set(swigCPtr, this, value); + } + + public float getA() { + return OsmAndCoreJNI.FColorARGB_a_get(swigCPtr, this); + } + + public void setR(float value) { + OsmAndCoreJNI.FColorARGB_r_set(swigCPtr, this, value); + } + + public float getR() { + return OsmAndCoreJNI.FColorARGB_r_get(swigCPtr, this); + } + + public void setG(float value) { + OsmAndCoreJNI.FColorARGB_g_set(swigCPtr, this, value); + } + + public float getG() { + return OsmAndCoreJNI.FColorARGB_g_get(swigCPtr, this); + } + + public void setB(float value) { + OsmAndCoreJNI.FColorARGB_b_set(swigCPtr, this, value); + } + + public float getB() { + return OsmAndCoreJNI.FColorARGB_b_get(swigCPtr, this); + } + + public FColorARGB withAlpha(float newAlpha) { + return new FColorARGB(OsmAndCoreJNI.FColorARGB_withAlpha(swigCPtr, this, newAlpha), true); + } + + public FColorARGB setAlpha(float newAlpha) { + return new FColorARGB(OsmAndCoreJNI.FColorARGB_setAlpha(swigCPtr, this, newAlpha), false); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/FColorRGB.java b/OsmAnd/src/net/osmand/core/jni/FColorRGB.java new file mode 100644 index 0000000000..cb6825e9d2 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/FColorRGB.java @@ -0,0 +1,78 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class FColorRGB { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected FColorRGB(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(FColorRGB obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_FColorRGB(swigCPtr); + } + swigCPtr = 0; + } + } + + public FColorRGB() { + this(OsmAndCoreJNI.new_FColorRGB__SWIG_0(), true); + } + + public FColorRGB(float r_, float g_, float b_) { + this(OsmAndCoreJNI.new_FColorRGB__SWIG_1(r_, g_, b_), true); + } + + public FColorRGB(FColorARGB other) { + this(OsmAndCoreJNI.new_FColorRGB__SWIG_2(FColorARGB.getCPtr(other), other), true); + } + + public void setR(float value) { + OsmAndCoreJNI.FColorRGB_r_set(swigCPtr, this, value); + } + + public float getR() { + return OsmAndCoreJNI.FColorRGB_r_get(swigCPtr, this); + } + + public void setG(float value) { + OsmAndCoreJNI.FColorRGB_g_set(swigCPtr, this, value); + } + + public float getG() { + return OsmAndCoreJNI.FColorRGB_g_get(swigCPtr, this); + } + + public void setB(float value) { + OsmAndCoreJNI.FColorRGB_b_set(swigCPtr, this, value); + } + + public float getB() { + return OsmAndCoreJNI.FColorRGB_b_get(swigCPtr, this); + } + + public FColorARGB withAlpha(float alpha) { + return new FColorARGB(OsmAndCoreJNI.FColorRGB_withAlpha(swigCPtr, this, alpha), true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/FloatPtr.java b/OsmAnd/src/net/osmand/core/jni/FloatPtr.java new file mode 100644 index 0000000000..9cfcfacd7e --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/FloatPtr.java @@ -0,0 +1,60 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class FloatPtr { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected FloatPtr(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(FloatPtr obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_FloatPtr(swigCPtr); + } + swigCPtr = 0; + } + } + + public FloatPtr() { + this(OsmAndCoreJNI.new_FloatPtr(), true); + } + + public void assign(float value) { + OsmAndCoreJNI.FloatPtr_assign(swigCPtr, this, value); + } + + public float value() { + return OsmAndCoreJNI.FloatPtr_value(swigCPtr, this); + } + + public SWIGTYPE_p_float cast() { + long cPtr = OsmAndCoreJNI.FloatPtr_cast(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_float(cPtr, false); + } + + public static FloatPtr frompointer(SWIGTYPE_p_float t) { + long cPtr = OsmAndCoreJNI.FloatPtr_frompointer(SWIGTYPE_p_float.getCPtr(t)); + return (cPtr == 0) ? null : new FloatPtr(cPtr, false); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/ICoreResourcesProvider.java b/OsmAnd/src/net/osmand/core/jni/ICoreResourcesProvider.java new file mode 100644 index 0000000000..4d9e88c3b4 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/ICoreResourcesProvider.java @@ -0,0 +1,90 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class ICoreResourcesProvider { + private long swigCPtr; + private boolean swigCMemOwn; + + protected ICoreResourcesProvider(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(ICoreResourcesProvider obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_ICoreResourcesProvider(swigCPtr); + } + swigCPtr = 0; + } + } + + protected void swigDirectorDisconnect() { + swigCMemOwn = false; + delete(); + } + + public void swigReleaseOwnership() { + swigCMemOwn = false; + OsmAndCoreJNI.ICoreResourcesProvider_change_ownership(this, swigCPtr, false); + } + + public void swigTakeOwnership() { + swigCMemOwn = true; + OsmAndCoreJNI.ICoreResourcesProvider_change_ownership(this, swigCPtr, true); + } + + protected ICoreResourcesProvider() { + this(OsmAndCoreJNI.new_ICoreResourcesProvider(), true); + OsmAndCoreJNI.ICoreResourcesProvider_director_connect(this, swigCPtr, swigCMemOwn, true); + } + + public SWIGTYPE_p_QByteArray getResource(String name, float displayDensityFactor, SWIGTYPE_p_bool ok) { + return new SWIGTYPE_p_QByteArray(OsmAndCoreJNI.ICoreResourcesProvider_getResource__SWIG_0(swigCPtr, this, name, displayDensityFactor, SWIGTYPE_p_bool.getCPtr(ok)), true); + } + + public SWIGTYPE_p_QByteArray getResource(String name, float displayDensityFactor) { + return new SWIGTYPE_p_QByteArray(OsmAndCoreJNI.ICoreResourcesProvider_getResource__SWIG_1(swigCPtr, this, name, displayDensityFactor), true); + } + + public SWIGTYPE_p_QByteArray getResource(String name, SWIGTYPE_p_bool ok) { + return new SWIGTYPE_p_QByteArray(OsmAndCoreJNI.ICoreResourcesProvider_getResource__SWIG_2(swigCPtr, this, name, SWIGTYPE_p_bool.getCPtr(ok)), true); + } + + public SWIGTYPE_p_QByteArray getResource(String name) { + return new SWIGTYPE_p_QByteArray(OsmAndCoreJNI.ICoreResourcesProvider_getResource__SWIG_3(swigCPtr, this, name), true); + } + + public SWIGTYPE_p_std__shared_ptrT_SkBitmap_t getResourceAsBitmap(String name, float displayDensityFactor) { + return new SWIGTYPE_p_std__shared_ptrT_SkBitmap_t((getClass() == ICoreResourcesProvider.class) ? OsmAndCoreJNI.ICoreResourcesProvider_getResourceAsBitmap__SWIG_0(swigCPtr, this, name, displayDensityFactor) : OsmAndCoreJNI.ICoreResourcesProvider_getResourceAsBitmapSwigExplicitICoreResourcesProvider__SWIG_0(swigCPtr, this, name, displayDensityFactor), true); + } + + public SWIGTYPE_p_std__shared_ptrT_SkBitmap_t getResourceAsBitmap(String name) { + return new SWIGTYPE_p_std__shared_ptrT_SkBitmap_t((getClass() == ICoreResourcesProvider.class) ? OsmAndCoreJNI.ICoreResourcesProvider_getResourceAsBitmap__SWIG_1(swigCPtr, this, name) : OsmAndCoreJNI.ICoreResourcesProvider_getResourceAsBitmapSwigExplicitICoreResourcesProvider__SWIG_1(swigCPtr, this, name), true); + } + + public boolean containsResource(String name, float displayDensityFactor) { + return OsmAndCoreJNI.ICoreResourcesProvider_containsResource__SWIG_0(swigCPtr, this, name, displayDensityFactor); + } + + public boolean containsResource(String name) { + return OsmAndCoreJNI.ICoreResourcesProvider_containsResource__SWIG_1(swigCPtr, this, name); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/ILogSink.java b/OsmAnd/src/net/osmand/core/jni/ILogSink.java new file mode 100644 index 0000000000..e0127c837f --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/ILogSink.java @@ -0,0 +1,42 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class ILogSink { + private long swigCPtr; + private boolean swigCMemOwn; + + protected ILogSink(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(ILogSink obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_ILogSink(swigCPtr); + } + swigCPtr = 0; + } + } + + public void flush() { + OsmAndCoreJNI.ILogSink_flush(swigCPtr, this); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/IMapDataProvider.java b/OsmAnd/src/net/osmand/core/jni/IMapDataProvider.java new file mode 100644 index 0000000000..c236bdf4b4 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/IMapDataProvider.java @@ -0,0 +1,89 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class IMapDataProvider { + private long swigCPtr; + private boolean swigCMemOwn; + + protected IMapDataProvider(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(IMapDataProvider obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_IMapDataProvider(swigCPtr); + } + swigCPtr = 0; + } + } + + public IMapDataProvider.DataType getDataType() { + return IMapDataProvider.DataType.swigToEnum(OsmAndCoreJNI.IMapDataProvider_dataType_get(swigCPtr, this)); + } + + public enum DataType { + Unknown(OsmAndCoreJNI.IMapDataProvider_DataType_Unknown_get()), + BinaryMapDataTile, + BinaryMapPrimitivesTile, + RasterBitmapTile, + ElevationDataTile, + SymbolsTile, + Symbols; + + public final int swigValue() { + return swigValue; + } + + public static DataType swigToEnum(int swigValue) { + DataType[] swigValues = DataType.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (DataType swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + DataType.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private DataType() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private DataType(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private DataType(DataType swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/IMapElevationDataProvider.java b/OsmAnd/src/net/osmand/core/jni/IMapElevationDataProvider.java new file mode 100644 index 0000000000..4a6fdcc67f --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/IMapElevationDataProvider.java @@ -0,0 +1,44 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class IMapElevationDataProvider extends IMapTiledDataProvider { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected IMapElevationDataProvider(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.IMapElevationDataProvider_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(IMapElevationDataProvider obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_IMapElevationDataProvider(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public long getTileSize() { + return OsmAndCoreJNI.IMapElevationDataProvider_getTileSize(swigCPtr, this); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/IMapKeyedDataProvider.java b/OsmAnd/src/net/osmand/core/jni/IMapKeyedDataProvider.java new file mode 100644 index 0000000000..38a644130c --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/IMapKeyedDataProvider.java @@ -0,0 +1,52 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class IMapKeyedDataProvider extends IMapDataProvider { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected IMapKeyedDataProvider(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.IMapKeyedDataProvider_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(IMapKeyedDataProvider obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_IMapKeyedDataProvider(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public SWIGTYPE_p_QListT_void_const_p_t getProvidedDataKeys() { + return new SWIGTYPE_p_QListT_void_const_p_t(OsmAndCoreJNI.IMapKeyedDataProvider_getProvidedDataKeys(swigCPtr, this), true); + } + + public boolean obtainData(SWIGTYPE_p_void key, MapKeyedData outKeyedData, SWIGTYPE_p_OsmAnd__IQueryController queryController) { + return OsmAndCoreJNI.IMapKeyedDataProvider_obtainData__SWIG_0(swigCPtr, this, SWIGTYPE_p_void.getCPtr(key), MapKeyedData.getCPtr(outKeyedData), outKeyedData, SWIGTYPE_p_OsmAnd__IQueryController.getCPtr(queryController)); + } + + public boolean obtainData(SWIGTYPE_p_void key, MapKeyedData outKeyedData) { + return OsmAndCoreJNI.IMapKeyedDataProvider_obtainData__SWIG_1(swigCPtr, this, SWIGTYPE_p_void.getCPtr(key), MapKeyedData.getCPtr(outKeyedData), outKeyedData); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/IMapKeyedSymbolsProvider.java b/OsmAnd/src/net/osmand/core/jni/IMapKeyedSymbolsProvider.java new file mode 100644 index 0000000000..c29425c537 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/IMapKeyedSymbolsProvider.java @@ -0,0 +1,40 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class IMapKeyedSymbolsProvider extends IMapKeyedDataProvider { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected IMapKeyedSymbolsProvider(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.IMapKeyedSymbolsProvider_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(IMapKeyedSymbolsProvider obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_IMapKeyedSymbolsProvider(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/IMapRasterBitmapTileProvider.java b/OsmAnd/src/net/osmand/core/jni/IMapRasterBitmapTileProvider.java new file mode 100644 index 0000000000..1b10fbe06a --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/IMapRasterBitmapTileProvider.java @@ -0,0 +1,48 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class IMapRasterBitmapTileProvider extends IMapTiledDataProvider { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected IMapRasterBitmapTileProvider(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.IMapRasterBitmapTileProvider_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(IMapRasterBitmapTileProvider obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_IMapRasterBitmapTileProvider(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public long getTileSize() { + return OsmAndCoreJNI.IMapRasterBitmapTileProvider_getTileSize(swigCPtr, this); + } + + public float getTileDensityFactor() { + return OsmAndCoreJNI.IMapRasterBitmapTileProvider_getTileDensityFactor(swigCPtr, this); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/IMapRenderer.java b/OsmAnd/src/net/osmand/core/jni/IMapRenderer.java new file mode 100644 index 0000000000..f9441e30a1 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/IMapRenderer.java @@ -0,0 +1,518 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class IMapRenderer { + private long swigCPtr; + private boolean swigCMemOwn; + + protected IMapRenderer(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(IMapRenderer obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_IMapRenderer(swigCPtr); + } + swigCPtr = 0; + } + } + + public MapRendererSetupOptions getSetupOptions() { + return new MapRendererSetupOptions(OsmAndCoreJNI.IMapRenderer_getSetupOptions(swigCPtr, this), true); + } + + public boolean setup(MapRendererSetupOptions setupOptions) { + return OsmAndCoreJNI.IMapRenderer_setup(swigCPtr, this, MapRendererSetupOptions.getCPtr(setupOptions), setupOptions); + } + + public MapRendererConfiguration getConfiguration() { + long cPtr = OsmAndCoreJNI.IMapRenderer_getConfiguration(swigCPtr, this); + return (cPtr == 0) ? null : new MapRendererConfiguration(cPtr, true); + } + + public void setConfiguration(MapRendererConfiguration configuration, boolean forcedUpdate) { + OsmAndCoreJNI.IMapRenderer_setConfiguration__SWIG_0(swigCPtr, this, MapRendererConfiguration.getCPtr(configuration), configuration, forcedUpdate); + } + + public void setConfiguration(MapRendererConfiguration configuration) { + OsmAndCoreJNI.IMapRenderer_setConfiguration__SWIG_1(swigCPtr, this, MapRendererConfiguration.getCPtr(configuration), configuration); + } + + public boolean isRenderingInitialized() { + return OsmAndCoreJNI.IMapRenderer_isRenderingInitialized(swigCPtr, this); + } + + public boolean initializeRendering() { + return OsmAndCoreJNI.IMapRenderer_initializeRendering(swigCPtr, this); + } + + public boolean update() { + return OsmAndCoreJNI.IMapRenderer_update(swigCPtr, this); + } + + public boolean prepareFrame() { + return OsmAndCoreJNI.IMapRenderer_prepareFrame(swigCPtr, this); + } + + public boolean renderFrame() { + return OsmAndCoreJNI.IMapRenderer_renderFrame(swigCPtr, this); + } + + public boolean releaseRendering() { + return OsmAndCoreJNI.IMapRenderer_releaseRendering(swigCPtr, this); + } + + public boolean isIdle() { + return OsmAndCoreJNI.IMapRenderer_isIdle(swigCPtr, this); + } + + public boolean pauseGpuWorkerThread() { + return OsmAndCoreJNI.IMapRenderer_pauseGpuWorkerThread(swigCPtr, this); + } + + public boolean resumeGpuWorkerThread() { + return OsmAndCoreJNI.IMapRenderer_resumeGpuWorkerThread(swigCPtr, this); + } + + static public class IFramePreparedObserver { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected IFramePreparedObserver(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(IFramePreparedObserver obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_IMapRenderer_IFramePreparedObserver(swigCPtr); + } + swigCPtr = 0; + } + } + + protected void swigDirectorDisconnect() { + swigCMemOwn = false; + delete(); + } + + public void swigReleaseOwnership() { + swigCMemOwn = false; + OsmAndCoreJNI.IMapRenderer_IFramePreparedObserver_change_ownership(this, swigCPtr, false); + } + + public void swigTakeOwnership() { + swigCMemOwn = true; + OsmAndCoreJNI.IMapRenderer_IFramePreparedObserver_change_ownership(this, swigCPtr, true); + } + + public IFramePreparedObserver() { + this(OsmAndCoreJNI.new_IMapRenderer_IFramePreparedObserver(), true); + OsmAndCoreJNI.IMapRenderer_IFramePreparedObserver_director_connect(this, swigCPtr, swigCMemOwn, true); + } + + public void method(IMapRenderer mapRenderer) { + OsmAndCoreJNI.IMapRenderer_IFramePreparedObserver_method(swigCPtr, this, IMapRenderer.getCPtr(mapRenderer), mapRenderer); + } + + public boolean attachTo(SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t observable, SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t__Tag tag) { + return OsmAndCoreJNI.IMapRenderer_IFramePreparedObserver_attachTo(swigCPtr, this, SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t.getCPtr(observable), SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t__Tag.getCPtr(tag)); + } + + public SWIGTYPE_p_OsmAnd__IMapRenderer__FramePreparedObserver getBinding() { + return new SWIGTYPE_p_OsmAnd__IMapRenderer__FramePreparedObserver(OsmAndCoreJNI.IMapRenderer_IFramePreparedObserver_getBinding(swigCPtr, this), true); + } + + } + + public SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__FramePreparedObserver_t getFramePreparedObservable() { + long cPtr = OsmAndCoreJNI.IMapRenderer_framePreparedObservable_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__FramePreparedObserver_t(cPtr, false); + } + + public void reloadEverything() { + OsmAndCoreJNI.IMapRenderer_reloadEverything(swigCPtr, this); + } + + public MapRendererState getState() { + return new MapRendererState(OsmAndCoreJNI.IMapRenderer_getState(swigCPtr, this), true); + } + + public boolean isFrameInvalidated() { + return OsmAndCoreJNI.IMapRenderer_isFrameInvalidated(swigCPtr, this); + } + + public void forcedFrameInvalidate() { + OsmAndCoreJNI.IMapRenderer_forcedFrameInvalidate(swigCPtr, this); + } + + public void forcedGpuProcessingCycle() { + OsmAndCoreJNI.IMapRenderer_forcedGpuProcessingCycle(swigCPtr, this); + } + + public long getSymbolsCount() { + return OsmAndCoreJNI.IMapRenderer_getSymbolsCount(swigCPtr, this); + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_const_t_t getSymbolsAt(PointI screenPoint) { + return new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_const_t_t(OsmAndCoreJNI.IMapRenderer_getSymbolsAt(swigCPtr, this, PointI.getCPtr(screenPoint), screenPoint), true); + } + + public void setRasterLayerProvider(RasterMapLayerId layerId, IMapRasterBitmapTileProvider tileProvider, boolean forcedUpdate) { + OsmAndCoreJNI.IMapRenderer_setRasterLayerProvider__SWIG_0(swigCPtr, this, layerId.swigValue(), IMapRasterBitmapTileProvider.getCPtr(tileProvider), tileProvider, forcedUpdate); + } + + public void setRasterLayerProvider(RasterMapLayerId layerId, IMapRasterBitmapTileProvider tileProvider) { + OsmAndCoreJNI.IMapRenderer_setRasterLayerProvider__SWIG_1(swigCPtr, this, layerId.swigValue(), IMapRasterBitmapTileProvider.getCPtr(tileProvider), tileProvider); + } + + public void resetRasterLayerProvider(RasterMapLayerId layerId, boolean forcedUpdate) { + OsmAndCoreJNI.IMapRenderer_resetRasterLayerProvider__SWIG_0(swigCPtr, this, layerId.swigValue(), forcedUpdate); + } + + public void resetRasterLayerProvider(RasterMapLayerId layerId) { + OsmAndCoreJNI.IMapRenderer_resetRasterLayerProvider__SWIG_1(swigCPtr, this, layerId.swigValue()); + } + + public void setRasterLayerOpacity(RasterMapLayerId layerId, float opacity, boolean forcedUpdate) { + OsmAndCoreJNI.IMapRenderer_setRasterLayerOpacity__SWIG_0(swigCPtr, this, layerId.swigValue(), opacity, forcedUpdate); + } + + public void setRasterLayerOpacity(RasterMapLayerId layerId, float opacity) { + OsmAndCoreJNI.IMapRenderer_setRasterLayerOpacity__SWIG_1(swigCPtr, this, layerId.swigValue(), opacity); + } + + public void setElevationDataProvider(IMapElevationDataProvider tileProvider, boolean forcedUpdate) { + OsmAndCoreJNI.IMapRenderer_setElevationDataProvider__SWIG_0(swigCPtr, this, IMapElevationDataProvider.getCPtr(tileProvider), tileProvider, forcedUpdate); + } + + public void setElevationDataProvider(IMapElevationDataProvider tileProvider) { + OsmAndCoreJNI.IMapRenderer_setElevationDataProvider__SWIG_1(swigCPtr, this, IMapElevationDataProvider.getCPtr(tileProvider), tileProvider); + } + + public void resetElevationDataProvider(boolean forcedUpdate) { + OsmAndCoreJNI.IMapRenderer_resetElevationDataProvider__SWIG_0(swigCPtr, this, forcedUpdate); + } + + public void resetElevationDataProvider() { + OsmAndCoreJNI.IMapRenderer_resetElevationDataProvider__SWIG_1(swigCPtr, this); + } + + public void setElevationDataScaleFactor(float factor, boolean forcedUpdate) { + OsmAndCoreJNI.IMapRenderer_setElevationDataScaleFactor__SWIG_0(swigCPtr, this, factor, forcedUpdate); + } + + public void setElevationDataScaleFactor(float factor) { + OsmAndCoreJNI.IMapRenderer_setElevationDataScaleFactor__SWIG_1(swigCPtr, this, factor); + } + + public void addSymbolProvider(IMapDataProvider provider, boolean forcedUpdate) { + OsmAndCoreJNI.IMapRenderer_addSymbolProvider__SWIG_0(swigCPtr, this, IMapDataProvider.getCPtr(provider), provider, forcedUpdate); + } + + public void addSymbolProvider(IMapDataProvider provider) { + OsmAndCoreJNI.IMapRenderer_addSymbolProvider__SWIG_1(swigCPtr, this, IMapDataProvider.getCPtr(provider), provider); + } + + public void removeSymbolProvider(IMapDataProvider provider, boolean forcedUpdate) { + OsmAndCoreJNI.IMapRenderer_removeSymbolProvider__SWIG_0(swigCPtr, this, IMapDataProvider.getCPtr(provider), provider, forcedUpdate); + } + + public void removeSymbolProvider(IMapDataProvider provider) { + OsmAndCoreJNI.IMapRenderer_removeSymbolProvider__SWIG_1(swigCPtr, this, IMapDataProvider.getCPtr(provider), provider); + } + + public void removeAllSymbolProviders(boolean forcedUpdate) { + OsmAndCoreJNI.IMapRenderer_removeAllSymbolProviders__SWIG_0(swigCPtr, this, forcedUpdate); + } + + public void removeAllSymbolProviders() { + OsmAndCoreJNI.IMapRenderer_removeAllSymbolProviders__SWIG_1(swigCPtr, this); + } + + public void setWindowSize(PointI windowSize, boolean forcedUpdate) { + OsmAndCoreJNI.IMapRenderer_setWindowSize__SWIG_0(swigCPtr, this, PointI.getCPtr(windowSize), windowSize, forcedUpdate); + } + + public void setWindowSize(PointI windowSize) { + OsmAndCoreJNI.IMapRenderer_setWindowSize__SWIG_1(swigCPtr, this, PointI.getCPtr(windowSize), windowSize); + } + + public void setViewport(AreaI viewport, boolean forcedUpdate) { + OsmAndCoreJNI.IMapRenderer_setViewport__SWIG_0(swigCPtr, this, AreaI.getCPtr(viewport), viewport, forcedUpdate); + } + + public void setViewport(AreaI viewport) { + OsmAndCoreJNI.IMapRenderer_setViewport__SWIG_1(swigCPtr, this, AreaI.getCPtr(viewport), viewport); + } + + public void setFieldOfView(float fieldOfView, boolean forcedUpdate) { + OsmAndCoreJNI.IMapRenderer_setFieldOfView__SWIG_0(swigCPtr, this, fieldOfView, forcedUpdate); + } + + public void setFieldOfView(float fieldOfView) { + OsmAndCoreJNI.IMapRenderer_setFieldOfView__SWIG_1(swigCPtr, this, fieldOfView); + } + + public void setDistanceToFog(float fogDistance, boolean forcedUpdate) { + OsmAndCoreJNI.IMapRenderer_setDistanceToFog__SWIG_0(swigCPtr, this, fogDistance, forcedUpdate); + } + + public void setDistanceToFog(float fogDistance) { + OsmAndCoreJNI.IMapRenderer_setDistanceToFog__SWIG_1(swigCPtr, this, fogDistance); + } + + public void setFogOriginFactor(float factor, boolean forcedUpdate) { + OsmAndCoreJNI.IMapRenderer_setFogOriginFactor__SWIG_0(swigCPtr, this, factor, forcedUpdate); + } + + public void setFogOriginFactor(float factor) { + OsmAndCoreJNI.IMapRenderer_setFogOriginFactor__SWIG_1(swigCPtr, this, factor); + } + + public void setFogHeightOriginFactor(float factor, boolean forcedUpdate) { + OsmAndCoreJNI.IMapRenderer_setFogHeightOriginFactor__SWIG_0(swigCPtr, this, factor, forcedUpdate); + } + + public void setFogHeightOriginFactor(float factor) { + OsmAndCoreJNI.IMapRenderer_setFogHeightOriginFactor__SWIG_1(swigCPtr, this, factor); + } + + public void setFogDensity(float fogDensity, boolean forcedUpdate) { + OsmAndCoreJNI.IMapRenderer_setFogDensity__SWIG_0(swigCPtr, this, fogDensity, forcedUpdate); + } + + public void setFogDensity(float fogDensity) { + OsmAndCoreJNI.IMapRenderer_setFogDensity__SWIG_1(swigCPtr, this, fogDensity); + } + + public void setFogColor(FColorRGB color, boolean forcedUpdate) { + OsmAndCoreJNI.IMapRenderer_setFogColor__SWIG_0(swigCPtr, this, FColorRGB.getCPtr(color), color, forcedUpdate); + } + + public void setFogColor(FColorRGB color) { + OsmAndCoreJNI.IMapRenderer_setFogColor__SWIG_1(swigCPtr, this, FColorRGB.getCPtr(color), color); + } + + public void setSkyColor(FColorRGB color, boolean forcedUpdate) { + OsmAndCoreJNI.IMapRenderer_setSkyColor__SWIG_0(swigCPtr, this, FColorRGB.getCPtr(color), color, forcedUpdate); + } + + public void setSkyColor(FColorRGB color) { + OsmAndCoreJNI.IMapRenderer_setSkyColor__SWIG_1(swigCPtr, this, FColorRGB.getCPtr(color), color); + } + + public void setAzimuth(float azimuth, boolean forcedUpdate) { + OsmAndCoreJNI.IMapRenderer_setAzimuth__SWIG_0(swigCPtr, this, azimuth, forcedUpdate); + } + + public void setAzimuth(float azimuth) { + OsmAndCoreJNI.IMapRenderer_setAzimuth__SWIG_1(swigCPtr, this, azimuth); + } + + public void setElevationAngle(float elevationAngle, boolean forcedUpdate) { + OsmAndCoreJNI.IMapRenderer_setElevationAngle__SWIG_0(swigCPtr, this, elevationAngle, forcedUpdate); + } + + public void setElevationAngle(float elevationAngle) { + OsmAndCoreJNI.IMapRenderer_setElevationAngle__SWIG_1(swigCPtr, this, elevationAngle); + } + + public void setTarget(PointI target31, boolean forcedUpdate) { + OsmAndCoreJNI.IMapRenderer_setTarget__SWIG_0(swigCPtr, this, PointI.getCPtr(target31), target31, forcedUpdate); + } + + public void setTarget(PointI target31) { + OsmAndCoreJNI.IMapRenderer_setTarget__SWIG_1(swigCPtr, this, PointI.getCPtr(target31), target31); + } + + public void setZoom(float zoom, boolean forcedUpdate) { + OsmAndCoreJNI.IMapRenderer_setZoom__SWIG_0(swigCPtr, this, zoom, forcedUpdate); + } + + public void setZoom(float zoom) { + OsmAndCoreJNI.IMapRenderer_setZoom__SWIG_1(swigCPtr, this, zoom); + } + + public MapRendererDebugSettings getDebugSettings() { + long cPtr = OsmAndCoreJNI.IMapRenderer_getDebugSettings(swigCPtr, this); + return (cPtr == 0) ? null : new MapRendererDebugSettings(cPtr, true); + } + + public void setDebugSettings(MapRendererDebugSettings debugSettings) { + OsmAndCoreJNI.IMapRenderer_setDebugSettings(swigCPtr, this, MapRendererDebugSettings.getCPtr(debugSettings), debugSettings); + } + + public float getMinZoom() { + return OsmAndCoreJNI.IMapRenderer_getMinZoom(swigCPtr, this); + } + + public float getMaxZoom() { + return OsmAndCoreJNI.IMapRenderer_getMaxZoom(swigCPtr, this); + } + + public float getRecommendedMinZoom(IMapRenderer.ZoomRecommendationStrategy strategy) { + return OsmAndCoreJNI.IMapRenderer_getRecommendedMinZoom__SWIG_0(swigCPtr, this, strategy.swigValue()); + } + + public float getRecommendedMinZoom() { + return OsmAndCoreJNI.IMapRenderer_getRecommendedMinZoom__SWIG_1(swigCPtr, this); + } + + public float getRecommendedMaxZoom(IMapRenderer.ZoomRecommendationStrategy strategy) { + return OsmAndCoreJNI.IMapRenderer_getRecommendedMaxZoom__SWIG_0(swigCPtr, this, strategy.swigValue()); + } + + public float getRecommendedMaxZoom() { + return OsmAndCoreJNI.IMapRenderer_getRecommendedMaxZoom__SWIG_1(swigCPtr, this); + } + + static public class IStateChangeObserver { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected IStateChangeObserver(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(IStateChangeObserver obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_IMapRenderer_IStateChangeObserver(swigCPtr); + } + swigCPtr = 0; + } + } + + protected void swigDirectorDisconnect() { + swigCMemOwn = false; + delete(); + } + + public void swigReleaseOwnership() { + swigCMemOwn = false; + OsmAndCoreJNI.IMapRenderer_IStateChangeObserver_change_ownership(this, swigCPtr, false); + } + + public void swigTakeOwnership() { + swigCMemOwn = true; + OsmAndCoreJNI.IMapRenderer_IStateChangeObserver_change_ownership(this, swigCPtr, true); + } + + public IStateChangeObserver() { + this(OsmAndCoreJNI.new_IMapRenderer_IStateChangeObserver(), true); + OsmAndCoreJNI.IMapRenderer_IStateChangeObserver_director_connect(this, swigCPtr, swigCMemOwn, true); + } + + public void method(IMapRenderer mapRenderer, MapRendererStateChange thisChange, MapRendererStateChanges allChanges) { + OsmAndCoreJNI.IMapRenderer_IStateChangeObserver_method(swigCPtr, this, IMapRenderer.getCPtr(mapRenderer), mapRenderer, thisChange.swigValue(), MapRendererStateChanges.getCPtr(allChanges), allChanges); + } + + public boolean attachTo(SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t observable, SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t__Tag tag) { + return OsmAndCoreJNI.IMapRenderer_IStateChangeObserver_attachTo(swigCPtr, this, SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t.getCPtr(observable), SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t__Tag.getCPtr(tag)); + } + + public SWIGTYPE_p_OsmAnd__IMapRenderer__StateChangeObserver getBinding() { + return new SWIGTYPE_p_OsmAnd__IMapRenderer__StateChangeObserver(OsmAndCoreJNI.IMapRenderer_IStateChangeObserver_getBinding(swigCPtr, this), true); + } + + } + + public SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__StateChangeObserver_t getStateChangeObservable() { + long cPtr = OsmAndCoreJNI.IMapRenderer_stateChangeObservable_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__StateChangeObserver_t(cPtr, false); + } + + public boolean getLocationFromScreenPoint(PointI screenPoint, PointI location31) { + return OsmAndCoreJNI.IMapRenderer_getLocationFromScreenPoint__SWIG_0(swigCPtr, this, PointI.getCPtr(screenPoint), screenPoint, PointI.getCPtr(location31), location31); + } + + public boolean getLocationFromScreenPoint(PointI screenPoint, SWIGTYPE_p_OsmAnd__PointT_long_long_t location) { + return OsmAndCoreJNI.IMapRenderer_getLocationFromScreenPoint__SWIG_1(swigCPtr, this, PointI.getCPtr(screenPoint), screenPoint, SWIGTYPE_p_OsmAnd__PointT_long_long_t.getCPtr(location)); + } + + public void dumpResourcesInfo() { + OsmAndCoreJNI.IMapRenderer_dumpResourcesInfo(swigCPtr, this); + } + + public enum ZoomRecommendationStrategy { + NarrowestRange, + WidestRange; + + public final int swigValue() { + return swigValue; + } + + public static ZoomRecommendationStrategy swigToEnum(int swigValue) { + ZoomRecommendationStrategy[] swigValues = ZoomRecommendationStrategy.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (ZoomRecommendationStrategy swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + ZoomRecommendationStrategy.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private ZoomRecommendationStrategy() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private ZoomRecommendationStrategy(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private ZoomRecommendationStrategy(ZoomRecommendationStrategy swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/IMapStylesCollection.java b/OsmAnd/src/net/osmand/core/jni/IMapStylesCollection.java new file mode 100644 index 0000000000..5624667d47 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/IMapStylesCollection.java @@ -0,0 +1,56 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class IMapStylesCollection { + private long swigCPtr; + private boolean swigCMemOwn; + + protected IMapStylesCollection(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(IMapStylesCollection obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_IMapStylesCollection(swigCPtr); + } + swigCPtr = 0; + } + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStyle_const_t_t getCollection() { + return new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStyle_const_t_t(OsmAndCoreJNI.IMapStylesCollection_getCollection(swigCPtr, this), true); + } + + public MapStyle getAsIsStyle(String name) { + long cPtr = OsmAndCoreJNI.IMapStylesCollection_getAsIsStyle(swigCPtr, this, name); + return (cPtr == 0) ? null : new MapStyle(cPtr, true); + } + + public boolean obtainBakedStyle(String name, MapStyle outStyle) { + return OsmAndCoreJNI.IMapStylesCollection_obtainBakedStyle(swigCPtr, this, name, MapStyle.getCPtr(outStyle), outStyle); + } + + public MapStyle getBakedStyle(String name) { + long cPtr = OsmAndCoreJNI.IMapStylesCollection_getBakedStyle(swigCPtr, this, name); + return (cPtr == 0) ? null : new MapStyle(cPtr, true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/IMapStylesPresetsCollection.java b/OsmAnd/src/net/osmand/core/jni/IMapStylesPresetsCollection.java new file mode 100644 index 0000000000..9c44d08424 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/IMapStylesPresetsCollection.java @@ -0,0 +1,51 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class IMapStylesPresetsCollection { + private long swigCPtr; + private boolean swigCMemOwn; + + protected IMapStylesPresetsCollection(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(IMapStylesPresetsCollection obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_IMapStylesPresetsCollection(swigCPtr); + } + swigCPtr = 0; + } + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t getCollection() { + return new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t(OsmAndCoreJNI.IMapStylesPresetsCollection_getCollection(swigCPtr, this), true); + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t getCollectionFor(String styleName) { + return new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t(OsmAndCoreJNI.IMapStylesPresetsCollection_getCollectionFor(swigCPtr, this, styleName), true); + } + + public MapStylePreset getPreset(String styleName, String presetName) { + long cPtr = OsmAndCoreJNI.IMapStylesPresetsCollection_getPreset(swigCPtr, this, styleName, presetName); + return (cPtr == 0) ? null : new MapStylePreset(cPtr, true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/IMapTiledDataProvider.java b/OsmAnd/src/net/osmand/core/jni/IMapTiledDataProvider.java new file mode 100644 index 0000000000..9232ad5b2e --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/IMapTiledDataProvider.java @@ -0,0 +1,56 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class IMapTiledDataProvider extends IMapDataProvider { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected IMapTiledDataProvider(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.IMapTiledDataProvider_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(IMapTiledDataProvider obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_IMapTiledDataProvider(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public ZoomLevel getMinZoom() { + return ZoomLevel.swigToEnum(OsmAndCoreJNI.IMapTiledDataProvider_getMinZoom(swigCPtr, this)); + } + + public ZoomLevel getMaxZoom() { + return ZoomLevel.swigToEnum(OsmAndCoreJNI.IMapTiledDataProvider_getMaxZoom(swigCPtr, this)); + } + + public boolean obtainData(TileId tileId, ZoomLevel zoom, MapTiledData outTiledData, SWIGTYPE_p_OsmAnd__IQueryController queryController) { + return OsmAndCoreJNI.IMapTiledDataProvider_obtainData__SWIG_0(swigCPtr, this, TileId.getCPtr(tileId), tileId, zoom.swigValue(), MapTiledData.getCPtr(outTiledData), outTiledData, SWIGTYPE_p_OsmAnd__IQueryController.getCPtr(queryController)); + } + + public boolean obtainData(TileId tileId, ZoomLevel zoom, MapTiledData outTiledData) { + return OsmAndCoreJNI.IMapTiledDataProvider_obtainData__SWIG_1(swigCPtr, this, TileId.getCPtr(tileId), tileId, zoom.swigValue(), MapTiledData.getCPtr(outTiledData), outTiledData); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/IMapTiledSymbolsProvider.java b/OsmAnd/src/net/osmand/core/jni/IMapTiledSymbolsProvider.java new file mode 100644 index 0000000000..f5d5c63ad6 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/IMapTiledSymbolsProvider.java @@ -0,0 +1,48 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class IMapTiledSymbolsProvider extends IMapTiledDataProvider { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected IMapTiledSymbolsProvider(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.IMapTiledSymbolsProvider_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(IMapTiledSymbolsProvider obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_IMapTiledSymbolsProvider(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public boolean obtainData(TileId tileId, ZoomLevel zoom, MapTiledData outTiledData, SWIGTYPE_p_OsmAnd__IQueryController queryController) { + return OsmAndCoreJNI.IMapTiledSymbolsProvider_obtainData__SWIG_0(swigCPtr, this, TileId.getCPtr(tileId), tileId, zoom.swigValue(), MapTiledData.getCPtr(outTiledData), outTiledData, SWIGTYPE_p_OsmAnd__IQueryController.getCPtr(queryController)); + } + + public boolean obtainData(TileId tileId, ZoomLevel zoom, MapTiledData outTiledData) { + return OsmAndCoreJNI.IMapTiledSymbolsProvider_obtainData__SWIG_1(swigCPtr, this, TileId.getCPtr(tileId), tileId, zoom.swigValue(), MapTiledData.getCPtr(outTiledData), outTiledData); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/IObfsCollection.java b/OsmAnd/src/net/osmand/core/jni/IObfsCollection.java new file mode 100644 index 0000000000..3d22bf7e88 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/IObfsCollection.java @@ -0,0 +1,47 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class IObfsCollection { + private long swigCPtr; + private boolean swigCMemOwn; + + protected IObfsCollection(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(IObfsCollection obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_IObfsCollection(swigCPtr); + } + swigCPtr = 0; + } + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_ObfFile_const_t_t getObfFiles() { + return new SWIGTYPE_p_QListT_std__shared_ptrT_ObfFile_const_t_t(OsmAndCoreJNI.IObfsCollection_getObfFiles(swigCPtr, this), true); + } + + public ObfDataInterface obtainDataInterface() { + long cPtr = OsmAndCoreJNI.IObfsCollection_obtainDataInterface(swigCPtr, this); + return (cPtr == 0) ? null : new ObfDataInterface(cPtr, true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/IObservable.java b/OsmAnd/src/net/osmand/core/jni/IObservable.java new file mode 100644 index 0000000000..d3d7b04016 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/IObservable.java @@ -0,0 +1,42 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class IObservable { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected IObservable(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(IObservable obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_IObservable(swigCPtr); + } + swigCPtr = 0; + } + } + + public IObservable() { + this(OsmAndCoreJNI.new_IObservable(), true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/IOnlineTileSources.java b/OsmAnd/src/net/osmand/core/jni/IOnlineTileSources.java new file mode 100644 index 0000000000..4ef074910b --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/IOnlineTileSources.java @@ -0,0 +1,137 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class IOnlineTileSources { + private long swigCPtr; + private boolean swigCMemOwn; + + protected IOnlineTileSources(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(IOnlineTileSources obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_IOnlineTileSources(swigCPtr); + } + swigCPtr = 0; + } + } + + static public class Source { + private long swigCPtr; + private boolean swigCMemOwn; + + protected Source(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(Source obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_IOnlineTileSources_Source(swigCPtr); + } + swigCPtr = 0; + } + } + + public Source(String name) { + this(OsmAndCoreJNI.new_IOnlineTileSources_Source(name), true); + } + + public String getName() { + return OsmAndCoreJNI.IOnlineTileSources_Source_name_get(swigCPtr, this); + } + + public void setUrlPattern(String value) { + OsmAndCoreJNI.IOnlineTileSources_Source_urlPattern_set(swigCPtr, this, value); + } + + public String getUrlPattern() { + return OsmAndCoreJNI.IOnlineTileSources_Source_urlPattern_get(swigCPtr, this); + } + + public void setMinZoom(ZoomLevel value) { + OsmAndCoreJNI.IOnlineTileSources_Source_minZoom_set(swigCPtr, this, value.swigValue()); + } + + public ZoomLevel getMinZoom() { + return ZoomLevel.swigToEnum(OsmAndCoreJNI.IOnlineTileSources_Source_minZoom_get(swigCPtr, this)); + } + + public void setMaxZoom(ZoomLevel value) { + OsmAndCoreJNI.IOnlineTileSources_Source_maxZoom_set(swigCPtr, this, value.swigValue()); + } + + public ZoomLevel getMaxZoom() { + return ZoomLevel.swigToEnum(OsmAndCoreJNI.IOnlineTileSources_Source_maxZoom_get(swigCPtr, this)); + } + + public void setMaxConcurrentDownloads(long value) { + OsmAndCoreJNI.IOnlineTileSources_Source_maxConcurrentDownloads_set(swigCPtr, this, value); + } + + public long getMaxConcurrentDownloads() { + return OsmAndCoreJNI.IOnlineTileSources_Source_maxConcurrentDownloads_get(swigCPtr, this); + } + + public void setTileSize(long value) { + OsmAndCoreJNI.IOnlineTileSources_Source_tileSize_set(swigCPtr, this, value); + } + + public long getTileSize() { + return OsmAndCoreJNI.IOnlineTileSources_Source_tileSize_get(swigCPtr, this); + } + + public void setAlphaChannelData(AlphaChannelData value) { + OsmAndCoreJNI.IOnlineTileSources_Source_alphaChannelData_set(swigCPtr, this, value.swigValue()); + } + + public AlphaChannelData getAlphaChannelData() { + return AlphaChannelData.swigToEnum(OsmAndCoreJNI.IOnlineTileSources_Source_alphaChannelData_get(swigCPtr, this)); + } + + } + + public SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__IOnlineTileSources__Source_const_t_t getCollection() { + return new SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__IOnlineTileSources__Source_const_t_t(OsmAndCoreJNI.IOnlineTileSources_getCollection(swigCPtr, this), true); + } + + public IOnlineTileSources.Source getSourceByName(String sourceName) { + long cPtr = OsmAndCoreJNI.IOnlineTileSources_getSourceByName(swigCPtr, this, sourceName); + return (cPtr == 0) ? null : new IOnlineTileSources.Source(cPtr, true); + } + + public OnlineRasterMapTileProvider createProviderFor(String sourceName) { + long cPtr = OsmAndCoreJNI.IOnlineTileSources_createProviderFor(swigCPtr, this, sourceName); + return (cPtr == 0) ? null : new OnlineRasterMapTileProvider(cPtr, true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/IntPtr.java b/OsmAnd/src/net/osmand/core/jni/IntPtr.java new file mode 100644 index 0000000000..fa771ca2b8 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/IntPtr.java @@ -0,0 +1,60 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class IntPtr { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected IntPtr(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(IntPtr obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_IntPtr(swigCPtr); + } + swigCPtr = 0; + } + } + + public IntPtr() { + this(OsmAndCoreJNI.new_IntPtr(), true); + } + + public void assign(int value) { + OsmAndCoreJNI.IntPtr_assign(swigCPtr, this, value); + } + + public int value() { + return OsmAndCoreJNI.IntPtr_value(swigCPtr, this); + } + + public SWIGTYPE_p_int cast() { + long cPtr = OsmAndCoreJNI.IntPtr_cast(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_int(cPtr, false); + } + + public static IntPtr frompointer(SWIGTYPE_p_int t) { + long cPtr = OsmAndCoreJNI.IntPtr_frompointer(SWIGTYPE_p_int.getCPtr(t)); + return (cPtr == 0) ? null : new IntPtr(cPtr, false); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/KeyedMapSymbolsData.java b/OsmAnd/src/net/osmand/core/jni/KeyedMapSymbolsData.java new file mode 100644 index 0000000000..419b6a9dff --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/KeyedMapSymbolsData.java @@ -0,0 +1,57 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class KeyedMapSymbolsData extends MapKeyedData { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected KeyedMapSymbolsData(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.KeyedMapSymbolsData_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(KeyedMapSymbolsData obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_KeyedMapSymbolsData(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public KeyedMapSymbolsData(MapSymbolsGroup symbolsGroup, SWIGTYPE_p_void key) { + this(OsmAndCoreJNI.new_KeyedMapSymbolsData(MapSymbolsGroup.getCPtr(symbolsGroup), symbolsGroup, SWIGTYPE_p_void.getCPtr(key)), true); + } + + public void setSymbolsGroup(MapSymbolsGroup value) { + OsmAndCoreJNI.KeyedMapSymbolsData_symbolsGroup_set(swigCPtr, this, MapSymbolsGroup.getCPtr(value), value); + } + + public MapSymbolsGroup getSymbolsGroup() { + long cPtr = OsmAndCoreJNI.KeyedMapSymbolsData_symbolsGroup_get(swigCPtr, this); + return (cPtr == 0) ? null : new MapSymbolsGroup(cPtr, true); + } + + public void releaseConsumableContent() { + OsmAndCoreJNI.KeyedMapSymbolsData_releaseConsumableContent(swigCPtr, this); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/LanguageId.java b/OsmAnd/src/net/osmand/core/jni/LanguageId.java new file mode 100644 index 0000000000..a840216174 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/LanguageId.java @@ -0,0 +1,53 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public enum LanguageId { + Invariant(OsmAndCoreJNI.LanguageId_Invariant_get()), + Localized, + Native; + + public final int swigValue() { + return swigValue; + } + + public static LanguageId swigToEnum(int swigValue) { + LanguageId[] swigValues = LanguageId.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (LanguageId swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + LanguageId.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private LanguageId() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private LanguageId(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private LanguageId(LanguageId swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/LatLon.java b/OsmAnd/src/net/osmand/core/jni/LatLon.java new file mode 100644 index 0000000000..1456adeb79 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/LatLon.java @@ -0,0 +1,66 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class LatLon { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected LatLon(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(LatLon obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_LatLon(swigCPtr); + } + swigCPtr = 0; + } + } + + public void setLatitude(double value) { + OsmAndCoreJNI.LatLon_latitude_set(swigCPtr, this, value); + } + + public double getLatitude() { + return OsmAndCoreJNI.LatLon_latitude_get(swigCPtr, this); + } + + public void setLongitude(double value) { + OsmAndCoreJNI.LatLon_longitude_set(swigCPtr, this, value); + } + + public double getLongitude() { + return OsmAndCoreJNI.LatLon_longitude_get(swigCPtr, this); + } + + public LatLon() { + this(OsmAndCoreJNI.new_LatLon__SWIG_0(), true); + } + + public LatLon(LatLon that) { + this(OsmAndCoreJNI.new_LatLon__SWIG_1(LatLon.getCPtr(that), that), true); + } + + public LatLon(double latitude, double longitude) { + this(OsmAndCoreJNI.new_LatLon__SWIG_2(latitude, longitude), true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/LogSeverityLevel.java b/OsmAnd/src/net/osmand/core/jni/LogSeverityLevel.java new file mode 100644 index 0000000000..7585922dbc --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/LogSeverityLevel.java @@ -0,0 +1,54 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public enum LogSeverityLevel { + Error(OsmAndCoreJNI.LogSeverityLevel_Error_get()), + Warning, + Debug, + Info; + + public final int swigValue() { + return swigValue; + } + + public static LogSeverityLevel swigToEnum(int swigValue) { + LogSeverityLevel[] swigValues = LogSeverityLevel.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (LogSeverityLevel swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + LogSeverityLevel.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private LogSeverityLevel() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private LogSeverityLevel(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private LogSeverityLevel(LogSeverityLevel swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/Logger.java b/OsmAnd/src/net/osmand/core/jni/Logger.java new file mode 100644 index 0000000000..1e68da375c --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/Logger.java @@ -0,0 +1,63 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class Logger { + private long swigCPtr; + private boolean swigCMemOwn; + + protected Logger(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(Logger obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_Logger(swigCPtr); + } + swigCPtr = 0; + } + } + + public SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__ILogSink_t_t getCurrentLogSinks() { + return new SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__ILogSink_t_t(OsmAndCoreJNI.Logger_getCurrentLogSinks(swigCPtr, this), true); + } + + public void addLogSink(ILogSink logSink) { + OsmAndCoreJNI.Logger_addLogSink(swigCPtr, this, ILogSink.getCPtr(logSink), logSink); + } + + public void removeLogSink(ILogSink logSink) { + OsmAndCoreJNI.Logger_removeLogSink(swigCPtr, this, ILogSink.getCPtr(logSink), logSink); + } + + public void removeAllLogSinks() { + OsmAndCoreJNI.Logger_removeAllLogSinks(swigCPtr, this); + } + + public void flush() { + OsmAndCoreJNI.Logger_flush(swigCPtr, this); + } + + public static Logger get() { + long cPtr = OsmAndCoreJNI.Logger_get(); + return (cPtr == 0) ? null : new Logger(cPtr, true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/MapData.java b/OsmAnd/src/net/osmand/core/jni/MapData.java new file mode 100644 index 0000000000..6567b32156 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/MapData.java @@ -0,0 +1,50 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class MapData { + private long swigCPtr; + private boolean swigCMemOwn; + + protected MapData(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(MapData obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_MapData(swigCPtr); + } + swigCPtr = 0; + } + } + + public IMapDataProvider.DataType getDataType() { + return IMapDataProvider.DataType.swigToEnum(OsmAndCoreJNI.MapData_dataType_get(swigCPtr, this)); + } + + public boolean getConsumableContentReleased() { + return OsmAndCoreJNI.MapData_consumableContentReleased_get(swigCPtr, this); + } + + public void releaseConsumableContent() { + OsmAndCoreJNI.MapData_releaseConsumableContent(swigCPtr, this); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/MapFoundationType.java b/OsmAnd/src/net/osmand/core/jni/MapFoundationType.java new file mode 100644 index 0000000000..0f66289117 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/MapFoundationType.java @@ -0,0 +1,54 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public enum MapFoundationType { + Undefined(OsmAndCoreJNI.MapFoundationType_Undefined_get()), + Mixed, + FullLand, + FullWater; + + public final int swigValue() { + return swigValue; + } + + public static MapFoundationType swigToEnum(int swigValue) { + MapFoundationType[] swigValues = MapFoundationType.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (MapFoundationType swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + MapFoundationType.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private MapFoundationType() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private MapFoundationType(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private MapFoundationType(MapFoundationType swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/MapKeyedData.java b/OsmAnd/src/net/osmand/core/jni/MapKeyedData.java new file mode 100644 index 0000000000..635ca8effc --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/MapKeyedData.java @@ -0,0 +1,45 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class MapKeyedData extends MapData { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected MapKeyedData(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.MapKeyedData_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(MapKeyedData obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_MapKeyedData(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public SWIGTYPE_p_void getKey() { + long cPtr = OsmAndCoreJNI.MapKeyedData_key_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_void(cPtr, false); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/MapPresentationEnvironment.java b/OsmAnd/src/net/osmand/core/jni/MapPresentationEnvironment.java new file mode 100644 index 0000000000..f2df80a147 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/MapPresentationEnvironment.java @@ -0,0 +1,136 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class MapPresentationEnvironment { + private long swigCPtr; + private boolean swigCMemOwn; + + protected MapPresentationEnvironment(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(MapPresentationEnvironment obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_MapPresentationEnvironment(swigCPtr); + } + swigCPtr = 0; + } + } + + public MapPresentationEnvironment(MapStyle style, float displayDensityFactor, String localeLanguageId, ICoreResourcesProvider externalResourcesProvider) { + this(OsmAndCoreJNI.new_MapPresentationEnvironment__SWIG_0(MapStyle.getCPtr(style), style, displayDensityFactor, localeLanguageId, ICoreResourcesProvider.getCPtr(externalResourcesProvider), externalResourcesProvider), true); + } + + public MapPresentationEnvironment(MapStyle style, float displayDensityFactor, String localeLanguageId) { + this(OsmAndCoreJNI.new_MapPresentationEnvironment__SWIG_1(MapStyle.getCPtr(style), style, displayDensityFactor, localeLanguageId), true); + } + + public MapPresentationEnvironment(MapStyle style, float displayDensityFactor) { + this(OsmAndCoreJNI.new_MapPresentationEnvironment__SWIG_2(MapStyle.getCPtr(style), style, displayDensityFactor), true); + } + + public MapPresentationEnvironment(MapStyle style) { + this(OsmAndCoreJNI.new_MapPresentationEnvironment__SWIG_3(MapStyle.getCPtr(style), style), true); + } + + public MapStyleBuiltinValueDefinitions getStyleBuiltinValueDefs() { + long cPtr = OsmAndCoreJNI.MapPresentationEnvironment_styleBuiltinValueDefs_get(swigCPtr, this); + return (cPtr == 0) ? null : new MapStyleBuiltinValueDefinitions(cPtr, true); + } + + public MapStyle getStyle() { + long cPtr = OsmAndCoreJNI.MapPresentationEnvironment_style_get(swigCPtr, this); + return (cPtr == 0) ? null : new MapStyle(cPtr, true); + } + + public float getDisplayDensityFactor() { + return OsmAndCoreJNI.MapPresentationEnvironment_displayDensityFactor_get(swigCPtr, this); + } + + public String getLocaleLanguageId() { + return OsmAndCoreJNI.MapPresentationEnvironment_localeLanguageId_get(swigCPtr, this); + } + + public ICoreResourcesProvider getExternalResourcesProvider() { + long cPtr = OsmAndCoreJNI.MapPresentationEnvironment_externalResourcesProvider_get(swigCPtr, this); + return (cPtr == 0) ? null : new ICoreResourcesProvider(cPtr, true); + } + + public SWIGTYPE_p_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_const_t getDummyMapSection() { + return new SWIGTYPE_p_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_const_t(OsmAndCoreJNI.MapPresentationEnvironment_dummyMapSection_get(swigCPtr, this), false); + } + + public SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapStyleValueDefinition_const_t_OsmAnd__MapStyleValue_t getSettings() { + return new SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapStyleValueDefinition_const_t_OsmAnd__MapStyleValue_t(OsmAndCoreJNI.MapPresentationEnvironment_getSettings(swigCPtr, this), true); + } + + public void setSettings(SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapStyleValueDefinition_const_t_OsmAnd__MapStyleValue_t newSettings) { + OsmAndCoreJNI.MapPresentationEnvironment_setSettings__SWIG_0(swigCPtr, this, SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapStyleValueDefinition_const_t_OsmAnd__MapStyleValue_t.getCPtr(newSettings)); + } + + public void setSettings(SWIGTYPE_p_QHashT_QString_QString_t newSettings) { + OsmAndCoreJNI.MapPresentationEnvironment_setSettings__SWIG_1(swigCPtr, this, SWIGTYPE_p_QHashT_QString_QString_t.getCPtr(newSettings)); + } + + public void applyTo(SWIGTYPE_p_OsmAnd__MapStyleEvaluator evaluator) { + OsmAndCoreJNI.MapPresentationEnvironment_applyTo(swigCPtr, this, SWIGTYPE_p_OsmAnd__MapStyleEvaluator.getCPtr(evaluator)); + } + + public boolean obtainShaderBitmap(String name, SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t outShaderBitmap) { + return OsmAndCoreJNI.MapPresentationEnvironment_obtainShaderBitmap(swigCPtr, this, name, SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t.getCPtr(outShaderBitmap)); + } + + public boolean obtainMapIcon(String name, SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t outIcon) { + return OsmAndCoreJNI.MapPresentationEnvironment_obtainMapIcon(swigCPtr, this, name, SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t.getCPtr(outIcon)); + } + + public boolean obtainTextShield(String name, SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t outTextShield) { + return OsmAndCoreJNI.MapPresentationEnvironment_obtainTextShield(swigCPtr, this, name, SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t.getCPtr(outTextShield)); + } + + public boolean obtainIconShield(String name, SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t outIconShield) { + return OsmAndCoreJNI.MapPresentationEnvironment_obtainIconShield(swigCPtr, this, name, SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t.getCPtr(outIconShield)); + } + + public ColorARGB getDefaultBackgroundColor(ZoomLevel zoom) { + return new ColorARGB(OsmAndCoreJNI.MapPresentationEnvironment_getDefaultBackgroundColor(swigCPtr, this, zoom.swigValue()), true); + } + + public void obtainShadowRenderingOptions(ZoomLevel zoom, SWIGTYPE_p_int mode, ColorARGB color) { + OsmAndCoreJNI.MapPresentationEnvironment_obtainShadowRenderingOptions(swigCPtr, this, zoom.swigValue(), SWIGTYPE_p_int.getCPtr(mode), ColorARGB.getCPtr(color), color); + } + + public double getPolygonAreaMinimalThreshold(ZoomLevel zoom) { + return OsmAndCoreJNI.MapPresentationEnvironment_getPolygonAreaMinimalThreshold(swigCPtr, this, zoom.swigValue()); + } + + public long getRoadDensityZoomTile(ZoomLevel zoom) { + return OsmAndCoreJNI.MapPresentationEnvironment_getRoadDensityZoomTile(swigCPtr, this, zoom.swigValue()); + } + + public long getRoadsDensityLimitPerTile(ZoomLevel zoom) { + return OsmAndCoreJNI.MapPresentationEnvironment_getRoadsDensityLimitPerTile(swigCPtr, this, zoom.swigValue()); + } + + public final static int DefaultShadowLevelMin = OsmAndCoreJNI.MapPresentationEnvironment_DefaultShadowLevelMin_get(); + public final static int DefaultShadowLevelMax = OsmAndCoreJNI.MapPresentationEnvironment_DefaultShadowLevelMax_get(); + +} diff --git a/OsmAnd/src/net/osmand/core/jni/MapRendererClass.java b/OsmAnd/src/net/osmand/core/jni/MapRendererClass.java new file mode 100644 index 0000000000..365d2f5448 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/MapRendererClass.java @@ -0,0 +1,52 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public enum MapRendererClass { + AtlasMapRenderer_OpenGL2plus, + AtlasMapRenderer_OpenGLES2; + + public final int swigValue() { + return swigValue; + } + + public static MapRendererClass swigToEnum(int swigValue) { + MapRendererClass[] swigValues = MapRendererClass.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (MapRendererClass swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + MapRendererClass.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private MapRendererClass() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private MapRendererClass(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private MapRendererClass(MapRendererClass swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/MapRendererConfiguration.java b/OsmAnd/src/net/osmand/core/jni/MapRendererConfiguration.java new file mode 100644 index 0000000000..d77aed03cd --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/MapRendererConfiguration.java @@ -0,0 +1,83 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class MapRendererConfiguration { + private long swigCPtr; + private boolean swigCMemOwn; + + protected MapRendererConfiguration(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(MapRendererConfiguration obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_MapRendererConfiguration(swigCPtr); + } + swigCPtr = 0; + } + } + + public MapRendererConfiguration() { + this(OsmAndCoreJNI.new_MapRendererConfiguration(), true); + } + + public void setTexturesFilteringQuality(TextureFilteringQuality value) { + OsmAndCoreJNI.MapRendererConfiguration_texturesFilteringQuality_set(swigCPtr, this, value.swigValue()); + } + + public TextureFilteringQuality getTexturesFilteringQuality() { + return TextureFilteringQuality.swigToEnum(OsmAndCoreJNI.MapRendererConfiguration_texturesFilteringQuality_get(swigCPtr, this)); + } + + public void setLimitTextureColorDepthBy16bits(boolean value) { + OsmAndCoreJNI.MapRendererConfiguration_limitTextureColorDepthBy16bits_set(swigCPtr, this, value); + } + + public boolean getLimitTextureColorDepthBy16bits() { + return OsmAndCoreJNI.MapRendererConfiguration_limitTextureColorDepthBy16bits_get(swigCPtr, this); + } + + public void setHeixelsPerTileSide(long value) { + OsmAndCoreJNI.MapRendererConfiguration_heixelsPerTileSide_set(swigCPtr, this, value); + } + + public long getHeixelsPerTileSide() { + return OsmAndCoreJNI.MapRendererConfiguration_heixelsPerTileSide_get(swigCPtr, this); + } + + public void setPaletteTexturesAllowed(boolean value) { + OsmAndCoreJNI.MapRendererConfiguration_paletteTexturesAllowed_set(swigCPtr, this, value); + } + + public boolean getPaletteTexturesAllowed() { + return OsmAndCoreJNI.MapRendererConfiguration_paletteTexturesAllowed_get(swigCPtr, this); + } + + public void copyTo(MapRendererConfiguration other) { + OsmAndCoreJNI.MapRendererConfiguration_copyTo(swigCPtr, this, MapRendererConfiguration.getCPtr(other), other); + } + + public MapRendererConfiguration createCopy() { + long cPtr = OsmAndCoreJNI.MapRendererConfiguration_createCopy(swigCPtr, this); + return (cPtr == 0) ? null : new MapRendererConfiguration(cPtr, true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/MapRendererDebugSettings.java b/OsmAnd/src/net/osmand/core/jni/MapRendererDebugSettings.java new file mode 100644 index 0000000000..14a89fe027 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/MapRendererDebugSettings.java @@ -0,0 +1,187 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class MapRendererDebugSettings { + private long swigCPtr; + private boolean swigCMemOwn; + + protected MapRendererDebugSettings(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(MapRendererDebugSettings obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_MapRendererDebugSettings(swigCPtr); + } + swigCPtr = 0; + } + } + + public MapRendererDebugSettings() { + this(OsmAndCoreJNI.new_MapRendererDebugSettings(), true); + } + + public void setDebugStageEnabled(boolean value) { + OsmAndCoreJNI.MapRendererDebugSettings_debugStageEnabled_set(swigCPtr, this, value); + } + + public boolean getDebugStageEnabled() { + return OsmAndCoreJNI.MapRendererDebugSettings_debugStageEnabled_get(swigCPtr, this); + } + + public void setExcludeOnPathSymbolsFromProcessing(boolean value) { + OsmAndCoreJNI.MapRendererDebugSettings_excludeOnPathSymbolsFromProcessing_set(swigCPtr, this, value); + } + + public boolean getExcludeOnPathSymbolsFromProcessing() { + return OsmAndCoreJNI.MapRendererDebugSettings_excludeOnPathSymbolsFromProcessing_get(swigCPtr, this); + } + + public void setExcludeBillboardSymbolsFromProcessing(boolean value) { + OsmAndCoreJNI.MapRendererDebugSettings_excludeBillboardSymbolsFromProcessing_set(swigCPtr, this, value); + } + + public boolean getExcludeBillboardSymbolsFromProcessing() { + return OsmAndCoreJNI.MapRendererDebugSettings_excludeBillboardSymbolsFromProcessing_get(swigCPtr, this); + } + + public void setExcludeOnSurfaceSymbolsFromProcessing(boolean value) { + OsmAndCoreJNI.MapRendererDebugSettings_excludeOnSurfaceSymbolsFromProcessing_set(swigCPtr, this, value); + } + + public boolean getExcludeOnSurfaceSymbolsFromProcessing() { + return OsmAndCoreJNI.MapRendererDebugSettings_excludeOnSurfaceSymbolsFromProcessing_get(swigCPtr, this); + } + + public void setSkipSymbolsIntersectionCheck(boolean value) { + OsmAndCoreJNI.MapRendererDebugSettings_skipSymbolsIntersectionCheck_set(swigCPtr, this, value); + } + + public boolean getSkipSymbolsIntersectionCheck() { + return OsmAndCoreJNI.MapRendererDebugSettings_skipSymbolsIntersectionCheck_get(swigCPtr, this); + } + + public void setShowSymbolsBBoxesAcceptedByIntersectionCheck(boolean value) { + OsmAndCoreJNI.MapRendererDebugSettings_showSymbolsBBoxesAcceptedByIntersectionCheck_set(swigCPtr, this, value); + } + + public boolean getShowSymbolsBBoxesAcceptedByIntersectionCheck() { + return OsmAndCoreJNI.MapRendererDebugSettings_showSymbolsBBoxesAcceptedByIntersectionCheck_get(swigCPtr, this); + } + + public void setShowSymbolsBBoxesRejectedByIntersectionCheck(boolean value) { + OsmAndCoreJNI.MapRendererDebugSettings_showSymbolsBBoxesRejectedByIntersectionCheck_set(swigCPtr, this, value); + } + + public boolean getShowSymbolsBBoxesRejectedByIntersectionCheck() { + return OsmAndCoreJNI.MapRendererDebugSettings_showSymbolsBBoxesRejectedByIntersectionCheck_get(swigCPtr, this); + } + + public void setSkipSymbolsMinDistanceToSameContentFromOtherSymbolCheck(boolean value) { + OsmAndCoreJNI.MapRendererDebugSettings_skipSymbolsMinDistanceToSameContentFromOtherSymbolCheck_set(swigCPtr, this, value); + } + + public boolean getSkipSymbolsMinDistanceToSameContentFromOtherSymbolCheck() { + return OsmAndCoreJNI.MapRendererDebugSettings_skipSymbolsMinDistanceToSameContentFromOtherSymbolCheck_get(swigCPtr, this); + } + + public void setShowSymbolsBBoxesRejectedByMinDistanceToSameContentFromOtherSymbolCheck(boolean value) { + OsmAndCoreJNI.MapRendererDebugSettings_showSymbolsBBoxesRejectedByMinDistanceToSameContentFromOtherSymbolCheck_set(swigCPtr, this, value); + } + + public boolean getShowSymbolsBBoxesRejectedByMinDistanceToSameContentFromOtherSymbolCheck() { + return OsmAndCoreJNI.MapRendererDebugSettings_showSymbolsBBoxesRejectedByMinDistanceToSameContentFromOtherSymbolCheck_get(swigCPtr, this); + } + + public void setShowSymbolsCheckBBoxesRejectedByMinDistanceToSameContentFromOtherSymbolCheck(boolean value) { + OsmAndCoreJNI.MapRendererDebugSettings_showSymbolsCheckBBoxesRejectedByMinDistanceToSameContentFromOtherSymbolCheck_set(swigCPtr, this, value); + } + + public boolean getShowSymbolsCheckBBoxesRejectedByMinDistanceToSameContentFromOtherSymbolCheck() { + return OsmAndCoreJNI.MapRendererDebugSettings_showSymbolsCheckBBoxesRejectedByMinDistanceToSameContentFromOtherSymbolCheck_get(swigCPtr, this); + } + + public void setShowSymbolsBBoxesRejectedByPresentationMode(boolean value) { + OsmAndCoreJNI.MapRendererDebugSettings_showSymbolsBBoxesRejectedByPresentationMode_set(swigCPtr, this, value); + } + + public boolean getShowSymbolsBBoxesRejectedByPresentationMode() { + return OsmAndCoreJNI.MapRendererDebugSettings_showSymbolsBBoxesRejectedByPresentationMode_get(swigCPtr, this); + } + + public void setShowOnPathSymbolsRenderablesPaths(boolean value) { + OsmAndCoreJNI.MapRendererDebugSettings_showOnPathSymbolsRenderablesPaths_set(swigCPtr, this, value); + } + + public boolean getShowOnPathSymbolsRenderablesPaths() { + return OsmAndCoreJNI.MapRendererDebugSettings_showOnPathSymbolsRenderablesPaths_get(swigCPtr, this); + } + + public void setShowOnPath2dSymbolGlyphDetails(boolean value) { + OsmAndCoreJNI.MapRendererDebugSettings_showOnPath2dSymbolGlyphDetails_set(swigCPtr, this, value); + } + + public boolean getShowOnPath2dSymbolGlyphDetails() { + return OsmAndCoreJNI.MapRendererDebugSettings_showOnPath2dSymbolGlyphDetails_get(swigCPtr, this); + } + + public void setShowOnPath3dSymbolGlyphDetails(boolean value) { + OsmAndCoreJNI.MapRendererDebugSettings_showOnPath3dSymbolGlyphDetails_set(swigCPtr, this, value); + } + + public boolean getShowOnPath3dSymbolGlyphDetails() { + return OsmAndCoreJNI.MapRendererDebugSettings_showOnPath3dSymbolGlyphDetails_get(swigCPtr, this); + } + + public void setAllSymbolsTransparentForIntersectionLookup(boolean value) { + OsmAndCoreJNI.MapRendererDebugSettings_allSymbolsTransparentForIntersectionLookup_set(swigCPtr, this, value); + } + + public boolean getAllSymbolsTransparentForIntersectionLookup() { + return OsmAndCoreJNI.MapRendererDebugSettings_allSymbolsTransparentForIntersectionLookup_get(swigCPtr, this); + } + + public void setShowTooShortOnPathSymbolsRenderablesPaths(boolean value) { + OsmAndCoreJNI.MapRendererDebugSettings_showTooShortOnPathSymbolsRenderablesPaths_set(swigCPtr, this, value); + } + + public boolean getShowTooShortOnPathSymbolsRenderablesPaths() { + return OsmAndCoreJNI.MapRendererDebugSettings_showTooShortOnPathSymbolsRenderablesPaths_get(swigCPtr, this); + } + + public void setShowAllPaths(boolean value) { + OsmAndCoreJNI.MapRendererDebugSettings_showAllPaths_set(swigCPtr, this, value); + } + + public boolean getShowAllPaths() { + return OsmAndCoreJNI.MapRendererDebugSettings_showAllPaths_get(swigCPtr, this); + } + + public void copyTo(MapRendererDebugSettings other) { + OsmAndCoreJNI.MapRendererDebugSettings_copyTo(swigCPtr, this, MapRendererDebugSettings.getCPtr(other), other); + } + + public MapRendererDebugSettings createCopy() { + long cPtr = OsmAndCoreJNI.MapRendererDebugSettings_createCopy(swigCPtr, this); + return (cPtr == 0) ? null : new MapRendererDebugSettings(cPtr, true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/MapRendererSetupOptions.java b/OsmAnd/src/net/osmand/core/jni/MapRendererSetupOptions.java new file mode 100644 index 0000000000..4aeafcb61f --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/MapRendererSetupOptions.java @@ -0,0 +1,248 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class MapRendererSetupOptions { + private long swigCPtr; + private boolean swigCMemOwn; + + protected MapRendererSetupOptions(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(MapRendererSetupOptions obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_MapRendererSetupOptions(swigCPtr); + } + swigCPtr = 0; + } + } + + public MapRendererSetupOptions() { + this(OsmAndCoreJNI.new_MapRendererSetupOptions(), true); + } + + static public class IGpuWorkerThreadPrologue { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected IGpuWorkerThreadPrologue(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(IGpuWorkerThreadPrologue obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_MapRendererSetupOptions_IGpuWorkerThreadPrologue(swigCPtr); + } + swigCPtr = 0; + } + } + + protected void swigDirectorDisconnect() { + swigCMemOwn = false; + delete(); + } + + public void swigReleaseOwnership() { + swigCMemOwn = false; + OsmAndCoreJNI.MapRendererSetupOptions_IGpuWorkerThreadPrologue_change_ownership(this, swigCPtr, false); + } + + public void swigTakeOwnership() { + swigCMemOwn = true; + OsmAndCoreJNI.MapRendererSetupOptions_IGpuWorkerThreadPrologue_change_ownership(this, swigCPtr, true); + } + + public IGpuWorkerThreadPrologue() { + this(OsmAndCoreJNI.new_MapRendererSetupOptions_IGpuWorkerThreadPrologue(), true); + OsmAndCoreJNI.MapRendererSetupOptions_IGpuWorkerThreadPrologue_director_connect(this, swigCPtr, swigCMemOwn, true); + } + + public void method(IMapRenderer mapRenderer) { + OsmAndCoreJNI.MapRendererSetupOptions_IGpuWorkerThreadPrologue_method(swigCPtr, this, IMapRenderer.getCPtr(mapRenderer), mapRenderer); + } + + public SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue getBinding() { + return new SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue(OsmAndCoreJNI.MapRendererSetupOptions_IGpuWorkerThreadPrologue_getBinding(swigCPtr, this), true); + } + + } + + static public class IGpuWorkerThreadEpilogue { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected IGpuWorkerThreadEpilogue(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(IGpuWorkerThreadEpilogue obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_MapRendererSetupOptions_IGpuWorkerThreadEpilogue(swigCPtr); + } + swigCPtr = 0; + } + } + + protected void swigDirectorDisconnect() { + swigCMemOwn = false; + delete(); + } + + public void swigReleaseOwnership() { + swigCMemOwn = false; + OsmAndCoreJNI.MapRendererSetupOptions_IGpuWorkerThreadEpilogue_change_ownership(this, swigCPtr, false); + } + + public void swigTakeOwnership() { + swigCMemOwn = true; + OsmAndCoreJNI.MapRendererSetupOptions_IGpuWorkerThreadEpilogue_change_ownership(this, swigCPtr, true); + } + + public IGpuWorkerThreadEpilogue() { + this(OsmAndCoreJNI.new_MapRendererSetupOptions_IGpuWorkerThreadEpilogue(), true); + OsmAndCoreJNI.MapRendererSetupOptions_IGpuWorkerThreadEpilogue_director_connect(this, swigCPtr, swigCMemOwn, true); + } + + public void method(IMapRenderer mapRenderer) { + OsmAndCoreJNI.MapRendererSetupOptions_IGpuWorkerThreadEpilogue_method(swigCPtr, this, IMapRenderer.getCPtr(mapRenderer), mapRenderer); + } + + public SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue getBinding() { + return new SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue(OsmAndCoreJNI.MapRendererSetupOptions_IGpuWorkerThreadEpilogue_getBinding(swigCPtr, this), true); + } + + } + + public void setGpuWorkerThreadEnabled(boolean value) { + OsmAndCoreJNI.MapRendererSetupOptions_gpuWorkerThreadEnabled_set(swigCPtr, this, value); + } + + public boolean getGpuWorkerThreadEnabled() { + return OsmAndCoreJNI.MapRendererSetupOptions_gpuWorkerThreadEnabled_get(swigCPtr, this); + } + + public void setGpuWorkerThreadPrologue(SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue value) { + OsmAndCoreJNI.MapRendererSetupOptions_gpuWorkerThreadPrologue_set(swigCPtr, this, SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue.getCPtr(value)); + } + + public SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue getGpuWorkerThreadPrologue() { + long cPtr = OsmAndCoreJNI.MapRendererSetupOptions_gpuWorkerThreadPrologue_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue(cPtr, false); + } + + public void setGpuWorkerThreadEpilogue(SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue value) { + OsmAndCoreJNI.MapRendererSetupOptions_gpuWorkerThreadEpilogue_set(swigCPtr, this, SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue.getCPtr(value)); + } + + public SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue getGpuWorkerThreadEpilogue() { + long cPtr = OsmAndCoreJNI.MapRendererSetupOptions_gpuWorkerThreadEpilogue_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue(cPtr, false); + } + + static public class IFrameUpdateRequestCallback { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected IFrameUpdateRequestCallback(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(IFrameUpdateRequestCallback obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_MapRendererSetupOptions_IFrameUpdateRequestCallback(swigCPtr); + } + swigCPtr = 0; + } + } + + protected void swigDirectorDisconnect() { + swigCMemOwn = false; + delete(); + } + + public void swigReleaseOwnership() { + swigCMemOwn = false; + OsmAndCoreJNI.MapRendererSetupOptions_IFrameUpdateRequestCallback_change_ownership(this, swigCPtr, false); + } + + public void swigTakeOwnership() { + swigCMemOwn = true; + OsmAndCoreJNI.MapRendererSetupOptions_IFrameUpdateRequestCallback_change_ownership(this, swigCPtr, true); + } + + public IFrameUpdateRequestCallback() { + this(OsmAndCoreJNI.new_MapRendererSetupOptions_IFrameUpdateRequestCallback(), true); + OsmAndCoreJNI.MapRendererSetupOptions_IFrameUpdateRequestCallback_director_connect(this, swigCPtr, swigCMemOwn, true); + } + + public void method(IMapRenderer mapRenderer) { + OsmAndCoreJNI.MapRendererSetupOptions_IFrameUpdateRequestCallback_method(swigCPtr, this, IMapRenderer.getCPtr(mapRenderer), mapRenderer); + } + + public SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback getBinding() { + return new SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback(OsmAndCoreJNI.MapRendererSetupOptions_IFrameUpdateRequestCallback_getBinding(swigCPtr, this), true); + } + + } + + public void setFrameUpdateRequestCallback(SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback value) { + OsmAndCoreJNI.MapRendererSetupOptions_frameUpdateRequestCallback_set(swigCPtr, this, SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback.getCPtr(value)); + } + + public SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback getFrameUpdateRequestCallback() { + long cPtr = OsmAndCoreJNI.MapRendererSetupOptions_frameUpdateRequestCallback_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback(cPtr, false); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/MapRendererState.java b/OsmAnd/src/net/osmand/core/jni/MapRendererState.java new file mode 100644 index 0000000000..37405bd2a2 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/MapRendererState.java @@ -0,0 +1,209 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class MapRendererState { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected MapRendererState(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(MapRendererState obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_MapRendererState(swigCPtr); + } + swigCPtr = 0; + } + } + + public MapRendererState() { + this(OsmAndCoreJNI.new_MapRendererState(), true); + } + + public void setRasterLayerProviders(SWIGTYPE_p_std__arrayT_std__shared_ptrT_OsmAnd__IMapRasterBitmapTileProvider_t_OsmAnd__RasterMapLayersCount_t value) { + OsmAndCoreJNI.MapRendererState_rasterLayerProviders_set(swigCPtr, this, SWIGTYPE_p_std__arrayT_std__shared_ptrT_OsmAnd__IMapRasterBitmapTileProvider_t_OsmAnd__RasterMapLayersCount_t.getCPtr(value)); + } + + public SWIGTYPE_p_std__arrayT_std__shared_ptrT_OsmAnd__IMapRasterBitmapTileProvider_t_OsmAnd__RasterMapLayersCount_t getRasterLayerProviders() { + return new SWIGTYPE_p_std__arrayT_std__shared_ptrT_OsmAnd__IMapRasterBitmapTileProvider_t_OsmAnd__RasterMapLayersCount_t(OsmAndCoreJNI.MapRendererState_rasterLayerProviders_get(swigCPtr, this), true); + } + + public void setRasterLayerOpacity(SWIGTYPE_p_std__arrayT_float_OsmAnd__RasterMapLayersCount_t value) { + OsmAndCoreJNI.MapRendererState_rasterLayerOpacity_set(swigCPtr, this, SWIGTYPE_p_std__arrayT_float_OsmAnd__RasterMapLayersCount_t.getCPtr(value)); + } + + public SWIGTYPE_p_std__arrayT_float_OsmAnd__RasterMapLayersCount_t getRasterLayerOpacity() { + return new SWIGTYPE_p_std__arrayT_float_OsmAnd__RasterMapLayersCount_t(OsmAndCoreJNI.MapRendererState_rasterLayerOpacity_get(swigCPtr, this), true); + } + + public void setElevationDataProvider(IMapElevationDataProvider value) { + OsmAndCoreJNI.MapRendererState_elevationDataProvider_set(swigCPtr, this, IMapElevationDataProvider.getCPtr(value), value); + } + + public IMapElevationDataProvider getElevationDataProvider() { + long cPtr = OsmAndCoreJNI.MapRendererState_elevationDataProvider_get(swigCPtr, this); + return (cPtr == 0) ? null : new IMapElevationDataProvider(cPtr, true); + } + + public void setElevationDataScaleFactor(float value) { + OsmAndCoreJNI.MapRendererState_elevationDataScaleFactor_set(swigCPtr, this, value); + } + + public float getElevationDataScaleFactor() { + return OsmAndCoreJNI.MapRendererState_elevationDataScaleFactor_get(swigCPtr, this); + } + + public void setSymbolProviders(SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__IMapDataProvider_t_t value) { + OsmAndCoreJNI.MapRendererState_symbolProviders_set(swigCPtr, this, SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__IMapDataProvider_t_t.getCPtr(value)); + } + + public SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__IMapDataProvider_t_t getSymbolProviders() { + long cPtr = OsmAndCoreJNI.MapRendererState_symbolProviders_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__IMapDataProvider_t_t(cPtr, false); + } + + public void setWindowSize(PointI value) { + OsmAndCoreJNI.MapRendererState_windowSize_set(swigCPtr, this, PointI.getCPtr(value), value); + } + + public PointI getWindowSize() { + long cPtr = OsmAndCoreJNI.MapRendererState_windowSize_get(swigCPtr, this); + return (cPtr == 0) ? null : new PointI(cPtr, false); + } + + public void setViewport(AreaI value) { + OsmAndCoreJNI.MapRendererState_viewport_set(swigCPtr, this, AreaI.getCPtr(value), value); + } + + public AreaI getViewport() { + long cPtr = OsmAndCoreJNI.MapRendererState_viewport_get(swigCPtr, this); + return (cPtr == 0) ? null : new AreaI(cPtr, false); + } + + public void setFieldOfView(float value) { + OsmAndCoreJNI.MapRendererState_fieldOfView_set(swigCPtr, this, value); + } + + public float getFieldOfView() { + return OsmAndCoreJNI.MapRendererState_fieldOfView_get(swigCPtr, this); + } + + public void setSkyColor(FColorRGB value) { + OsmAndCoreJNI.MapRendererState_skyColor_set(swigCPtr, this, FColorRGB.getCPtr(value), value); + } + + public FColorRGB getSkyColor() { + long cPtr = OsmAndCoreJNI.MapRendererState_skyColor_get(swigCPtr, this); + return (cPtr == 0) ? null : new FColorRGB(cPtr, false); + } + + public void setFogColor(FColorRGB value) { + OsmAndCoreJNI.MapRendererState_fogColor_set(swigCPtr, this, FColorRGB.getCPtr(value), value); + } + + public FColorRGB getFogColor() { + long cPtr = OsmAndCoreJNI.MapRendererState_fogColor_get(swigCPtr, this); + return (cPtr == 0) ? null : new FColorRGB(cPtr, false); + } + + public void setFogDistance(float value) { + OsmAndCoreJNI.MapRendererState_fogDistance_set(swigCPtr, this, value); + } + + public float getFogDistance() { + return OsmAndCoreJNI.MapRendererState_fogDistance_get(swigCPtr, this); + } + + public void setFogOriginFactor(float value) { + OsmAndCoreJNI.MapRendererState_fogOriginFactor_set(swigCPtr, this, value); + } + + public float getFogOriginFactor() { + return OsmAndCoreJNI.MapRendererState_fogOriginFactor_get(swigCPtr, this); + } + + public void setFogHeightOriginFactor(float value) { + OsmAndCoreJNI.MapRendererState_fogHeightOriginFactor_set(swigCPtr, this, value); + } + + public float getFogHeightOriginFactor() { + return OsmAndCoreJNI.MapRendererState_fogHeightOriginFactor_get(swigCPtr, this); + } + + public void setFogDensity(float value) { + OsmAndCoreJNI.MapRendererState_fogDensity_set(swigCPtr, this, value); + } + + public float getFogDensity() { + return OsmAndCoreJNI.MapRendererState_fogDensity_get(swigCPtr, this); + } + + public void setAzimuth(float value) { + OsmAndCoreJNI.MapRendererState_azimuth_set(swigCPtr, this, value); + } + + public float getAzimuth() { + return OsmAndCoreJNI.MapRendererState_azimuth_get(swigCPtr, this); + } + + public void setElevationAngle(float value) { + OsmAndCoreJNI.MapRendererState_elevationAngle_set(swigCPtr, this, value); + } + + public float getElevationAngle() { + return OsmAndCoreJNI.MapRendererState_elevationAngle_get(swigCPtr, this); + } + + public void setTarget31(PointI value) { + OsmAndCoreJNI.MapRendererState_target31_set(swigCPtr, this, PointI.getCPtr(value), value); + } + + public PointI getTarget31() { + long cPtr = OsmAndCoreJNI.MapRendererState_target31_get(swigCPtr, this); + return (cPtr == 0) ? null : new PointI(cPtr, false); + } + + public void setRequestedZoom(float value) { + OsmAndCoreJNI.MapRendererState_requestedZoom_set(swigCPtr, this, value); + } + + public float getRequestedZoom() { + return OsmAndCoreJNI.MapRendererState_requestedZoom_get(swigCPtr, this); + } + + public void setZoomBase(ZoomLevel value) { + OsmAndCoreJNI.MapRendererState_zoomBase_set(swigCPtr, this, value.swigValue()); + } + + public ZoomLevel getZoomBase() { + return ZoomLevel.swigToEnum(OsmAndCoreJNI.MapRendererState_zoomBase_get(swigCPtr, this)); + } + + public void setZoomFraction(float value) { + OsmAndCoreJNI.MapRendererState_zoomFraction_set(swigCPtr, this, value); + } + + public float getZoomFraction() { + return OsmAndCoreJNI.MapRendererState_zoomFraction_get(swigCPtr, this); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/MapRendererStateChange.java b/OsmAnd/src/net/osmand/core/jni/MapRendererStateChange.java new file mode 100644 index 0000000000..5d30213be7 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/MapRendererStateChange.java @@ -0,0 +1,64 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public enum MapRendererStateChange { + RasterLayers_Providers(OsmAndCoreJNI.MapRendererStateChange_RasterLayers_Providers_get()), + RasterLayers_Opacity, + ElevationData_Provider, + ElevationData_ScaleFactor, + Symbols_Providers, + WindowSize, + Viewport, + FieldOfView, + SkyColor, + FogParameters, + Azimuth, + ElevationAngle, + Target, + Zoom; + + public final int swigValue() { + return swigValue; + } + + public static MapRendererStateChange swigToEnum(int swigValue) { + MapRendererStateChange[] swigValues = MapRendererStateChange.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (MapRendererStateChange swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + MapRendererStateChange.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private MapRendererStateChange() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private MapRendererStateChange(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private MapRendererStateChange(MapRendererStateChange swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/MapRendererStateChanges.java b/OsmAnd/src/net/osmand/core/jni/MapRendererStateChanges.java new file mode 100644 index 0000000000..0f99539309 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/MapRendererStateChanges.java @@ -0,0 +1,62 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class MapRendererStateChanges { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected MapRendererStateChanges(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(MapRendererStateChanges obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_MapRendererStateChanges(swigCPtr); + } + swigCPtr = 0; + } + } + + public MapRendererStateChanges() { + this(OsmAndCoreJNI.new_MapRendererStateChanges__SWIG_0(), true); + } + + public MapRendererStateChanges(long storage_) { + this(OsmAndCoreJNI.new_MapRendererStateChanges__SWIG_1(storage_), true); + } + + public MapRendererStateChanges(SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT that) { + this(OsmAndCoreJNI.new_MapRendererStateChanges__SWIG_2(SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT.getCPtr(that)), true); + } + + public boolean isSet(MapRendererStateChange flag) { + return OsmAndCoreJNI.MapRendererStateChanges_isSet(swigCPtr, this, flag.swigValue()); + } + + public SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT set(MapRendererStateChange flag) { + return new SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT(OsmAndCoreJNI.MapRendererStateChanges_set(swigCPtr, this, flag.swigValue()), false); + } + + public SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT unset(MapRendererStateChange flag) { + return new SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT(OsmAndCoreJNI.MapRendererStateChanges_unset(swigCPtr, this, flag.swigValue()), false); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/MapStyle.java b/OsmAnd/src/net/osmand/core/jni/MapStyle.java new file mode 100644 index 0000000000..cbacc2df88 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/MapStyle.java @@ -0,0 +1,116 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class MapStyle { + private long swigCPtr; + private boolean swigCMemOwn; + + protected MapStyle(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(MapStyle obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_MapStyle(swigCPtr); + } + swigCPtr = 0; + } + } + + public MapStyle(IMapStylesCollection collection, String name, SWIGTYPE_p_std__shared_ptrT_QIODevice_t source) { + this(OsmAndCoreJNI.new_MapStyle__SWIG_0(IMapStylesCollection.getCPtr(collection), collection, name, SWIGTYPE_p_std__shared_ptrT_QIODevice_t.getCPtr(source)), true); + } + + public MapStyle(IMapStylesCollection collection, String name, String fileName) { + this(OsmAndCoreJNI.new_MapStyle__SWIG_1(IMapStylesCollection.getCPtr(collection), collection, name, fileName), true); + } + + public MapStyle(IMapStylesCollection collection, String fileName) { + this(OsmAndCoreJNI.new_MapStyle__SWIG_2(IMapStylesCollection.getCPtr(collection), collection, fileName), true); + } + + public IMapStylesCollection getCollection() { + long cPtr = OsmAndCoreJNI.MapStyle_collection_get(swigCPtr, this); + return (cPtr == 0) ? null : new IMapStylesCollection(cPtr, true); + } + + public boolean isMetadataLoaded() { + return OsmAndCoreJNI.MapStyle_isMetadataLoaded(swigCPtr, this); + } + + public boolean loadMetadata() { + return OsmAndCoreJNI.MapStyle_loadMetadata(swigCPtr, this); + } + + public String getTitle() { + return OsmAndCoreJNI.MapStyle_title_get(swigCPtr, this); + } + + public String getName() { + return OsmAndCoreJNI.MapStyle_name_get(swigCPtr, this); + } + + public String getParentName() { + return OsmAndCoreJNI.MapStyle_parentName_get(swigCPtr, this); + } + + public boolean isStandalone() { + return OsmAndCoreJNI.MapStyle_isStandalone(swigCPtr, this); + } + + public boolean isLoaded() { + return OsmAndCoreJNI.MapStyle_isLoaded(swigCPtr, this); + } + + public boolean load() { + return OsmAndCoreJNI.MapStyle_load(swigCPtr, this); + } + + public boolean resolveValueDefinition(String name, MapStyleValueDefinition outDefinition) { + return OsmAndCoreJNI.MapStyle_resolveValueDefinition(swigCPtr, this, name, MapStyleValueDefinition.getCPtr(outDefinition), outDefinition); + } + + public boolean resolveAttribute(String name, MapStyleRule outAttribute) { + return OsmAndCoreJNI.MapStyle_resolveAttribute(swigCPtr, this, name, MapStyleRule.getCPtr(outAttribute), outAttribute); + } + + public void dump(String prefix) { + OsmAndCoreJNI.MapStyle_dump__SWIG_0(swigCPtr, this, prefix); + } + + public void dump() { + OsmAndCoreJNI.MapStyle_dump__SWIG_1(swigCPtr, this); + } + + public void dump(MapStyleRulesetType type, String prefix) { + OsmAndCoreJNI.MapStyle_dump__SWIG_2(swigCPtr, this, type.swigValue(), prefix); + } + + public void dump(MapStyleRulesetType type) { + OsmAndCoreJNI.MapStyle_dump__SWIG_3(swigCPtr, this, type.swigValue()); + } + + public static MapStyleBuiltinValueDefinitions getBuiltinValueDefinitions() { + long cPtr = OsmAndCoreJNI.MapStyle_getBuiltinValueDefinitions(); + return (cPtr == 0) ? null : new MapStyleBuiltinValueDefinitions(cPtr, true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/MapStyleBuiltinValueDefinitions.java b/OsmAnd/src/net/osmand/core/jni/MapStyleBuiltinValueDefinitions.java new file mode 100644 index 0000000000..99efc2ebda --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/MapStyleBuiltinValueDefinitions.java @@ -0,0 +1,38 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class MapStyleBuiltinValueDefinitions { + private long swigCPtr; + private boolean swigCMemOwn; + + protected MapStyleBuiltinValueDefinitions(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(MapStyleBuiltinValueDefinitions obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_MapStyleBuiltinValueDefinitions(swigCPtr); + } + swigCPtr = 0; + } + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/MapStylePreset.java b/OsmAnd/src/net/osmand/core/jni/MapStylePreset.java new file mode 100644 index 0000000000..5d7f711c97 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/MapStylePreset.java @@ -0,0 +1,108 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class MapStylePreset { + private long swigCPtr; + private boolean swigCMemOwn; + + protected MapStylePreset(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(MapStylePreset obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_MapStylePreset(swigCPtr); + } + swigCPtr = 0; + } + } + + public MapStylePreset(MapStylePreset.Type type, String name, String styleName) { + this(OsmAndCoreJNI.new_MapStylePreset(type.swigValue(), name, styleName), true); + } + + public MapStylePreset.Type getType() { + return MapStylePreset.Type.swigToEnum(OsmAndCoreJNI.MapStylePreset_type_get(swigCPtr, this)); + } + + public String getName() { + return OsmAndCoreJNI.MapStylePreset_name_get(swigCPtr, this); + } + + public String getStyleName() { + return OsmAndCoreJNI.MapStylePreset_styleName_get(swigCPtr, this); + } + + public void setAttributes(SWIGTYPE_p_QHashT_QString_QString_t value) { + OsmAndCoreJNI.MapStylePreset_attributes_set(swigCPtr, this, SWIGTYPE_p_QHashT_QString_QString_t.getCPtr(value)); + } + + public SWIGTYPE_p_QHashT_QString_QString_t getAttributes() { + long cPtr = OsmAndCoreJNI.MapStylePreset_attributes_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_QHashT_QString_QString_t(cPtr, false); + } + + public enum Type { + General, + Pedestrian, + Bicycle, + Car, + Custom; + + public final int swigValue() { + return swigValue; + } + + public static Type swigToEnum(int swigValue) { + Type[] swigValues = Type.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (Type swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + Type.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private Type() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private Type(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private Type(Type swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/MapStyleRule.java b/OsmAnd/src/net/osmand/core/jni/MapStyleRule.java new file mode 100644 index 0000000000..e3b731f653 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/MapStyleRule.java @@ -0,0 +1,51 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class MapStyleRule { + private long swigCPtr; + private boolean swigCMemOwn; + + protected MapStyleRule(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(MapStyleRule obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_MapStyleRule(swigCPtr); + } + swigCPtr = 0; + } + } + + public MapStyle getOwner() { + long cPtr = OsmAndCoreJNI.MapStyleRule_owner_get(swigCPtr, this); + return (cPtr == 0) ? null : new MapStyle(cPtr, true); + } + + public void dump(String prefix) { + OsmAndCoreJNI.MapStyleRule_dump__SWIG_0(swigCPtr, this, prefix); + } + + public void dump() { + OsmAndCoreJNI.MapStyleRule_dump__SWIG_1(swigCPtr, this); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/MapStyleRulesetType.java b/OsmAnd/src/net/osmand/core/jni/MapStyleRulesetType.java new file mode 100644 index 0000000000..6bc4f776bd --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/MapStyleRulesetType.java @@ -0,0 +1,56 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public enum MapStyleRulesetType { + Invalid(OsmAndCoreJNI.MapStyleRulesetType_Invalid_get()), + Point(OsmAndCoreJNI.MapStyleRulesetType_Point_get()), + Polyline(OsmAndCoreJNI.MapStyleRulesetType_Polyline_get()), + Polygon(OsmAndCoreJNI.MapStyleRulesetType_Polygon_get()), + Text(OsmAndCoreJNI.MapStyleRulesetType_Text_get()), + Order(OsmAndCoreJNI.MapStyleRulesetType_Order_get()); + + public final int swigValue() { + return swigValue; + } + + public static MapStyleRulesetType swigToEnum(int swigValue) { + MapStyleRulesetType[] swigValues = MapStyleRulesetType.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (MapStyleRulesetType swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + MapStyleRulesetType.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private MapStyleRulesetType() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private MapStyleRulesetType(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private MapStyleRulesetType(MapStyleRulesetType swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/MapStyleValue.java b/OsmAnd/src/net/osmand/core/jni/MapStyleValue.java new file mode 100644 index 0000000000..dbd90c9569 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/MapStyleValue.java @@ -0,0 +1,50 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class MapStyleValue { + private long swigCPtr; + private boolean swigCMemOwn; + + protected MapStyleValue(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(MapStyleValue obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_MapStyleValue(swigCPtr); + } + swigCPtr = 0; + } + } + + public MapStyleValue() { + this(OsmAndCoreJNI.new_MapStyleValue(), true); + } + + public void setIsComplex(boolean value) { + OsmAndCoreJNI.MapStyleValue_isComplex_set(swigCPtr, this, value); + } + + public boolean getIsComplex() { + return OsmAndCoreJNI.MapStyleValue_isComplex_get(swigCPtr, this); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/MapStyleValueClass.java b/OsmAnd/src/net/osmand/core/jni/MapStyleValueClass.java new file mode 100644 index 0000000000..505f67844e --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/MapStyleValueClass.java @@ -0,0 +1,52 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public enum MapStyleValueClass { + Input, + Output; + + public final int swigValue() { + return swigValue; + } + + public static MapStyleValueClass swigToEnum(int swigValue) { + MapStyleValueClass[] swigValues = MapStyleValueClass.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (MapStyleValueClass swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + MapStyleValueClass.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private MapStyleValueClass() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private MapStyleValueClass(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private MapStyleValueClass(MapStyleValueClass swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/MapStyleValueDataType.java b/OsmAnd/src/net/osmand/core/jni/MapStyleValueDataType.java new file mode 100644 index 0000000000..9712d2d144 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/MapStyleValueDataType.java @@ -0,0 +1,55 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public enum MapStyleValueDataType { + Boolean, + Integer, + Float, + String, + Color; + + public final int swigValue() { + return swigValue; + } + + public static MapStyleValueDataType swigToEnum(int swigValue) { + MapStyleValueDataType[] swigValues = MapStyleValueDataType.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (MapStyleValueDataType swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + MapStyleValueDataType.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private MapStyleValueDataType() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private MapStyleValueDataType(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private MapStyleValueDataType(MapStyleValueDataType swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/MapStyleValueDefinition.java b/OsmAnd/src/net/osmand/core/jni/MapStyleValueDefinition.java new file mode 100644 index 0000000000..d23b8f74c1 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/MapStyleValueDefinition.java @@ -0,0 +1,58 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class MapStyleValueDefinition { + private long swigCPtr; + private boolean swigCMemOwn; + + protected MapStyleValueDefinition(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(MapStyleValueDefinition obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_MapStyleValueDefinition(swigCPtr); + } + swigCPtr = 0; + } + } + + public int getId() { + return OsmAndCoreJNI.MapStyleValueDefinition_id_get(swigCPtr, this); + } + + public MapStyleValueClass getValueClass() { + return MapStyleValueClass.swigToEnum(OsmAndCoreJNI.MapStyleValueDefinition_valueClass_get(swigCPtr, this)); + } + + public MapStyleValueDataType getDataType() { + return MapStyleValueDataType.swigToEnum(OsmAndCoreJNI.MapStyleValueDefinition_dataType_get(swigCPtr, this)); + } + + public String getName() { + return OsmAndCoreJNI.MapStyleValueDefinition_name_get(swigCPtr, this); + } + + public boolean getIsComplex() { + return OsmAndCoreJNI.MapStyleValueDefinition_isComplex_get(swigCPtr, this); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/MapStylesCollection.java b/OsmAnd/src/net/osmand/core/jni/MapStylesCollection.java new file mode 100644 index 0000000000..868f9b9df1 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/MapStylesCollection.java @@ -0,0 +1,61 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class MapStylesCollection extends IMapStylesCollection { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected MapStylesCollection(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.MapStylesCollection_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(MapStylesCollection obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_MapStylesCollection(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public MapStylesCollection() { + this(OsmAndCoreJNI.new_MapStylesCollection(), true); + } + + public boolean registerStyle(String filePath) { + return OsmAndCoreJNI.MapStylesCollection_registerStyle(swigCPtr, this, filePath); + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStyle_const_t_t getCollection() { + return new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStyle_const_t_t(OsmAndCoreJNI.MapStylesCollection_getCollection(swigCPtr, this), true); + } + + public MapStyle getAsIsStyle(String name) { + long cPtr = OsmAndCoreJNI.MapStylesCollection_getAsIsStyle(swigCPtr, this, name); + return (cPtr == 0) ? null : new MapStyle(cPtr, true); + } + + public boolean obtainBakedStyle(String name, MapStyle outStyle) { + return OsmAndCoreJNI.MapStylesCollection_obtainBakedStyle(swigCPtr, this, name, MapStyle.getCPtr(outStyle), outStyle); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/MapStylesPresetsCollection.java b/OsmAnd/src/net/osmand/core/jni/MapStylesPresetsCollection.java new file mode 100644 index 0000000000..718daa0731 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/MapStylesPresetsCollection.java @@ -0,0 +1,85 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class MapStylesPresetsCollection extends IMapStylesPresetsCollection { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected MapStylesPresetsCollection(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.MapStylesPresetsCollection_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(MapStylesPresetsCollection obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_MapStylesPresetsCollection(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public MapStylesPresetsCollection() { + this(OsmAndCoreJNI.new_MapStylesPresetsCollection(), true); + } + + public boolean loadFrom(SWIGTYPE_p_QByteArray content) { + return OsmAndCoreJNI.MapStylesPresetsCollection_loadFrom__SWIG_0(swigCPtr, this, SWIGTYPE_p_QByteArray.getCPtr(content)); + } + + public boolean loadFrom(SWIGTYPE_p_QIODevice ioDevice) { + return OsmAndCoreJNI.MapStylesPresetsCollection_loadFrom__SWIG_1(swigCPtr, this, SWIGTYPE_p_QIODevice.getCPtr(ioDevice)); + } + + public boolean loadFrom(String fileName) { + return OsmAndCoreJNI.MapStylesPresetsCollection_loadFrom__SWIG_2(swigCPtr, this, fileName); + } + + public boolean saveTo(SWIGTYPE_p_QIODevice ioDevice) { + return OsmAndCoreJNI.MapStylesPresetsCollection_saveTo__SWIG_0(swigCPtr, this, SWIGTYPE_p_QIODevice.getCPtr(ioDevice)); + } + + public boolean saveTo(String fileName) { + return OsmAndCoreJNI.MapStylesPresetsCollection_saveTo__SWIG_1(swigCPtr, this, fileName); + } + + public boolean addPreset(MapStylePreset preset) { + return OsmAndCoreJNI.MapStylesPresetsCollection_addPreset(swigCPtr, this, MapStylePreset.getCPtr(preset), preset); + } + + public boolean removePreset(MapStylePreset preset) { + return OsmAndCoreJNI.MapStylesPresetsCollection_removePreset(swigCPtr, this, MapStylePreset.getCPtr(preset), preset); + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t getCollection() { + return new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t(OsmAndCoreJNI.MapStylesPresetsCollection_getCollection__SWIG_0(swigCPtr, this), true); + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t getCollectionFor(String styleName) { + return new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t(OsmAndCoreJNI.MapStylesPresetsCollection_getCollectionFor__SWIG_0(swigCPtr, this, styleName), true); + } + + public MapStylePreset getPreset(String styleName, String presetName) { + long cPtr = OsmAndCoreJNI.MapStylesPresetsCollection_getPreset__SWIG_0(swigCPtr, this, styleName, presetName); + return (cPtr == 0) ? null : new MapStylePreset(cPtr, true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/MapSymbol.java b/OsmAnd/src/net/osmand/core/jni/MapSymbol.java new file mode 100644 index 0000000000..bfdb5871a8 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/MapSymbol.java @@ -0,0 +1,144 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class MapSymbol { + private long swigCPtr; + private boolean swigCMemOwn; + + protected MapSymbol(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(MapSymbol obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_MapSymbol(swigCPtr); + } + swigCPtr = 0; + } + } + + public SWIGTYPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t getGroup() { + long cPtr = OsmAndCoreJNI.MapSymbol_group_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t(cPtr, false); + } + + public MapSymbolsGroup getGroupPtr() { + long cPtr = OsmAndCoreJNI.MapSymbol_groupPtr_get(swigCPtr, this); + return (cPtr == 0) ? null : new MapSymbolsGroup(cPtr, true); + } + + public boolean getIsShareable() { + return OsmAndCoreJNI.MapSymbol_isShareable_get(swigCPtr, this); + } + + public void setOrder(int value) { + OsmAndCoreJNI.MapSymbol_order_set(swigCPtr, this, value); + } + + public int getOrder() { + return OsmAndCoreJNI.MapSymbol_order_get(swigCPtr, this); + } + + public void setContentClass(MapSymbol.ContentClass value) { + OsmAndCoreJNI.MapSymbol_contentClass_set(swigCPtr, this, value.swigValue()); + } + + public MapSymbol.ContentClass getContentClass() { + return MapSymbol.ContentClass.swigToEnum(OsmAndCoreJNI.MapSymbol_contentClass_get(swigCPtr, this)); + } + + public void setIntersectsWithClasses(SWIGTYPE_p_QSetT_int_t value) { + OsmAndCoreJNI.MapSymbol_intersectsWithClasses_set(swigCPtr, this, SWIGTYPE_p_QSetT_int_t.getCPtr(value)); + } + + public SWIGTYPE_p_QSetT_int_t getIntersectsWithClasses() { + return new SWIGTYPE_p_QSetT_int_t(OsmAndCoreJNI.MapSymbol_intersectsWithClasses_get(swigCPtr, this), true); + } + + public void setIntersectedByClasses(SWIGTYPE_p_QSetT_int_t value) { + OsmAndCoreJNI.MapSymbol_intersectedByClasses_set(swigCPtr, this, SWIGTYPE_p_QSetT_int_t.getCPtr(value)); + } + + public SWIGTYPE_p_QSetT_int_t getIntersectedByClasses() { + return new SWIGTYPE_p_QSetT_int_t(OsmAndCoreJNI.MapSymbol_intersectedByClasses_get(swigCPtr, this), true); + } + + public void setIsHidden(boolean value) { + OsmAndCoreJNI.MapSymbol_isHidden_set(swigCPtr, this, value); + } + + public boolean getIsHidden() { + return OsmAndCoreJNI.MapSymbol_isHidden_get(swigCPtr, this); + } + + public void setModulationColor(FColorARGB value) { + OsmAndCoreJNI.MapSymbol_modulationColor_set(swigCPtr, this, FColorARGB.getCPtr(value), value); + } + + public FColorARGB getModulationColor() { + long cPtr = OsmAndCoreJNI.MapSymbol_modulationColor_get(swigCPtr, this); + return (cPtr == 0) ? null : new FColorARGB(cPtr, false); + } + + public enum ContentClass { + Unknown(OsmAndCoreJNI.MapSymbol_ContentClass_Unknown_get()), + Icon, + Caption; + + public final int swigValue() { + return swigValue; + } + + public static ContentClass swigToEnum(int swigValue) { + ContentClass[] swigValues = ContentClass.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (ContentClass swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + ContentClass.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private ContentClass() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private ContentClass(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private ContentClass(ContentClass swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/MapSymbolsGroup.java b/OsmAnd/src/net/osmand/core/jni/MapSymbolsGroup.java new file mode 100644 index 0000000000..408659e68b --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/MapSymbolsGroup.java @@ -0,0 +1,461 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class MapSymbolsGroup { + private long swigCPtr; + private boolean swigCMemOwn; + + protected MapSymbolsGroup(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(MapSymbolsGroup obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_MapSymbolsGroup(swigCPtr); + } + swigCPtr = 0; + } + } + + static public class AdditionalInstance { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected AdditionalInstance(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(AdditionalInstance obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_MapSymbolsGroup_AdditionalInstance(swigCPtr); + } + swigCPtr = 0; + } + } + + public AdditionalInstance(MapSymbolsGroup originalGroup) { + this(OsmAndCoreJNI.new_MapSymbolsGroup_AdditionalInstance(MapSymbolsGroup.getCPtr(originalGroup), originalGroup), true); + } + + public SWIGTYPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t getOriginalGroup() { + long cPtr = OsmAndCoreJNI.MapSymbolsGroup_AdditionalInstance_originalGroup_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t(cPtr, false); + } + + public void setSymbols(SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapSymbol_t_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalSymbolInstanceParameters_t_t value) { + OsmAndCoreJNI.MapSymbolsGroup_AdditionalInstance_symbols_set(swigCPtr, this, SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapSymbol_t_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalSymbolInstanceParameters_t_t.getCPtr(value)); + } + + public SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapSymbol_t_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalSymbolInstanceParameters_t_t getSymbols() { + long cPtr = OsmAndCoreJNI.MapSymbolsGroup_AdditionalInstance_symbols_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapSymbol_t_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalSymbolInstanceParameters_t_t(cPtr, false); + } + + public MapSymbol getFirstSymbolWithContentClass(MapSymbol.ContentClass contentClass) { + long cPtr = OsmAndCoreJNI.MapSymbolsGroup_AdditionalInstance_getFirstSymbolWithContentClass(swigCPtr, this, contentClass.swigValue()); + return (cPtr == 0) ? null : new MapSymbol(cPtr, true); + } + + public long numberOfSymbolsWithContentClass(MapSymbol.ContentClass contentClass) { + return OsmAndCoreJNI.MapSymbolsGroup_AdditionalInstance_numberOfSymbolsWithContentClass(swigCPtr, this, contentClass.swigValue()); + } + + } + + static public class AdditionalSymbolInstanceParameters { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected AdditionalSymbolInstanceParameters(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(AdditionalSymbolInstanceParameters obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_MapSymbolsGroup_AdditionalSymbolInstanceParameters(swigCPtr); + } + swigCPtr = 0; + } + } + + public AdditionalSymbolInstanceParameters(MapSymbolsGroup.AdditionalInstance groupInstancePtr) { + this(OsmAndCoreJNI.new_MapSymbolsGroup_AdditionalSymbolInstanceParameters(MapSymbolsGroup.AdditionalInstance.getCPtr(groupInstancePtr), groupInstancePtr), true); + } + + public MapSymbolsGroup.AdditionalInstance getGroupInstancePtr() { + long cPtr = OsmAndCoreJNI.MapSymbolsGroup_AdditionalSymbolInstanceParameters_groupInstancePtr_get(swigCPtr, this); + return (cPtr == 0) ? null : new MapSymbolsGroup.AdditionalInstance(cPtr, false); + } + + } + + static public class AdditionalBillboardSymbolInstanceParameters extends MapSymbolsGroup.AdditionalSymbolInstanceParameters { + private long swigCPtr; + + protected AdditionalBillboardSymbolInstanceParameters(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.MapSymbolsGroup_AdditionalBillboardSymbolInstanceParameters_SWIGUpcast(cPtr), cMemoryOwn); + swigCPtr = cPtr; + } + + protected static long getCPtr(AdditionalBillboardSymbolInstanceParameters obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_MapSymbolsGroup_AdditionalBillboardSymbolInstanceParameters(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public AdditionalBillboardSymbolInstanceParameters(MapSymbolsGroup.AdditionalInstance groupInstancePtr) { + this(OsmAndCoreJNI.new_MapSymbolsGroup_AdditionalBillboardSymbolInstanceParameters(MapSymbolsGroup.AdditionalInstance.getCPtr(groupInstancePtr), groupInstancePtr), true); + } + + public void setOverridesPosition31(boolean value) { + OsmAndCoreJNI.MapSymbolsGroup_AdditionalBillboardSymbolInstanceParameters_overridesPosition31_set(swigCPtr, this, value); + } + + public boolean getOverridesPosition31() { + return OsmAndCoreJNI.MapSymbolsGroup_AdditionalBillboardSymbolInstanceParameters_overridesPosition31_get(swigCPtr, this); + } + + public void setPosition31(PointI value) { + OsmAndCoreJNI.MapSymbolsGroup_AdditionalBillboardSymbolInstanceParameters_position31_set(swigCPtr, this, PointI.getCPtr(value), value); + } + + public PointI getPosition31() { + long cPtr = OsmAndCoreJNI.MapSymbolsGroup_AdditionalBillboardSymbolInstanceParameters_position31_get(swigCPtr, this); + return (cPtr == 0) ? null : new PointI(cPtr, false); + } + + public void setOverridesOffset(boolean value) { + OsmAndCoreJNI.MapSymbolsGroup_AdditionalBillboardSymbolInstanceParameters_overridesOffset_set(swigCPtr, this, value); + } + + public boolean getOverridesOffset() { + return OsmAndCoreJNI.MapSymbolsGroup_AdditionalBillboardSymbolInstanceParameters_overridesOffset_get(swigCPtr, this); + } + + public void setOffset(PointI value) { + OsmAndCoreJNI.MapSymbolsGroup_AdditionalBillboardSymbolInstanceParameters_offset_set(swigCPtr, this, PointI.getCPtr(value), value); + } + + public PointI getOffset() { + long cPtr = OsmAndCoreJNI.MapSymbolsGroup_AdditionalBillboardSymbolInstanceParameters_offset_get(swigCPtr, this); + return (cPtr == 0) ? null : new PointI(cPtr, false); + } + + } + + static public class AdditionalOnSurfaceSymbolInstanceParameters extends MapSymbolsGroup.AdditionalSymbolInstanceParameters { + private long swigCPtr; + + protected AdditionalOnSurfaceSymbolInstanceParameters(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.MapSymbolsGroup_AdditionalOnSurfaceSymbolInstanceParameters_SWIGUpcast(cPtr), cMemoryOwn); + swigCPtr = cPtr; + } + + protected static long getCPtr(AdditionalOnSurfaceSymbolInstanceParameters obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_MapSymbolsGroup_AdditionalOnSurfaceSymbolInstanceParameters(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public AdditionalOnSurfaceSymbolInstanceParameters(MapSymbolsGroup.AdditionalInstance groupInstancePtr) { + this(OsmAndCoreJNI.new_MapSymbolsGroup_AdditionalOnSurfaceSymbolInstanceParameters(MapSymbolsGroup.AdditionalInstance.getCPtr(groupInstancePtr), groupInstancePtr), true); + } + + public void setOverridesPosition31(boolean value) { + OsmAndCoreJNI.MapSymbolsGroup_AdditionalOnSurfaceSymbolInstanceParameters_overridesPosition31_set(swigCPtr, this, value); + } + + public boolean getOverridesPosition31() { + return OsmAndCoreJNI.MapSymbolsGroup_AdditionalOnSurfaceSymbolInstanceParameters_overridesPosition31_get(swigCPtr, this); + } + + public void setPosition31(PointI value) { + OsmAndCoreJNI.MapSymbolsGroup_AdditionalOnSurfaceSymbolInstanceParameters_position31_set(swigCPtr, this, PointI.getCPtr(value), value); + } + + public PointI getPosition31() { + long cPtr = OsmAndCoreJNI.MapSymbolsGroup_AdditionalOnSurfaceSymbolInstanceParameters_position31_get(swigCPtr, this); + return (cPtr == 0) ? null : new PointI(cPtr, false); + } + + public void setOverridesDirection(boolean value) { + OsmAndCoreJNI.MapSymbolsGroup_AdditionalOnSurfaceSymbolInstanceParameters_overridesDirection_set(swigCPtr, this, value); + } + + public boolean getOverridesDirection() { + return OsmAndCoreJNI.MapSymbolsGroup_AdditionalOnSurfaceSymbolInstanceParameters_overridesDirection_get(swigCPtr, this); + } + + public void setDirection(float value) { + OsmAndCoreJNI.MapSymbolsGroup_AdditionalOnSurfaceSymbolInstanceParameters_direction_set(swigCPtr, this, value); + } + + public float getDirection() { + return OsmAndCoreJNI.MapSymbolsGroup_AdditionalOnSurfaceSymbolInstanceParameters_direction_get(swigCPtr, this); + } + + } + + static public class AdditionalOnPathSymbolInstanceParameters extends MapSymbolsGroup.AdditionalSymbolInstanceParameters { + private long swigCPtr; + + protected AdditionalOnPathSymbolInstanceParameters(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.MapSymbolsGroup_AdditionalOnPathSymbolInstanceParameters_SWIGUpcast(cPtr), cMemoryOwn); + swigCPtr = cPtr; + } + + protected static long getCPtr(AdditionalOnPathSymbolInstanceParameters obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_MapSymbolsGroup_AdditionalOnPathSymbolInstanceParameters(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public AdditionalOnPathSymbolInstanceParameters(MapSymbolsGroup.AdditionalInstance groupInstancePtr) { + this(OsmAndCoreJNI.new_MapSymbolsGroup_AdditionalOnPathSymbolInstanceParameters(MapSymbolsGroup.AdditionalInstance.getCPtr(groupInstancePtr), groupInstancePtr), true); + } + + public void setOverridesPinPointOnPath(boolean value) { + OsmAndCoreJNI.MapSymbolsGroup_AdditionalOnPathSymbolInstanceParameters_overridesPinPointOnPath_set(swigCPtr, this, value); + } + + public boolean getOverridesPinPointOnPath() { + return OsmAndCoreJNI.MapSymbolsGroup_AdditionalOnPathSymbolInstanceParameters_overridesPinPointOnPath_get(swigCPtr, this); + } + + public void setPinPointOnPath(SWIGTYPE_p_IOnPathMapSymbol__PinPoint value) { + OsmAndCoreJNI.MapSymbolsGroup_AdditionalOnPathSymbolInstanceParameters_pinPointOnPath_set(swigCPtr, this, SWIGTYPE_p_IOnPathMapSymbol__PinPoint.getCPtr(value)); + } + + public SWIGTYPE_p_IOnPathMapSymbol__PinPoint getPinPointOnPath() { + return new SWIGTYPE_p_IOnPathMapSymbol__PinPoint(OsmAndCoreJNI.MapSymbolsGroup_AdditionalOnPathSymbolInstanceParameters_pinPointOnPath_get(swigCPtr, this), true); + } + + } + + public MapSymbolsGroup() { + this(OsmAndCoreJNI.new_MapSymbolsGroup(), true); + } + + public void setPresentationMode(SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__PresentationModeFlag_unsigned_int_t value) { + OsmAndCoreJNI.MapSymbolsGroup_presentationMode_set(swigCPtr, this, SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__PresentationModeFlag_unsigned_int_t.getCPtr(value)); + } + + public SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__PresentationModeFlag_unsigned_int_t getPresentationMode() { + long cPtr = OsmAndCoreJNI.MapSymbolsGroup_presentationMode_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__PresentationModeFlag_unsigned_int_t(cPtr, false); + } + + public void setIntersectionProcessingMode(SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__IntersectionProcessingModeFlag_unsigned_int_t value) { + OsmAndCoreJNI.MapSymbolsGroup_intersectionProcessingMode_set(swigCPtr, this, SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__IntersectionProcessingModeFlag_unsigned_int_t.getCPtr(value)); + } + + public SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__IntersectionProcessingModeFlag_unsigned_int_t getIntersectionProcessingMode() { + long cPtr = OsmAndCoreJNI.MapSymbolsGroup_intersectionProcessingMode_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__IntersectionProcessingModeFlag_unsigned_int_t(cPtr, false); + } + + public void setSymbols(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t value) { + OsmAndCoreJNI.MapSymbolsGroup_symbols_set(swigCPtr, this, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t.getCPtr(value)); + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t getSymbols() { + long cPtr = OsmAndCoreJNI.MapSymbolsGroup_symbols_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t(cPtr, false); + } + + public MapSymbol getFirstSymbolWithContentClass(MapSymbol.ContentClass contentClass) { + long cPtr = OsmAndCoreJNI.MapSymbolsGroup_getFirstSymbolWithContentClass(swigCPtr, this, contentClass.swigValue()); + return (cPtr == 0) ? null : new MapSymbol(cPtr, true); + } + + public long numberOfSymbolsWithContentClass(MapSymbol.ContentClass contentClass) { + return OsmAndCoreJNI.MapSymbolsGroup_numberOfSymbolsWithContentClass(swigCPtr, this, contentClass.swigValue()); + } + + public String getDebugTitle() { + return OsmAndCoreJNI.MapSymbolsGroup_getDebugTitle(swigCPtr, this); + } + + public void setAdditionalInstancesDiscardOriginal(boolean value) { + OsmAndCoreJNI.MapSymbolsGroup_additionalInstancesDiscardOriginal_set(swigCPtr, this, value); + } + + public boolean getAdditionalInstancesDiscardOriginal() { + return OsmAndCoreJNI.MapSymbolsGroup_additionalInstancesDiscardOriginal_get(swigCPtr, this); + } + + public void setAdditionalInstances(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalInstance_t_t value) { + OsmAndCoreJNI.MapSymbolsGroup_additionalInstances_set(swigCPtr, this, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalInstance_t_t.getCPtr(value)); + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalInstance_t_t getAdditionalInstances() { + long cPtr = OsmAndCoreJNI.MapSymbolsGroup_additionalInstances_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalInstance_t_t(cPtr, false); + } + + public enum PresentationModeFlag { + ShowAnything(OsmAndCoreJNI.MapSymbolsGroup_PresentationModeFlag_ShowAnything_get()), + ShowAllOrNothing, + ShowAllCaptionsOrNoCaptions, + ShowNoneIfIconIsNotShown, + CheckIntersectionsWithinGroup; + + public final int swigValue() { + return swigValue; + } + + public static PresentationModeFlag swigToEnum(int swigValue) { + PresentationModeFlag[] swigValues = PresentationModeFlag.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (PresentationModeFlag swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + PresentationModeFlag.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private PresentationModeFlag() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private PresentationModeFlag(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private PresentationModeFlag(PresentationModeFlag swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } + } + + public enum IntersectionProcessingModeFlag { + CheckIntersectionsWithinGroup(OsmAndCoreJNI.MapSymbolsGroup_IntersectionProcessingModeFlag_CheckIntersectionsWithinGroup_get()); + + public final int swigValue() { + return swigValue; + } + + public static IntersectionProcessingModeFlag swigToEnum(int swigValue) { + IntersectionProcessingModeFlag[] swigValues = IntersectionProcessingModeFlag.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (IntersectionProcessingModeFlag swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + IntersectionProcessingModeFlag.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private IntersectionProcessingModeFlag() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private IntersectionProcessingModeFlag(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private IntersectionProcessingModeFlag(IntersectionProcessingModeFlag swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/MapTiledData.java b/OsmAnd/src/net/osmand/core/jni/MapTiledData.java new file mode 100644 index 0000000000..d521a9f702 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/MapTiledData.java @@ -0,0 +1,49 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class MapTiledData extends MapData { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected MapTiledData(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.MapTiledData_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(MapTiledData obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_MapTiledData(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public TileId getTileId() { + long cPtr = OsmAndCoreJNI.MapTiledData_tileId_get(swigCPtr, this); + return (cPtr == 0) ? null : new TileId(cPtr, false); + } + + public ZoomLevel getZoom() { + return ZoomLevel.swigToEnum(OsmAndCoreJNI.MapTiledData_zoom_get(swigCPtr, this)); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/OOBBD.java b/OsmAnd/src/net/osmand/core/jni/OOBBD.java new file mode 100644 index 0000000000..aaf5fd2081 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/OOBBD.java @@ -0,0 +1,74 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class OOBBD { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected OOBBD(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(OOBBD obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_OOBBD(swigCPtr); + } + swigCPtr = 0; + } + } + + public OOBBD() { + this(OsmAndCoreJNI.new_OOBBD__SWIG_0(), true); + } + + public OOBBD(AreaD bboxInObjectSpace_, float rotation_) { + this(OsmAndCoreJNI.new_OOBBD__SWIG_1(AreaD.getCPtr(bboxInObjectSpace_), bboxInObjectSpace_, rotation_), true); + } + + public boolean contains(OOBBD that) { + return OsmAndCoreJNI.OOBBD_contains__SWIG_0(swigCPtr, this, OOBBD.getCPtr(that), that); + } + + public boolean intersects(OOBBD that) { + return OsmAndCoreJNI.OOBBD_intersects__SWIG_0(swigCPtr, this, OOBBD.getCPtr(that), that); + } + + public boolean contains(AreaD area) { + return OsmAndCoreJNI.OOBBD_contains__SWIG_1(swigCPtr, this, AreaD.getCPtr(area), area); + } + + public boolean contains(PointD point) { + return OsmAndCoreJNI.OOBBD_contains__SWIG_2(swigCPtr, this, PointD.getCPtr(point), point); + } + + public boolean intersects(AreaD that) { + return OsmAndCoreJNI.OOBBD_intersects__SWIG_1(swigCPtr, this, AreaD.getCPtr(that), that); + } + + public OOBBD getEnlargedBy(PointD delta) { + return new OOBBD(OsmAndCoreJNI.OOBBD_getEnlargedBy__SWIG_0(swigCPtr, this, PointD.getCPtr(delta), delta), true); + } + + public OOBBD getEnlargedBy(double dt, double dl, double db, double dr) { + return new OOBBD(OsmAndCoreJNI.OOBBD_getEnlargedBy__SWIG_1(swigCPtr, this, dt, dl, db, dr), true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/OOBBF.java b/OsmAnd/src/net/osmand/core/jni/OOBBF.java new file mode 100644 index 0000000000..bd3eaa570c --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/OOBBF.java @@ -0,0 +1,74 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class OOBBF { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected OOBBF(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(OOBBF obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_OOBBF(swigCPtr); + } + swigCPtr = 0; + } + } + + public OOBBF() { + this(OsmAndCoreJNI.new_OOBBF__SWIG_0(), true); + } + + public OOBBF(AreaF bboxInObjectSpace_, float rotation_) { + this(OsmAndCoreJNI.new_OOBBF__SWIG_1(AreaF.getCPtr(bboxInObjectSpace_), bboxInObjectSpace_, rotation_), true); + } + + public boolean contains(OOBBF that) { + return OsmAndCoreJNI.OOBBF_contains__SWIG_0(swigCPtr, this, OOBBF.getCPtr(that), that); + } + + public boolean intersects(OOBBF that) { + return OsmAndCoreJNI.OOBBF_intersects__SWIG_0(swigCPtr, this, OOBBF.getCPtr(that), that); + } + + public boolean contains(AreaF area) { + return OsmAndCoreJNI.OOBBF_contains__SWIG_1(swigCPtr, this, AreaF.getCPtr(area), area); + } + + public boolean contains(PointF point) { + return OsmAndCoreJNI.OOBBF_contains__SWIG_2(swigCPtr, this, PointF.getCPtr(point), point); + } + + public boolean intersects(AreaF that) { + return OsmAndCoreJNI.OOBBF_intersects__SWIG_1(swigCPtr, this, AreaF.getCPtr(that), that); + } + + public OOBBF getEnlargedBy(PointF delta) { + return new OOBBF(OsmAndCoreJNI.OOBBF_getEnlargedBy__SWIG_0(swigCPtr, this, PointF.getCPtr(delta), delta), true); + } + + public OOBBF getEnlargedBy(float dt, float dl, float db, float dr) { + return new OOBBF(OsmAndCoreJNI.OOBBF_getEnlargedBy__SWIG_1(swigCPtr, this, dt, dl, db, dr), true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/OOBBI.java b/OsmAnd/src/net/osmand/core/jni/OOBBI.java new file mode 100644 index 0000000000..d66e3e7699 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/OOBBI.java @@ -0,0 +1,74 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class OOBBI { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected OOBBI(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(OOBBI obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_OOBBI(swigCPtr); + } + swigCPtr = 0; + } + } + + public OOBBI() { + this(OsmAndCoreJNI.new_OOBBI__SWIG_0(), true); + } + + public OOBBI(AreaI bboxInObjectSpace_, float rotation_) { + this(OsmAndCoreJNI.new_OOBBI__SWIG_1(AreaI.getCPtr(bboxInObjectSpace_), bboxInObjectSpace_, rotation_), true); + } + + public boolean contains(OOBBI that) { + return OsmAndCoreJNI.OOBBI_contains__SWIG_0(swigCPtr, this, OOBBI.getCPtr(that), that); + } + + public boolean intersects(OOBBI that) { + return OsmAndCoreJNI.OOBBI_intersects__SWIG_0(swigCPtr, this, OOBBI.getCPtr(that), that); + } + + public boolean contains(AreaI area) { + return OsmAndCoreJNI.OOBBI_contains__SWIG_1(swigCPtr, this, AreaI.getCPtr(area), area); + } + + public boolean contains(PointI point) { + return OsmAndCoreJNI.OOBBI_contains__SWIG_2(swigCPtr, this, PointI.getCPtr(point), point); + } + + public boolean intersects(AreaI that) { + return OsmAndCoreJNI.OOBBI_intersects__SWIG_1(swigCPtr, this, AreaI.getCPtr(that), that); + } + + public OOBBI getEnlargedBy(PointI delta) { + return new OOBBI(OsmAndCoreJNI.OOBBI_getEnlargedBy__SWIG_0(swigCPtr, this, PointI.getCPtr(delta), delta), true); + } + + public OOBBI getEnlargedBy(int dt, int dl, int db, int dr) { + return new OOBBI(OsmAndCoreJNI.OOBBI_getEnlargedBy__SWIG_1(swigCPtr, this, dt, dl, db, dr), true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/ObfAddressBlockType.java b/OsmAnd/src/net/osmand/core/jni/ObfAddressBlockType.java new file mode 100644 index 0000000000..d3d97b2580 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/ObfAddressBlockType.java @@ -0,0 +1,53 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public enum ObfAddressBlockType { + CitiesOrTowns(OsmAndCoreJNI.ObfAddressBlockType_CitiesOrTowns_get()), + Villages(OsmAndCoreJNI.ObfAddressBlockType_Villages_get()), + Postcodes(OsmAndCoreJNI.ObfAddressBlockType_Postcodes_get()); + + public final int swigValue() { + return swigValue; + } + + public static ObfAddressBlockType swigToEnum(int swigValue) { + ObfAddressBlockType[] swigValues = ObfAddressBlockType.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (ObfAddressBlockType swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + ObfAddressBlockType.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private ObfAddressBlockType() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private ObfAddressBlockType(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private ObfAddressBlockType(ObfAddressBlockType swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/ObfDataInterface.java b/OsmAnd/src/net/osmand/core/jni/ObfDataInterface.java new file mode 100644 index 0000000000..447cfe4b07 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/ObfDataInterface.java @@ -0,0 +1,131 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class ObfDataInterface { + private long swigCPtr; + private boolean swigCMemOwn; + + protected ObfDataInterface(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(ObfDataInterface obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_ObfDataInterface(swigCPtr); + } + swigCPtr = 0; + } + } + + public ObfDataInterface(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfReader_const_t_t obfReaders) { + this(OsmAndCoreJNI.new_ObfDataInterface(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfReader_const_t_t.getCPtr(obfReaders)), true); + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfReader_const_t_t getObfReaders() { + long cPtr = OsmAndCoreJNI.ObfDataInterface_obfReaders_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfReader_const_t_t(cPtr, false); + } + + public boolean loadObfFiles(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t outFiles, SWIGTYPE_p_OsmAnd__IQueryController controller) { + return OsmAndCoreJNI.ObfDataInterface_loadObfFiles__SWIG_0(swigCPtr, this, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t.getCPtr(outFiles), SWIGTYPE_p_OsmAnd__IQueryController.getCPtr(controller)); + } + + public boolean loadObfFiles(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t outFiles) { + return OsmAndCoreJNI.ObfDataInterface_loadObfFiles__SWIG_1(swigCPtr, this, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t.getCPtr(outFiles)); + } + + public boolean loadObfFiles() { + return OsmAndCoreJNI.ObfDataInterface_loadObfFiles__SWIG_2(swigCPtr, this); + } + + public boolean loadBasemapPresenceFlag(SWIGTYPE_p_bool outBasemapPresent, SWIGTYPE_p_OsmAnd__IQueryController controller) { + return OsmAndCoreJNI.ObfDataInterface_loadBasemapPresenceFlag__SWIG_0(swigCPtr, this, SWIGTYPE_p_bool.getCPtr(outBasemapPresent), SWIGTYPE_p_OsmAnd__IQueryController.getCPtr(controller)); + } + + public boolean loadBasemapPresenceFlag(SWIGTYPE_p_bool outBasemapPresent) { + return OsmAndCoreJNI.ObfDataInterface_loadBasemapPresenceFlag__SWIG_1(swigCPtr, this, SWIGTYPE_p_bool.getCPtr(outBasemapPresent)); + } + + public boolean loadMapObjects(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t resultOut, SWIGTYPE_p_MapFoundationType outFoundation, ZoomLevel zoom, AreaI bbox31, SWIGTYPE_p_FilterMapObjectsByIdFunction filterById, SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache cache, SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t outReferencedCacheEntries, SWIGTYPE_p_OsmAnd__IQueryController controller, SWIGTYPE_p_OsmAnd__ObfMapSectionReader_Metrics__Metric_loadMapObjects metric) { + return OsmAndCoreJNI.ObfDataInterface_loadMapObjects__SWIG_0(swigCPtr, this, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.getCPtr(resultOut), SWIGTYPE_p_MapFoundationType.getCPtr(outFoundation), zoom.swigValue(), AreaI.getCPtr(bbox31), bbox31, SWIGTYPE_p_FilterMapObjectsByIdFunction.getCPtr(filterById), SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache.getCPtr(cache), SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t.getCPtr(outReferencedCacheEntries), SWIGTYPE_p_OsmAnd__IQueryController.getCPtr(controller), SWIGTYPE_p_OsmAnd__ObfMapSectionReader_Metrics__Metric_loadMapObjects.getCPtr(metric)); + } + + public boolean loadMapObjects(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t resultOut, SWIGTYPE_p_MapFoundationType outFoundation, ZoomLevel zoom, AreaI bbox31, SWIGTYPE_p_FilterMapObjectsByIdFunction filterById, SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache cache, SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t outReferencedCacheEntries, SWIGTYPE_p_OsmAnd__IQueryController controller) { + return OsmAndCoreJNI.ObfDataInterface_loadMapObjects__SWIG_1(swigCPtr, this, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.getCPtr(resultOut), SWIGTYPE_p_MapFoundationType.getCPtr(outFoundation), zoom.swigValue(), AreaI.getCPtr(bbox31), bbox31, SWIGTYPE_p_FilterMapObjectsByIdFunction.getCPtr(filterById), SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache.getCPtr(cache), SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t.getCPtr(outReferencedCacheEntries), SWIGTYPE_p_OsmAnd__IQueryController.getCPtr(controller)); + } + + public boolean loadMapObjects(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t resultOut, SWIGTYPE_p_MapFoundationType outFoundation, ZoomLevel zoom, AreaI bbox31, SWIGTYPE_p_FilterMapObjectsByIdFunction filterById, SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache cache, SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t outReferencedCacheEntries) { + return OsmAndCoreJNI.ObfDataInterface_loadMapObjects__SWIG_2(swigCPtr, this, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.getCPtr(resultOut), SWIGTYPE_p_MapFoundationType.getCPtr(outFoundation), zoom.swigValue(), AreaI.getCPtr(bbox31), bbox31, SWIGTYPE_p_FilterMapObjectsByIdFunction.getCPtr(filterById), SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache.getCPtr(cache), SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t.getCPtr(outReferencedCacheEntries)); + } + + public boolean loadMapObjects(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t resultOut, SWIGTYPE_p_MapFoundationType outFoundation, ZoomLevel zoom, AreaI bbox31, SWIGTYPE_p_FilterMapObjectsByIdFunction filterById, SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache cache) { + return OsmAndCoreJNI.ObfDataInterface_loadMapObjects__SWIG_3(swigCPtr, this, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.getCPtr(resultOut), SWIGTYPE_p_MapFoundationType.getCPtr(outFoundation), zoom.swigValue(), AreaI.getCPtr(bbox31), bbox31, SWIGTYPE_p_FilterMapObjectsByIdFunction.getCPtr(filterById), SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache.getCPtr(cache)); + } + + public boolean loadMapObjects(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t resultOut, SWIGTYPE_p_MapFoundationType outFoundation, ZoomLevel zoom, AreaI bbox31, SWIGTYPE_p_FilterMapObjectsByIdFunction filterById) { + return OsmAndCoreJNI.ObfDataInterface_loadMapObjects__SWIG_4(swigCPtr, this, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.getCPtr(resultOut), SWIGTYPE_p_MapFoundationType.getCPtr(outFoundation), zoom.swigValue(), AreaI.getCPtr(bbox31), bbox31, SWIGTYPE_p_FilterMapObjectsByIdFunction.getCPtr(filterById)); + } + + public boolean loadMapObjects(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t resultOut, SWIGTYPE_p_MapFoundationType outFoundation, ZoomLevel zoom, AreaI bbox31) { + return OsmAndCoreJNI.ObfDataInterface_loadMapObjects__SWIG_5(swigCPtr, this, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.getCPtr(resultOut), SWIGTYPE_p_MapFoundationType.getCPtr(outFoundation), zoom.swigValue(), AreaI.getCPtr(bbox31), bbox31); + } + + public boolean loadMapObjects(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t resultOut, SWIGTYPE_p_MapFoundationType outFoundation, ZoomLevel zoom) { + return OsmAndCoreJNI.ObfDataInterface_loadMapObjects__SWIG_6(swigCPtr, this, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.getCPtr(resultOut), SWIGTYPE_p_MapFoundationType.getCPtr(outFoundation), zoom.swigValue()); + } + + public boolean loadRoads(SWIGTYPE_p_RoutingDataLevel dataLevel, AreaI bbox31, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t resultOut, SWIGTYPE_p_FilterRoadsByIdFunction filterById, SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction visitor, SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache cache, SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t outReferencedCacheEntries, SWIGTYPE_p_OsmAnd__IQueryController controller, SWIGTYPE_p_ObfRoutingSectionReader_Metrics__Metric_loadRoads metric) { + return OsmAndCoreJNI.ObfDataInterface_loadRoads__SWIG_0(swigCPtr, this, SWIGTYPE_p_RoutingDataLevel.getCPtr(dataLevel), AreaI.getCPtr(bbox31), bbox31, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t.getCPtr(resultOut), SWIGTYPE_p_FilterRoadsByIdFunction.getCPtr(filterById), SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction.getCPtr(visitor), SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache.getCPtr(cache), SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t.getCPtr(outReferencedCacheEntries), SWIGTYPE_p_OsmAnd__IQueryController.getCPtr(controller), SWIGTYPE_p_ObfRoutingSectionReader_Metrics__Metric_loadRoads.getCPtr(metric)); + } + + public boolean loadRoads(SWIGTYPE_p_RoutingDataLevel dataLevel, AreaI bbox31, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t resultOut, SWIGTYPE_p_FilterRoadsByIdFunction filterById, SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction visitor, SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache cache, SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t outReferencedCacheEntries, SWIGTYPE_p_OsmAnd__IQueryController controller) { + return OsmAndCoreJNI.ObfDataInterface_loadRoads__SWIG_1(swigCPtr, this, SWIGTYPE_p_RoutingDataLevel.getCPtr(dataLevel), AreaI.getCPtr(bbox31), bbox31, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t.getCPtr(resultOut), SWIGTYPE_p_FilterRoadsByIdFunction.getCPtr(filterById), SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction.getCPtr(visitor), SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache.getCPtr(cache), SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t.getCPtr(outReferencedCacheEntries), SWIGTYPE_p_OsmAnd__IQueryController.getCPtr(controller)); + } + + public boolean loadRoads(SWIGTYPE_p_RoutingDataLevel dataLevel, AreaI bbox31, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t resultOut, SWIGTYPE_p_FilterRoadsByIdFunction filterById, SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction visitor, SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache cache, SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t outReferencedCacheEntries) { + return OsmAndCoreJNI.ObfDataInterface_loadRoads__SWIG_2(swigCPtr, this, SWIGTYPE_p_RoutingDataLevel.getCPtr(dataLevel), AreaI.getCPtr(bbox31), bbox31, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t.getCPtr(resultOut), SWIGTYPE_p_FilterRoadsByIdFunction.getCPtr(filterById), SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction.getCPtr(visitor), SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache.getCPtr(cache), SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t.getCPtr(outReferencedCacheEntries)); + } + + public boolean loadRoads(SWIGTYPE_p_RoutingDataLevel dataLevel, AreaI bbox31, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t resultOut, SWIGTYPE_p_FilterRoadsByIdFunction filterById, SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction visitor, SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache cache) { + return OsmAndCoreJNI.ObfDataInterface_loadRoads__SWIG_3(swigCPtr, this, SWIGTYPE_p_RoutingDataLevel.getCPtr(dataLevel), AreaI.getCPtr(bbox31), bbox31, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t.getCPtr(resultOut), SWIGTYPE_p_FilterRoadsByIdFunction.getCPtr(filterById), SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction.getCPtr(visitor), SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache.getCPtr(cache)); + } + + public boolean loadRoads(SWIGTYPE_p_RoutingDataLevel dataLevel, AreaI bbox31, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t resultOut, SWIGTYPE_p_FilterRoadsByIdFunction filterById, SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction visitor) { + return OsmAndCoreJNI.ObfDataInterface_loadRoads__SWIG_4(swigCPtr, this, SWIGTYPE_p_RoutingDataLevel.getCPtr(dataLevel), AreaI.getCPtr(bbox31), bbox31, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t.getCPtr(resultOut), SWIGTYPE_p_FilterRoadsByIdFunction.getCPtr(filterById), SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction.getCPtr(visitor)); + } + + public boolean loadRoads(SWIGTYPE_p_RoutingDataLevel dataLevel, AreaI bbox31, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t resultOut, SWIGTYPE_p_FilterRoadsByIdFunction filterById) { + return OsmAndCoreJNI.ObfDataInterface_loadRoads__SWIG_5(swigCPtr, this, SWIGTYPE_p_RoutingDataLevel.getCPtr(dataLevel), AreaI.getCPtr(bbox31), bbox31, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t.getCPtr(resultOut), SWIGTYPE_p_FilterRoadsByIdFunction.getCPtr(filterById)); + } + + public boolean loadRoads(SWIGTYPE_p_RoutingDataLevel dataLevel, AreaI bbox31, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t resultOut) { + return OsmAndCoreJNI.ObfDataInterface_loadRoads__SWIG_6(swigCPtr, this, SWIGTYPE_p_RoutingDataLevel.getCPtr(dataLevel), AreaI.getCPtr(bbox31), bbox31, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t.getCPtr(resultOut)); + } + + public boolean loadRoads(SWIGTYPE_p_RoutingDataLevel dataLevel, AreaI bbox31) { + return OsmAndCoreJNI.ObfDataInterface_loadRoads__SWIG_7(swigCPtr, this, SWIGTYPE_p_RoutingDataLevel.getCPtr(dataLevel), AreaI.getCPtr(bbox31), bbox31); + } + + public boolean loadRoads(SWIGTYPE_p_RoutingDataLevel dataLevel) { + return OsmAndCoreJNI.ObfDataInterface_loadRoads__SWIG_8(swigCPtr, this, SWIGTYPE_p_RoutingDataLevel.getCPtr(dataLevel)); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/ObfFile.java b/OsmAnd/src/net/osmand/core/jni/ObfFile.java new file mode 100644 index 0000000000..5fda99528a --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/ObfFile.java @@ -0,0 +1,59 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class ObfFile { + private long swigCPtr; + private boolean swigCMemOwn; + + protected ObfFile(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(ObfFile obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_ObfFile(swigCPtr); + } + swigCPtr = 0; + } + } + + public ObfFile(String filePath) { + this(OsmAndCoreJNI.new_ObfFile__SWIG_0(filePath), true); + } + + public ObfFile(String filePath, java.math.BigInteger fileSize) { + this(OsmAndCoreJNI.new_ObfFile__SWIG_1(filePath, fileSize), true); + } + + public String getFilePath() { + return OsmAndCoreJNI.ObfFile_filePath_get(swigCPtr, this); + } + + public java.math.BigInteger getFileSize() { + return OsmAndCoreJNI.ObfFile_fileSize_get(swigCPtr, this); + } + + public ObfInfo getObfInfo() { + long cPtr = OsmAndCoreJNI.ObfFile_obfInfo_get(swigCPtr, this); + return (cPtr == 0) ? null : new ObfInfo(cPtr, true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/ObfInfo.java b/OsmAnd/src/net/osmand/core/jni/ObfInfo.java new file mode 100644 index 0000000000..576a6e62ae --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/ObfInfo.java @@ -0,0 +1,70 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class ObfInfo { + private long swigCPtr; + private boolean swigCMemOwn; + + protected ObfInfo(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(ObfInfo obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_ObfInfo(swigCPtr); + } + swigCPtr = 0; + } + } + + public int getVersion() { + return OsmAndCoreJNI.ObfInfo_version_get(swigCPtr, this); + } + + public java.math.BigInteger getCreationTimestamp() { + return OsmAndCoreJNI.ObfInfo_creationTimestamp_get(swigCPtr, this); + } + + public boolean getIsBasemap() { + return OsmAndCoreJNI.ObfInfo_isBasemap_get(swigCPtr, this); + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_t_t getMapSections() { + return new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_t_t(OsmAndCoreJNI.ObfInfo_mapSections_get(swigCPtr, this), false); + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfAddressSectionInfo_t_t getAddressSections() { + return new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfAddressSectionInfo_t_t(OsmAndCoreJNI.ObfInfo_addressSections_get(swigCPtr, this), false); + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfRoutingSectionInfo_t_t getRoutingSections() { + return new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfRoutingSectionInfo_t_t(OsmAndCoreJNI.ObfInfo_routingSections_get(swigCPtr, this), false); + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfPoiSectionInfo_t_t getPoiSections() { + return new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfPoiSectionInfo_t_t(OsmAndCoreJNI.ObfInfo_poiSections_get(swigCPtr, this), false); + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfTransportSectionInfo_t_t getTransportSections() { + return new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfTransportSectionInfo_t_t(OsmAndCoreJNI.ObfInfo_transportSections_get(swigCPtr, this), false); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/ObfMapSectionDataBlockId.java b/OsmAnd/src/net/osmand/core/jni/ObfMapSectionDataBlockId.java new file mode 100644 index 0000000000..6f0c05b98a --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/ObfMapSectionDataBlockId.java @@ -0,0 +1,66 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class ObfMapSectionDataBlockId { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected ObfMapSectionDataBlockId(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(ObfMapSectionDataBlockId obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_ObfMapSectionDataBlockId(swigCPtr); + } + swigCPtr = 0; + } + } + + public void setId(java.math.BigInteger value) { + OsmAndCoreJNI.ObfMapSectionDataBlockId_id_set(swigCPtr, this, value); + } + + public java.math.BigInteger getId() { + return OsmAndCoreJNI.ObfMapSectionDataBlockId_id_get(swigCPtr, this); + } + + public void setSectionRuntimeGeneratedId(int value) { + OsmAndCoreJNI.ObfMapSectionDataBlockId_sectionRuntimeGeneratedId_set(swigCPtr, this, value); + } + + public int getSectionRuntimeGeneratedId() { + return OsmAndCoreJNI.ObfMapSectionDataBlockId_sectionRuntimeGeneratedId_get(swigCPtr, this); + } + + public void setOffset(long value) { + OsmAndCoreJNI.ObfMapSectionDataBlockId_offset_set(swigCPtr, this, value); + } + + public long getOffset() { + return OsmAndCoreJNI.ObfMapSectionDataBlockId_offset_get(swigCPtr, this); + } + + public ObfMapSectionDataBlockId() { + this(OsmAndCoreJNI.new_ObfMapSectionDataBlockId(), true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/ObfRoutingSectionDataBlockId.java b/OsmAnd/src/net/osmand/core/jni/ObfRoutingSectionDataBlockId.java new file mode 100644 index 0000000000..0e75a595a5 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/ObfRoutingSectionDataBlockId.java @@ -0,0 +1,66 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class ObfRoutingSectionDataBlockId { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected ObfRoutingSectionDataBlockId(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(ObfRoutingSectionDataBlockId obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_ObfRoutingSectionDataBlockId(swigCPtr); + } + swigCPtr = 0; + } + } + + public void setId(java.math.BigInteger value) { + OsmAndCoreJNI.ObfRoutingSectionDataBlockId_id_set(swigCPtr, this, value); + } + + public java.math.BigInteger getId() { + return OsmAndCoreJNI.ObfRoutingSectionDataBlockId_id_get(swigCPtr, this); + } + + public void setSectionRuntimeGeneratedId(int value) { + OsmAndCoreJNI.ObfRoutingSectionDataBlockId_sectionRuntimeGeneratedId_set(swigCPtr, this, value); + } + + public int getSectionRuntimeGeneratedId() { + return OsmAndCoreJNI.ObfRoutingSectionDataBlockId_sectionRuntimeGeneratedId_get(swigCPtr, this); + } + + public void setOffset(long value) { + OsmAndCoreJNI.ObfRoutingSectionDataBlockId_offset_set(swigCPtr, this, value); + } + + public long getOffset() { + return OsmAndCoreJNI.ObfRoutingSectionDataBlockId_offset_get(swigCPtr, this); + } + + public ObfRoutingSectionDataBlockId() { + this(OsmAndCoreJNI.new_ObfRoutingSectionDataBlockId(), true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/ObfsCollection.java b/OsmAnd/src/net/osmand/core/jni/ObfsCollection.java new file mode 100644 index 0000000000..584b0ae20c --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/ObfsCollection.java @@ -0,0 +1,81 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class ObfsCollection extends IObfsCollection { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected ObfsCollection(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.ObfsCollection_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(ObfsCollection obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_ObfsCollection(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public ObfsCollection() { + this(OsmAndCoreJNI.new_ObfsCollection(), true); + } + + public int addDirectory(SWIGTYPE_p_QDir dir, boolean recursive) { + return OsmAndCoreJNI.ObfsCollection_addDirectory__SWIG_0(swigCPtr, this, SWIGTYPE_p_QDir.getCPtr(dir), recursive); + } + + public int addDirectory(SWIGTYPE_p_QDir dir) { + return OsmAndCoreJNI.ObfsCollection_addDirectory__SWIG_1(swigCPtr, this, SWIGTYPE_p_QDir.getCPtr(dir)); + } + + public int addDirectory(String dirPath, boolean recursive) { + return OsmAndCoreJNI.ObfsCollection_addDirectory__SWIG_2(swigCPtr, this, dirPath, recursive); + } + + public int addDirectory(String dirPath) { + return OsmAndCoreJNI.ObfsCollection_addDirectory__SWIG_3(swigCPtr, this, dirPath); + } + + public int addFile(SWIGTYPE_p_QFileInfo fileInfo) { + return OsmAndCoreJNI.ObfsCollection_addFile__SWIG_0(swigCPtr, this, SWIGTYPE_p_QFileInfo.getCPtr(fileInfo)); + } + + public int addFile(String filePath) { + return OsmAndCoreJNI.ObfsCollection_addFile__SWIG_1(swigCPtr, this, filePath); + } + + public boolean remove(int entryId) { + return OsmAndCoreJNI.ObfsCollection_remove(swigCPtr, this, entryId); + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_ObfFile_const_t_t getObfFiles() { + return new SWIGTYPE_p_QListT_std__shared_ptrT_ObfFile_const_t_t(OsmAndCoreJNI.ObfsCollection_getObfFiles(swigCPtr, this), true); + } + + public ObfDataInterface obtainDataInterface() { + long cPtr = OsmAndCoreJNI.ObfsCollection_obtainDataInterface(swigCPtr, this); + return (cPtr == 0) ? null : new ObfDataInterface(cPtr, true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/OnlineRasterMapTileProvider.java b/OsmAnd/src/net/osmand/core/jni/OnlineRasterMapTileProvider.java new file mode 100644 index 0000000000..0a34139888 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/OnlineRasterMapTileProvider.java @@ -0,0 +1,132 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class OnlineRasterMapTileProvider extends IMapRasterBitmapTileProvider { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected OnlineRasterMapTileProvider(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.OnlineRasterMapTileProvider_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(OnlineRasterMapTileProvider obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_OnlineRasterMapTileProvider(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public OnlineRasterMapTileProvider(String name, String urlPattern, ZoomLevel minZoom, ZoomLevel maxZoom, long maxConcurrentDownloads, long providerTileSize, AlphaChannelData alphaChannelData) { + this(OsmAndCoreJNI.new_OnlineRasterMapTileProvider__SWIG_0(name, urlPattern, minZoom.swigValue(), maxZoom.swigValue(), maxConcurrentDownloads, providerTileSize, alphaChannelData.swigValue()), true); + } + + public OnlineRasterMapTileProvider(String name, String urlPattern, ZoomLevel minZoom, ZoomLevel maxZoom, long maxConcurrentDownloads, long providerTileSize) { + this(OsmAndCoreJNI.new_OnlineRasterMapTileProvider__SWIG_1(name, urlPattern, minZoom.swigValue(), maxZoom.swigValue(), maxConcurrentDownloads, providerTileSize), true); + } + + public OnlineRasterMapTileProvider(String name, String urlPattern, ZoomLevel minZoom, ZoomLevel maxZoom, long maxConcurrentDownloads) { + this(OsmAndCoreJNI.new_OnlineRasterMapTileProvider__SWIG_2(name, urlPattern, minZoom.swigValue(), maxZoom.swigValue(), maxConcurrentDownloads), true); + } + + public OnlineRasterMapTileProvider(String name, String urlPattern, ZoomLevel minZoom, ZoomLevel maxZoom) { + this(OsmAndCoreJNI.new_OnlineRasterMapTileProvider__SWIG_3(name, urlPattern, minZoom.swigValue(), maxZoom.swigValue()), true); + } + + public OnlineRasterMapTileProvider(String name, String urlPattern, ZoomLevel minZoom) { + this(OsmAndCoreJNI.new_OnlineRasterMapTileProvider__SWIG_4(name, urlPattern, minZoom.swigValue()), true); + } + + public OnlineRasterMapTileProvider(String name, String urlPattern) { + this(OsmAndCoreJNI.new_OnlineRasterMapTileProvider__SWIG_5(name, urlPattern), true); + } + + public String getName() { + return OsmAndCoreJNI.OnlineRasterMapTileProvider_name_get(swigCPtr, this); + } + + public String getPathSuffix() { + return OsmAndCoreJNI.OnlineRasterMapTileProvider_pathSuffix_get(swigCPtr, this); + } + + public String getUrlPattern() { + return OsmAndCoreJNI.OnlineRasterMapTileProvider_urlPattern_get(swigCPtr, this); + } + + public long getMaxConcurrentDownloads() { + return OsmAndCoreJNI.OnlineRasterMapTileProvider_maxConcurrentDownloads_get(swigCPtr, this); + } + + public long getProviderTileSize() { + return OsmAndCoreJNI.OnlineRasterMapTileProvider_providerTileSize_get(swigCPtr, this); + } + + public AlphaChannelData getAlphaChannelData() { + return AlphaChannelData.swigToEnum(OsmAndCoreJNI.OnlineRasterMapTileProvider_alphaChannelData_get(swigCPtr, this)); + } + + public void setLocalCachePath(SWIGTYPE_p_QDir localCachePath, boolean appendPathSuffix) { + OsmAndCoreJNI.OnlineRasterMapTileProvider_setLocalCachePath__SWIG_0(swigCPtr, this, SWIGTYPE_p_QDir.getCPtr(localCachePath), appendPathSuffix); + } + + public void setLocalCachePath(SWIGTYPE_p_QDir localCachePath) { + OsmAndCoreJNI.OnlineRasterMapTileProvider_setLocalCachePath__SWIG_1(swigCPtr, this, SWIGTYPE_p_QDir.getCPtr(localCachePath)); + } + + public SWIGTYPE_p_QDir getLocalCachePath() { + return new SWIGTYPE_p_QDir(OsmAndCoreJNI.OnlineRasterMapTileProvider_localCachePath_get(swigCPtr, this), false); + } + + public void setNetworkAccessPermission(boolean allowed) { + OsmAndCoreJNI.OnlineRasterMapTileProvider_setNetworkAccessPermission(swigCPtr, this, allowed); + } + + public boolean getNetworkAccessAllowed() { + return OsmAndCoreJNI.OnlineRasterMapTileProvider_networkAccessAllowed_get(swigCPtr, this); + } + + public float getTileDensityFactor() { + return OsmAndCoreJNI.OnlineRasterMapTileProvider_getTileDensityFactor(swigCPtr, this); + } + + public long getTileSize() { + return OsmAndCoreJNI.OnlineRasterMapTileProvider_getTileSize(swigCPtr, this); + } + + public boolean obtainData(TileId tileId, ZoomLevel zoom, MapTiledData outTiledData, SWIGTYPE_p_OsmAnd__IQueryController queryController) { + return OsmAndCoreJNI.OnlineRasterMapTileProvider_obtainData__SWIG_0(swigCPtr, this, TileId.getCPtr(tileId), tileId, zoom.swigValue(), MapTiledData.getCPtr(outTiledData), outTiledData, SWIGTYPE_p_OsmAnd__IQueryController.getCPtr(queryController)); + } + + public boolean obtainData(TileId tileId, ZoomLevel zoom, MapTiledData outTiledData) { + return OsmAndCoreJNI.OnlineRasterMapTileProvider_obtainData__SWIG_1(swigCPtr, this, TileId.getCPtr(tileId), tileId, zoom.swigValue(), MapTiledData.getCPtr(outTiledData), outTiledData); + } + + public ZoomLevel getMinZoom() { + return ZoomLevel.swigToEnum(OsmAndCoreJNI.OnlineRasterMapTileProvider_getMinZoom(swigCPtr, this)); + } + + public ZoomLevel getMaxZoom() { + return ZoomLevel.swigToEnum(OsmAndCoreJNI.OnlineRasterMapTileProvider_getMaxZoom(swigCPtr, this)); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/OnlineTileSources.java b/OsmAnd/src/net/osmand/core/jni/OnlineTileSources.java new file mode 100644 index 0000000000..5ae525cff4 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/OnlineTileSources.java @@ -0,0 +1,86 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class OnlineTileSources extends IOnlineTileSources { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected OnlineTileSources(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.OnlineTileSources_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(OnlineTileSources obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_OnlineTileSources(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public OnlineTileSources() { + this(OsmAndCoreJNI.new_OnlineTileSources(), true); + } + + public boolean loadFrom(SWIGTYPE_p_QByteArray content) { + return OsmAndCoreJNI.OnlineTileSources_loadFrom__SWIG_0(swigCPtr, this, SWIGTYPE_p_QByteArray.getCPtr(content)); + } + + public boolean loadFrom(SWIGTYPE_p_QIODevice ioDevice) { + return OsmAndCoreJNI.OnlineTileSources_loadFrom__SWIG_1(swigCPtr, this, SWIGTYPE_p_QIODevice.getCPtr(ioDevice)); + } + + public boolean loadFrom(String fileName) { + return OsmAndCoreJNI.OnlineTileSources_loadFrom__SWIG_2(swigCPtr, this, fileName); + } + + public boolean saveTo(SWIGTYPE_p_QIODevice ioDevice) { + return OsmAndCoreJNI.OnlineTileSources_saveTo__SWIG_0(swigCPtr, this, SWIGTYPE_p_QIODevice.getCPtr(ioDevice)); + } + + public boolean saveTo(String fileName) { + return OsmAndCoreJNI.OnlineTileSources_saveTo__SWIG_1(swigCPtr, this, fileName); + } + + public SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__IOnlineTileSources__Source_const_t_t getCollection() { + return new SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__IOnlineTileSources__Source_const_t_t(OsmAndCoreJNI.OnlineTileSources_getCollection(swigCPtr, this), true); + } + + public IOnlineTileSources.Source getSourceByName(String sourceName) { + long cPtr = OsmAndCoreJNI.OnlineTileSources_getSourceByName(swigCPtr, this, sourceName); + return (cPtr == 0) ? null : new IOnlineTileSources.Source(cPtr, true); + } + + public boolean addSource(IOnlineTileSources.Source source) { + return OsmAndCoreJNI.OnlineTileSources_addSource(swigCPtr, this, IOnlineTileSources.Source.getCPtr(source)); + } + + public boolean removeSource(String sourceName) { + return OsmAndCoreJNI.OnlineTileSources_removeSource(swigCPtr, this, sourceName); + } + + public static OnlineTileSources getBuiltIn() { + long cPtr = OsmAndCoreJNI.OnlineTileSources_getBuiltIn(); + return (cPtr == 0) ? null : new OnlineTileSources(cPtr, true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/OsmAndCore.java b/OsmAnd/src/net/osmand/core/jni/OsmAndCore.java new file mode 100644 index 0000000000..4ecc8a7245 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/OsmAndCore.java @@ -0,0 +1,70 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class OsmAndCore implements OsmAndCoreConstants { + public static boolean InitializeCore(ICoreResourcesProvider coreResourcesProvider) { + return OsmAndCoreJNI.InitializeCore(ICoreResourcesProvider.getCPtr(coreResourcesProvider), coreResourcesProvider); + } + + public static ICoreResourcesProvider getCoreResourcesProvider() { + long cPtr = OsmAndCoreJNI.getCoreResourcesProvider(); + return (cPtr == 0) ? null : new ICoreResourcesProvider(cPtr, true); + } + + public static void ReleaseCore() { + OsmAndCoreJNI.ReleaseCore(); + } + + public static int crossProductSign(PointF a, PointF b, PointF p) { + return OsmAndCoreJNI.crossProductSign__SWIG_0(PointF.getCPtr(a), a, PointF.getCPtr(b), b, PointF.getCPtr(p), p); + } + + public static int crossProductSign(PointD a, PointD b, PointD p) { + return OsmAndCoreJNI.crossProductSign__SWIG_1(PointD.getCPtr(a), a, PointD.getCPtr(b), b, PointD.getCPtr(p), p); + } + + public static int crossProductSign(PointI a, PointI b, PointI p) { + return OsmAndCoreJNI.crossProductSign__SWIG_2(PointI.getCPtr(a), a, PointI.getCPtr(b), b, PointI.getCPtr(p), p); + } + + public static int crossProductSign(SWIGTYPE_p_OsmAnd__PointT_long_long_t a, SWIGTYPE_p_OsmAnd__PointT_long_long_t b, SWIGTYPE_p_OsmAnd__PointT_long_long_t p) { + return OsmAndCoreJNI.crossProductSign__SWIG_3(SWIGTYPE_p_OsmAnd__PointT_long_long_t.getCPtr(a), SWIGTYPE_p_OsmAnd__PointT_long_long_t.getCPtr(b), SWIGTYPE_p_OsmAnd__PointT_long_long_t.getCPtr(p)); + } + + public static boolean testLineLineIntersection(PointI a0, PointI a1, PointI b0, PointI b1) { + return OsmAndCoreJNI.testLineLineIntersection__SWIG_0(PointI.getCPtr(a0), a0, PointI.getCPtr(a1), a1, PointI.getCPtr(b0), b0, PointI.getCPtr(b1), b1); + } + + public static boolean testLineLineIntersection(PointF a0, PointF a1, PointF b0, PointF b1) { + return OsmAndCoreJNI.testLineLineIntersection__SWIG_1(PointF.getCPtr(a0), a0, PointF.getCPtr(a1), a1, PointF.getCPtr(b0), b0, PointF.getCPtr(b1), b1); + } + + public static boolean testLineLineIntersection(PointD a0, PointD a1, PointD b0, PointD b1) { + return OsmAndCoreJNI.testLineLineIntersection__SWIG_2(PointD.getCPtr(a0), a0, PointD.getCPtr(a1), a1, PointD.getCPtr(b0), b0, PointD.getCPtr(b1), b1); + } + + public static boolean testLineLineIntersection(SWIGTYPE_p_OsmAnd__PointT_long_long_t a0, SWIGTYPE_p_OsmAnd__PointT_long_long_t a1, SWIGTYPE_p_OsmAnd__PointT_long_long_t b0, SWIGTYPE_p_OsmAnd__PointT_long_long_t b1) { + return OsmAndCoreJNI.testLineLineIntersection__SWIG_3(SWIGTYPE_p_OsmAnd__PointT_long_long_t.getCPtr(a0), SWIGTYPE_p_OsmAnd__PointT_long_long_t.getCPtr(a1), SWIGTYPE_p_OsmAnd__PointT_long_long_t.getCPtr(b0), SWIGTYPE_p_OsmAnd__PointT_long_long_t.getCPtr(b1)); + } + + public static void LogPrintf(LogSeverityLevel level, String format) { + OsmAndCoreJNI.LogPrintf(level.swigValue(), format); + } + + public static void LogFlush() { + OsmAndCoreJNI.LogFlush(); + } + + public static IMapRenderer createMapRenderer(MapRendererClass mapRendererClass) { + long cPtr = OsmAndCoreJNI.createMapRenderer(mapRendererClass.swigValue()); + return (cPtr == 0) ? null : new IMapRenderer(cPtr, true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/OsmAndCoreConstants.java b/OsmAnd/src/net/osmand/core/jni/OsmAndCoreConstants.java new file mode 100644 index 0000000000..670388597e --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/OsmAndCoreConstants.java @@ -0,0 +1,19 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public interface OsmAndCoreConstants { + public final static int OSMAND_DEBUG = OsmAndCoreJNI.OSMAND_DEBUG_get(); + public final static int ZoomLevelsCount = OsmAndCoreJNI.ZoomLevelsCount_get(); + + public final static int RoutingDataLevelsCount = OsmAndCoreJNI.RoutingDataLevelsCount_get(); + + public final static int RasterMapLayersCount = OsmAndCoreJNI.RasterMapLayersCount_get(); + +} diff --git a/OsmAnd/src/net/osmand/core/jni/OsmAndCoreJNI.java b/OsmAnd/src/net/osmand/core/jni/OsmAndCoreJNI.java new file mode 100644 index 0000000000..3420fca6b7 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/OsmAndCoreJNI.java @@ -0,0 +1,1350 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class OsmAndCoreJNI { + public final static native long new_BoolPtr(); + public final static native void delete_BoolPtr(long jarg1); + public final static native void BoolPtr_assign(long jarg1, BoolPtr jarg1_, boolean jarg2); + public final static native boolean BoolPtr_value(long jarg1, BoolPtr jarg1_); + public final static native long BoolPtr_cast(long jarg1, BoolPtr jarg1_); + public final static native long BoolPtr_frompointer(long jarg1); + public final static native long new_IntPtr(); + public final static native void delete_IntPtr(long jarg1); + public final static native void IntPtr_assign(long jarg1, IntPtr jarg1_, int jarg2); + public final static native int IntPtr_value(long jarg1, IntPtr jarg1_); + public final static native long IntPtr_cast(long jarg1, IntPtr jarg1_); + public final static native long IntPtr_frompointer(long jarg1); + public final static native long new_UIntPtr(); + public final static native void delete_UIntPtr(long jarg1); + public final static native void UIntPtr_assign(long jarg1, UIntPtr jarg1_, long jarg2); + public final static native long UIntPtr_value(long jarg1, UIntPtr jarg1_); + public final static native long UIntPtr_cast(long jarg1, UIntPtr jarg1_); + public final static native long UIntPtr_frompointer(long jarg1); + public final static native long new_FloatPtr(); + public final static native void delete_FloatPtr(long jarg1); + public final static native void FloatPtr_assign(long jarg1, FloatPtr jarg1_, float jarg2); + public final static native float FloatPtr_value(long jarg1, FloatPtr jarg1_); + public final static native long FloatPtr_cast(long jarg1, FloatPtr jarg1_); + public final static native long FloatPtr_frompointer(long jarg1); + public final static native long new_DoublePtr(); + public final static native void delete_DoublePtr(long jarg1); + public final static native void DoublePtr_assign(long jarg1, DoublePtr jarg1_, double jarg2); + public final static native double DoublePtr_value(long jarg1, DoublePtr jarg1_); + public final static native long DoublePtr_cast(long jarg1, DoublePtr jarg1_); + public final static native long DoublePtr_frompointer(long jarg1); + public final static native long new_QStringList(); + public final static native long QStringList_size(long jarg1, QStringList jarg1_); + public final static native void QStringList_reserve(long jarg1, QStringList jarg1_, long jarg2); + public final static native boolean QStringList_isEmpty(long jarg1, QStringList jarg1_); + public final static native void QStringList_clear(long jarg1, QStringList jarg1_); + public final static native void QStringList_add(long jarg1, QStringList jarg1_, String jarg2); + public final static native String QStringList_get(long jarg1, QStringList jarg1_, int jarg2); + public final static native void QStringList_set(long jarg1, QStringList jarg1_, int jarg2, String jarg3); + public final static native void delete_QStringList(long jarg1); + public final static native long SwigUtilities_readEntireFile(String jarg1); + public final static native long SwigUtilities_readPartOfFile(String jarg1, long jarg2, long jarg3); + public final static native long SwigUtilities_emptyQByteArray(); + public final static native int OSMAND_DEBUG_get(); + public final static native boolean InitializeCore(long jarg1, ICoreResourcesProvider jarg1_); + public final static native long getCoreResourcesProvider(); + public final static native void ReleaseCore(); + public final static native long new_IObservable(); + public final static native void delete_IObservable(long jarg1); + public final static native int crossProductSign__SWIG_0(long jarg1, PointF jarg1_, long jarg2, PointF jarg2_, long jarg3, PointF jarg3_); + public final static native int crossProductSign__SWIG_1(long jarg1, PointD jarg1_, long jarg2, PointD jarg2_, long jarg3, PointD jarg3_); + public final static native int crossProductSign__SWIG_2(long jarg1, PointI jarg1_, long jarg2, PointI jarg2_, long jarg3, PointI jarg3_); + public final static native int crossProductSign__SWIG_3(long jarg1, long jarg2, long jarg3); + public final static native boolean testLineLineIntersection__SWIG_0(long jarg1, PointI jarg1_, long jarg2, PointI jarg2_, long jarg3, PointI jarg3_, long jarg4, PointI jarg4_); + public final static native boolean testLineLineIntersection__SWIG_1(long jarg1, PointF jarg1_, long jarg2, PointF jarg2_, long jarg3, PointF jarg3_, long jarg4, PointF jarg4_); + public final static native boolean testLineLineIntersection__SWIG_2(long jarg1, PointD jarg1_, long jarg2, PointD jarg2_, long jarg3, PointD jarg3_, long jarg4, PointD jarg4_); + public final static native boolean testLineLineIntersection__SWIG_3(long jarg1, long jarg2, long jarg3, long jarg4); + public final static native int Edge_Invalid_get(); + public final static native int Edge_Left_get(); + public final static native int Edge_Top_get(); + public final static native int Edge_Right_get(); + public final static native int Edge_Bottom_get(); + public final static native int Quadrant_NE_get(); + public final static native void TileId_id_set(long jarg1, TileId jarg1_, java.math.BigInteger jarg2); + public final static native java.math.BigInteger TileId_id_get(long jarg1, TileId jarg1_); + public final static native void TileId_x_set(long jarg1, TileId jarg1_, int jarg2); + public final static native int TileId_x_get(long jarg1, TileId jarg1_); + public final static native void TileId_y_set(long jarg1, TileId jarg1_, int jarg2); + public final static native int TileId_y_get(long jarg1, TileId jarg1_); + public final static native long new_TileId(); + public final static native void delete_TileId(long jarg1); + public final static native int ZoomLevel0_get(); + public final static native int ZoomLevel31_get(); + public final static native int InvalidZoom_get(); + public final static native int MinZoomLevel_get(); + public final static native int MaxZoomLevel_get(); + public final static native int ZoomLevelsCount_get(); + public final static native long new_FColorARGB__SWIG_0(); + public final static native long new_FColorARGB__SWIG_1(float jarg1, float jarg2, float jarg3, float jarg4); + public final static native void FColorARGB_a_set(long jarg1, FColorARGB jarg1_, float jarg2); + public final static native float FColorARGB_a_get(long jarg1, FColorARGB jarg1_); + public final static native void FColorARGB_r_set(long jarg1, FColorARGB jarg1_, float jarg2); + public final static native float FColorARGB_r_get(long jarg1, FColorARGB jarg1_); + public final static native void FColorARGB_g_set(long jarg1, FColorARGB jarg1_, float jarg2); + public final static native float FColorARGB_g_get(long jarg1, FColorARGB jarg1_); + public final static native void FColorARGB_b_set(long jarg1, FColorARGB jarg1_, float jarg2); + public final static native float FColorARGB_b_get(long jarg1, FColorARGB jarg1_); + public final static native long FColorARGB_withAlpha(long jarg1, FColorARGB jarg1_, float jarg2); + public final static native long FColorARGB_setAlpha(long jarg1, FColorARGB jarg1_, float jarg2); + public final static native void delete_FColorARGB(long jarg1); + public final static native long new_FColorRGB__SWIG_0(); + public final static native long new_FColorRGB__SWIG_1(float jarg1, float jarg2, float jarg3); + public final static native long new_FColorRGB__SWIG_2(long jarg1, FColorARGB jarg1_); + public final static native void FColorRGB_r_set(long jarg1, FColorRGB jarg1_, float jarg2); + public final static native float FColorRGB_r_get(long jarg1, FColorRGB jarg1_); + public final static native void FColorRGB_g_set(long jarg1, FColorRGB jarg1_, float jarg2); + public final static native float FColorRGB_g_get(long jarg1, FColorRGB jarg1_); + public final static native void FColorRGB_b_set(long jarg1, FColorRGB jarg1_, float jarg2); + public final static native float FColorRGB_b_get(long jarg1, FColorRGB jarg1_); + public final static native long FColorRGB_withAlpha(long jarg1, FColorRGB jarg1_, float jarg2); + public final static native void delete_FColorRGB(long jarg1); + public final static native long new_ColorARGB__SWIG_0(); + public final static native long new_ColorARGB__SWIG_1(short jarg1, short jarg2, short jarg3, short jarg4); + public final static native long new_ColorARGB__SWIG_2(long jarg1, FColorARGB jarg1_); + public final static native void ColorARGB_a_set(long jarg1, ColorARGB jarg1_, short jarg2); + public final static native short ColorARGB_a_get(long jarg1, ColorARGB jarg1_); + public final static native void ColorARGB_r_set(long jarg1, ColorARGB jarg1_, short jarg2); + public final static native short ColorARGB_r_get(long jarg1, ColorARGB jarg1_); + public final static native void ColorARGB_g_set(long jarg1, ColorARGB jarg1_, short jarg2); + public final static native short ColorARGB_g_get(long jarg1, ColorARGB jarg1_); + public final static native void ColorARGB_b_set(long jarg1, ColorARGB jarg1_, short jarg2); + public final static native short ColorARGB_b_get(long jarg1, ColorARGB jarg1_); + public final static native long ColorARGB_withAlpha(long jarg1, ColorARGB jarg1_, short jarg2); + public final static native long ColorARGB_setAlpha(long jarg1, ColorARGB jarg1_, short jarg2); + public final static native void delete_ColorARGB(long jarg1); + public final static native long new_ColorRGB__SWIG_0(); + public final static native long new_ColorRGB__SWIG_1(short jarg1, short jarg2, short jarg3); + public final static native long new_ColorRGB__SWIG_2(long jarg1, ColorARGB jarg1_); + public final static native long new_ColorRGB__SWIG_3(long jarg1, FColorRGB jarg1_); + public final static native void ColorRGB_r_set(long jarg1, ColorRGB jarg1_, short jarg2); + public final static native short ColorRGB_r_get(long jarg1, ColorRGB jarg1_); + public final static native void ColorRGB_g_set(long jarg1, ColorRGB jarg1_, short jarg2); + public final static native short ColorRGB_g_get(long jarg1, ColorRGB jarg1_); + public final static native void ColorRGB_b_set(long jarg1, ColorRGB jarg1_, short jarg2); + public final static native short ColorRGB_b_get(long jarg1, ColorRGB jarg1_); + public final static native long ColorRGB_withAlpha(long jarg1, ColorRGB jarg1_, short jarg2); + public final static native void delete_ColorRGB(long jarg1); + public final static native int LanguageId_Invariant_get(); + public final static native void LatLon_latitude_set(long jarg1, LatLon jarg1_, double jarg2); + public final static native double LatLon_latitude_get(long jarg1, LatLon jarg1_); + public final static native void LatLon_longitude_set(long jarg1, LatLon jarg1_, double jarg2); + public final static native double LatLon_longitude_get(long jarg1, LatLon jarg1_); + public final static native long new_LatLon__SWIG_0(); + public final static native long new_LatLon__SWIG_1(long jarg1, LatLon jarg1_); + public final static native long new_LatLon__SWIG_2(double jarg1, double jarg2); + public final static native void delete_LatLon(long jarg1); + public final static native void PointI_x_set(long jarg1, PointI jarg1_, int jarg2); + public final static native int PointI_x_get(long jarg1, PointI jarg1_); + public final static native void PointI_y_set(long jarg1, PointI jarg1_, int jarg2); + public final static native int PointI_y_get(long jarg1, PointI jarg1_); + public final static native long new_PointI__SWIG_0(); + public final static native long new_PointI__SWIG_1(long jarg1, PointI jarg1_); + public final static native long new_PointI__SWIG_2(int jarg1, int jarg2); + public final static native void delete_PointI(long jarg1); + public final static native void PointF_x_set(long jarg1, PointF jarg1_, float jarg2); + public final static native float PointF_x_get(long jarg1, PointF jarg1_); + public final static native void PointF_y_set(long jarg1, PointF jarg1_, float jarg2); + public final static native float PointF_y_get(long jarg1, PointF jarg1_); + public final static native long new_PointF__SWIG_0(); + public final static native long new_PointF__SWIG_1(long jarg1, PointF jarg1_); + public final static native long new_PointF__SWIG_2(float jarg1, float jarg2); + public final static native void delete_PointF(long jarg1); + public final static native void PointD_x_set(long jarg1, PointD jarg1_, double jarg2); + public final static native double PointD_x_get(long jarg1, PointD jarg1_); + public final static native void PointD_y_set(long jarg1, PointD jarg1_, double jarg2); + public final static native double PointD_y_get(long jarg1, PointD jarg1_); + public final static native long new_PointD__SWIG_0(); + public final static native long new_PointD__SWIG_1(long jarg1, PointD jarg1_); + public final static native long new_PointD__SWIG_2(double jarg1, double jarg2); + public final static native void delete_PointD(long jarg1); + public final static native long new_AreaI__SWIG_0(); + public final static native long new_AreaI__SWIG_1(int jarg1, int jarg2, int jarg3, int jarg4); + public final static native long new_AreaI__SWIG_2(long jarg1, PointI jarg1_, long jarg2, PointI jarg2_); + public final static native long new_AreaI__SWIG_3(long jarg1, AreaI jarg1_); + public final static native void AreaI_topLeft_set(long jarg1, AreaI jarg1_, long jarg2, PointI jarg2_); + public final static native long AreaI_topLeft_get(long jarg1, AreaI jarg1_); + public final static native void AreaI_bottomRight_set(long jarg1, AreaI jarg1_, long jarg2, PointI jarg2_); + public final static native long AreaI_bottomRight_get(long jarg1, AreaI jarg1_); + public final static native boolean AreaI_contains__SWIG_0(long jarg1, AreaI jarg1_, int jarg2, int jarg3); + public final static native boolean AreaI_contains__SWIG_1(long jarg1, AreaI jarg1_, long jarg2, PointI jarg2_); + public final static native boolean AreaI_contains__SWIG_2(long jarg1, AreaI jarg1_, int jarg2, int jarg3, int jarg4, int jarg5); + public final static native boolean AreaI_contains__SWIG_3(long jarg1, AreaI jarg1_, long jarg2, AreaI jarg2_); + public final static native boolean AreaI_intersects__SWIG_0(long jarg1, AreaI jarg1_, int jarg2, int jarg3, int jarg4, int jarg5); + public final static native boolean AreaI_intersects__SWIG_1(long jarg1, AreaI jarg1_, long jarg2, AreaI jarg2_); + public final static native boolean AreaI_contains__SWIG_4(long jarg1, AreaI jarg1_, long jarg2, OOBBI jarg2_); + public final static native boolean AreaI_intersects__SWIG_2(long jarg1, AreaI jarg1_, long jarg2, OOBBI jarg2_); + public final static native int AreaI_width(long jarg1, AreaI jarg1_); + public final static native int AreaI_height(long jarg1, AreaI jarg1_); + public final static native long AreaI_center(long jarg1, AreaI jarg1_); + public final static native long AreaI_topRight(long jarg1, AreaI jarg1_); + public final static native long AreaI_bottomLeft(long jarg1, AreaI jarg1_); + public final static native long AreaI_getQuadrant(long jarg1, AreaI jarg1_, int jarg2); + public final static native long AreaI_getEnlargedToInclude(long jarg1, AreaI jarg1_, long jarg2, PointI jarg2_); + public final static native long AreaI_getEnlargedBy__SWIG_0(long jarg1, AreaI jarg1_, long jarg2, PointI jarg2_); + public final static native long AreaI_getEnlargedBy__SWIG_1(long jarg1, AreaI jarg1_, int jarg2, int jarg3, int jarg4, int jarg5); + public final static native long AreaI_largest(); + public final static native long AreaI_fromCenterAndSize(int jarg1, int jarg2, int jarg3, int jarg4); + public final static native void delete_AreaI(long jarg1); + public final static native long new_AreaF__SWIG_0(); + public final static native long new_AreaF__SWIG_1(float jarg1, float jarg2, float jarg3, float jarg4); + public final static native long new_AreaF__SWIG_2(long jarg1, PointF jarg1_, long jarg2, PointF jarg2_); + public final static native long new_AreaF__SWIG_3(long jarg1, AreaF jarg1_); + public final static native void AreaF_topLeft_set(long jarg1, AreaF jarg1_, long jarg2, PointF jarg2_); + public final static native long AreaF_topLeft_get(long jarg1, AreaF jarg1_); + public final static native void AreaF_bottomRight_set(long jarg1, AreaF jarg1_, long jarg2, PointF jarg2_); + public final static native long AreaF_bottomRight_get(long jarg1, AreaF jarg1_); + public final static native boolean AreaF_contains__SWIG_0(long jarg1, AreaF jarg1_, float jarg2, float jarg3); + public final static native boolean AreaF_contains__SWIG_1(long jarg1, AreaF jarg1_, long jarg2, PointF jarg2_); + public final static native boolean AreaF_contains__SWIG_2(long jarg1, AreaF jarg1_, float jarg2, float jarg3, float jarg4, float jarg5); + public final static native boolean AreaF_contains__SWIG_3(long jarg1, AreaF jarg1_, long jarg2, AreaF jarg2_); + public final static native boolean AreaF_intersects__SWIG_0(long jarg1, AreaF jarg1_, float jarg2, float jarg3, float jarg4, float jarg5); + public final static native boolean AreaF_intersects__SWIG_1(long jarg1, AreaF jarg1_, long jarg2, AreaF jarg2_); + public final static native boolean AreaF_contains__SWIG_4(long jarg1, AreaF jarg1_, long jarg2, OOBBF jarg2_); + public final static native boolean AreaF_intersects__SWIG_2(long jarg1, AreaF jarg1_, long jarg2, OOBBF jarg2_); + public final static native float AreaF_width(long jarg1, AreaF jarg1_); + public final static native float AreaF_height(long jarg1, AreaF jarg1_); + public final static native long AreaF_center(long jarg1, AreaF jarg1_); + public final static native long AreaF_topRight(long jarg1, AreaF jarg1_); + public final static native long AreaF_bottomLeft(long jarg1, AreaF jarg1_); + public final static native long AreaF_getQuadrant(long jarg1, AreaF jarg1_, int jarg2); + public final static native long AreaF_getEnlargedToInclude(long jarg1, AreaF jarg1_, long jarg2, PointF jarg2_); + public final static native long AreaF_getEnlargedBy__SWIG_0(long jarg1, AreaF jarg1_, long jarg2, PointF jarg2_); + public final static native long AreaF_getEnlargedBy__SWIG_1(long jarg1, AreaF jarg1_, float jarg2, float jarg3, float jarg4, float jarg5); + public final static native long AreaF_largest(); + public final static native long AreaF_fromCenterAndSize(float jarg1, float jarg2, float jarg3, float jarg4); + public final static native void delete_AreaF(long jarg1); + public final static native long new_AreaD__SWIG_0(); + public final static native long new_AreaD__SWIG_1(double jarg1, double jarg2, double jarg3, double jarg4); + public final static native long new_AreaD__SWIG_2(long jarg1, PointD jarg1_, long jarg2, PointD jarg2_); + public final static native long new_AreaD__SWIG_3(long jarg1, AreaD jarg1_); + public final static native void AreaD_topLeft_set(long jarg1, AreaD jarg1_, long jarg2, PointD jarg2_); + public final static native long AreaD_topLeft_get(long jarg1, AreaD jarg1_); + public final static native void AreaD_bottomRight_set(long jarg1, AreaD jarg1_, long jarg2, PointD jarg2_); + public final static native long AreaD_bottomRight_get(long jarg1, AreaD jarg1_); + public final static native boolean AreaD_contains__SWIG_0(long jarg1, AreaD jarg1_, double jarg2, double jarg3); + public final static native boolean AreaD_contains__SWIG_1(long jarg1, AreaD jarg1_, long jarg2, PointD jarg2_); + public final static native boolean AreaD_contains__SWIG_2(long jarg1, AreaD jarg1_, double jarg2, double jarg3, double jarg4, double jarg5); + public final static native boolean AreaD_contains__SWIG_3(long jarg1, AreaD jarg1_, long jarg2, AreaD jarg2_); + public final static native boolean AreaD_intersects__SWIG_0(long jarg1, AreaD jarg1_, double jarg2, double jarg3, double jarg4, double jarg5); + public final static native boolean AreaD_intersects__SWIG_1(long jarg1, AreaD jarg1_, long jarg2, AreaD jarg2_); + public final static native boolean AreaD_contains__SWIG_4(long jarg1, AreaD jarg1_, long jarg2, OOBBD jarg2_); + public final static native boolean AreaD_intersects__SWIG_2(long jarg1, AreaD jarg1_, long jarg2, OOBBD jarg2_); + public final static native double AreaD_width(long jarg1, AreaD jarg1_); + public final static native double AreaD_height(long jarg1, AreaD jarg1_); + public final static native long AreaD_center(long jarg1, AreaD jarg1_); + public final static native long AreaD_topRight(long jarg1, AreaD jarg1_); + public final static native long AreaD_bottomLeft(long jarg1, AreaD jarg1_); + public final static native long AreaD_getQuadrant(long jarg1, AreaD jarg1_, int jarg2); + public final static native long AreaD_getEnlargedToInclude(long jarg1, AreaD jarg1_, long jarg2, PointD jarg2_); + public final static native long AreaD_getEnlargedBy__SWIG_0(long jarg1, AreaD jarg1_, long jarg2, PointD jarg2_); + public final static native long AreaD_getEnlargedBy__SWIG_1(long jarg1, AreaD jarg1_, double jarg2, double jarg3, double jarg4, double jarg5); + public final static native long AreaD_largest(); + public final static native long AreaD_fromCenterAndSize(double jarg1, double jarg2, double jarg3, double jarg4); + public final static native void delete_AreaD(long jarg1); + public final static native long new_OOBBI__SWIG_0(); + public final static native long new_OOBBI__SWIG_1(long jarg1, AreaI jarg1_, float jarg2); + public final static native boolean OOBBI_contains__SWIG_0(long jarg1, OOBBI jarg1_, long jarg2, OOBBI jarg2_); + public final static native boolean OOBBI_intersects__SWIG_0(long jarg1, OOBBI jarg1_, long jarg2, OOBBI jarg2_); + public final static native boolean OOBBI_contains__SWIG_1(long jarg1, OOBBI jarg1_, long jarg2, AreaI jarg2_); + public final static native boolean OOBBI_contains__SWIG_2(long jarg1, OOBBI jarg1_, long jarg2, PointI jarg2_); + public final static native boolean OOBBI_intersects__SWIG_1(long jarg1, OOBBI jarg1_, long jarg2, AreaI jarg2_); + public final static native long OOBBI_getEnlargedBy__SWIG_0(long jarg1, OOBBI jarg1_, long jarg2, PointI jarg2_); + public final static native long OOBBI_getEnlargedBy__SWIG_1(long jarg1, OOBBI jarg1_, int jarg2, int jarg3, int jarg4, int jarg5); + public final static native void delete_OOBBI(long jarg1); + public final static native long new_OOBBF__SWIG_0(); + public final static native long new_OOBBF__SWIG_1(long jarg1, AreaF jarg1_, float jarg2); + public final static native boolean OOBBF_contains__SWIG_0(long jarg1, OOBBF jarg1_, long jarg2, OOBBF jarg2_); + public final static native boolean OOBBF_intersects__SWIG_0(long jarg1, OOBBF jarg1_, long jarg2, OOBBF jarg2_); + public final static native boolean OOBBF_contains__SWIG_1(long jarg1, OOBBF jarg1_, long jarg2, AreaF jarg2_); + public final static native boolean OOBBF_contains__SWIG_2(long jarg1, OOBBF jarg1_, long jarg2, PointF jarg2_); + public final static native boolean OOBBF_intersects__SWIG_1(long jarg1, OOBBF jarg1_, long jarg2, AreaF jarg2_); + public final static native long OOBBF_getEnlargedBy__SWIG_0(long jarg1, OOBBF jarg1_, long jarg2, PointF jarg2_); + public final static native long OOBBF_getEnlargedBy__SWIG_1(long jarg1, OOBBF jarg1_, float jarg2, float jarg3, float jarg4, float jarg5); + public final static native void delete_OOBBF(long jarg1); + public final static native long new_OOBBD__SWIG_0(); + public final static native long new_OOBBD__SWIG_1(long jarg1, AreaD jarg1_, float jarg2); + public final static native boolean OOBBD_contains__SWIG_0(long jarg1, OOBBD jarg1_, long jarg2, OOBBD jarg2_); + public final static native boolean OOBBD_intersects__SWIG_0(long jarg1, OOBBD jarg1_, long jarg2, OOBBD jarg2_); + public final static native boolean OOBBD_contains__SWIG_1(long jarg1, OOBBD jarg1_, long jarg2, AreaD jarg2_); + public final static native boolean OOBBD_contains__SWIG_2(long jarg1, OOBBD jarg1_, long jarg2, PointD jarg2_); + public final static native boolean OOBBD_intersects__SWIG_1(long jarg1, OOBBD jarg1_, long jarg2, AreaD jarg2_); + public final static native long OOBBD_getEnlargedBy__SWIG_0(long jarg1, OOBBD jarg1_, long jarg2, PointD jarg2_); + public final static native long OOBBD_getEnlargedBy__SWIG_1(long jarg1, OOBBD jarg1_, double jarg2, double jarg3, double jarg4, double jarg5); + public final static native void delete_OOBBD(long jarg1); + public final static native long new_MapRendererStateChanges__SWIG_0(); + public final static native long new_MapRendererStateChanges__SWIG_1(long jarg1); + public final static native long new_MapRendererStateChanges__SWIG_2(long jarg1); + public final static native void delete_MapRendererStateChanges(long jarg1); + public final static native boolean MapRendererStateChanges_isSet(long jarg1, MapRendererStateChanges jarg1_, int jarg2); + public final static native long MapRendererStateChanges_set(long jarg1, MapRendererStateChanges jarg1_, int jarg2); + public final static native long MapRendererStateChanges_unset(long jarg1, MapRendererStateChanges jarg1_, int jarg2); + public final static native void delete_IObfsCollection(long jarg1); + public final static native long IObfsCollection_getObfFiles(long jarg1, IObfsCollection jarg1_); + public final static native long IObfsCollection_obtainDataInterface(long jarg1, IObfsCollection jarg1_); + public final static native long new_ObfsCollection(); + public final static native void delete_ObfsCollection(long jarg1); + public final static native int ObfsCollection_addDirectory__SWIG_0(long jarg1, ObfsCollection jarg1_, long jarg2, boolean jarg3); + public final static native int ObfsCollection_addDirectory__SWIG_1(long jarg1, ObfsCollection jarg1_, long jarg2); + public final static native int ObfsCollection_addDirectory__SWIG_2(long jarg1, ObfsCollection jarg1_, String jarg2, boolean jarg3); + public final static native int ObfsCollection_addDirectory__SWIG_3(long jarg1, ObfsCollection jarg1_, String jarg2); + public final static native int ObfsCollection_addFile__SWIG_0(long jarg1, ObfsCollection jarg1_, long jarg2); + public final static native int ObfsCollection_addFile__SWIG_1(long jarg1, ObfsCollection jarg1_, String jarg2); + public final static native boolean ObfsCollection_remove(long jarg1, ObfsCollection jarg1_, int jarg2); + public final static native long ObfsCollection_getObfFiles(long jarg1, ObfsCollection jarg1_); + public final static native long ObfsCollection_obtainDataInterface(long jarg1, ObfsCollection jarg1_); + public final static native long new_ObfDataInterface(long jarg1); + public final static native void delete_ObfDataInterface(long jarg1); + public final static native long ObfDataInterface_obfReaders_get(long jarg1, ObfDataInterface jarg1_); + public final static native boolean ObfDataInterface_loadObfFiles__SWIG_0(long jarg1, ObfDataInterface jarg1_, long jarg2, long jarg3); + public final static native boolean ObfDataInterface_loadObfFiles__SWIG_1(long jarg1, ObfDataInterface jarg1_, long jarg2); + public final static native boolean ObfDataInterface_loadObfFiles__SWIG_2(long jarg1, ObfDataInterface jarg1_); + public final static native boolean ObfDataInterface_loadBasemapPresenceFlag__SWIG_0(long jarg1, ObfDataInterface jarg1_, long jarg2, long jarg3); + public final static native boolean ObfDataInterface_loadBasemapPresenceFlag__SWIG_1(long jarg1, ObfDataInterface jarg1_, long jarg2); + public final static native boolean ObfDataInterface_loadMapObjects__SWIG_0(long jarg1, ObfDataInterface jarg1_, long jarg2, long jarg3, int jarg4, long jarg5, AreaI jarg5_, long jarg6, long jarg7, long jarg8, long jarg9, long jarg10); + public final static native boolean ObfDataInterface_loadMapObjects__SWIG_1(long jarg1, ObfDataInterface jarg1_, long jarg2, long jarg3, int jarg4, long jarg5, AreaI jarg5_, long jarg6, long jarg7, long jarg8, long jarg9); + public final static native boolean ObfDataInterface_loadMapObjects__SWIG_2(long jarg1, ObfDataInterface jarg1_, long jarg2, long jarg3, int jarg4, long jarg5, AreaI jarg5_, long jarg6, long jarg7, long jarg8); + public final static native boolean ObfDataInterface_loadMapObjects__SWIG_3(long jarg1, ObfDataInterface jarg1_, long jarg2, long jarg3, int jarg4, long jarg5, AreaI jarg5_, long jarg6, long jarg7); + public final static native boolean ObfDataInterface_loadMapObjects__SWIG_4(long jarg1, ObfDataInterface jarg1_, long jarg2, long jarg3, int jarg4, long jarg5, AreaI jarg5_, long jarg6); + public final static native boolean ObfDataInterface_loadMapObjects__SWIG_5(long jarg1, ObfDataInterface jarg1_, long jarg2, long jarg3, int jarg4, long jarg5, AreaI jarg5_); + public final static native boolean ObfDataInterface_loadMapObjects__SWIG_6(long jarg1, ObfDataInterface jarg1_, long jarg2, long jarg3, int jarg4); + public final static native boolean ObfDataInterface_loadRoads__SWIG_0(long jarg1, ObfDataInterface jarg1_, long jarg2, long jarg3, AreaI jarg3_, long jarg4, long jarg5, long jarg6, long jarg7, long jarg8, long jarg9, long jarg10); + public final static native boolean ObfDataInterface_loadRoads__SWIG_1(long jarg1, ObfDataInterface jarg1_, long jarg2, long jarg3, AreaI jarg3_, long jarg4, long jarg5, long jarg6, long jarg7, long jarg8, long jarg9); + public final static native boolean ObfDataInterface_loadRoads__SWIG_2(long jarg1, ObfDataInterface jarg1_, long jarg2, long jarg3, AreaI jarg3_, long jarg4, long jarg5, long jarg6, long jarg7, long jarg8); + public final static native boolean ObfDataInterface_loadRoads__SWIG_3(long jarg1, ObfDataInterface jarg1_, long jarg2, long jarg3, AreaI jarg3_, long jarg4, long jarg5, long jarg6, long jarg7); + public final static native boolean ObfDataInterface_loadRoads__SWIG_4(long jarg1, ObfDataInterface jarg1_, long jarg2, long jarg3, AreaI jarg3_, long jarg4, long jarg5, long jarg6); + public final static native boolean ObfDataInterface_loadRoads__SWIG_5(long jarg1, ObfDataInterface jarg1_, long jarg2, long jarg3, AreaI jarg3_, long jarg4, long jarg5); + public final static native boolean ObfDataInterface_loadRoads__SWIG_6(long jarg1, ObfDataInterface jarg1_, long jarg2, long jarg3, AreaI jarg3_, long jarg4); + public final static native boolean ObfDataInterface_loadRoads__SWIG_7(long jarg1, ObfDataInterface jarg1_, long jarg2, long jarg3, AreaI jarg3_); + public final static native boolean ObfDataInterface_loadRoads__SWIG_8(long jarg1, ObfDataInterface jarg1_, long jarg2); + public final static native int ResourcesManager_ResourceType_Unknown_get(); + public final static native long new_ResourcesManager_Resource_Metadata(); + public final static native void delete_ResourcesManager_Resource_Metadata(long jarg1); + public final static native void delete_ResourcesManager_Resource(long jarg1); + public final static native String ResourcesManager_Resource_id_get(long jarg1, ResourcesManager.Resource jarg1_); + public final static native int ResourcesManager_Resource_type_get(long jarg1, ResourcesManager.Resource jarg1_); + public final static native int ResourcesManager_Resource_origin_get(long jarg1, ResourcesManager.Resource jarg1_); + public final static native long ResourcesManager_Resource_metadata_get(long jarg1, ResourcesManager.Resource jarg1_); + public final static native void delete_ResourcesManager_LocalResource(long jarg1); + public final static native String ResourcesManager_LocalResource_localPath_get(long jarg1, ResourcesManager.LocalResource jarg1_); + public final static native java.math.BigInteger ResourcesManager_LocalResource_size_get(long jarg1, ResourcesManager.LocalResource jarg1_); + public final static native void delete_ResourcesManager_UnmanagedResource(long jarg1); + public final static native String ResourcesManager_UnmanagedResource_name_get(long jarg1, ResourcesManager.UnmanagedResource jarg1_); + public final static native void delete_ResourcesManager_InstalledResource(long jarg1); + public final static native java.math.BigInteger ResourcesManager_InstalledResource_timestamp_get(long jarg1, ResourcesManager.InstalledResource jarg1_); + public final static native void delete_ResourcesManager_BuiltinResource(long jarg1); + public final static native void delete_ResourcesManager_ResourceInRepository(long jarg1); + public final static native long ResourcesManager_ResourceInRepository_url_get(long jarg1, ResourcesManager.ResourceInRepository jarg1_); + public final static native java.math.BigInteger ResourcesManager_ResourceInRepository_size_get(long jarg1, ResourcesManager.ResourceInRepository jarg1_); + public final static native java.math.BigInteger ResourcesManager_ResourceInRepository_timestamp_get(long jarg1, ResourcesManager.ResourceInRepository jarg1_); + public final static native java.math.BigInteger ResourcesManager_ResourceInRepository_packageSize_get(long jarg1, ResourcesManager.ResourceInRepository jarg1_); + public final static native long new_ResourcesManager_ObfMetadata(long jarg1, ObfFile jarg1_); + public final static native void delete_ResourcesManager_ObfMetadata(long jarg1); + public final static native long ResourcesManager_ObfMetadata_obfFile_get(long jarg1, ResourcesManager.ObfMetadata jarg1_); + public final static native long new_ResourcesManager_MapStyleMetadata(long jarg1, MapStyle jarg1_); + public final static native void delete_ResourcesManager_MapStyleMetadata(long jarg1); + public final static native long ResourcesManager_MapStyleMetadata_mapStyle_get(long jarg1, ResourcesManager.MapStyleMetadata jarg1_); + public final static native long new_ResourcesManager_MapStylesPresetsMetadata(long jarg1, MapStylesPresetsCollection jarg1_); + public final static native void delete_ResourcesManager_MapStylesPresetsMetadata(long jarg1); + public final static native long ResourcesManager_MapStylesPresetsMetadata_presets_get(long jarg1, ResourcesManager.MapStylesPresetsMetadata jarg1_); + public final static native long new_ResourcesManager_OnlineTileSourcesMetadata(long jarg1, OnlineTileSources jarg1_); + public final static native void delete_ResourcesManager_OnlineTileSourcesMetadata(long jarg1); + public final static native long ResourcesManager_OnlineTileSourcesMetadata_sources_get(long jarg1, ResourcesManager.OnlineTileSourcesMetadata jarg1_); + public final static native long new_ResourcesManager__SWIG_0(String jarg1, String jarg2, long jarg3, QStringList jarg3_, String jarg4, String jarg5, String jarg6); + public final static native long new_ResourcesManager__SWIG_1(String jarg1, String jarg2, long jarg3, QStringList jarg3_, String jarg4, String jarg5); + public final static native long new_ResourcesManager__SWIG_2(String jarg1, String jarg2, long jarg3, QStringList jarg3_, String jarg4); + public final static native long new_ResourcesManager__SWIG_3(String jarg1, String jarg2, long jarg3, QStringList jarg3_); + public final static native long new_ResourcesManager__SWIG_4(String jarg1, String jarg2); + public final static native long new_ResourcesManager__SWIG_5(String jarg1); + public final static native void delete_ResourcesManager(long jarg1); + public final static native String ResourcesManager_localStoragePath_get(long jarg1, ResourcesManager jarg1_); + public final static native String ResourcesManager_userStoragePath_get(long jarg1, ResourcesManager jarg1_); + public final static native long ResourcesManager_readonlyExternalStoragePaths_get(long jarg1, ResourcesManager jarg1_); + public final static native String ResourcesManager_miniBasemapFilename_get(long jarg1, ResourcesManager jarg1_); + public final static native String ResourcesManager_localTemporaryPath_get(long jarg1, ResourcesManager jarg1_); + public final static native String ResourcesManager_repositoryBaseUrl_get(long jarg1, ResourcesManager jarg1_); + public final static native long ResourcesManager_getResource(long jarg1, ResourcesManager jarg1_, String jarg2); + public final static native long ResourcesManager_getBuiltInResources(long jarg1, ResourcesManager jarg1_); + public final static native long ResourcesManager_getBuiltInResource(long jarg1, ResourcesManager jarg1_, String jarg2); + public final static native boolean ResourcesManager_isBuiltInResource(long jarg1, ResourcesManager jarg1_, String jarg2); + public final static native boolean ResourcesManager_rescanUnmanagedStoragePaths(long jarg1, ResourcesManager jarg1_); + public final static native long ResourcesManager_getLocalResources(long jarg1, ResourcesManager jarg1_); + public final static native long ResourcesManager_getLocalResource(long jarg1, ResourcesManager jarg1_, String jarg2); + public final static native boolean ResourcesManager_isLocalResource(long jarg1, ResourcesManager jarg1_, String jarg2); + public final static native boolean ResourcesManager_isRepositoryAvailable(long jarg1, ResourcesManager jarg1_); + public final static native boolean ResourcesManager_updateRepository(long jarg1, ResourcesManager jarg1_); + public final static native long ResourcesManager_getResourcesInRepository(long jarg1, ResourcesManager jarg1_); + public final static native long ResourcesManager_getResourceInRepository(long jarg1, ResourcesManager jarg1_, String jarg2); + public final static native boolean ResourcesManager_isResourceInRepository(long jarg1, ResourcesManager jarg1_, String jarg2); + public final static native boolean ResourcesManager_isResourceInstalled(long jarg1, ResourcesManager jarg1_, String jarg2); + public final static native boolean ResourcesManager_uninstallResource(long jarg1, ResourcesManager jarg1_, String jarg2); + public final static native boolean ResourcesManager_installFromFile__SWIG_0(long jarg1, ResourcesManager jarg1_, String jarg2, int jarg3); + public final static native boolean ResourcesManager_installFromFile__SWIG_1(long jarg1, ResourcesManager jarg1_, String jarg2, String jarg3, int jarg4); + public final static native boolean ResourcesManager_installFromRepository__SWIG_0(long jarg1, ResourcesManager jarg1_, String jarg2, long jarg3); + public final static native boolean ResourcesManager_installFromRepository__SWIG_1(long jarg1, ResourcesManager jarg1_, String jarg2); + public final static native boolean ResourcesManager_installFromRepository__SWIG_2(long jarg1, ResourcesManager jarg1_, String jarg2, String jarg3); + public final static native boolean ResourcesManager_isInstalledResourceOutdated(long jarg1, ResourcesManager jarg1_, String jarg2); + public final static native long ResourcesManager_getOutdatedInstalledResources(long jarg1, ResourcesManager jarg1_); + public final static native boolean ResourcesManager_updateFromFile__SWIG_0(long jarg1, ResourcesManager jarg1_, String jarg2); + public final static native boolean ResourcesManager_updateFromFile__SWIG_1(long jarg1, ResourcesManager jarg1_, String jarg2, String jarg3); + public final static native boolean ResourcesManager_updateFromRepository__SWIG_0(long jarg1, ResourcesManager jarg1_, String jarg2, long jarg3); + public final static native boolean ResourcesManager_updateFromRepository__SWIG_1(long jarg1, ResourcesManager jarg1_, String jarg2); + public final static native boolean ResourcesManager_updateFromRepository__SWIG_2(long jarg1, ResourcesManager jarg1_, String jarg2, String jarg3); + public final static native long new_ResourcesManager_ILocalResourcesChanged(); + public final static native void delete_ResourcesManager_ILocalResourcesChanged(long jarg1); + public final static native void ResourcesManager_ILocalResourcesChanged_method(long jarg1, ResourcesManager.ILocalResourcesChanged jarg1_, long jarg2, ResourcesManager jarg2_, long jarg3, QStringList jarg3_, long jarg4, QStringList jarg4_, long jarg5, QStringList jarg5_); + public final static native boolean ResourcesManager_ILocalResourcesChanged_attachTo(long jarg1, ResourcesManager.ILocalResourcesChanged jarg1_, long jarg2, long jarg3); + public final static native long ResourcesManager_ILocalResourcesChanged_getBinding(long jarg1, ResourcesManager.ILocalResourcesChanged jarg1_); + public final static native void ResourcesManager_ILocalResourcesChanged_director_connect(ResourcesManager.ILocalResourcesChanged obj, long cptr, boolean mem_own, boolean weak_global); + public final static native void ResourcesManager_ILocalResourcesChanged_change_ownership(ResourcesManager.ILocalResourcesChanged obj, long cptr, boolean take_or_release); + public final static native long ResourcesManager_localResourcesChangeObservable_get(long jarg1, ResourcesManager jarg1_); + public final static native long new_ResourcesManager_IRepositoryUpdated(); + public final static native void delete_ResourcesManager_IRepositoryUpdated(long jarg1); + public final static native void ResourcesManager_IRepositoryUpdated_method(long jarg1, ResourcesManager.IRepositoryUpdated jarg1_, long jarg2, ResourcesManager jarg2_); + public final static native boolean ResourcesManager_IRepositoryUpdated_attachTo(long jarg1, ResourcesManager.IRepositoryUpdated jarg1_, long jarg2, long jarg3); + public final static native long ResourcesManager_IRepositoryUpdated_getBinding(long jarg1, ResourcesManager.IRepositoryUpdated jarg1_); + public final static native void ResourcesManager_IRepositoryUpdated_director_connect(ResourcesManager.IRepositoryUpdated obj, long cptr, boolean mem_own, boolean weak_global); + public final static native void ResourcesManager_IRepositoryUpdated_change_ownership(ResourcesManager.IRepositoryUpdated obj, long cptr, boolean take_or_release); + public final static native long ResourcesManager_repositoryUpdateObservable_get(long jarg1, ResourcesManager jarg1_); + public final static native long ResourcesManager_onlineTileSources_get(long jarg1, ResourcesManager jarg1_); + public final static native long ResourcesManager_mapStylesCollection_get(long jarg1, ResourcesManager jarg1_); + public final static native long ResourcesManager_mapStylesPresetsCollection_get(long jarg1, ResourcesManager jarg1_); + public final static native long ResourcesManager_obfsCollection_get(long jarg1, ResourcesManager jarg1_); + public final static native long new_ICoreResourcesProvider(); + public final static native void delete_ICoreResourcesProvider(long jarg1); + public final static native long ICoreResourcesProvider_getResource__SWIG_0(long jarg1, ICoreResourcesProvider jarg1_, String jarg2, float jarg3, long jarg4); + public final static native long ICoreResourcesProvider_getResource__SWIG_1(long jarg1, ICoreResourcesProvider jarg1_, String jarg2, float jarg3); + public final static native long ICoreResourcesProvider_getResource__SWIG_2(long jarg1, ICoreResourcesProvider jarg1_, String jarg2, long jarg3); + public final static native long ICoreResourcesProvider_getResource__SWIG_3(long jarg1, ICoreResourcesProvider jarg1_, String jarg2); + public final static native long ICoreResourcesProvider_getResourceAsBitmap__SWIG_0(long jarg1, ICoreResourcesProvider jarg1_, String jarg2, float jarg3); + public final static native long ICoreResourcesProvider_getResourceAsBitmapSwigExplicitICoreResourcesProvider__SWIG_0(long jarg1, ICoreResourcesProvider jarg1_, String jarg2, float jarg3); + public final static native long ICoreResourcesProvider_getResourceAsBitmap__SWIG_1(long jarg1, ICoreResourcesProvider jarg1_, String jarg2); + public final static native long ICoreResourcesProvider_getResourceAsBitmapSwigExplicitICoreResourcesProvider__SWIG_1(long jarg1, ICoreResourcesProvider jarg1_, String jarg2); + public final static native boolean ICoreResourcesProvider_containsResource__SWIG_0(long jarg1, ICoreResourcesProvider jarg1_, String jarg2, float jarg3); + public final static native boolean ICoreResourcesProvider_containsResource__SWIG_1(long jarg1, ICoreResourcesProvider jarg1_, String jarg2); + public final static native void ICoreResourcesProvider_director_connect(ICoreResourcesProvider obj, long cptr, boolean mem_own, boolean weak_global); + public final static native void ICoreResourcesProvider_change_ownership(ICoreResourcesProvider obj, long cptr, boolean take_or_release); + public final static native void delete_CoreResourcesEmbeddedBundle(long jarg1); + public final static native long CoreResourcesEmbeddedBundle_getResource__SWIG_0(long jarg1, CoreResourcesEmbeddedBundle jarg1_, String jarg2, float jarg3, long jarg4); + public final static native long CoreResourcesEmbeddedBundle_getResource__SWIG_1(long jarg1, CoreResourcesEmbeddedBundle jarg1_, String jarg2, float jarg3); + public final static native long CoreResourcesEmbeddedBundle_getResource__SWIG_2(long jarg1, CoreResourcesEmbeddedBundle jarg1_, String jarg2, long jarg3); + public final static native long CoreResourcesEmbeddedBundle_getResource__SWIG_3(long jarg1, CoreResourcesEmbeddedBundle jarg1_, String jarg2); + public final static native boolean CoreResourcesEmbeddedBundle_containsResource__SWIG_0(long jarg1, CoreResourcesEmbeddedBundle jarg1_, String jarg2, float jarg3); + public final static native boolean CoreResourcesEmbeddedBundle_containsResource__SWIG_1(long jarg1, CoreResourcesEmbeddedBundle jarg1_, String jarg2); + public final static native long CoreResourcesEmbeddedBundle_loadFromCurrentExecutable(); + public final static native long CoreResourcesEmbeddedBundle_loadFromLibrary(String jarg1); + public final static native int LogSeverityLevel_Error_get(); + public final static native void delete_Logger(long jarg1); + public final static native long Logger_getCurrentLogSinks(long jarg1, Logger jarg1_); + public final static native void Logger_addLogSink(long jarg1, Logger jarg1_, long jarg2, ILogSink jarg2_); + public final static native void Logger_removeLogSink(long jarg1, Logger jarg1_, long jarg2, ILogSink jarg2_); + public final static native void Logger_removeAllLogSinks(long jarg1, Logger jarg1_); + public final static native void Logger_flush(long jarg1, Logger jarg1_); + public final static native long Logger_get(); + public final static native void LogPrintf(int jarg1, String jarg2); + public final static native void LogFlush(); + public final static native void delete_ILogSink(long jarg1); + public final static native void ILogSink_flush(long jarg1, ILogSink jarg1_); + public final static native long new_DefaultLogSink(); + public final static native void delete_DefaultLogSink(long jarg1); + public final static native void DefaultLogSink_flush(long jarg1, DefaultLogSink jarg1_); + public final static native long new_QIODeviceLogSink__SWIG_0(long jarg1, boolean jarg2); + public final static native long new_QIODeviceLogSink__SWIG_1(long jarg1); + public final static native void delete_QIODeviceLogSink(long jarg1); + public final static native void QIODeviceLogSink_flush(long jarg1, QIODeviceLogSink jarg1_); + public final static native long QIODeviceLogSink_createFileLogSink(String jarg1); + public final static native double Utilities_toRadians(double jarg1); + public final static native int Utilities_get31TileNumberX(double jarg1); + public final static native int Utilities_get31TileNumberY(double jarg1); + public final static native long Utilities_convertLatLonTo31(long jarg1, LatLon jarg1_); + public final static native double Utilities_get31LongitudeX(double jarg1); + public final static native double Utilities_get31LatitudeY(double jarg1); + public final static native long Utilities_convert31ToLatLon(long jarg1, PointI jarg1_); + public final static native double Utilities_getTileNumberX(float jarg1, double jarg2); + public final static native double Utilities_getTileNumberY(float jarg1, double jarg2); + public final static native float Utilities_convert31toFloat__SWIG_0(int jarg1, int jarg2); + public final static native long Utilities_convert31toFloat__SWIG_1(long jarg1, PointI jarg1_, int jarg2); + public final static native double Utilities_normalizeLatitude(double jarg1); + public final static native double Utilities_normalizeLongitude(double jarg1); + public final static native double Utilities_getPowZoom(float jarg1); + public final static native double Utilities_getLongitudeFromTile(float jarg1, double jarg2); + public final static native double Utilities_getLatitudeFromTile(float jarg1, double jarg2); + public final static native double Utilities_x31toMeters(int jarg1); + public final static native double Utilities_y31toMeters(int jarg1); + public final static native long Utilities_metersToX31(double jarg1); + public final static native long Utilities_metersToY31(double jarg1); + public final static native double Utilities_squareDistance31__SWIG_0(int jarg1, int jarg2, int jarg3, int jarg4); + public final static native double Utilities_distance31__SWIG_0(int jarg1, int jarg2, int jarg3, int jarg4); + public final static native double Utilities_squareDistance31__SWIG_1(long jarg1, PointI jarg1_, long jarg2, PointI jarg2_); + public final static native double Utilities_distance31__SWIG_1(long jarg1, PointI jarg1_, long jarg2, PointI jarg2_); + public final static native double Utilities_distance(double jarg1, double jarg2, double jarg3, double jarg4); + public final static native double Utilities_projection31(int jarg1, int jarg2, int jarg3, int jarg4, int jarg5, int jarg6); + public final static native double Utilities_normalizedAngleRadians(double jarg1); + public final static native double Utilities_normalizedAngleDegrees(double jarg1); + public final static native double Utilities_polygonArea(long jarg1); + public final static native boolean Utilities_rayIntersectX__SWIG_0(long jarg1, PointF jarg1_, long jarg2, PointF jarg2_, float jarg3, long jarg4); + public final static native boolean Utilities_rayIntersect__SWIG_0(long jarg1, PointF jarg1_, long jarg2, PointF jarg2_, long jarg3, PointF jarg3_); + public final static native boolean Utilities_rayIntersectX__SWIG_1(long jarg1, PointI jarg1_, long jarg2, PointI jarg2_, int jarg3, long jarg4); + public final static native boolean Utilities_rayIntersect__SWIG_1(long jarg1, PointI jarg1_, long jarg2, PointI jarg2_, long jarg3, PointI jarg3_); + public final static native double Utilities_degreesDiff(double jarg1, double jarg2); + public final static native long Utilities_tileBoundingBox31(long jarg1, TileId jarg1_, int jarg2); + public final static native long Utilities_areaRightShift(long jarg1, AreaI jarg1_, long jarg2); + public final static native long Utilities_areaLeftShift(long jarg1, AreaI jarg1_, long jarg2); + public final static native long Utilities_getNextPowerOfTwo(long jarg1); + public final static native double Utilities_getMetersPerTileUnit(float jarg1, double jarg2, double jarg3); + public final static native long Utilities_normalizeTileId(long jarg1, TileId jarg1_, int jarg2); + public final static native long Utilities_normalizeCoordinates(long jarg1, PointI jarg1_, int jarg2); + public final static native int Utilities_CHCode_Inside_get(); + public final static native int Utilities_CHCode_Left_get(); + public final static native int Utilities_CHCode_Right_get(); + public final static native int Utilities_CHCode_Bottom_get(); + public final static native int Utilities_CHCode_Top_get(); + public final static native short Utilities_computeCohenSutherlandCode(long jarg1, PointI jarg1_, long jarg2, AreaI jarg2_); + public final static native boolean Utilities_extractFirstNumberPosition(String jarg1, long jarg2, long jarg3, boolean jarg4, boolean jarg5); + public final static native double Utilities_parseSpeed__SWIG_0(String jarg1, double jarg2, long jarg3); + public final static native double Utilities_parseSpeed__SWIG_1(String jarg1, double jarg2); + public final static native double Utilities_parseLength__SWIG_0(String jarg1, double jarg2, long jarg3); + public final static native double Utilities_parseLength__SWIG_1(String jarg1, double jarg2); + public final static native double Utilities_parseWeight__SWIG_0(String jarg1, double jarg2, long jarg3); + public final static native double Utilities_parseWeight__SWIG_1(String jarg1, double jarg2); + public final static native long Utilities_parseColor__SWIG_0(String jarg1, long jarg2, ColorARGB jarg2_, long jarg3); + public final static native long Utilities_parseColor__SWIG_1(String jarg1, long jarg2, ColorARGB jarg2_); + public final static native int Utilities_parseArbitraryInt__SWIG_0(String jarg1, int jarg2, long jarg3); + public final static native int Utilities_parseArbitraryInt__SWIG_1(String jarg1, int jarg2); + public final static native int Utilities_parseArbitraryLong__SWIG_0(String jarg1, int jarg2, long jarg3); + public final static native int Utilities_parseArbitraryLong__SWIG_1(String jarg1, int jarg2); + public final static native long Utilities_parseArbitraryUInt__SWIG_0(String jarg1, long jarg2, long jarg3); + public final static native long Utilities_parseArbitraryUInt__SWIG_1(String jarg1, long jarg2); + public final static native long Utilities_parseArbitraryULong__SWIG_0(String jarg1, long jarg2, long jarg3); + public final static native long Utilities_parseArbitraryULong__SWIG_1(String jarg1, long jarg2); + public final static native float Utilities_parseArbitraryFloat__SWIG_0(String jarg1, float jarg2, long jarg3); + public final static native float Utilities_parseArbitraryFloat__SWIG_1(String jarg1, float jarg2); + public final static native boolean Utilities_parseArbitraryBool__SWIG_0(String jarg1, boolean jarg2, long jarg3); + public final static native boolean Utilities_parseArbitraryBool__SWIG_1(String jarg1, boolean jarg2); + public final static native int Utilities_javaDoubleCompare(double jarg1, double jarg2); + public final static native void Utilities_findFiles__SWIG_0(long jarg1, long jarg2, long jarg3, boolean jarg4); + public final static native void Utilities_findFiles__SWIG_1(long jarg1, long jarg2, long jarg3); + public final static native void Utilities_findDirectories__SWIG_0(long jarg1, long jarg2, long jarg3, boolean jarg4); + public final static native void Utilities_findDirectories__SWIG_1(long jarg1, long jarg2, long jarg3); + public final static native void Utilities_scanlineFillPolygon(long jarg1, long jarg2, PointF jarg2_, long jarg3); + public final static native long Utilities_enumerateZoomLevels(int jarg1, int jarg2); + public final static native String Utilities_stringifyZoomLevels(long jarg1); + public final static native int ObfAddressBlockType_CitiesOrTowns_get(); + public final static native int ObfAddressBlockType_Villages_get(); + public final static native int ObfAddressBlockType_Postcodes_get(); + public final static native void ObfMapSectionDataBlockId_id_set(long jarg1, ObfMapSectionDataBlockId jarg1_, java.math.BigInteger jarg2); + public final static native java.math.BigInteger ObfMapSectionDataBlockId_id_get(long jarg1, ObfMapSectionDataBlockId jarg1_); + public final static native void ObfMapSectionDataBlockId_sectionRuntimeGeneratedId_set(long jarg1, ObfMapSectionDataBlockId jarg1_, int jarg2); + public final static native int ObfMapSectionDataBlockId_sectionRuntimeGeneratedId_get(long jarg1, ObfMapSectionDataBlockId jarg1_); + public final static native void ObfMapSectionDataBlockId_offset_set(long jarg1, ObfMapSectionDataBlockId jarg1_, long jarg2); + public final static native long ObfMapSectionDataBlockId_offset_get(long jarg1, ObfMapSectionDataBlockId jarg1_); + public final static native long new_ObfMapSectionDataBlockId(); + public final static native void delete_ObfMapSectionDataBlockId(long jarg1); + public final static native void ObfRoutingSectionDataBlockId_id_set(long jarg1, ObfRoutingSectionDataBlockId jarg1_, java.math.BigInteger jarg2); + public final static native java.math.BigInteger ObfRoutingSectionDataBlockId_id_get(long jarg1, ObfRoutingSectionDataBlockId jarg1_); + public final static native void ObfRoutingSectionDataBlockId_sectionRuntimeGeneratedId_set(long jarg1, ObfRoutingSectionDataBlockId jarg1_, int jarg2); + public final static native int ObfRoutingSectionDataBlockId_sectionRuntimeGeneratedId_get(long jarg1, ObfRoutingSectionDataBlockId jarg1_); + public final static native void ObfRoutingSectionDataBlockId_offset_set(long jarg1, ObfRoutingSectionDataBlockId jarg1_, long jarg2); + public final static native long ObfRoutingSectionDataBlockId_offset_get(long jarg1, ObfRoutingSectionDataBlockId jarg1_); + public final static native long new_ObfRoutingSectionDataBlockId(); + public final static native void delete_ObfRoutingSectionDataBlockId(long jarg1); + public final static native int RoutingDataLevelsCount_get(); + public final static native long new_ObfFile__SWIG_0(String jarg1); + public final static native long new_ObfFile__SWIG_1(String jarg1, java.math.BigInteger jarg2); + public final static native void delete_ObfFile(long jarg1); + public final static native String ObfFile_filePath_get(long jarg1, ObfFile jarg1_); + public final static native java.math.BigInteger ObfFile_fileSize_get(long jarg1, ObfFile jarg1_); + public final static native long ObfFile_obfInfo_get(long jarg1, ObfFile jarg1_); + public final static native void delete_ObfInfo(long jarg1); + public final static native int ObfInfo_version_get(long jarg1, ObfInfo jarg1_); + public final static native java.math.BigInteger ObfInfo_creationTimestamp_get(long jarg1, ObfInfo jarg1_); + public final static native boolean ObfInfo_isBasemap_get(long jarg1, ObfInfo jarg1_); + public final static native long ObfInfo_mapSections_get(long jarg1, ObfInfo jarg1_); + public final static native long ObfInfo_addressSections_get(long jarg1, ObfInfo jarg1_); + public final static native long ObfInfo_routingSections_get(long jarg1, ObfInfo jarg1_); + public final static native long ObfInfo_poiSections_get(long jarg1, ObfInfo jarg1_); + public final static native long ObfInfo_transportSections_get(long jarg1, ObfInfo jarg1_); + public final static native int MapFoundationType_Undefined_get(); + public final static native int MapSymbol_ContentClass_Unknown_get(); + public final static native void delete_MapSymbol(long jarg1); + public final static native long MapSymbol_group_get(long jarg1, MapSymbol jarg1_); + public final static native long MapSymbol_groupPtr_get(long jarg1, MapSymbol jarg1_); + public final static native boolean MapSymbol_isShareable_get(long jarg1, MapSymbol jarg1_); + public final static native void MapSymbol_order_set(long jarg1, MapSymbol jarg1_, int jarg2); + public final static native int MapSymbol_order_get(long jarg1, MapSymbol jarg1_); + public final static native void MapSymbol_contentClass_set(long jarg1, MapSymbol jarg1_, int jarg2); + public final static native int MapSymbol_contentClass_get(long jarg1, MapSymbol jarg1_); + public final static native void MapSymbol_intersectsWithClasses_set(long jarg1, MapSymbol jarg1_, long jarg2); + public final static native long MapSymbol_intersectsWithClasses_get(long jarg1, MapSymbol jarg1_); + public final static native void MapSymbol_intersectedByClasses_set(long jarg1, MapSymbol jarg1_, long jarg2); + public final static native long MapSymbol_intersectedByClasses_get(long jarg1, MapSymbol jarg1_); + public final static native void MapSymbol_isHidden_set(long jarg1, MapSymbol jarg1_, boolean jarg2); + public final static native boolean MapSymbol_isHidden_get(long jarg1, MapSymbol jarg1_); + public final static native void MapSymbol_modulationColor_set(long jarg1, MapSymbol jarg1_, long jarg2, FColorARGB jarg2_); + public final static native long MapSymbol_modulationColor_get(long jarg1, MapSymbol jarg1_); + public final static native int MapSymbolsGroup_PresentationModeFlag_ShowAnything_get(); + public final static native int MapSymbolsGroup_IntersectionProcessingModeFlag_CheckIntersectionsWithinGroup_get(); + public final static native long new_MapSymbolsGroup_AdditionalInstance(long jarg1, MapSymbolsGroup jarg1_); + public final static native void delete_MapSymbolsGroup_AdditionalInstance(long jarg1); + public final static native long MapSymbolsGroup_AdditionalInstance_originalGroup_get(long jarg1, MapSymbolsGroup.AdditionalInstance jarg1_); + public final static native void MapSymbolsGroup_AdditionalInstance_symbols_set(long jarg1, MapSymbolsGroup.AdditionalInstance jarg1_, long jarg2); + public final static native long MapSymbolsGroup_AdditionalInstance_symbols_get(long jarg1, MapSymbolsGroup.AdditionalInstance jarg1_); + public final static native long MapSymbolsGroup_AdditionalInstance_getFirstSymbolWithContentClass(long jarg1, MapSymbolsGroup.AdditionalInstance jarg1_, int jarg2); + public final static native long MapSymbolsGroup_AdditionalInstance_numberOfSymbolsWithContentClass(long jarg1, MapSymbolsGroup.AdditionalInstance jarg1_, int jarg2); + public final static native long new_MapSymbolsGroup_AdditionalSymbolInstanceParameters(long jarg1, MapSymbolsGroup.AdditionalInstance jarg1_); + public final static native void delete_MapSymbolsGroup_AdditionalSymbolInstanceParameters(long jarg1); + public final static native long MapSymbolsGroup_AdditionalSymbolInstanceParameters_groupInstancePtr_get(long jarg1, MapSymbolsGroup.AdditionalSymbolInstanceParameters jarg1_); + public final static native long new_MapSymbolsGroup_AdditionalBillboardSymbolInstanceParameters(long jarg1, MapSymbolsGroup.AdditionalInstance jarg1_); + public final static native void delete_MapSymbolsGroup_AdditionalBillboardSymbolInstanceParameters(long jarg1); + public final static native void MapSymbolsGroup_AdditionalBillboardSymbolInstanceParameters_overridesPosition31_set(long jarg1, MapSymbolsGroup.AdditionalBillboardSymbolInstanceParameters jarg1_, boolean jarg2); + public final static native boolean MapSymbolsGroup_AdditionalBillboardSymbolInstanceParameters_overridesPosition31_get(long jarg1, MapSymbolsGroup.AdditionalBillboardSymbolInstanceParameters jarg1_); + public final static native void MapSymbolsGroup_AdditionalBillboardSymbolInstanceParameters_position31_set(long jarg1, MapSymbolsGroup.AdditionalBillboardSymbolInstanceParameters jarg1_, long jarg2, PointI jarg2_); + public final static native long MapSymbolsGroup_AdditionalBillboardSymbolInstanceParameters_position31_get(long jarg1, MapSymbolsGroup.AdditionalBillboardSymbolInstanceParameters jarg1_); + public final static native void MapSymbolsGroup_AdditionalBillboardSymbolInstanceParameters_overridesOffset_set(long jarg1, MapSymbolsGroup.AdditionalBillboardSymbolInstanceParameters jarg1_, boolean jarg2); + public final static native boolean MapSymbolsGroup_AdditionalBillboardSymbolInstanceParameters_overridesOffset_get(long jarg1, MapSymbolsGroup.AdditionalBillboardSymbolInstanceParameters jarg1_); + public final static native void MapSymbolsGroup_AdditionalBillboardSymbolInstanceParameters_offset_set(long jarg1, MapSymbolsGroup.AdditionalBillboardSymbolInstanceParameters jarg1_, long jarg2, PointI jarg2_); + public final static native long MapSymbolsGroup_AdditionalBillboardSymbolInstanceParameters_offset_get(long jarg1, MapSymbolsGroup.AdditionalBillboardSymbolInstanceParameters jarg1_); + public final static native long new_MapSymbolsGroup_AdditionalOnSurfaceSymbolInstanceParameters(long jarg1, MapSymbolsGroup.AdditionalInstance jarg1_); + public final static native void delete_MapSymbolsGroup_AdditionalOnSurfaceSymbolInstanceParameters(long jarg1); + public final static native void MapSymbolsGroup_AdditionalOnSurfaceSymbolInstanceParameters_overridesPosition31_set(long jarg1, MapSymbolsGroup.AdditionalOnSurfaceSymbolInstanceParameters jarg1_, boolean jarg2); + public final static native boolean MapSymbolsGroup_AdditionalOnSurfaceSymbolInstanceParameters_overridesPosition31_get(long jarg1, MapSymbolsGroup.AdditionalOnSurfaceSymbolInstanceParameters jarg1_); + public final static native void MapSymbolsGroup_AdditionalOnSurfaceSymbolInstanceParameters_position31_set(long jarg1, MapSymbolsGroup.AdditionalOnSurfaceSymbolInstanceParameters jarg1_, long jarg2, PointI jarg2_); + public final static native long MapSymbolsGroup_AdditionalOnSurfaceSymbolInstanceParameters_position31_get(long jarg1, MapSymbolsGroup.AdditionalOnSurfaceSymbolInstanceParameters jarg1_); + public final static native void MapSymbolsGroup_AdditionalOnSurfaceSymbolInstanceParameters_overridesDirection_set(long jarg1, MapSymbolsGroup.AdditionalOnSurfaceSymbolInstanceParameters jarg1_, boolean jarg2); + public final static native boolean MapSymbolsGroup_AdditionalOnSurfaceSymbolInstanceParameters_overridesDirection_get(long jarg1, MapSymbolsGroup.AdditionalOnSurfaceSymbolInstanceParameters jarg1_); + public final static native void MapSymbolsGroup_AdditionalOnSurfaceSymbolInstanceParameters_direction_set(long jarg1, MapSymbolsGroup.AdditionalOnSurfaceSymbolInstanceParameters jarg1_, float jarg2); + public final static native float MapSymbolsGroup_AdditionalOnSurfaceSymbolInstanceParameters_direction_get(long jarg1, MapSymbolsGroup.AdditionalOnSurfaceSymbolInstanceParameters jarg1_); + public final static native long new_MapSymbolsGroup_AdditionalOnPathSymbolInstanceParameters(long jarg1, MapSymbolsGroup.AdditionalInstance jarg1_); + public final static native void delete_MapSymbolsGroup_AdditionalOnPathSymbolInstanceParameters(long jarg1); + public final static native void MapSymbolsGroup_AdditionalOnPathSymbolInstanceParameters_overridesPinPointOnPath_set(long jarg1, MapSymbolsGroup.AdditionalOnPathSymbolInstanceParameters jarg1_, boolean jarg2); + public final static native boolean MapSymbolsGroup_AdditionalOnPathSymbolInstanceParameters_overridesPinPointOnPath_get(long jarg1, MapSymbolsGroup.AdditionalOnPathSymbolInstanceParameters jarg1_); + public final static native void MapSymbolsGroup_AdditionalOnPathSymbolInstanceParameters_pinPointOnPath_set(long jarg1, MapSymbolsGroup.AdditionalOnPathSymbolInstanceParameters jarg1_, long jarg2); + public final static native long MapSymbolsGroup_AdditionalOnPathSymbolInstanceParameters_pinPointOnPath_get(long jarg1, MapSymbolsGroup.AdditionalOnPathSymbolInstanceParameters jarg1_); + public final static native long new_MapSymbolsGroup(); + public final static native void delete_MapSymbolsGroup(long jarg1); + public final static native void MapSymbolsGroup_presentationMode_set(long jarg1, MapSymbolsGroup jarg1_, long jarg2); + public final static native long MapSymbolsGroup_presentationMode_get(long jarg1, MapSymbolsGroup jarg1_); + public final static native void MapSymbolsGroup_intersectionProcessingMode_set(long jarg1, MapSymbolsGroup jarg1_, long jarg2); + public final static native long MapSymbolsGroup_intersectionProcessingMode_get(long jarg1, MapSymbolsGroup jarg1_); + public final static native void MapSymbolsGroup_symbols_set(long jarg1, MapSymbolsGroup jarg1_, long jarg2); + public final static native long MapSymbolsGroup_symbols_get(long jarg1, MapSymbolsGroup jarg1_); + public final static native long MapSymbolsGroup_getFirstSymbolWithContentClass(long jarg1, MapSymbolsGroup jarg1_, int jarg2); + public final static native long MapSymbolsGroup_numberOfSymbolsWithContentClass(long jarg1, MapSymbolsGroup jarg1_, int jarg2); + public final static native String MapSymbolsGroup_getDebugTitle(long jarg1, MapSymbolsGroup jarg1_); + public final static native void MapSymbolsGroup_additionalInstancesDiscardOriginal_set(long jarg1, MapSymbolsGroup jarg1_, boolean jarg2); + public final static native boolean MapSymbolsGroup_additionalInstancesDiscardOriginal_get(long jarg1, MapSymbolsGroup jarg1_); + public final static native void MapSymbolsGroup_additionalInstances_set(long jarg1, MapSymbolsGroup jarg1_, long jarg2); + public final static native long MapSymbolsGroup_additionalInstances_get(long jarg1, MapSymbolsGroup jarg1_); + public final static native void delete_IMapStylesCollection(long jarg1); + public final static native long IMapStylesCollection_getCollection(long jarg1, IMapStylesCollection jarg1_); + public final static native long IMapStylesCollection_getAsIsStyle(long jarg1, IMapStylesCollection jarg1_, String jarg2); + public final static native boolean IMapStylesCollection_obtainBakedStyle(long jarg1, IMapStylesCollection jarg1_, String jarg2, long jarg3, MapStyle jarg3_); + public final static native long IMapStylesCollection_getBakedStyle(long jarg1, IMapStylesCollection jarg1_, String jarg2); + public final static native long new_MapStylesCollection(); + public final static native void delete_MapStylesCollection(long jarg1); + public final static native boolean MapStylesCollection_registerStyle(long jarg1, MapStylesCollection jarg1_, String jarg2); + public final static native long MapStylesCollection_getCollection(long jarg1, MapStylesCollection jarg1_); + public final static native long MapStylesCollection_getAsIsStyle(long jarg1, MapStylesCollection jarg1_, String jarg2); + public final static native boolean MapStylesCollection_obtainBakedStyle(long jarg1, MapStylesCollection jarg1_, String jarg2, long jarg3, MapStyle jarg3_); + public final static native void delete_IMapStylesPresetsCollection(long jarg1); + public final static native long IMapStylesPresetsCollection_getCollection(long jarg1, IMapStylesPresetsCollection jarg1_); + public final static native long IMapStylesPresetsCollection_getCollectionFor(long jarg1, IMapStylesPresetsCollection jarg1_, String jarg2); + public final static native long IMapStylesPresetsCollection_getPreset(long jarg1, IMapStylesPresetsCollection jarg1_, String jarg2, String jarg3); + public final static native long new_MapStylesPresetsCollection(); + public final static native void delete_MapStylesPresetsCollection(long jarg1); + public final static native boolean MapStylesPresetsCollection_loadFrom__SWIG_0(long jarg1, MapStylesPresetsCollection jarg1_, long jarg2); + public final static native boolean MapStylesPresetsCollection_loadFrom__SWIG_1(long jarg1, MapStylesPresetsCollection jarg1_, long jarg2); + public final static native boolean MapStylesPresetsCollection_loadFrom__SWIG_2(long jarg1, MapStylesPresetsCollection jarg1_, String jarg2); + public final static native boolean MapStylesPresetsCollection_saveTo__SWIG_0(long jarg1, MapStylesPresetsCollection jarg1_, long jarg2); + public final static native boolean MapStylesPresetsCollection_saveTo__SWIG_1(long jarg1, MapStylesPresetsCollection jarg1_, String jarg2); + public final static native boolean MapStylesPresetsCollection_addPreset(long jarg1, MapStylesPresetsCollection jarg1_, long jarg2, MapStylePreset jarg2_); + public final static native boolean MapStylesPresetsCollection_removePreset(long jarg1, MapStylesPresetsCollection jarg1_, long jarg2, MapStylePreset jarg2_); + public final static native long MapStylesPresetsCollection_getCollection__SWIG_0(long jarg1, MapStylesPresetsCollection jarg1_); + public final static native long MapStylesPresetsCollection_getCollectionFor__SWIG_0(long jarg1, MapStylesPresetsCollection jarg1_, String jarg2); + public final static native long MapStylesPresetsCollection_getPreset__SWIG_0(long jarg1, MapStylesPresetsCollection jarg1_, String jarg2, String jarg3); + public final static native void delete_MapStyleBuiltinValueDefinitions(long jarg1); + public final static native int MapStyleRulesetType_Invalid_get(); + public final static native int MapStyleRulesetType_Point_get(); + public final static native int MapStyleRulesetType_Polyline_get(); + public final static native int MapStyleRulesetType_Polygon_get(); + public final static native int MapStyleRulesetType_Text_get(); + public final static native int MapStyleRulesetType_Order_get(); + public final static native long new_MapStyle__SWIG_0(long jarg1, IMapStylesCollection jarg1_, String jarg2, long jarg3); + public final static native long new_MapStyle__SWIG_1(long jarg1, IMapStylesCollection jarg1_, String jarg2, String jarg3); + public final static native long new_MapStyle__SWIG_2(long jarg1, IMapStylesCollection jarg1_, String jarg2); + public final static native void delete_MapStyle(long jarg1); + public final static native long MapStyle_collection_get(long jarg1, MapStyle jarg1_); + public final static native boolean MapStyle_isMetadataLoaded(long jarg1, MapStyle jarg1_); + public final static native boolean MapStyle_loadMetadata(long jarg1, MapStyle jarg1_); + public final static native String MapStyle_title_get(long jarg1, MapStyle jarg1_); + public final static native String MapStyle_name_get(long jarg1, MapStyle jarg1_); + public final static native String MapStyle_parentName_get(long jarg1, MapStyle jarg1_); + public final static native boolean MapStyle_isStandalone(long jarg1, MapStyle jarg1_); + public final static native boolean MapStyle_isLoaded(long jarg1, MapStyle jarg1_); + public final static native boolean MapStyle_load(long jarg1, MapStyle jarg1_); + public final static native boolean MapStyle_resolveValueDefinition(long jarg1, MapStyle jarg1_, String jarg2, long jarg3, MapStyleValueDefinition jarg3_); + public final static native boolean MapStyle_resolveAttribute(long jarg1, MapStyle jarg1_, String jarg2, long jarg3, MapStyleRule jarg3_); + public final static native void MapStyle_dump__SWIG_0(long jarg1, MapStyle jarg1_, String jarg2); + public final static native void MapStyle_dump__SWIG_1(long jarg1, MapStyle jarg1_); + public final static native void MapStyle_dump__SWIG_2(long jarg1, MapStyle jarg1_, int jarg2, String jarg3); + public final static native void MapStyle_dump__SWIG_3(long jarg1, MapStyle jarg1_, int jarg2); + public final static native long MapStyle_getBuiltinValueDefinitions(); + public final static native void delete_MapStyleRule(long jarg1); + public final static native long MapStyleRule_owner_get(long jarg1, MapStyleRule jarg1_); + public final static native void MapStyleRule_dump__SWIG_0(long jarg1, MapStyleRule jarg1_, String jarg2); + public final static native void MapStyleRule_dump__SWIG_1(long jarg1, MapStyleRule jarg1_); + public final static native void delete_MapStyleValueDefinition(long jarg1); + public final static native int MapStyleValueDefinition_id_get(long jarg1, MapStyleValueDefinition jarg1_); + public final static native int MapStyleValueDefinition_valueClass_get(long jarg1, MapStyleValueDefinition jarg1_); + public final static native int MapStyleValueDefinition_dataType_get(long jarg1, MapStyleValueDefinition jarg1_); + public final static native String MapStyleValueDefinition_name_get(long jarg1, MapStyleValueDefinition jarg1_); + public final static native boolean MapStyleValueDefinition_isComplex_get(long jarg1, MapStyleValueDefinition jarg1_); + public final static native long new_MapStyleValue(); + public final static native void MapStyleValue_isComplex_set(long jarg1, MapStyleValue jarg1_, boolean jarg2); + public final static native boolean MapStyleValue_isComplex_get(long jarg1, MapStyleValue jarg1_); + public final static native void delete_MapStyleValue(long jarg1); + public final static native long new_MapStylePreset(int jarg1, String jarg2, String jarg3); + public final static native void delete_MapStylePreset(long jarg1); + public final static native int MapStylePreset_type_get(long jarg1, MapStylePreset jarg1_); + public final static native String MapStylePreset_name_get(long jarg1, MapStylePreset jarg1_); + public final static native String MapStylePreset_styleName_get(long jarg1, MapStylePreset jarg1_); + public final static native void MapStylePreset_attributes_set(long jarg1, MapStylePreset jarg1_, long jarg2); + public final static native long MapStylePreset_attributes_get(long jarg1, MapStylePreset jarg1_); + public final static native long new_MapPresentationEnvironment__SWIG_0(long jarg1, MapStyle jarg1_, float jarg2, String jarg3, long jarg4, ICoreResourcesProvider jarg4_); + public final static native long new_MapPresentationEnvironment__SWIG_1(long jarg1, MapStyle jarg1_, float jarg2, String jarg3); + public final static native long new_MapPresentationEnvironment__SWIG_2(long jarg1, MapStyle jarg1_, float jarg2); + public final static native long new_MapPresentationEnvironment__SWIG_3(long jarg1, MapStyle jarg1_); + public final static native void delete_MapPresentationEnvironment(long jarg1); + public final static native long MapPresentationEnvironment_styleBuiltinValueDefs_get(long jarg1, MapPresentationEnvironment jarg1_); + public final static native long MapPresentationEnvironment_style_get(long jarg1, MapPresentationEnvironment jarg1_); + public final static native float MapPresentationEnvironment_displayDensityFactor_get(long jarg1, MapPresentationEnvironment jarg1_); + public final static native String MapPresentationEnvironment_localeLanguageId_get(long jarg1, MapPresentationEnvironment jarg1_); + public final static native long MapPresentationEnvironment_externalResourcesProvider_get(long jarg1, MapPresentationEnvironment jarg1_); + public final static native long MapPresentationEnvironment_dummyMapSection_get(long jarg1, MapPresentationEnvironment jarg1_); + public final static native long MapPresentationEnvironment_getSettings(long jarg1, MapPresentationEnvironment jarg1_); + public final static native void MapPresentationEnvironment_setSettings__SWIG_0(long jarg1, MapPresentationEnvironment jarg1_, long jarg2); + public final static native void MapPresentationEnvironment_setSettings__SWIG_1(long jarg1, MapPresentationEnvironment jarg1_, long jarg2); + public final static native void MapPresentationEnvironment_applyTo(long jarg1, MapPresentationEnvironment jarg1_, long jarg2); + public final static native boolean MapPresentationEnvironment_obtainShaderBitmap(long jarg1, MapPresentationEnvironment jarg1_, String jarg2, long jarg3); + public final static native boolean MapPresentationEnvironment_obtainMapIcon(long jarg1, MapPresentationEnvironment jarg1_, String jarg2, long jarg3); + public final static native boolean MapPresentationEnvironment_obtainTextShield(long jarg1, MapPresentationEnvironment jarg1_, String jarg2, long jarg3); + public final static native boolean MapPresentationEnvironment_obtainIconShield(long jarg1, MapPresentationEnvironment jarg1_, String jarg2, long jarg3); + public final static native long MapPresentationEnvironment_getDefaultBackgroundColor(long jarg1, MapPresentationEnvironment jarg1_, int jarg2); + public final static native void MapPresentationEnvironment_obtainShadowRenderingOptions(long jarg1, MapPresentationEnvironment jarg1_, int jarg2, long jarg3, long jarg4, ColorARGB jarg4_); + public final static native double MapPresentationEnvironment_getPolygonAreaMinimalThreshold(long jarg1, MapPresentationEnvironment jarg1_, int jarg2); + public final static native long MapPresentationEnvironment_getRoadDensityZoomTile(long jarg1, MapPresentationEnvironment jarg1_, int jarg2); + public final static native long MapPresentationEnvironment_getRoadsDensityLimitPerTile(long jarg1, MapPresentationEnvironment jarg1_, int jarg2); + public final static native int MapPresentationEnvironment_DefaultShadowLevelMin_get(); + public final static native int MapPresentationEnvironment_DefaultShadowLevelMax_get(); + public final static native int RasterMapLayerId_Invalid_get(); + public final static native int RasterMapLayersCount_get(); + public final static native int MapRendererStateChange_RasterLayers_Providers_get(); + public final static native long new_MapRendererState(); + public final static native void delete_MapRendererState(long jarg1); + public final static native void MapRendererState_rasterLayerProviders_set(long jarg1, MapRendererState jarg1_, long jarg2); + public final static native long MapRendererState_rasterLayerProviders_get(long jarg1, MapRendererState jarg1_); + public final static native void MapRendererState_rasterLayerOpacity_set(long jarg1, MapRendererState jarg1_, long jarg2); + public final static native long MapRendererState_rasterLayerOpacity_get(long jarg1, MapRendererState jarg1_); + public final static native void MapRendererState_elevationDataProvider_set(long jarg1, MapRendererState jarg1_, long jarg2, IMapElevationDataProvider jarg2_); + public final static native long MapRendererState_elevationDataProvider_get(long jarg1, MapRendererState jarg1_); + public final static native void MapRendererState_elevationDataScaleFactor_set(long jarg1, MapRendererState jarg1_, float jarg2); + public final static native float MapRendererState_elevationDataScaleFactor_get(long jarg1, MapRendererState jarg1_); + public final static native void MapRendererState_symbolProviders_set(long jarg1, MapRendererState jarg1_, long jarg2); + public final static native long MapRendererState_symbolProviders_get(long jarg1, MapRendererState jarg1_); + public final static native void MapRendererState_windowSize_set(long jarg1, MapRendererState jarg1_, long jarg2, PointI jarg2_); + public final static native long MapRendererState_windowSize_get(long jarg1, MapRendererState jarg1_); + public final static native void MapRendererState_viewport_set(long jarg1, MapRendererState jarg1_, long jarg2, AreaI jarg2_); + public final static native long MapRendererState_viewport_get(long jarg1, MapRendererState jarg1_); + public final static native void MapRendererState_fieldOfView_set(long jarg1, MapRendererState jarg1_, float jarg2); + public final static native float MapRendererState_fieldOfView_get(long jarg1, MapRendererState jarg1_); + public final static native void MapRendererState_skyColor_set(long jarg1, MapRendererState jarg1_, long jarg2, FColorRGB jarg2_); + public final static native long MapRendererState_skyColor_get(long jarg1, MapRendererState jarg1_); + public final static native void MapRendererState_fogColor_set(long jarg1, MapRendererState jarg1_, long jarg2, FColorRGB jarg2_); + public final static native long MapRendererState_fogColor_get(long jarg1, MapRendererState jarg1_); + public final static native void MapRendererState_fogDistance_set(long jarg1, MapRendererState jarg1_, float jarg2); + public final static native float MapRendererState_fogDistance_get(long jarg1, MapRendererState jarg1_); + public final static native void MapRendererState_fogOriginFactor_set(long jarg1, MapRendererState jarg1_, float jarg2); + public final static native float MapRendererState_fogOriginFactor_get(long jarg1, MapRendererState jarg1_); + public final static native void MapRendererState_fogHeightOriginFactor_set(long jarg1, MapRendererState jarg1_, float jarg2); + public final static native float MapRendererState_fogHeightOriginFactor_get(long jarg1, MapRendererState jarg1_); + public final static native void MapRendererState_fogDensity_set(long jarg1, MapRendererState jarg1_, float jarg2); + public final static native float MapRendererState_fogDensity_get(long jarg1, MapRendererState jarg1_); + public final static native void MapRendererState_azimuth_set(long jarg1, MapRendererState jarg1_, float jarg2); + public final static native float MapRendererState_azimuth_get(long jarg1, MapRendererState jarg1_); + public final static native void MapRendererState_elevationAngle_set(long jarg1, MapRendererState jarg1_, float jarg2); + public final static native float MapRendererState_elevationAngle_get(long jarg1, MapRendererState jarg1_); + public final static native void MapRendererState_target31_set(long jarg1, MapRendererState jarg1_, long jarg2, PointI jarg2_); + public final static native long MapRendererState_target31_get(long jarg1, MapRendererState jarg1_); + public final static native void MapRendererState_requestedZoom_set(long jarg1, MapRendererState jarg1_, float jarg2); + public final static native float MapRendererState_requestedZoom_get(long jarg1, MapRendererState jarg1_); + public final static native void MapRendererState_zoomBase_set(long jarg1, MapRendererState jarg1_, int jarg2); + public final static native int MapRendererState_zoomBase_get(long jarg1, MapRendererState jarg1_); + public final static native void MapRendererState_zoomFraction_set(long jarg1, MapRendererState jarg1_, float jarg2); + public final static native float MapRendererState_zoomFraction_get(long jarg1, MapRendererState jarg1_); + public final static native long new_MapRendererSetupOptions(); + public final static native void delete_MapRendererSetupOptions(long jarg1); + public final static native long new_MapRendererSetupOptions_IGpuWorkerThreadPrologue(); + public final static native void delete_MapRendererSetupOptions_IGpuWorkerThreadPrologue(long jarg1); + public final static native void MapRendererSetupOptions_IGpuWorkerThreadPrologue_method(long jarg1, MapRendererSetupOptions.IGpuWorkerThreadPrologue jarg1_, long jarg2, IMapRenderer jarg2_); + public final static native long MapRendererSetupOptions_IGpuWorkerThreadPrologue_getBinding(long jarg1, MapRendererSetupOptions.IGpuWorkerThreadPrologue jarg1_); + public final static native void MapRendererSetupOptions_IGpuWorkerThreadPrologue_director_connect(MapRendererSetupOptions.IGpuWorkerThreadPrologue obj, long cptr, boolean mem_own, boolean weak_global); + public final static native void MapRendererSetupOptions_IGpuWorkerThreadPrologue_change_ownership(MapRendererSetupOptions.IGpuWorkerThreadPrologue obj, long cptr, boolean take_or_release); + public final static native long new_MapRendererSetupOptions_IGpuWorkerThreadEpilogue(); + public final static native void delete_MapRendererSetupOptions_IGpuWorkerThreadEpilogue(long jarg1); + public final static native void MapRendererSetupOptions_IGpuWorkerThreadEpilogue_method(long jarg1, MapRendererSetupOptions.IGpuWorkerThreadEpilogue jarg1_, long jarg2, IMapRenderer jarg2_); + public final static native long MapRendererSetupOptions_IGpuWorkerThreadEpilogue_getBinding(long jarg1, MapRendererSetupOptions.IGpuWorkerThreadEpilogue jarg1_); + public final static native void MapRendererSetupOptions_IGpuWorkerThreadEpilogue_director_connect(MapRendererSetupOptions.IGpuWorkerThreadEpilogue obj, long cptr, boolean mem_own, boolean weak_global); + public final static native void MapRendererSetupOptions_IGpuWorkerThreadEpilogue_change_ownership(MapRendererSetupOptions.IGpuWorkerThreadEpilogue obj, long cptr, boolean take_or_release); + public final static native void MapRendererSetupOptions_gpuWorkerThreadEnabled_set(long jarg1, MapRendererSetupOptions jarg1_, boolean jarg2); + public final static native boolean MapRendererSetupOptions_gpuWorkerThreadEnabled_get(long jarg1, MapRendererSetupOptions jarg1_); + public final static native void MapRendererSetupOptions_gpuWorkerThreadPrologue_set(long jarg1, MapRendererSetupOptions jarg1_, long jarg2); + public final static native long MapRendererSetupOptions_gpuWorkerThreadPrologue_get(long jarg1, MapRendererSetupOptions jarg1_); + public final static native void MapRendererSetupOptions_gpuWorkerThreadEpilogue_set(long jarg1, MapRendererSetupOptions jarg1_, long jarg2); + public final static native long MapRendererSetupOptions_gpuWorkerThreadEpilogue_get(long jarg1, MapRendererSetupOptions jarg1_); + public final static native long new_MapRendererSetupOptions_IFrameUpdateRequestCallback(); + public final static native void delete_MapRendererSetupOptions_IFrameUpdateRequestCallback(long jarg1); + public final static native void MapRendererSetupOptions_IFrameUpdateRequestCallback_method(long jarg1, MapRendererSetupOptions.IFrameUpdateRequestCallback jarg1_, long jarg2, IMapRenderer jarg2_); + public final static native long MapRendererSetupOptions_IFrameUpdateRequestCallback_getBinding(long jarg1, MapRendererSetupOptions.IFrameUpdateRequestCallback jarg1_); + public final static native void MapRendererSetupOptions_IFrameUpdateRequestCallback_director_connect(MapRendererSetupOptions.IFrameUpdateRequestCallback obj, long cptr, boolean mem_own, boolean weak_global); + public final static native void MapRendererSetupOptions_IFrameUpdateRequestCallback_change_ownership(MapRendererSetupOptions.IFrameUpdateRequestCallback obj, long cptr, boolean take_or_release); + public final static native void MapRendererSetupOptions_frameUpdateRequestCallback_set(long jarg1, MapRendererSetupOptions jarg1_, long jarg2); + public final static native long MapRendererSetupOptions_frameUpdateRequestCallback_get(long jarg1, MapRendererSetupOptions jarg1_); + public final static native long new_MapRendererConfiguration(); + public final static native void delete_MapRendererConfiguration(long jarg1); + public final static native void MapRendererConfiguration_texturesFilteringQuality_set(long jarg1, MapRendererConfiguration jarg1_, int jarg2); + public final static native int MapRendererConfiguration_texturesFilteringQuality_get(long jarg1, MapRendererConfiguration jarg1_); + public final static native void MapRendererConfiguration_limitTextureColorDepthBy16bits_set(long jarg1, MapRendererConfiguration jarg1_, boolean jarg2); + public final static native boolean MapRendererConfiguration_limitTextureColorDepthBy16bits_get(long jarg1, MapRendererConfiguration jarg1_); + public final static native void MapRendererConfiguration_heixelsPerTileSide_set(long jarg1, MapRendererConfiguration jarg1_, long jarg2); + public final static native long MapRendererConfiguration_heixelsPerTileSide_get(long jarg1, MapRendererConfiguration jarg1_); + public final static native void MapRendererConfiguration_paletteTexturesAllowed_set(long jarg1, MapRendererConfiguration jarg1_, boolean jarg2); + public final static native boolean MapRendererConfiguration_paletteTexturesAllowed_get(long jarg1, MapRendererConfiguration jarg1_); + public final static native void MapRendererConfiguration_copyTo(long jarg1, MapRendererConfiguration jarg1_, long jarg2, MapRendererConfiguration jarg2_); + public final static native long MapRendererConfiguration_createCopy(long jarg1, MapRendererConfiguration jarg1_); + public final static native long new_MapRendererDebugSettings(); + public final static native void delete_MapRendererDebugSettings(long jarg1); + public final static native void MapRendererDebugSettings_debugStageEnabled_set(long jarg1, MapRendererDebugSettings jarg1_, boolean jarg2); + public final static native boolean MapRendererDebugSettings_debugStageEnabled_get(long jarg1, MapRendererDebugSettings jarg1_); + public final static native void MapRendererDebugSettings_excludeOnPathSymbolsFromProcessing_set(long jarg1, MapRendererDebugSettings jarg1_, boolean jarg2); + public final static native boolean MapRendererDebugSettings_excludeOnPathSymbolsFromProcessing_get(long jarg1, MapRendererDebugSettings jarg1_); + public final static native void MapRendererDebugSettings_excludeBillboardSymbolsFromProcessing_set(long jarg1, MapRendererDebugSettings jarg1_, boolean jarg2); + public final static native boolean MapRendererDebugSettings_excludeBillboardSymbolsFromProcessing_get(long jarg1, MapRendererDebugSettings jarg1_); + public final static native void MapRendererDebugSettings_excludeOnSurfaceSymbolsFromProcessing_set(long jarg1, MapRendererDebugSettings jarg1_, boolean jarg2); + public final static native boolean MapRendererDebugSettings_excludeOnSurfaceSymbolsFromProcessing_get(long jarg1, MapRendererDebugSettings jarg1_); + public final static native void MapRendererDebugSettings_skipSymbolsIntersectionCheck_set(long jarg1, MapRendererDebugSettings jarg1_, boolean jarg2); + public final static native boolean MapRendererDebugSettings_skipSymbolsIntersectionCheck_get(long jarg1, MapRendererDebugSettings jarg1_); + public final static native void MapRendererDebugSettings_showSymbolsBBoxesAcceptedByIntersectionCheck_set(long jarg1, MapRendererDebugSettings jarg1_, boolean jarg2); + public final static native boolean MapRendererDebugSettings_showSymbolsBBoxesAcceptedByIntersectionCheck_get(long jarg1, MapRendererDebugSettings jarg1_); + public final static native void MapRendererDebugSettings_showSymbolsBBoxesRejectedByIntersectionCheck_set(long jarg1, MapRendererDebugSettings jarg1_, boolean jarg2); + public final static native boolean MapRendererDebugSettings_showSymbolsBBoxesRejectedByIntersectionCheck_get(long jarg1, MapRendererDebugSettings jarg1_); + public final static native void MapRendererDebugSettings_skipSymbolsMinDistanceToSameContentFromOtherSymbolCheck_set(long jarg1, MapRendererDebugSettings jarg1_, boolean jarg2); + public final static native boolean MapRendererDebugSettings_skipSymbolsMinDistanceToSameContentFromOtherSymbolCheck_get(long jarg1, MapRendererDebugSettings jarg1_); + public final static native void MapRendererDebugSettings_showSymbolsBBoxesRejectedByMinDistanceToSameContentFromOtherSymbolCheck_set(long jarg1, MapRendererDebugSettings jarg1_, boolean jarg2); + public final static native boolean MapRendererDebugSettings_showSymbolsBBoxesRejectedByMinDistanceToSameContentFromOtherSymbolCheck_get(long jarg1, MapRendererDebugSettings jarg1_); + public final static native void MapRendererDebugSettings_showSymbolsCheckBBoxesRejectedByMinDistanceToSameContentFromOtherSymbolCheck_set(long jarg1, MapRendererDebugSettings jarg1_, boolean jarg2); + public final static native boolean MapRendererDebugSettings_showSymbolsCheckBBoxesRejectedByMinDistanceToSameContentFromOtherSymbolCheck_get(long jarg1, MapRendererDebugSettings jarg1_); + public final static native void MapRendererDebugSettings_showSymbolsBBoxesRejectedByPresentationMode_set(long jarg1, MapRendererDebugSettings jarg1_, boolean jarg2); + public final static native boolean MapRendererDebugSettings_showSymbolsBBoxesRejectedByPresentationMode_get(long jarg1, MapRendererDebugSettings jarg1_); + public final static native void MapRendererDebugSettings_showOnPathSymbolsRenderablesPaths_set(long jarg1, MapRendererDebugSettings jarg1_, boolean jarg2); + public final static native boolean MapRendererDebugSettings_showOnPathSymbolsRenderablesPaths_get(long jarg1, MapRendererDebugSettings jarg1_); + public final static native void MapRendererDebugSettings_showOnPath2dSymbolGlyphDetails_set(long jarg1, MapRendererDebugSettings jarg1_, boolean jarg2); + public final static native boolean MapRendererDebugSettings_showOnPath2dSymbolGlyphDetails_get(long jarg1, MapRendererDebugSettings jarg1_); + public final static native void MapRendererDebugSettings_showOnPath3dSymbolGlyphDetails_set(long jarg1, MapRendererDebugSettings jarg1_, boolean jarg2); + public final static native boolean MapRendererDebugSettings_showOnPath3dSymbolGlyphDetails_get(long jarg1, MapRendererDebugSettings jarg1_); + public final static native void MapRendererDebugSettings_allSymbolsTransparentForIntersectionLookup_set(long jarg1, MapRendererDebugSettings jarg1_, boolean jarg2); + public final static native boolean MapRendererDebugSettings_allSymbolsTransparentForIntersectionLookup_get(long jarg1, MapRendererDebugSettings jarg1_); + public final static native void MapRendererDebugSettings_showTooShortOnPathSymbolsRenderablesPaths_set(long jarg1, MapRendererDebugSettings jarg1_, boolean jarg2); + public final static native boolean MapRendererDebugSettings_showTooShortOnPathSymbolsRenderablesPaths_get(long jarg1, MapRendererDebugSettings jarg1_); + public final static native void MapRendererDebugSettings_showAllPaths_set(long jarg1, MapRendererDebugSettings jarg1_, boolean jarg2); + public final static native boolean MapRendererDebugSettings_showAllPaths_get(long jarg1, MapRendererDebugSettings jarg1_); + public final static native void MapRendererDebugSettings_copyTo(long jarg1, MapRendererDebugSettings jarg1_, long jarg2, MapRendererDebugSettings jarg2_); + public final static native long MapRendererDebugSettings_createCopy(long jarg1, MapRendererDebugSettings jarg1_); + public final static native void delete_IMapRenderer(long jarg1); + public final static native long IMapRenderer_getSetupOptions(long jarg1, IMapRenderer jarg1_); + public final static native boolean IMapRenderer_setup(long jarg1, IMapRenderer jarg1_, long jarg2, MapRendererSetupOptions jarg2_); + public final static native long IMapRenderer_getConfiguration(long jarg1, IMapRenderer jarg1_); + public final static native void IMapRenderer_setConfiguration__SWIG_0(long jarg1, IMapRenderer jarg1_, long jarg2, MapRendererConfiguration jarg2_, boolean jarg3); + public final static native void IMapRenderer_setConfiguration__SWIG_1(long jarg1, IMapRenderer jarg1_, long jarg2, MapRendererConfiguration jarg2_); + public final static native boolean IMapRenderer_isRenderingInitialized(long jarg1, IMapRenderer jarg1_); + public final static native boolean IMapRenderer_initializeRendering(long jarg1, IMapRenderer jarg1_); + public final static native boolean IMapRenderer_update(long jarg1, IMapRenderer jarg1_); + public final static native boolean IMapRenderer_prepareFrame(long jarg1, IMapRenderer jarg1_); + public final static native boolean IMapRenderer_renderFrame(long jarg1, IMapRenderer jarg1_); + public final static native boolean IMapRenderer_releaseRendering(long jarg1, IMapRenderer jarg1_); + public final static native boolean IMapRenderer_isIdle(long jarg1, IMapRenderer jarg1_); + public final static native boolean IMapRenderer_pauseGpuWorkerThread(long jarg1, IMapRenderer jarg1_); + public final static native boolean IMapRenderer_resumeGpuWorkerThread(long jarg1, IMapRenderer jarg1_); + public final static native long new_IMapRenderer_IFramePreparedObserver(); + public final static native void delete_IMapRenderer_IFramePreparedObserver(long jarg1); + public final static native void IMapRenderer_IFramePreparedObserver_method(long jarg1, IMapRenderer.IFramePreparedObserver jarg1_, long jarg2, IMapRenderer jarg2_); + public final static native boolean IMapRenderer_IFramePreparedObserver_attachTo(long jarg1, IMapRenderer.IFramePreparedObserver jarg1_, long jarg2, long jarg3); + public final static native long IMapRenderer_IFramePreparedObserver_getBinding(long jarg1, IMapRenderer.IFramePreparedObserver jarg1_); + public final static native void IMapRenderer_IFramePreparedObserver_director_connect(IMapRenderer.IFramePreparedObserver obj, long cptr, boolean mem_own, boolean weak_global); + public final static native void IMapRenderer_IFramePreparedObserver_change_ownership(IMapRenderer.IFramePreparedObserver obj, long cptr, boolean take_or_release); + public final static native long IMapRenderer_framePreparedObservable_get(long jarg1, IMapRenderer jarg1_); + public final static native void IMapRenderer_reloadEverything(long jarg1, IMapRenderer jarg1_); + public final static native long IMapRenderer_getState(long jarg1, IMapRenderer jarg1_); + public final static native boolean IMapRenderer_isFrameInvalidated(long jarg1, IMapRenderer jarg1_); + public final static native void IMapRenderer_forcedFrameInvalidate(long jarg1, IMapRenderer jarg1_); + public final static native void IMapRenderer_forcedGpuProcessingCycle(long jarg1, IMapRenderer jarg1_); + public final static native long IMapRenderer_getSymbolsCount(long jarg1, IMapRenderer jarg1_); + public final static native long IMapRenderer_getSymbolsAt(long jarg1, IMapRenderer jarg1_, long jarg2, PointI jarg2_); + public final static native void IMapRenderer_setRasterLayerProvider__SWIG_0(long jarg1, IMapRenderer jarg1_, int jarg2, long jarg3, IMapRasterBitmapTileProvider jarg3_, boolean jarg4); + public final static native void IMapRenderer_setRasterLayerProvider__SWIG_1(long jarg1, IMapRenderer jarg1_, int jarg2, long jarg3, IMapRasterBitmapTileProvider jarg3_); + public final static native void IMapRenderer_resetRasterLayerProvider__SWIG_0(long jarg1, IMapRenderer jarg1_, int jarg2, boolean jarg3); + public final static native void IMapRenderer_resetRasterLayerProvider__SWIG_1(long jarg1, IMapRenderer jarg1_, int jarg2); + public final static native void IMapRenderer_setRasterLayerOpacity__SWIG_0(long jarg1, IMapRenderer jarg1_, int jarg2, float jarg3, boolean jarg4); + public final static native void IMapRenderer_setRasterLayerOpacity__SWIG_1(long jarg1, IMapRenderer jarg1_, int jarg2, float jarg3); + public final static native void IMapRenderer_setElevationDataProvider__SWIG_0(long jarg1, IMapRenderer jarg1_, long jarg2, IMapElevationDataProvider jarg2_, boolean jarg3); + public final static native void IMapRenderer_setElevationDataProvider__SWIG_1(long jarg1, IMapRenderer jarg1_, long jarg2, IMapElevationDataProvider jarg2_); + public final static native void IMapRenderer_resetElevationDataProvider__SWIG_0(long jarg1, IMapRenderer jarg1_, boolean jarg2); + public final static native void IMapRenderer_resetElevationDataProvider__SWIG_1(long jarg1, IMapRenderer jarg1_); + public final static native void IMapRenderer_setElevationDataScaleFactor__SWIG_0(long jarg1, IMapRenderer jarg1_, float jarg2, boolean jarg3); + public final static native void IMapRenderer_setElevationDataScaleFactor__SWIG_1(long jarg1, IMapRenderer jarg1_, float jarg2); + public final static native void IMapRenderer_addSymbolProvider__SWIG_0(long jarg1, IMapRenderer jarg1_, long jarg2, IMapDataProvider jarg2_, boolean jarg3); + public final static native void IMapRenderer_addSymbolProvider__SWIG_1(long jarg1, IMapRenderer jarg1_, long jarg2, IMapDataProvider jarg2_); + public final static native void IMapRenderer_removeSymbolProvider__SWIG_0(long jarg1, IMapRenderer jarg1_, long jarg2, IMapDataProvider jarg2_, boolean jarg3); + public final static native void IMapRenderer_removeSymbolProvider__SWIG_1(long jarg1, IMapRenderer jarg1_, long jarg2, IMapDataProvider jarg2_); + public final static native void IMapRenderer_removeAllSymbolProviders__SWIG_0(long jarg1, IMapRenderer jarg1_, boolean jarg2); + public final static native void IMapRenderer_removeAllSymbolProviders__SWIG_1(long jarg1, IMapRenderer jarg1_); + public final static native void IMapRenderer_setWindowSize__SWIG_0(long jarg1, IMapRenderer jarg1_, long jarg2, PointI jarg2_, boolean jarg3); + public final static native void IMapRenderer_setWindowSize__SWIG_1(long jarg1, IMapRenderer jarg1_, long jarg2, PointI jarg2_); + public final static native void IMapRenderer_setViewport__SWIG_0(long jarg1, IMapRenderer jarg1_, long jarg2, AreaI jarg2_, boolean jarg3); + public final static native void IMapRenderer_setViewport__SWIG_1(long jarg1, IMapRenderer jarg1_, long jarg2, AreaI jarg2_); + public final static native void IMapRenderer_setFieldOfView__SWIG_0(long jarg1, IMapRenderer jarg1_, float jarg2, boolean jarg3); + public final static native void IMapRenderer_setFieldOfView__SWIG_1(long jarg1, IMapRenderer jarg1_, float jarg2); + public final static native void IMapRenderer_setDistanceToFog__SWIG_0(long jarg1, IMapRenderer jarg1_, float jarg2, boolean jarg3); + public final static native void IMapRenderer_setDistanceToFog__SWIG_1(long jarg1, IMapRenderer jarg1_, float jarg2); + public final static native void IMapRenderer_setFogOriginFactor__SWIG_0(long jarg1, IMapRenderer jarg1_, float jarg2, boolean jarg3); + public final static native void IMapRenderer_setFogOriginFactor__SWIG_1(long jarg1, IMapRenderer jarg1_, float jarg2); + public final static native void IMapRenderer_setFogHeightOriginFactor__SWIG_0(long jarg1, IMapRenderer jarg1_, float jarg2, boolean jarg3); + public final static native void IMapRenderer_setFogHeightOriginFactor__SWIG_1(long jarg1, IMapRenderer jarg1_, float jarg2); + public final static native void IMapRenderer_setFogDensity__SWIG_0(long jarg1, IMapRenderer jarg1_, float jarg2, boolean jarg3); + public final static native void IMapRenderer_setFogDensity__SWIG_1(long jarg1, IMapRenderer jarg1_, float jarg2); + public final static native void IMapRenderer_setFogColor__SWIG_0(long jarg1, IMapRenderer jarg1_, long jarg2, FColorRGB jarg2_, boolean jarg3); + public final static native void IMapRenderer_setFogColor__SWIG_1(long jarg1, IMapRenderer jarg1_, long jarg2, FColorRGB jarg2_); + public final static native void IMapRenderer_setSkyColor__SWIG_0(long jarg1, IMapRenderer jarg1_, long jarg2, FColorRGB jarg2_, boolean jarg3); + public final static native void IMapRenderer_setSkyColor__SWIG_1(long jarg1, IMapRenderer jarg1_, long jarg2, FColorRGB jarg2_); + public final static native void IMapRenderer_setAzimuth__SWIG_0(long jarg1, IMapRenderer jarg1_, float jarg2, boolean jarg3); + public final static native void IMapRenderer_setAzimuth__SWIG_1(long jarg1, IMapRenderer jarg1_, float jarg2); + public final static native void IMapRenderer_setElevationAngle__SWIG_0(long jarg1, IMapRenderer jarg1_, float jarg2, boolean jarg3); + public final static native void IMapRenderer_setElevationAngle__SWIG_1(long jarg1, IMapRenderer jarg1_, float jarg2); + public final static native void IMapRenderer_setTarget__SWIG_0(long jarg1, IMapRenderer jarg1_, long jarg2, PointI jarg2_, boolean jarg3); + public final static native void IMapRenderer_setTarget__SWIG_1(long jarg1, IMapRenderer jarg1_, long jarg2, PointI jarg2_); + public final static native void IMapRenderer_setZoom__SWIG_0(long jarg1, IMapRenderer jarg1_, float jarg2, boolean jarg3); + public final static native void IMapRenderer_setZoom__SWIG_1(long jarg1, IMapRenderer jarg1_, float jarg2); + public final static native long IMapRenderer_getDebugSettings(long jarg1, IMapRenderer jarg1_); + public final static native void IMapRenderer_setDebugSettings(long jarg1, IMapRenderer jarg1_, long jarg2, MapRendererDebugSettings jarg2_); + public final static native float IMapRenderer_getMinZoom(long jarg1, IMapRenderer jarg1_); + public final static native float IMapRenderer_getMaxZoom(long jarg1, IMapRenderer jarg1_); + public final static native float IMapRenderer_getRecommendedMinZoom__SWIG_0(long jarg1, IMapRenderer jarg1_, int jarg2); + public final static native float IMapRenderer_getRecommendedMinZoom__SWIG_1(long jarg1, IMapRenderer jarg1_); + public final static native float IMapRenderer_getRecommendedMaxZoom__SWIG_0(long jarg1, IMapRenderer jarg1_, int jarg2); + public final static native float IMapRenderer_getRecommendedMaxZoom__SWIG_1(long jarg1, IMapRenderer jarg1_); + public final static native long new_IMapRenderer_IStateChangeObserver(); + public final static native void delete_IMapRenderer_IStateChangeObserver(long jarg1); + public final static native void IMapRenderer_IStateChangeObserver_method(long jarg1, IMapRenderer.IStateChangeObserver jarg1_, long jarg2, IMapRenderer jarg2_, int jarg3, long jarg4, MapRendererStateChanges jarg4_); + public final static native boolean IMapRenderer_IStateChangeObserver_attachTo(long jarg1, IMapRenderer.IStateChangeObserver jarg1_, long jarg2, long jarg3); + public final static native long IMapRenderer_IStateChangeObserver_getBinding(long jarg1, IMapRenderer.IStateChangeObserver jarg1_); + public final static native void IMapRenderer_IStateChangeObserver_director_connect(IMapRenderer.IStateChangeObserver obj, long cptr, boolean mem_own, boolean weak_global); + public final static native void IMapRenderer_IStateChangeObserver_change_ownership(IMapRenderer.IStateChangeObserver obj, long cptr, boolean take_or_release); + public final static native long IMapRenderer_stateChangeObservable_get(long jarg1, IMapRenderer jarg1_); + public final static native boolean IMapRenderer_getLocationFromScreenPoint__SWIG_0(long jarg1, IMapRenderer jarg1_, long jarg2, PointI jarg2_, long jarg3, PointI jarg3_); + public final static native boolean IMapRenderer_getLocationFromScreenPoint__SWIG_1(long jarg1, IMapRenderer jarg1_, long jarg2, PointI jarg2_, long jarg3); + public final static native void IMapRenderer_dumpResourcesInfo(long jarg1, IMapRenderer jarg1_); + public final static native long createMapRenderer(int jarg1); + public final static native long new_AtlasMapRendererConfiguration(); + public final static native void delete_AtlasMapRendererConfiguration(long jarg1); + public final static native void AtlasMapRendererConfiguration_referenceTileSizeOnScreenInPixels_set(long jarg1, AtlasMapRendererConfiguration jarg1_, long jarg2); + public final static native long AtlasMapRendererConfiguration_referenceTileSizeOnScreenInPixels_get(long jarg1, AtlasMapRendererConfiguration jarg1_); + public final static native void AtlasMapRendererConfiguration_copyTo(long jarg1, AtlasMapRendererConfiguration jarg1_, long jarg2, MapRendererConfiguration jarg2_); + public final static native long AtlasMapRendererConfiguration_createCopy(long jarg1, AtlasMapRendererConfiguration jarg1_); + public final static native long AtlasMapRendererConfiguration_Casts_upcastFrom(long jarg1, MapRendererConfiguration jarg1_); + public final static native long AtlasMapRendererConfiguration_Casts_downcastTo_MapRendererConfiguration(long jarg1, AtlasMapRendererConfiguration jarg1_); + public final static native long new_AtlasMapRendererConfiguration_Casts(); + public final static native void delete_AtlasMapRendererConfiguration_Casts(long jarg1); + public final static native int IMapDataProvider_DataType_Unknown_get(); + public final static native void delete_IMapDataProvider(long jarg1); + public final static native int IMapDataProvider_dataType_get(long jarg1, IMapDataProvider jarg1_); + public final static native void delete_MapData(long jarg1); + public final static native int MapData_dataType_get(long jarg1, MapData jarg1_); + public final static native boolean MapData_consumableContentReleased_get(long jarg1, MapData jarg1_); + public final static native void MapData_releaseConsumableContent(long jarg1, MapData jarg1_); + public final static native void delete_IMapTiledDataProvider(long jarg1); + public final static native int IMapTiledDataProvider_getMinZoom(long jarg1, IMapTiledDataProvider jarg1_); + public final static native int IMapTiledDataProvider_getMaxZoom(long jarg1, IMapTiledDataProvider jarg1_); + public final static native boolean IMapTiledDataProvider_obtainData__SWIG_0(long jarg1, IMapTiledDataProvider jarg1_, long jarg2, TileId jarg2_, int jarg3, long jarg4, MapTiledData jarg4_, long jarg5); + public final static native boolean IMapTiledDataProvider_obtainData__SWIG_1(long jarg1, IMapTiledDataProvider jarg1_, long jarg2, TileId jarg2_, int jarg3, long jarg4, MapTiledData jarg4_); + public final static native void delete_MapTiledData(long jarg1); + public final static native long MapTiledData_tileId_get(long jarg1, MapTiledData jarg1_); + public final static native int MapTiledData_zoom_get(long jarg1, MapTiledData jarg1_); + public final static native void delete_IMapElevationDataProvider(long jarg1); + public final static native long IMapElevationDataProvider_getTileSize(long jarg1, IMapElevationDataProvider jarg1_); + public final static native long new_ElevationDataTile(long jarg1, long jarg2, long jarg3, long jarg4, TileId jarg4_, int jarg5); + public final static native void delete_ElevationDataTile(long jarg1); + public final static native void ElevationDataTile_data_set(long jarg1, ElevationDataTile jarg1_, long jarg2); + public final static native long ElevationDataTile_data_get(long jarg1, ElevationDataTile jarg1_); + public final static native void ElevationDataTile_rowLength_set(long jarg1, ElevationDataTile jarg1_, long jarg2); + public final static native long ElevationDataTile_rowLength_get(long jarg1, ElevationDataTile jarg1_); + public final static native void ElevationDataTile_size_set(long jarg1, ElevationDataTile jarg1_, long jarg2); + public final static native long ElevationDataTile_size_get(long jarg1, ElevationDataTile jarg1_); + public final static native void ElevationDataTile_releaseConsumableContent(long jarg1, ElevationDataTile jarg1_); + public final static native void delete_IMapRasterBitmapTileProvider(long jarg1); + public final static native long IMapRasterBitmapTileProvider_getTileSize(long jarg1, IMapRasterBitmapTileProvider jarg1_); + public final static native float IMapRasterBitmapTileProvider_getTileDensityFactor(long jarg1, IMapRasterBitmapTileProvider jarg1_); + public final static native long new_RasterBitmapTile(long jarg1, int jarg2, float jarg3, long jarg4, TileId jarg4_, int jarg5); + public final static native void delete_RasterBitmapTile(long jarg1); + public final static native void RasterBitmapTile_bitmap_set(long jarg1, RasterBitmapTile jarg1_, long jarg2); + public final static native long RasterBitmapTile_bitmap_get(long jarg1, RasterBitmapTile jarg1_); + public final static native void RasterBitmapTile_alphaChannelData_set(long jarg1, RasterBitmapTile jarg1_, int jarg2); + public final static native int RasterBitmapTile_alphaChannelData_get(long jarg1, RasterBitmapTile jarg1_); + public final static native void RasterBitmapTile_densityFactor_set(long jarg1, RasterBitmapTile jarg1_, float jarg2); + public final static native float RasterBitmapTile_densityFactor_get(long jarg1, RasterBitmapTile jarg1_); + public final static native void RasterBitmapTile_releaseConsumableContent(long jarg1, RasterBitmapTile jarg1_); + public final static native void delete_IMapTiledSymbolsProvider(long jarg1); + public final static native boolean IMapTiledSymbolsProvider_obtainData__SWIG_0(long jarg1, IMapTiledSymbolsProvider jarg1_, long jarg2, TileId jarg2_, int jarg3, long jarg4, MapTiledData jarg4_, long jarg5); + public final static native boolean IMapTiledSymbolsProvider_obtainData__SWIG_1(long jarg1, IMapTiledSymbolsProvider jarg1_, long jarg2, TileId jarg2_, int jarg3, long jarg4, MapTiledData jarg4_); + public final static native long new_TiledMapSymbolsData(long jarg1, long jarg2, TileId jarg2_, int jarg3); + public final static native void delete_TiledMapSymbolsData(long jarg1); + public final static native void TiledMapSymbolsData_symbolsGroups_set(long jarg1, TiledMapSymbolsData jarg1_, long jarg2); + public final static native long TiledMapSymbolsData_symbolsGroups_get(long jarg1, TiledMapSymbolsData jarg1_); + public final static native void TiledMapSymbolsData_releaseConsumableContent(long jarg1, TiledMapSymbolsData jarg1_); + public final static native void delete_IMapKeyedDataProvider(long jarg1); + public final static native long IMapKeyedDataProvider_getProvidedDataKeys(long jarg1, IMapKeyedDataProvider jarg1_); + public final static native boolean IMapKeyedDataProvider_obtainData__SWIG_0(long jarg1, IMapKeyedDataProvider jarg1_, long jarg2, long jarg3, MapKeyedData jarg3_, long jarg4); + public final static native boolean IMapKeyedDataProvider_obtainData__SWIG_1(long jarg1, IMapKeyedDataProvider jarg1_, long jarg2, long jarg3, MapKeyedData jarg3_); + public final static native void delete_MapKeyedData(long jarg1); + public final static native long MapKeyedData_key_get(long jarg1, MapKeyedData jarg1_); + public final static native void delete_IMapKeyedSymbolsProvider(long jarg1); + public final static native long new_KeyedMapSymbolsData(long jarg1, MapSymbolsGroup jarg1_, long jarg2); + public final static native void delete_KeyedMapSymbolsData(long jarg1); + public final static native void KeyedMapSymbolsData_symbolsGroup_set(long jarg1, KeyedMapSymbolsData jarg1_, long jarg2, MapSymbolsGroup jarg2_); + public final static native long KeyedMapSymbolsData_symbolsGroup_get(long jarg1, KeyedMapSymbolsData jarg1_); + public final static native void KeyedMapSymbolsData_releaseConsumableContent(long jarg1, KeyedMapSymbolsData jarg1_); + public final static native int Primitiviser_PrimitiveType_Point_get(); + public final static native int Primitiviser_PrimitiveType_Polyline_get(); + public final static native int Primitiviser_PrimitiveType_Polygon_get(); + public final static native void delete_Primitiviser_PrimitivesGroup(long jarg1); + public final static native long Primitiviser_PrimitivesGroup_sourceObject_get(long jarg1, Primitiviser.PrimitivesGroup jarg1_); + public final static native void Primitiviser_PrimitivesGroup_polygons_set(long jarg1, Primitiviser.PrimitivesGroup jarg1_, long jarg2); + public final static native long Primitiviser_PrimitivesGroup_polygons_get(long jarg1, Primitiviser.PrimitivesGroup jarg1_); + public final static native void Primitiviser_PrimitivesGroup_polylines_set(long jarg1, Primitiviser.PrimitivesGroup jarg1_, long jarg2); + public final static native long Primitiviser_PrimitivesGroup_polylines_get(long jarg1, Primitiviser.PrimitivesGroup jarg1_); + public final static native void Primitiviser_PrimitivesGroup_points_set(long jarg1, Primitiviser.PrimitivesGroup jarg1_, long jarg2); + public final static native long Primitiviser_PrimitivesGroup_points_get(long jarg1, Primitiviser.PrimitivesGroup jarg1_); + public final static native void delete_Primitiviser_Primitive(long jarg1); + public final static native long Primitiviser_Primitive_group_get(long jarg1, Primitiviser.Primitive jarg1_); + public final static native long Primitiviser_Primitive_sourceObject_get(long jarg1, Primitiviser.Primitive jarg1_); + public final static native int Primitiviser_Primitive_type_get(long jarg1, Primitiviser.Primitive jarg1_); + public final static native long Primitiviser_Primitive_typeRuleIdIndex_get(long jarg1, Primitiviser.Primitive jarg1_); + public final static native long Primitiviser_Primitive_evaluationResult_get(long jarg1, Primitiviser.Primitive jarg1_); + public final static native void Primitiviser_Primitive_zOrder_set(long jarg1, Primitiviser.Primitive jarg1_, double jarg2); + public final static native double Primitiviser_Primitive_zOrder_get(long jarg1, Primitiviser.Primitive jarg1_); + public final static native void delete_Primitiviser_SymbolsGroup(long jarg1); + public final static native long Primitiviser_SymbolsGroup_sourceObject_get(long jarg1, Primitiviser.SymbolsGroup jarg1_); + public final static native void Primitiviser_SymbolsGroup_symbols_set(long jarg1, Primitiviser.SymbolsGroup jarg1_, long jarg2); + public final static native long Primitiviser_SymbolsGroup_symbols_get(long jarg1, Primitiviser.SymbolsGroup jarg1_); + public final static native void delete_Primitiviser_Symbol(long jarg1); + public final static native long Primitiviser_Symbol_primitive_get(long jarg1, Primitiviser.Symbol jarg1_); + public final static native void Primitiviser_Symbol_location31_set(long jarg1, Primitiviser.Symbol jarg1_, long jarg2, PointI jarg2_); + public final static native long Primitiviser_Symbol_location31_get(long jarg1, Primitiviser.Symbol jarg1_); + public final static native void Primitiviser_Symbol_order_set(long jarg1, Primitiviser.Symbol jarg1_, int jarg2); + public final static native int Primitiviser_Symbol_order_get(long jarg1, Primitiviser.Symbol jarg1_); + public final static native void Primitiviser_Symbol_drawAlongPath_set(long jarg1, Primitiviser.Symbol jarg1_, boolean jarg2); + public final static native boolean Primitiviser_Symbol_drawAlongPath_get(long jarg1, Primitiviser.Symbol jarg1_); + public final static native void Primitiviser_Symbol_intersectsWith_set(long jarg1, Primitiviser.Symbol jarg1_, long jarg2); + public final static native long Primitiviser_Symbol_intersectsWith_get(long jarg1, Primitiviser.Symbol jarg1_); + public final static native void Primitiviser_Symbol_intersectedBy_set(long jarg1, Primitiviser.Symbol jarg1_, long jarg2); + public final static native long Primitiviser_Symbol_intersectedBy_get(long jarg1, Primitiviser.Symbol jarg1_); + public final static native void delete_Primitiviser_TextSymbol(long jarg1); + public final static native void Primitiviser_TextSymbol_value_set(long jarg1, Primitiviser.TextSymbol jarg1_, String jarg2); + public final static native String Primitiviser_TextSymbol_value_get(long jarg1, Primitiviser.TextSymbol jarg1_); + public final static native void Primitiviser_TextSymbol_languageId_set(long jarg1, Primitiviser.TextSymbol jarg1_, int jarg2); + public final static native int Primitiviser_TextSymbol_languageId_get(long jarg1, Primitiviser.TextSymbol jarg1_); + public final static native void Primitiviser_TextSymbol_drawOnPath_set(long jarg1, Primitiviser.TextSymbol jarg1_, boolean jarg2); + public final static native boolean Primitiviser_TextSymbol_drawOnPath_get(long jarg1, Primitiviser.TextSymbol jarg1_); + public final static native void Primitiviser_TextSymbol_verticalOffset_set(long jarg1, Primitiviser.TextSymbol jarg1_, int jarg2); + public final static native int Primitiviser_TextSymbol_verticalOffset_get(long jarg1, Primitiviser.TextSymbol jarg1_); + public final static native void Primitiviser_TextSymbol_color_set(long jarg1, Primitiviser.TextSymbol jarg1_, long jarg2, ColorARGB jarg2_); + public final static native long Primitiviser_TextSymbol_color_get(long jarg1, Primitiviser.TextSymbol jarg1_); + public final static native void Primitiviser_TextSymbol_size_set(long jarg1, Primitiviser.TextSymbol jarg1_, int jarg2); + public final static native int Primitiviser_TextSymbol_size_get(long jarg1, Primitiviser.TextSymbol jarg1_); + public final static native void Primitiviser_TextSymbol_shadowRadius_set(long jarg1, Primitiviser.TextSymbol jarg1_, int jarg2); + public final static native int Primitiviser_TextSymbol_shadowRadius_get(long jarg1, Primitiviser.TextSymbol jarg1_); + public final static native void Primitiviser_TextSymbol_shadowColor_set(long jarg1, Primitiviser.TextSymbol jarg1_, long jarg2, ColorARGB jarg2_); + public final static native long Primitiviser_TextSymbol_shadowColor_get(long jarg1, Primitiviser.TextSymbol jarg1_); + public final static native void Primitiviser_TextSymbol_wrapWidth_set(long jarg1, Primitiviser.TextSymbol jarg1_, int jarg2); + public final static native int Primitiviser_TextSymbol_wrapWidth_get(long jarg1, Primitiviser.TextSymbol jarg1_); + public final static native void Primitiviser_TextSymbol_isBold_set(long jarg1, Primitiviser.TextSymbol jarg1_, boolean jarg2); + public final static native boolean Primitiviser_TextSymbol_isBold_get(long jarg1, Primitiviser.TextSymbol jarg1_); + public final static native void Primitiviser_TextSymbol_minDistance_set(long jarg1, Primitiviser.TextSymbol jarg1_, long jarg2, PointI jarg2_); + public final static native long Primitiviser_TextSymbol_minDistance_get(long jarg1, Primitiviser.TextSymbol jarg1_); + public final static native void Primitiviser_TextSymbol_shieldResourceName_set(long jarg1, Primitiviser.TextSymbol jarg1_, String jarg2); + public final static native String Primitiviser_TextSymbol_shieldResourceName_get(long jarg1, Primitiviser.TextSymbol jarg1_); + public final static native void delete_Primitiviser_IconSymbol(long jarg1); + public final static native void Primitiviser_IconSymbol_resourceName_set(long jarg1, Primitiviser.IconSymbol jarg1_, String jarg2); + public final static native String Primitiviser_IconSymbol_resourceName_get(long jarg1, Primitiviser.IconSymbol jarg1_); + public final static native void Primitiviser_IconSymbol_shieldResourceName_set(long jarg1, Primitiviser.IconSymbol jarg1_, String jarg2); + public final static native String Primitiviser_IconSymbol_shieldResourceName_get(long jarg1, Primitiviser.IconSymbol jarg1_); + public final static native void Primitiviser_IconSymbol_intersectionSize_set(long jarg1, Primitiviser.IconSymbol jarg1_, float jarg2); + public final static native float Primitiviser_IconSymbol_intersectionSize_get(long jarg1, Primitiviser.IconSymbol jarg1_); + public final static native long new_Primitiviser_Cache(); + public final static native void delete_Primitiviser_Cache(long jarg1); + public final static native long Primitiviser_Cache_getPrimitivesGroups__SWIG_0(long jarg1, Primitiviser.Cache jarg1_, int jarg2); + public final static native long Primitiviser_Cache_getSymbolsGroups__SWIG_0(long jarg1, Primitiviser.Cache jarg1_, int jarg2); + public final static native long Primitiviser_Cache_getPrimitivesGroupsPtr__SWIG_0(long jarg1, Primitiviser.Cache jarg1_, int jarg2); + public final static native long Primitiviser_Cache_getSymbolsGroupsPtr__SWIG_0(long jarg1, Primitiviser.Cache jarg1_, int jarg2); + public final static native void delete_Primitiviser_PrimitivisedArea(long jarg1); + public final static native long Primitiviser_PrimitivisedArea_area31_get(long jarg1, Primitiviser.PrimitivisedArea jarg1_); + public final static native long Primitiviser_PrimitivisedArea_sizeInPixels_get(long jarg1, Primitiviser.PrimitivisedArea jarg1_); + public final static native int Primitiviser_PrimitivisedArea_zoom_get(long jarg1, Primitiviser.PrimitivisedArea jarg1_); + public final static native long Primitiviser_PrimitivisedArea_mapPresentationEnvironment_get(long jarg1, Primitiviser.PrimitivisedArea jarg1_); + public final static native void Primitiviser_PrimitivisedArea_defaultBackgroundColor_set(long jarg1, Primitiviser.PrimitivisedArea jarg1_, long jarg2, ColorARGB jarg2_); + public final static native long Primitiviser_PrimitivisedArea_defaultBackgroundColor_get(long jarg1, Primitiviser.PrimitivisedArea jarg1_); + public final static native void Primitiviser_PrimitivisedArea_shadowRenderingMode_set(long jarg1, Primitiviser.PrimitivisedArea jarg1_, int jarg2); + public final static native int Primitiviser_PrimitivisedArea_shadowRenderingMode_get(long jarg1, Primitiviser.PrimitivisedArea jarg1_); + public final static native void Primitiviser_PrimitivisedArea_shadowRenderingColor_set(long jarg1, Primitiviser.PrimitivisedArea jarg1_, long jarg2, ColorARGB jarg2_); + public final static native long Primitiviser_PrimitivisedArea_shadowRenderingColor_get(long jarg1, Primitiviser.PrimitivisedArea jarg1_); + public final static native void Primitiviser_PrimitivisedArea_polygonAreaMinimalThreshold_set(long jarg1, Primitiviser.PrimitivisedArea jarg1_, double jarg2); + public final static native double Primitiviser_PrimitivisedArea_polygonAreaMinimalThreshold_get(long jarg1, Primitiviser.PrimitivisedArea jarg1_); + public final static native void Primitiviser_PrimitivisedArea_roadDensityZoomTile_set(long jarg1, Primitiviser.PrimitivisedArea jarg1_, long jarg2); + public final static native long Primitiviser_PrimitivisedArea_roadDensityZoomTile_get(long jarg1, Primitiviser.PrimitivisedArea jarg1_); + public final static native void Primitiviser_PrimitivisedArea_roadsDensityLimitPerTile_set(long jarg1, Primitiviser.PrimitivisedArea jarg1_, long jarg2); + public final static native long Primitiviser_PrimitivisedArea_roadsDensityLimitPerTile_get(long jarg1, Primitiviser.PrimitivisedArea jarg1_); + public final static native void Primitiviser_PrimitivisedArea_shadowLevelMin_set(long jarg1, Primitiviser.PrimitivisedArea jarg1_, int jarg2); + public final static native int Primitiviser_PrimitivisedArea_shadowLevelMin_get(long jarg1, Primitiviser.PrimitivisedArea jarg1_); + public final static native void Primitiviser_PrimitivisedArea_shadowLevelMax_set(long jarg1, Primitiviser.PrimitivisedArea jarg1_, int jarg2); + public final static native int Primitiviser_PrimitivisedArea_shadowLevelMax_get(long jarg1, Primitiviser.PrimitivisedArea jarg1_); + public final static native void Primitiviser_PrimitivisedArea_scale31ToPixelDivisor_set(long jarg1, Primitiviser.PrimitivisedArea jarg1_, long jarg2, PointD jarg2_); + public final static native long Primitiviser_PrimitivisedArea_scale31ToPixelDivisor_get(long jarg1, Primitiviser.PrimitivisedArea jarg1_); + public final static native void Primitiviser_PrimitivisedArea_primitivesGroups_set(long jarg1, Primitiviser.PrimitivisedArea jarg1_, long jarg2); + public final static native long Primitiviser_PrimitivisedArea_primitivesGroups_get(long jarg1, Primitiviser.PrimitivisedArea jarg1_); + public final static native void Primitiviser_PrimitivisedArea_polygons_set(long jarg1, Primitiviser.PrimitivisedArea jarg1_, long jarg2); + public final static native long Primitiviser_PrimitivisedArea_polygons_get(long jarg1, Primitiviser.PrimitivisedArea jarg1_); + public final static native void Primitiviser_PrimitivisedArea_polylines_set(long jarg1, Primitiviser.PrimitivisedArea jarg1_, long jarg2); + public final static native long Primitiviser_PrimitivisedArea_polylines_get(long jarg1, Primitiviser.PrimitivisedArea jarg1_); + public final static native void Primitiviser_PrimitivisedArea_points_set(long jarg1, Primitiviser.PrimitivisedArea jarg1_, long jarg2); + public final static native long Primitiviser_PrimitivisedArea_points_get(long jarg1, Primitiviser.PrimitivisedArea jarg1_); + public final static native void Primitiviser_PrimitivisedArea_symbolsGroups_set(long jarg1, Primitiviser.PrimitivisedArea jarg1_, long jarg2); + public final static native long Primitiviser_PrimitivisedArea_symbolsGroups_get(long jarg1, Primitiviser.PrimitivisedArea jarg1_); + public final static native boolean Primitiviser_PrimitivisedArea_isEmpty(long jarg1, Primitiviser.PrimitivisedArea jarg1_); + public final static native long new_Primitiviser(long jarg1, MapPresentationEnvironment jarg1_); + public final static native void delete_Primitiviser(long jarg1); + public final static native long Primitiviser_environment_get(long jarg1, Primitiviser jarg1_); + public final static native long Primitiviser_primitivise__SWIG_0(long jarg1, Primitiviser jarg1_, long jarg2, AreaI jarg2_, long jarg3, PointI jarg3_, int jarg4, int jarg5, long jarg6, long jarg7, long jarg8, long jarg9); + public final static native long Primitiviser_primitivise__SWIG_1(long jarg1, Primitiviser jarg1_, long jarg2, AreaI jarg2_, long jarg3, PointI jarg3_, int jarg4, int jarg5, long jarg6, long jarg7, long jarg8); + public final static native long Primitiviser_primitivise__SWIG_2(long jarg1, Primitiviser jarg1_, long jarg2, AreaI jarg2_, long jarg3, PointI jarg3_, int jarg4, int jarg5, long jarg6, long jarg7); + public final static native long Primitiviser_primitivise__SWIG_3(long jarg1, Primitiviser jarg1_, long jarg2, AreaI jarg2_, long jarg3, PointI jarg3_, int jarg4, int jarg5, long jarg6); + public final static native long new_BinaryMapDataProvider(long jarg1, IObfsCollection jarg1_); + public final static native void delete_BinaryMapDataProvider(long jarg1); + public final static native long BinaryMapDataProvider_obfsCollection_get(long jarg1, BinaryMapDataProvider jarg1_); + public final static native int BinaryMapDataProvider_getMinZoom(long jarg1, BinaryMapDataProvider jarg1_); + public final static native int BinaryMapDataProvider_getMaxZoom(long jarg1, BinaryMapDataProvider jarg1_); + public final static native boolean BinaryMapDataProvider_obtainData__SWIG_0(long jarg1, BinaryMapDataProvider jarg1_, long jarg2, TileId jarg2_, int jarg3, long jarg4, MapTiledData jarg4_, long jarg5); + public final static native boolean BinaryMapDataProvider_obtainData__SWIG_1(long jarg1, BinaryMapDataProvider jarg1_, long jarg2, TileId jarg2_, int jarg3, long jarg4, MapTiledData jarg4_); + public final static native boolean BinaryMapDataProvider_obtainData__SWIG_2(long jarg1, BinaryMapDataProvider jarg1_, long jarg2, TileId jarg2_, int jarg3, long jarg4, MapTiledData jarg4_, long jarg5, long jarg6); + public final static native void delete_BinaryMapDataTile(long jarg1); + public final static native long BinaryMapDataTile_dataBlocksCache_get(long jarg1, BinaryMapDataTile jarg1_); + public final static native long BinaryMapDataTile_referencedDataBlocks_get(long jarg1, BinaryMapDataTile jarg1_); + public final static native int BinaryMapDataTile_tileFoundation_get(long jarg1, BinaryMapDataTile jarg1_); + public final static native long BinaryMapDataTile_mapObjects_get(long jarg1, BinaryMapDataTile jarg1_); + public final static native void BinaryMapDataTile_releaseConsumableContent(long jarg1, BinaryMapDataTile jarg1_); + public final static native long new_BinaryMapPrimitivesProvider__SWIG_0(long jarg1, BinaryMapDataProvider jarg1_, long jarg2, Primitiviser jarg2_, long jarg3); + public final static native long new_BinaryMapPrimitivesProvider__SWIG_1(long jarg1, BinaryMapDataProvider jarg1_, long jarg2, Primitiviser jarg2_); + public final static native void delete_BinaryMapPrimitivesProvider(long jarg1); + public final static native long BinaryMapPrimitivesProvider_dataProvider_get(long jarg1, BinaryMapPrimitivesProvider jarg1_); + public final static native long BinaryMapPrimitivesProvider_primitiviser_get(long jarg1, BinaryMapPrimitivesProvider jarg1_); + public final static native long BinaryMapPrimitivesProvider_tileSize_get(long jarg1, BinaryMapPrimitivesProvider jarg1_); + public final static native int BinaryMapPrimitivesProvider_getMinZoom(long jarg1, BinaryMapPrimitivesProvider jarg1_); + public final static native int BinaryMapPrimitivesProvider_getMaxZoom(long jarg1, BinaryMapPrimitivesProvider jarg1_); + public final static native boolean BinaryMapPrimitivesProvider_obtainData__SWIG_0(long jarg1, BinaryMapPrimitivesProvider jarg1_, long jarg2, TileId jarg2_, int jarg3, long jarg4, MapTiledData jarg4_, long jarg5); + public final static native boolean BinaryMapPrimitivesProvider_obtainData__SWIG_1(long jarg1, BinaryMapPrimitivesProvider jarg1_, long jarg2, TileId jarg2_, int jarg3, long jarg4, MapTiledData jarg4_); + public final static native boolean BinaryMapPrimitivesProvider_obtainData__SWIG_2(long jarg1, BinaryMapPrimitivesProvider jarg1_, long jarg2, TileId jarg2_, int jarg3, long jarg4, MapTiledData jarg4_, long jarg5, long jarg6); + public final static native void delete_BinaryMapPrimitivesTile(long jarg1); + public final static native long BinaryMapPrimitivesTile_dataTile_get(long jarg1, BinaryMapPrimitivesTile jarg1_); + public final static native long BinaryMapPrimitivesTile_primitivisedArea_get(long jarg1, BinaryMapPrimitivesTile jarg1_); + public final static native void BinaryMapPrimitivesTile_releaseConsumableContent(long jarg1, BinaryMapPrimitivesTile jarg1_); + public final static native long new_BinaryMapStaticSymbolsProvider(long jarg1, BinaryMapPrimitivesProvider jarg1_, long jarg2); + public final static native void delete_BinaryMapStaticSymbolsProvider(long jarg1); + public final static native long BinaryMapStaticSymbolsProvider_primitivesProvider_get(long jarg1, BinaryMapStaticSymbolsProvider jarg1_); + public final static native void BinaryMapStaticSymbolsProvider_referenceTileSizeInPixels_set(long jarg1, BinaryMapStaticSymbolsProvider jarg1_, long jarg2); + public final static native long BinaryMapStaticSymbolsProvider_referenceTileSizeInPixels_get(long jarg1, BinaryMapStaticSymbolsProvider jarg1_); + public final static native int BinaryMapStaticSymbolsProvider_getMinZoom(long jarg1, BinaryMapStaticSymbolsProvider jarg1_); + public final static native int BinaryMapStaticSymbolsProvider_getMaxZoom(long jarg1, BinaryMapStaticSymbolsProvider jarg1_); + public final static native void delete_BinaryMapStaticSymbolsTile(long jarg1); + public final static native long BinaryMapStaticSymbolsTile_dataTile_get(long jarg1, BinaryMapStaticSymbolsTile jarg1_); + public final static native void delete_BinaryMapRasterBitmapTileProvider(long jarg1); + public final static native long BinaryMapRasterBitmapTileProvider_primitivesProvider_get(long jarg1, BinaryMapRasterBitmapTileProvider jarg1_); + public final static native float BinaryMapRasterBitmapTileProvider_getTileDensityFactor(long jarg1, BinaryMapRasterBitmapTileProvider jarg1_); + public final static native long BinaryMapRasterBitmapTileProvider_getTileSize(long jarg1, BinaryMapRasterBitmapTileProvider jarg1_); + public final static native boolean BinaryMapRasterBitmapTileProvider_obtainData__SWIG_0(long jarg1, BinaryMapRasterBitmapTileProvider jarg1_, long jarg2, TileId jarg2_, int jarg3, long jarg4, MapTiledData jarg4_, long jarg5); + public final static native boolean BinaryMapRasterBitmapTileProvider_obtainData__SWIG_1(long jarg1, BinaryMapRasterBitmapTileProvider jarg1_, long jarg2, TileId jarg2_, int jarg3, long jarg4, MapTiledData jarg4_); + public final static native boolean BinaryMapRasterBitmapTileProvider_obtainData__SWIG_2(long jarg1, BinaryMapRasterBitmapTileProvider jarg1_, long jarg2, TileId jarg2_, int jarg3, long jarg4, MapTiledData jarg4_, long jarg5, long jarg6); + public final static native int BinaryMapRasterBitmapTileProvider_getMinZoom(long jarg1, BinaryMapRasterBitmapTileProvider jarg1_); + public final static native int BinaryMapRasterBitmapTileProvider_getMaxZoom(long jarg1, BinaryMapRasterBitmapTileProvider jarg1_); + public final static native long new_BinaryMapRasterizedTile(long jarg1, BinaryMapPrimitivesTile jarg1_, long jarg2, int jarg3, float jarg4, long jarg5, TileId jarg5_, int jarg6); + public final static native void delete_BinaryMapRasterizedTile(long jarg1); + public final static native long BinaryMapRasterizedTile_binaryMapTile_get(long jarg1, BinaryMapRasterizedTile jarg1_); + public final static native long new_BinaryMapRasterBitmapTileProvider_Software(long jarg1, BinaryMapPrimitivesProvider jarg1_); + public final static native void delete_BinaryMapRasterBitmapTileProvider_Software(long jarg1); + public final static native long new_IOnlineTileSources_Source(String jarg1); + public final static native void delete_IOnlineTileSources_Source(long jarg1); + public final static native String IOnlineTileSources_Source_name_get(long jarg1, IOnlineTileSources.Source jarg1_); + public final static native void IOnlineTileSources_Source_urlPattern_set(long jarg1, IOnlineTileSources.Source jarg1_, String jarg2); + public final static native String IOnlineTileSources_Source_urlPattern_get(long jarg1, IOnlineTileSources.Source jarg1_); + public final static native void IOnlineTileSources_Source_minZoom_set(long jarg1, IOnlineTileSources.Source jarg1_, int jarg2); + public final static native int IOnlineTileSources_Source_minZoom_get(long jarg1, IOnlineTileSources.Source jarg1_); + public final static native void IOnlineTileSources_Source_maxZoom_set(long jarg1, IOnlineTileSources.Source jarg1_, int jarg2); + public final static native int IOnlineTileSources_Source_maxZoom_get(long jarg1, IOnlineTileSources.Source jarg1_); + public final static native void IOnlineTileSources_Source_maxConcurrentDownloads_set(long jarg1, IOnlineTileSources.Source jarg1_, long jarg2); + public final static native long IOnlineTileSources_Source_maxConcurrentDownloads_get(long jarg1, IOnlineTileSources.Source jarg1_); + public final static native void IOnlineTileSources_Source_tileSize_set(long jarg1, IOnlineTileSources.Source jarg1_, long jarg2); + public final static native long IOnlineTileSources_Source_tileSize_get(long jarg1, IOnlineTileSources.Source jarg1_); + public final static native void IOnlineTileSources_Source_alphaChannelData_set(long jarg1, IOnlineTileSources.Source jarg1_, int jarg2); + public final static native int IOnlineTileSources_Source_alphaChannelData_get(long jarg1, IOnlineTileSources.Source jarg1_); + public final static native void delete_IOnlineTileSources(long jarg1); + public final static native long IOnlineTileSources_getCollection(long jarg1, IOnlineTileSources jarg1_); + public final static native long IOnlineTileSources_getSourceByName(long jarg1, IOnlineTileSources jarg1_, String jarg2); + public final static native long IOnlineTileSources_createProviderFor(long jarg1, IOnlineTileSources jarg1_, String jarg2); + public final static native long new_OnlineTileSources(); + public final static native void delete_OnlineTileSources(long jarg1); + public final static native boolean OnlineTileSources_loadFrom__SWIG_0(long jarg1, OnlineTileSources jarg1_, long jarg2); + public final static native boolean OnlineTileSources_loadFrom__SWIG_1(long jarg1, OnlineTileSources jarg1_, long jarg2); + public final static native boolean OnlineTileSources_loadFrom__SWIG_2(long jarg1, OnlineTileSources jarg1_, String jarg2); + public final static native boolean OnlineTileSources_saveTo__SWIG_0(long jarg1, OnlineTileSources jarg1_, long jarg2); + public final static native boolean OnlineTileSources_saveTo__SWIG_1(long jarg1, OnlineTileSources jarg1_, String jarg2); + public final static native long OnlineTileSources_getCollection(long jarg1, OnlineTileSources jarg1_); + public final static native long OnlineTileSources_getSourceByName(long jarg1, OnlineTileSources jarg1_, String jarg2); + public final static native boolean OnlineTileSources_addSource(long jarg1, OnlineTileSources jarg1_, long jarg2); + public final static native boolean OnlineTileSources_removeSource(long jarg1, OnlineTileSources jarg1_, String jarg2); + public final static native long OnlineTileSources_getBuiltIn(); + public final static native long new_OnlineRasterMapTileProvider__SWIG_0(String jarg1, String jarg2, int jarg3, int jarg4, long jarg5, long jarg6, int jarg7); + public final static native long new_OnlineRasterMapTileProvider__SWIG_1(String jarg1, String jarg2, int jarg3, int jarg4, long jarg5, long jarg6); + public final static native long new_OnlineRasterMapTileProvider__SWIG_2(String jarg1, String jarg2, int jarg3, int jarg4, long jarg5); + public final static native long new_OnlineRasterMapTileProvider__SWIG_3(String jarg1, String jarg2, int jarg3, int jarg4); + public final static native long new_OnlineRasterMapTileProvider__SWIG_4(String jarg1, String jarg2, int jarg3); + public final static native long new_OnlineRasterMapTileProvider__SWIG_5(String jarg1, String jarg2); + public final static native void delete_OnlineRasterMapTileProvider(long jarg1); + public final static native String OnlineRasterMapTileProvider_name_get(long jarg1, OnlineRasterMapTileProvider jarg1_); + public final static native String OnlineRasterMapTileProvider_pathSuffix_get(long jarg1, OnlineRasterMapTileProvider jarg1_); + public final static native String OnlineRasterMapTileProvider_urlPattern_get(long jarg1, OnlineRasterMapTileProvider jarg1_); + public final static native long OnlineRasterMapTileProvider_maxConcurrentDownloads_get(long jarg1, OnlineRasterMapTileProvider jarg1_); + public final static native long OnlineRasterMapTileProvider_providerTileSize_get(long jarg1, OnlineRasterMapTileProvider jarg1_); + public final static native int OnlineRasterMapTileProvider_alphaChannelData_get(long jarg1, OnlineRasterMapTileProvider jarg1_); + public final static native void OnlineRasterMapTileProvider_setLocalCachePath__SWIG_0(long jarg1, OnlineRasterMapTileProvider jarg1_, long jarg2, boolean jarg3); + public final static native void OnlineRasterMapTileProvider_setLocalCachePath__SWIG_1(long jarg1, OnlineRasterMapTileProvider jarg1_, long jarg2); + public final static native long OnlineRasterMapTileProvider_localCachePath_get(long jarg1, OnlineRasterMapTileProvider jarg1_); + public final static native void OnlineRasterMapTileProvider_setNetworkAccessPermission(long jarg1, OnlineRasterMapTileProvider jarg1_, boolean jarg2); + public final static native boolean OnlineRasterMapTileProvider_networkAccessAllowed_get(long jarg1, OnlineRasterMapTileProvider jarg1_); + public final static native float OnlineRasterMapTileProvider_getTileDensityFactor(long jarg1, OnlineRasterMapTileProvider jarg1_); + public final static native long OnlineRasterMapTileProvider_getTileSize(long jarg1, OnlineRasterMapTileProvider jarg1_); + public final static native boolean OnlineRasterMapTileProvider_obtainData__SWIG_0(long jarg1, OnlineRasterMapTileProvider jarg1_, long jarg2, TileId jarg2_, int jarg3, long jarg4, MapTiledData jarg4_, long jarg5); + public final static native boolean OnlineRasterMapTileProvider_obtainData__SWIG_1(long jarg1, OnlineRasterMapTileProvider jarg1_, long jarg2, TileId jarg2_, int jarg3, long jarg4, MapTiledData jarg4_); + public final static native int OnlineRasterMapTileProvider_getMinZoom(long jarg1, OnlineRasterMapTileProvider jarg1_); + public final static native int OnlineRasterMapTileProvider_getMaxZoom(long jarg1, OnlineRasterMapTileProvider jarg1_); + public final static native long ObfsCollection_SWIGSmartPtrUpcast(long jarg1); + public final static native long ResourcesManager_LocalResource_SWIGSmartPtrUpcast(long jarg1); + public final static native long ResourcesManager_UnmanagedResource_SWIGSmartPtrUpcast(long jarg1); + public final static native long ResourcesManager_InstalledResource_SWIGSmartPtrUpcast(long jarg1); + public final static native long ResourcesManager_BuiltinResource_SWIGSmartPtrUpcast(long jarg1); + public final static native long ResourcesManager_ResourceInRepository_SWIGSmartPtrUpcast(long jarg1); + public final static native long ResourcesManager_ObfMetadata_SWIGSmartPtrUpcast(long jarg1); + public final static native long ResourcesManager_MapStyleMetadata_SWIGSmartPtrUpcast(long jarg1); + public final static native long ResourcesManager_MapStylesPresetsMetadata_SWIGSmartPtrUpcast(long jarg1); + public final static native long ResourcesManager_OnlineTileSourcesMetadata_SWIGSmartPtrUpcast(long jarg1); + public final static native long CoreResourcesEmbeddedBundle_SWIGSmartPtrUpcast(long jarg1); + public final static native long DefaultLogSink_SWIGSmartPtrUpcast(long jarg1); + public final static native long QIODeviceLogSink_SWIGSmartPtrUpcast(long jarg1); + public final static native long MapSymbolsGroup_AdditionalBillboardSymbolInstanceParameters_SWIGUpcast(long jarg1); + public final static native long MapSymbolsGroup_AdditionalOnSurfaceSymbolInstanceParameters_SWIGUpcast(long jarg1); + public final static native long MapSymbolsGroup_AdditionalOnPathSymbolInstanceParameters_SWIGUpcast(long jarg1); + public final static native long MapStylesCollection_SWIGSmartPtrUpcast(long jarg1); + public final static native long MapStylesPresetsCollection_SWIGSmartPtrUpcast(long jarg1); + public final static native long AtlasMapRendererConfiguration_SWIGSmartPtrUpcast(long jarg1); + public final static native long IMapTiledDataProvider_SWIGSmartPtrUpcast(long jarg1); + public final static native long MapTiledData_SWIGSmartPtrUpcast(long jarg1); + public final static native long IMapElevationDataProvider_SWIGSmartPtrUpcast(long jarg1); + public final static native long ElevationDataTile_SWIGSmartPtrUpcast(long jarg1); + public final static native long IMapRasterBitmapTileProvider_SWIGSmartPtrUpcast(long jarg1); + public final static native long RasterBitmapTile_SWIGSmartPtrUpcast(long jarg1); + public final static native long IMapTiledSymbolsProvider_SWIGSmartPtrUpcast(long jarg1); + public final static native long TiledMapSymbolsData_SWIGSmartPtrUpcast(long jarg1); + public final static native long IMapKeyedDataProvider_SWIGSmartPtrUpcast(long jarg1); + public final static native long MapKeyedData_SWIGSmartPtrUpcast(long jarg1); + public final static native long IMapKeyedSymbolsProvider_SWIGSmartPtrUpcast(long jarg1); + public final static native long KeyedMapSymbolsData_SWIGSmartPtrUpcast(long jarg1); + public final static native long Primitiviser_TextSymbol_SWIGSmartPtrUpcast(long jarg1); + public final static native long Primitiviser_IconSymbol_SWIGSmartPtrUpcast(long jarg1); + public final static native long BinaryMapDataProvider_SWIGSmartPtrUpcast(long jarg1); + public final static native long BinaryMapDataTile_SWIGSmartPtrUpcast(long jarg1); + public final static native long BinaryMapPrimitivesProvider_SWIGSmartPtrUpcast(long jarg1); + public final static native long BinaryMapPrimitivesTile_SWIGSmartPtrUpcast(long jarg1); + public final static native long BinaryMapStaticSymbolsProvider_SWIGSmartPtrUpcast(long jarg1); + public final static native long BinaryMapStaticSymbolsTile_SWIGSmartPtrUpcast(long jarg1); + public final static native long BinaryMapRasterBitmapTileProvider_SWIGSmartPtrUpcast(long jarg1); + public final static native long BinaryMapRasterizedTile_SWIGSmartPtrUpcast(long jarg1); + public final static native long BinaryMapRasterBitmapTileProvider_Software_SWIGSmartPtrUpcast(long jarg1); + public final static native long OnlineTileSources_SWIGSmartPtrUpcast(long jarg1); + public final static native long OnlineRasterMapTileProvider_SWIGSmartPtrUpcast(long jarg1); + + public static void SwigDirector_ResourcesManager_ILocalResourcesChanged_method(ResourcesManager.ILocalResourcesChanged self, long resourcesManager, long added, long removed, long updated) { + self.method((resourcesManager == 0) ? null : new ResourcesManager(resourcesManager, false), new QStringList(added, false), new QStringList(removed, false), new QStringList(updated, false)); + } + public static void SwigDirector_ResourcesManager_IRepositoryUpdated_method(ResourcesManager.IRepositoryUpdated self, long resourcesManager) { + self.method((resourcesManager == 0) ? null : new ResourcesManager(resourcesManager, false)); + } + public static long SwigDirector_ICoreResourcesProvider_getResource__SWIG_0(ICoreResourcesProvider self, String name, float displayDensityFactor, long ok) { + return SWIGTYPE_p_QByteArray.getCPtr(self.getResource(name, displayDensityFactor, (ok == 0) ? null : new SWIGTYPE_p_bool(ok, false))); + } + public static long SwigDirector_ICoreResourcesProvider_getResource__SWIG_1(ICoreResourcesProvider self, String name, float displayDensityFactor) { + return SWIGTYPE_p_QByteArray.getCPtr(self.getResource(name, displayDensityFactor)); + } + public static long SwigDirector_ICoreResourcesProvider_getResource__SWIG_2(ICoreResourcesProvider self, String name, long ok) { + return SWIGTYPE_p_QByteArray.getCPtr(self.getResource(name, (ok == 0) ? null : new SWIGTYPE_p_bool(ok, false))); + } + public static long SwigDirector_ICoreResourcesProvider_getResource__SWIG_3(ICoreResourcesProvider self, String name) { + return SWIGTYPE_p_QByteArray.getCPtr(self.getResource(name)); + } + public static long SwigDirector_ICoreResourcesProvider_getResourceAsBitmap__SWIG_0(ICoreResourcesProvider self, String name, float displayDensityFactor) { + return SWIGTYPE_p_std__shared_ptrT_SkBitmap_t.getCPtr(self.getResourceAsBitmap(name, displayDensityFactor)); + } + public static long SwigDirector_ICoreResourcesProvider_getResourceAsBitmap__SWIG_1(ICoreResourcesProvider self, String name) { + return SWIGTYPE_p_std__shared_ptrT_SkBitmap_t.getCPtr(self.getResourceAsBitmap(name)); + } + public static boolean SwigDirector_ICoreResourcesProvider_containsResource__SWIG_0(ICoreResourcesProvider self, String name, float displayDensityFactor) { + return self.containsResource(name, displayDensityFactor); + } + public static boolean SwigDirector_ICoreResourcesProvider_containsResource__SWIG_1(ICoreResourcesProvider self, String name) { + return self.containsResource(name); + } + public static void SwigDirector_MapRendererSetupOptions_IGpuWorkerThreadPrologue_method(MapRendererSetupOptions.IGpuWorkerThreadPrologue self, long mapRenderer) { + self.method((mapRenderer == 0) ? null : new IMapRenderer(mapRenderer, false)); + } + public static void SwigDirector_MapRendererSetupOptions_IGpuWorkerThreadEpilogue_method(MapRendererSetupOptions.IGpuWorkerThreadEpilogue self, long mapRenderer) { + self.method((mapRenderer == 0) ? null : new IMapRenderer(mapRenderer, false)); + } + public static void SwigDirector_MapRendererSetupOptions_IFrameUpdateRequestCallback_method(MapRendererSetupOptions.IFrameUpdateRequestCallback self, long mapRenderer) { + self.method((mapRenderer == 0) ? null : new IMapRenderer(mapRenderer, false)); + } + public static void SwigDirector_IMapRenderer_IFramePreparedObserver_method(IMapRenderer.IFramePreparedObserver self, long mapRenderer) { + self.method((mapRenderer == 0) ? null : new IMapRenderer(mapRenderer, false)); + } + public static void SwigDirector_IMapRenderer_IStateChangeObserver_method(IMapRenderer.IStateChangeObserver self, long mapRenderer, int thisChange, long allChanges) { + self.method((mapRenderer == 0) ? null : new IMapRenderer(mapRenderer, false), MapRendererStateChange.swigToEnum(thisChange), new MapRendererStateChanges(allChanges, false)); + } + + private final static native void swig_module_init(); + static { + swig_module_init(); + } +} diff --git a/OsmAnd/src/net/osmand/core/jni/PointD.java b/OsmAnd/src/net/osmand/core/jni/PointD.java new file mode 100644 index 0000000000..81754b93a0 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/PointD.java @@ -0,0 +1,66 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class PointD { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected PointD(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(PointD obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_PointD(swigCPtr); + } + swigCPtr = 0; + } + } + + public void setX(double value) { + OsmAndCoreJNI.PointD_x_set(swigCPtr, this, value); + } + + public double getX() { + return OsmAndCoreJNI.PointD_x_get(swigCPtr, this); + } + + public void setY(double value) { + OsmAndCoreJNI.PointD_y_set(swigCPtr, this, value); + } + + public double getY() { + return OsmAndCoreJNI.PointD_y_get(swigCPtr, this); + } + + public PointD() { + this(OsmAndCoreJNI.new_PointD__SWIG_0(), true); + } + + public PointD(PointD that) { + this(OsmAndCoreJNI.new_PointD__SWIG_1(PointD.getCPtr(that), that), true); + } + + public PointD(double x, double y) { + this(OsmAndCoreJNI.new_PointD__SWIG_2(x, y), true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/PointF.java b/OsmAnd/src/net/osmand/core/jni/PointF.java new file mode 100644 index 0000000000..1de2b701fd --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/PointF.java @@ -0,0 +1,66 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class PointF { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected PointF(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(PointF obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_PointF(swigCPtr); + } + swigCPtr = 0; + } + } + + public void setX(float value) { + OsmAndCoreJNI.PointF_x_set(swigCPtr, this, value); + } + + public float getX() { + return OsmAndCoreJNI.PointF_x_get(swigCPtr, this); + } + + public void setY(float value) { + OsmAndCoreJNI.PointF_y_set(swigCPtr, this, value); + } + + public float getY() { + return OsmAndCoreJNI.PointF_y_get(swigCPtr, this); + } + + public PointF() { + this(OsmAndCoreJNI.new_PointF__SWIG_0(), true); + } + + public PointF(PointF that) { + this(OsmAndCoreJNI.new_PointF__SWIG_1(PointF.getCPtr(that), that), true); + } + + public PointF(float x, float y) { + this(OsmAndCoreJNI.new_PointF__SWIG_2(x, y), true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/PointI.java b/OsmAnd/src/net/osmand/core/jni/PointI.java new file mode 100644 index 0000000000..dee565e5f3 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/PointI.java @@ -0,0 +1,66 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class PointI { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected PointI(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(PointI obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_PointI(swigCPtr); + } + swigCPtr = 0; + } + } + + public void setX(int value) { + OsmAndCoreJNI.PointI_x_set(swigCPtr, this, value); + } + + public int getX() { + return OsmAndCoreJNI.PointI_x_get(swigCPtr, this); + } + + public void setY(int value) { + OsmAndCoreJNI.PointI_y_set(swigCPtr, this, value); + } + + public int getY() { + return OsmAndCoreJNI.PointI_y_get(swigCPtr, this); + } + + public PointI() { + this(OsmAndCoreJNI.new_PointI__SWIG_0(), true); + } + + public PointI(PointI that) { + this(OsmAndCoreJNI.new_PointI__SWIG_1(PointI.getCPtr(that), that), true); + } + + public PointI(int x, int y) { + this(OsmAndCoreJNI.new_PointI__SWIG_2(x, y), true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/Primitiviser.java b/OsmAnd/src/net/osmand/core/jni/Primitiviser.java new file mode 100644 index 0000000000..f99279ec62 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/Primitiviser.java @@ -0,0 +1,758 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class Primitiviser { + private long swigCPtr; + private boolean swigCMemOwn; + + protected Primitiviser(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(Primitiviser obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_Primitiviser(swigCPtr); + } + swigCPtr = 0; + } + } + + static public class PrimitivesGroup { + private long swigCPtr; + private boolean swigCMemOwn; + + protected PrimitivesGroup(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(PrimitivesGroup obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_Primitiviser_PrimitivesGroup(swigCPtr); + } + swigCPtr = 0; + } + } + + public SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t getSourceObject() { + long cPtr = OsmAndCoreJNI.Primitiviser_PrimitivesGroup_sourceObject_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t(cPtr, false); + } + + public void setPolygons(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t value) { + OsmAndCoreJNI.Primitiviser_PrimitivesGroup_polygons_set(swigCPtr, this, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t.getCPtr(value)); + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t getPolygons() { + long cPtr = OsmAndCoreJNI.Primitiviser_PrimitivesGroup_polygons_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t(cPtr, false); + } + + public void setPolylines(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t value) { + OsmAndCoreJNI.Primitiviser_PrimitivesGroup_polylines_set(swigCPtr, this, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t.getCPtr(value)); + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t getPolylines() { + long cPtr = OsmAndCoreJNI.Primitiviser_PrimitivesGroup_polylines_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t(cPtr, false); + } + + public void setPoints(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t value) { + OsmAndCoreJNI.Primitiviser_PrimitivesGroup_points_set(swigCPtr, this, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t.getCPtr(value)); + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t getPoints() { + long cPtr = OsmAndCoreJNI.Primitiviser_PrimitivesGroup_points_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t(cPtr, false); + } + + } + + static public class Primitive { + private long swigCPtr; + private boolean swigCMemOwn; + + protected Primitive(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(Primitive obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_Primitiviser_Primitive(swigCPtr); + } + swigCPtr = 0; + } + } + + public SWIGTYPE_p_std__weak_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t getGroup() { + long cPtr = OsmAndCoreJNI.Primitiviser_Primitive_group_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_std__weak_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t(cPtr, false); + } + + public SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t getSourceObject() { + long cPtr = OsmAndCoreJNI.Primitiviser_Primitive_sourceObject_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t(cPtr, false); + } + + public Primitiviser.PrimitiveType getType() { + return Primitiviser.PrimitiveType.swigToEnum(OsmAndCoreJNI.Primitiviser_Primitive_type_get(swigCPtr, this)); + } + + public long getTypeRuleIdIndex() { + return OsmAndCoreJNI.Primitiviser_Primitive_typeRuleIdIndex_get(swigCPtr, this); + } + + public SWIGTYPE_p_MapStyleEvaluationResult getEvaluationResult() { + return new SWIGTYPE_p_MapStyleEvaluationResult(OsmAndCoreJNI.Primitiviser_Primitive_evaluationResult_get(swigCPtr, this), true); + } + + public void setZOrder(double value) { + OsmAndCoreJNI.Primitiviser_Primitive_zOrder_set(swigCPtr, this, value); + } + + public double getZOrder() { + return OsmAndCoreJNI.Primitiviser_Primitive_zOrder_get(swigCPtr, this); + } + + } + + static public class SymbolsGroup { + private long swigCPtr; + private boolean swigCMemOwn; + + protected SymbolsGroup(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(SymbolsGroup obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_Primitiviser_SymbolsGroup(swigCPtr); + } + swigCPtr = 0; + } + } + + public SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t getSourceObject() { + long cPtr = OsmAndCoreJNI.Primitiviser_SymbolsGroup_sourceObject_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t(cPtr, false); + } + + public void setSymbols(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t value) { + OsmAndCoreJNI.Primitiviser_SymbolsGroup_symbols_set(swigCPtr, this, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t.getCPtr(value)); + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t getSymbols() { + long cPtr = OsmAndCoreJNI.Primitiviser_SymbolsGroup_symbols_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t(cPtr, false); + } + + } + + static public class Symbol { + private long swigCPtr; + private boolean swigCMemOwn; + + protected Symbol(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(Symbol obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_Primitiviser_Symbol(swigCPtr); + } + swigCPtr = 0; + } + } + + public Primitiviser.Primitive getPrimitive() { + long cPtr = OsmAndCoreJNI.Primitiviser_Symbol_primitive_get(swigCPtr, this); + return (cPtr == 0) ? null : new Primitiviser.Primitive(cPtr, true); + } + + public void setLocation31(PointI value) { + OsmAndCoreJNI.Primitiviser_Symbol_location31_set(swigCPtr, this, PointI.getCPtr(value), value); + } + + public PointI getLocation31() { + long cPtr = OsmAndCoreJNI.Primitiviser_Symbol_location31_get(swigCPtr, this); + return (cPtr == 0) ? null : new PointI(cPtr, false); + } + + public void setOrder(int value) { + OsmAndCoreJNI.Primitiviser_Symbol_order_set(swigCPtr, this, value); + } + + public int getOrder() { + return OsmAndCoreJNI.Primitiviser_Symbol_order_get(swigCPtr, this); + } + + public void setDrawAlongPath(boolean value) { + OsmAndCoreJNI.Primitiviser_Symbol_drawAlongPath_set(swigCPtr, this, value); + } + + public boolean getDrawAlongPath() { + return OsmAndCoreJNI.Primitiviser_Symbol_drawAlongPath_get(swigCPtr, this); + } + + public void setIntersectsWith(SWIGTYPE_p_QSetT_QString_t value) { + OsmAndCoreJNI.Primitiviser_Symbol_intersectsWith_set(swigCPtr, this, SWIGTYPE_p_QSetT_QString_t.getCPtr(value)); + } + + public SWIGTYPE_p_QSetT_QString_t getIntersectsWith() { + long cPtr = OsmAndCoreJNI.Primitiviser_Symbol_intersectsWith_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_QSetT_QString_t(cPtr, false); + } + + public void setIntersectedBy(SWIGTYPE_p_QSetT_QString_t value) { + OsmAndCoreJNI.Primitiviser_Symbol_intersectedBy_set(swigCPtr, this, SWIGTYPE_p_QSetT_QString_t.getCPtr(value)); + } + + public SWIGTYPE_p_QSetT_QString_t getIntersectedBy() { + long cPtr = OsmAndCoreJNI.Primitiviser_Symbol_intersectedBy_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_QSetT_QString_t(cPtr, false); + } + + } + + static public class TextSymbol extends Primitiviser.Symbol { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected TextSymbol(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.Primitiviser_TextSymbol_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(TextSymbol obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_Primitiviser_TextSymbol(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public void setValue(String value) { + OsmAndCoreJNI.Primitiviser_TextSymbol_value_set(swigCPtr, this, value); + } + + public String getValue() { + return OsmAndCoreJNI.Primitiviser_TextSymbol_value_get(swigCPtr, this); + } + + public void setLanguageId(LanguageId value) { + OsmAndCoreJNI.Primitiviser_TextSymbol_languageId_set(swigCPtr, this, value.swigValue()); + } + + public LanguageId getLanguageId() { + return LanguageId.swigToEnum(OsmAndCoreJNI.Primitiviser_TextSymbol_languageId_get(swigCPtr, this)); + } + + public void setDrawOnPath(boolean value) { + OsmAndCoreJNI.Primitiviser_TextSymbol_drawOnPath_set(swigCPtr, this, value); + } + + public boolean getDrawOnPath() { + return OsmAndCoreJNI.Primitiviser_TextSymbol_drawOnPath_get(swigCPtr, this); + } + + public void setVerticalOffset(int value) { + OsmAndCoreJNI.Primitiviser_TextSymbol_verticalOffset_set(swigCPtr, this, value); + } + + public int getVerticalOffset() { + return OsmAndCoreJNI.Primitiviser_TextSymbol_verticalOffset_get(swigCPtr, this); + } + + public void setColor(ColorARGB value) { + OsmAndCoreJNI.Primitiviser_TextSymbol_color_set(swigCPtr, this, ColorARGB.getCPtr(value), value); + } + + public ColorARGB getColor() { + long cPtr = OsmAndCoreJNI.Primitiviser_TextSymbol_color_get(swigCPtr, this); + return (cPtr == 0) ? null : new ColorARGB(cPtr, false); + } + + public void setSize(int value) { + OsmAndCoreJNI.Primitiviser_TextSymbol_size_set(swigCPtr, this, value); + } + + public int getSize() { + return OsmAndCoreJNI.Primitiviser_TextSymbol_size_get(swigCPtr, this); + } + + public void setShadowRadius(int value) { + OsmAndCoreJNI.Primitiviser_TextSymbol_shadowRadius_set(swigCPtr, this, value); + } + + public int getShadowRadius() { + return OsmAndCoreJNI.Primitiviser_TextSymbol_shadowRadius_get(swigCPtr, this); + } + + public void setShadowColor(ColorARGB value) { + OsmAndCoreJNI.Primitiviser_TextSymbol_shadowColor_set(swigCPtr, this, ColorARGB.getCPtr(value), value); + } + + public ColorARGB getShadowColor() { + long cPtr = OsmAndCoreJNI.Primitiviser_TextSymbol_shadowColor_get(swigCPtr, this); + return (cPtr == 0) ? null : new ColorARGB(cPtr, false); + } + + public void setWrapWidth(int value) { + OsmAndCoreJNI.Primitiviser_TextSymbol_wrapWidth_set(swigCPtr, this, value); + } + + public int getWrapWidth() { + return OsmAndCoreJNI.Primitiviser_TextSymbol_wrapWidth_get(swigCPtr, this); + } + + public void setIsBold(boolean value) { + OsmAndCoreJNI.Primitiviser_TextSymbol_isBold_set(swigCPtr, this, value); + } + + public boolean getIsBold() { + return OsmAndCoreJNI.Primitiviser_TextSymbol_isBold_get(swigCPtr, this); + } + + public void setMinDistance(PointI value) { + OsmAndCoreJNI.Primitiviser_TextSymbol_minDistance_set(swigCPtr, this, PointI.getCPtr(value), value); + } + + public PointI getMinDistance() { + long cPtr = OsmAndCoreJNI.Primitiviser_TextSymbol_minDistance_get(swigCPtr, this); + return (cPtr == 0) ? null : new PointI(cPtr, false); + } + + public void setShieldResourceName(String value) { + OsmAndCoreJNI.Primitiviser_TextSymbol_shieldResourceName_set(swigCPtr, this, value); + } + + public String getShieldResourceName() { + return OsmAndCoreJNI.Primitiviser_TextSymbol_shieldResourceName_get(swigCPtr, this); + } + + } + + static public class IconSymbol extends Primitiviser.Symbol { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected IconSymbol(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.Primitiviser_IconSymbol_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(IconSymbol obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_Primitiviser_IconSymbol(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public void setResourceName(String value) { + OsmAndCoreJNI.Primitiviser_IconSymbol_resourceName_set(swigCPtr, this, value); + } + + public String getResourceName() { + return OsmAndCoreJNI.Primitiviser_IconSymbol_resourceName_get(swigCPtr, this); + } + + public void setShieldResourceName(String value) { + OsmAndCoreJNI.Primitiviser_IconSymbol_shieldResourceName_set(swigCPtr, this, value); + } + + public String getShieldResourceName() { + return OsmAndCoreJNI.Primitiviser_IconSymbol_shieldResourceName_get(swigCPtr, this); + } + + public void setIntersectionSize(float value) { + OsmAndCoreJNI.Primitiviser_IconSymbol_intersectionSize_set(swigCPtr, this, value); + } + + public float getIntersectionSize() { + return OsmAndCoreJNI.Primitiviser_IconSymbol_intersectionSize_get(swigCPtr, this); + } + + } + + static public class Cache { + private long swigCPtr; + private boolean swigCMemOwn; + + protected Cache(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(Cache obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_Primitiviser_Cache(swigCPtr); + } + swigCPtr = 0; + } + } + + public Cache() { + this(OsmAndCoreJNI.new_Primitiviser_Cache(), true); + } + + public SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__PrimitivesGroup_const_t getPrimitivesGroups(ZoomLevel zoom) { + return new SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__PrimitivesGroup_const_t(OsmAndCoreJNI.Primitiviser_Cache_getPrimitivesGroups__SWIG_0(swigCPtr, this, zoom.swigValue()), false); + } + + public SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__SymbolsGroup_const_t getSymbolsGroups(ZoomLevel zoom) { + return new SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__SymbolsGroup_const_t(OsmAndCoreJNI.Primitiviser_Cache_getSymbolsGroups__SWIG_0(swigCPtr, this, zoom.swigValue()), false); + } + + public SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__PrimitivesGroup_const_t getPrimitivesGroupsPtr(ZoomLevel zoom) { + long cPtr = OsmAndCoreJNI.Primitiviser_Cache_getPrimitivesGroupsPtr__SWIG_0(swigCPtr, this, zoom.swigValue()); + return (cPtr == 0) ? null : new SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__PrimitivesGroup_const_t(cPtr, false); + } + + public SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__SymbolsGroup_const_t getSymbolsGroupsPtr(ZoomLevel zoom) { + long cPtr = OsmAndCoreJNI.Primitiviser_Cache_getSymbolsGroupsPtr__SWIG_0(swigCPtr, this, zoom.swigValue()); + return (cPtr == 0) ? null : new SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__SymbolsGroup_const_t(cPtr, false); + } + + } + + static public class PrimitivisedArea { + private long swigCPtr; + private boolean swigCMemOwn; + + protected PrimitivisedArea(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(PrimitivisedArea obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_Primitiviser_PrimitivisedArea(swigCPtr); + } + swigCPtr = 0; + } + } + + public AreaI getArea31() { + long cPtr = OsmAndCoreJNI.Primitiviser_PrimitivisedArea_area31_get(swigCPtr, this); + return (cPtr == 0) ? null : new AreaI(cPtr, false); + } + + public PointI getSizeInPixels() { + long cPtr = OsmAndCoreJNI.Primitiviser_PrimitivisedArea_sizeInPixels_get(swigCPtr, this); + return (cPtr == 0) ? null : new PointI(cPtr, false); + } + + public ZoomLevel getZoom() { + return ZoomLevel.swigToEnum(OsmAndCoreJNI.Primitiviser_PrimitivisedArea_zoom_get(swigCPtr, this)); + } + + public MapPresentationEnvironment getMapPresentationEnvironment() { + long cPtr = OsmAndCoreJNI.Primitiviser_PrimitivisedArea_mapPresentationEnvironment_get(swigCPtr, this); + return (cPtr == 0) ? null : new MapPresentationEnvironment(cPtr, true); + } + + public void setDefaultBackgroundColor(ColorARGB value) { + OsmAndCoreJNI.Primitiviser_PrimitivisedArea_defaultBackgroundColor_set(swigCPtr, this, ColorARGB.getCPtr(value), value); + } + + public ColorARGB getDefaultBackgroundColor() { + long cPtr = OsmAndCoreJNI.Primitiviser_PrimitivisedArea_defaultBackgroundColor_get(swigCPtr, this); + return (cPtr == 0) ? null : new ColorARGB(cPtr, false); + } + + public void setShadowRenderingMode(int value) { + OsmAndCoreJNI.Primitiviser_PrimitivisedArea_shadowRenderingMode_set(swigCPtr, this, value); + } + + public int getShadowRenderingMode() { + return OsmAndCoreJNI.Primitiviser_PrimitivisedArea_shadowRenderingMode_get(swigCPtr, this); + } + + public void setShadowRenderingColor(ColorARGB value) { + OsmAndCoreJNI.Primitiviser_PrimitivisedArea_shadowRenderingColor_set(swigCPtr, this, ColorARGB.getCPtr(value), value); + } + + public ColorARGB getShadowRenderingColor() { + long cPtr = OsmAndCoreJNI.Primitiviser_PrimitivisedArea_shadowRenderingColor_get(swigCPtr, this); + return (cPtr == 0) ? null : new ColorARGB(cPtr, false); + } + + public void setPolygonAreaMinimalThreshold(double value) { + OsmAndCoreJNI.Primitiviser_PrimitivisedArea_polygonAreaMinimalThreshold_set(swigCPtr, this, value); + } + + public double getPolygonAreaMinimalThreshold() { + return OsmAndCoreJNI.Primitiviser_PrimitivisedArea_polygonAreaMinimalThreshold_get(swigCPtr, this); + } + + public void setRoadDensityZoomTile(long value) { + OsmAndCoreJNI.Primitiviser_PrimitivisedArea_roadDensityZoomTile_set(swigCPtr, this, value); + } + + public long getRoadDensityZoomTile() { + return OsmAndCoreJNI.Primitiviser_PrimitivisedArea_roadDensityZoomTile_get(swigCPtr, this); + } + + public void setRoadsDensityLimitPerTile(long value) { + OsmAndCoreJNI.Primitiviser_PrimitivisedArea_roadsDensityLimitPerTile_set(swigCPtr, this, value); + } + + public long getRoadsDensityLimitPerTile() { + return OsmAndCoreJNI.Primitiviser_PrimitivisedArea_roadsDensityLimitPerTile_get(swigCPtr, this); + } + + public void setShadowLevelMin(int value) { + OsmAndCoreJNI.Primitiviser_PrimitivisedArea_shadowLevelMin_set(swigCPtr, this, value); + } + + public int getShadowLevelMin() { + return OsmAndCoreJNI.Primitiviser_PrimitivisedArea_shadowLevelMin_get(swigCPtr, this); + } + + public void setShadowLevelMax(int value) { + OsmAndCoreJNI.Primitiviser_PrimitivisedArea_shadowLevelMax_set(swigCPtr, this, value); + } + + public int getShadowLevelMax() { + return OsmAndCoreJNI.Primitiviser_PrimitivisedArea_shadowLevelMax_get(swigCPtr, this); + } + + public void setScale31ToPixelDivisor(PointD value) { + OsmAndCoreJNI.Primitiviser_PrimitivisedArea_scale31ToPixelDivisor_set(swigCPtr, this, PointD.getCPtr(value), value); + } + + public PointD getScale31ToPixelDivisor() { + long cPtr = OsmAndCoreJNI.Primitiviser_PrimitivisedArea_scale31ToPixelDivisor_get(swigCPtr, this); + return (cPtr == 0) ? null : new PointD(cPtr, false); + } + + public void setPrimitivesGroups(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t_t value) { + OsmAndCoreJNI.Primitiviser_PrimitivisedArea_primitivesGroups_set(swigCPtr, this, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t_t.getCPtr(value)); + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t_t getPrimitivesGroups() { + long cPtr = OsmAndCoreJNI.Primitiviser_PrimitivisedArea_primitivesGroups_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t_t(cPtr, false); + } + + public void setPolygons(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t value) { + OsmAndCoreJNI.Primitiviser_PrimitivisedArea_polygons_set(swigCPtr, this, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t.getCPtr(value)); + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t getPolygons() { + long cPtr = OsmAndCoreJNI.Primitiviser_PrimitivisedArea_polygons_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t(cPtr, false); + } + + public void setPolylines(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t value) { + OsmAndCoreJNI.Primitiviser_PrimitivisedArea_polylines_set(swigCPtr, this, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t.getCPtr(value)); + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t getPolylines() { + long cPtr = OsmAndCoreJNI.Primitiviser_PrimitivisedArea_polylines_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t(cPtr, false); + } + + public void setPoints(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t value) { + OsmAndCoreJNI.Primitiviser_PrimitivisedArea_points_set(swigCPtr, this, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t.getCPtr(value)); + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t getPoints() { + long cPtr = OsmAndCoreJNI.Primitiviser_PrimitivisedArea_points_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t(cPtr, false); + } + + public void setSymbolsGroups(SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_std__shared_ptrT_OsmAnd__Primitiviser__SymbolsGroup_const_t_t value) { + OsmAndCoreJNI.Primitiviser_PrimitivisedArea_symbolsGroups_set(swigCPtr, this, SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_std__shared_ptrT_OsmAnd__Primitiviser__SymbolsGroup_const_t_t.getCPtr(value)); + } + + public SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_std__shared_ptrT_OsmAnd__Primitiviser__SymbolsGroup_const_t_t getSymbolsGroups() { + long cPtr = OsmAndCoreJNI.Primitiviser_PrimitivisedArea_symbolsGroups_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_std__shared_ptrT_OsmAnd__Primitiviser__SymbolsGroup_const_t_t(cPtr, false); + } + + public boolean isEmpty() { + return OsmAndCoreJNI.Primitiviser_PrimitivisedArea_isEmpty(swigCPtr, this); + } + + } + + public Primitiviser(MapPresentationEnvironment environment) { + this(OsmAndCoreJNI.new_Primitiviser(MapPresentationEnvironment.getCPtr(environment), environment), true); + } + + public MapPresentationEnvironment getEnvironment() { + long cPtr = OsmAndCoreJNI.Primitiviser_environment_get(swigCPtr, this); + return (cPtr == 0) ? null : new MapPresentationEnvironment(cPtr, true); + } + + public Primitiviser.PrimitivisedArea primitivise(AreaI area31, PointI sizeInPixels, ZoomLevel zoom, MapFoundationType foundation, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t objects, Primitiviser.Cache cache, SWIGTYPE_p_OsmAnd__IQueryController controller, SWIGTYPE_p_Primitiviser_Metrics__Metric_primitivise metric) { + long cPtr = OsmAndCoreJNI.Primitiviser_primitivise__SWIG_0(swigCPtr, this, AreaI.getCPtr(area31), area31, PointI.getCPtr(sizeInPixels), sizeInPixels, zoom.swigValue(), foundation.swigValue(), SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.getCPtr(objects), Primitiviser.Cache.getCPtr(cache), SWIGTYPE_p_OsmAnd__IQueryController.getCPtr(controller), SWIGTYPE_p_Primitiviser_Metrics__Metric_primitivise.getCPtr(metric)); + return (cPtr == 0) ? null : new Primitiviser.PrimitivisedArea(cPtr, true); + } + + public Primitiviser.PrimitivisedArea primitivise(AreaI area31, PointI sizeInPixels, ZoomLevel zoom, MapFoundationType foundation, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t objects, Primitiviser.Cache cache, SWIGTYPE_p_OsmAnd__IQueryController controller) { + long cPtr = OsmAndCoreJNI.Primitiviser_primitivise__SWIG_1(swigCPtr, this, AreaI.getCPtr(area31), area31, PointI.getCPtr(sizeInPixels), sizeInPixels, zoom.swigValue(), foundation.swigValue(), SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.getCPtr(objects), Primitiviser.Cache.getCPtr(cache), SWIGTYPE_p_OsmAnd__IQueryController.getCPtr(controller)); + return (cPtr == 0) ? null : new Primitiviser.PrimitivisedArea(cPtr, true); + } + + public Primitiviser.PrimitivisedArea primitivise(AreaI area31, PointI sizeInPixels, ZoomLevel zoom, MapFoundationType foundation, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t objects, Primitiviser.Cache cache) { + long cPtr = OsmAndCoreJNI.Primitiviser_primitivise__SWIG_2(swigCPtr, this, AreaI.getCPtr(area31), area31, PointI.getCPtr(sizeInPixels), sizeInPixels, zoom.swigValue(), foundation.swigValue(), SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.getCPtr(objects), Primitiviser.Cache.getCPtr(cache)); + return (cPtr == 0) ? null : new Primitiviser.PrimitivisedArea(cPtr, true); + } + + public Primitiviser.PrimitivisedArea primitivise(AreaI area31, PointI sizeInPixels, ZoomLevel zoom, MapFoundationType foundation, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t objects) { + long cPtr = OsmAndCoreJNI.Primitiviser_primitivise__SWIG_3(swigCPtr, this, AreaI.getCPtr(area31), area31, PointI.getCPtr(sizeInPixels), sizeInPixels, zoom.swigValue(), foundation.swigValue(), SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.getCPtr(objects)); + return (cPtr == 0) ? null : new Primitiviser.PrimitivisedArea(cPtr, true); + } + + public enum PrimitiveType { + Point(OsmAndCoreJNI.Primitiviser_PrimitiveType_Point_get()), + Polyline(OsmAndCoreJNI.Primitiviser_PrimitiveType_Polyline_get()), + Polygon(OsmAndCoreJNI.Primitiviser_PrimitiveType_Polygon_get()); + + public final int swigValue() { + return swigValue; + } + + public static PrimitiveType swigToEnum(int swigValue) { + PrimitiveType[] swigValues = PrimitiveType.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (PrimitiveType swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + PrimitiveType.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private PrimitiveType() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private PrimitiveType(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private PrimitiveType(PrimitiveType swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/QIODeviceLogSink.java b/OsmAnd/src/net/osmand/core/jni/QIODeviceLogSink.java new file mode 100644 index 0000000000..73d7f7d800 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/QIODeviceLogSink.java @@ -0,0 +1,57 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class QIODeviceLogSink extends ILogSink { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected QIODeviceLogSink(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.QIODeviceLogSink_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(QIODeviceLogSink obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_QIODeviceLogSink(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public QIODeviceLogSink(SWIGTYPE_p_std__shared_ptrT_QIODevice_t outputDevice, boolean autoClose) { + this(OsmAndCoreJNI.new_QIODeviceLogSink__SWIG_0(SWIGTYPE_p_std__shared_ptrT_QIODevice_t.getCPtr(outputDevice), autoClose), true); + } + + public QIODeviceLogSink(SWIGTYPE_p_std__shared_ptrT_QIODevice_t outputDevice) { + this(OsmAndCoreJNI.new_QIODeviceLogSink__SWIG_1(SWIGTYPE_p_std__shared_ptrT_QIODevice_t.getCPtr(outputDevice)), true); + } + + public void flush() { + OsmAndCoreJNI.QIODeviceLogSink_flush(swigCPtr, this); + } + + public static QIODeviceLogSink createFileLogSink(String fileName) { + long cPtr = OsmAndCoreJNI.QIODeviceLogSink_createFileLogSink(fileName); + return (cPtr == 0) ? null : new QIODeviceLogSink(cPtr, true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/QStringList.java b/OsmAnd/src/net/osmand/core/jni/QStringList.java new file mode 100644 index 0000000000..6288c563de --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/QStringList.java @@ -0,0 +1,70 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class QStringList { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected QStringList(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(QStringList obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_QStringList(swigCPtr); + } + swigCPtr = 0; + } + } + + public QStringList() { + this(OsmAndCoreJNI.new_QStringList(), true); + } + + public long size() { + return OsmAndCoreJNI.QStringList_size(swigCPtr, this); + } + + public void reserve(long n) { + OsmAndCoreJNI.QStringList_reserve(swigCPtr, this, n); + } + + public boolean isEmpty() { + return OsmAndCoreJNI.QStringList_isEmpty(swigCPtr, this); + } + + public void clear() { + OsmAndCoreJNI.QStringList_clear(swigCPtr, this); + } + + public void add(String x) { + OsmAndCoreJNI.QStringList_add(swigCPtr, this, x); + } + + public String get(int i) { + return OsmAndCoreJNI.QStringList_get(swigCPtr, this, i); + } + + public void set(int i, String val) { + OsmAndCoreJNI.QStringList_set(swigCPtr, this, i, val); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/Quadrant.java b/OsmAnd/src/net/osmand/core/jni/Quadrant.java new file mode 100644 index 0000000000..908d1b71de --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/Quadrant.java @@ -0,0 +1,54 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public enum Quadrant { + NE(OsmAndCoreJNI.Quadrant_NE_get()), + SE, + SW, + NW; + + public final int swigValue() { + return swigValue; + } + + public static Quadrant swigToEnum(int swigValue) { + Quadrant[] swigValues = Quadrant.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (Quadrant swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + Quadrant.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private Quadrant() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private Quadrant(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private Quadrant(Quadrant swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/RasterBitmapTile.java b/OsmAnd/src/net/osmand/core/jni/RasterBitmapTile.java new file mode 100644 index 0000000000..a705af18d7 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/RasterBitmapTile.java @@ -0,0 +1,73 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class RasterBitmapTile extends MapTiledData { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected RasterBitmapTile(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.RasterBitmapTile_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(RasterBitmapTile obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_RasterBitmapTile(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public RasterBitmapTile(SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t bitmap, AlphaChannelData alphaChannelData, float densityFactor, TileId tileId, ZoomLevel zoom) { + this(OsmAndCoreJNI.new_RasterBitmapTile(SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t.getCPtr(bitmap), alphaChannelData.swigValue(), densityFactor, TileId.getCPtr(tileId), tileId, zoom.swigValue()), true); + } + + public void setBitmap(SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t value) { + OsmAndCoreJNI.RasterBitmapTile_bitmap_set(swigCPtr, this, SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t.getCPtr(value)); + } + + public SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t getBitmap() { + long cPtr = OsmAndCoreJNI.RasterBitmapTile_bitmap_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t(cPtr, false); + } + + public void setAlphaChannelData(AlphaChannelData value) { + OsmAndCoreJNI.RasterBitmapTile_alphaChannelData_set(swigCPtr, this, value.swigValue()); + } + + public AlphaChannelData getAlphaChannelData() { + return AlphaChannelData.swigToEnum(OsmAndCoreJNI.RasterBitmapTile_alphaChannelData_get(swigCPtr, this)); + } + + public void setDensityFactor(float value) { + OsmAndCoreJNI.RasterBitmapTile_densityFactor_set(swigCPtr, this, value); + } + + public float getDensityFactor() { + return OsmAndCoreJNI.RasterBitmapTile_densityFactor_get(swigCPtr, this); + } + + public void releaseConsumableContent() { + OsmAndCoreJNI.RasterBitmapTile_releaseConsumableContent(swigCPtr, this); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/RasterMapLayerId.java b/OsmAnd/src/net/osmand/core/jni/RasterMapLayerId.java new file mode 100644 index 0000000000..8e9f7c32e6 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/RasterMapLayerId.java @@ -0,0 +1,55 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public enum RasterMapLayerId { + Invalid(OsmAndCoreJNI.RasterMapLayerId_Invalid_get()), + BaseLayer, + Overlay0, + Overlay1, + __LAST; + + public final int swigValue() { + return swigValue; + } + + public static RasterMapLayerId swigToEnum(int swigValue) { + RasterMapLayerId[] swigValues = RasterMapLayerId.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (RasterMapLayerId swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + RasterMapLayerId.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private RasterMapLayerId() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private RasterMapLayerId(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private RasterMapLayerId(RasterMapLayerId swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/ResourcesManager.java b/OsmAnd/src/net/osmand/core/jni/ResourcesManager.java new file mode 100644 index 0000000000..3bdb0758cf --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/ResourcesManager.java @@ -0,0 +1,867 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class ResourcesManager { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected ResourcesManager(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(ResourcesManager obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_ResourcesManager(swigCPtr); + } + swigCPtr = 0; + } + } + + static public class Resource { + private long swigCPtr; + private boolean swigCMemOwn; + + protected Resource(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(Resource obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_ResourcesManager_Resource(swigCPtr); + } + swigCPtr = 0; + } + } + + static public class Metadata { + private long swigCPtr; + private boolean swigCMemOwn; + + protected Metadata(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(Metadata obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_ResourcesManager_Resource_Metadata(swigCPtr); + } + swigCPtr = 0; + } + } + + public Metadata() { + this(OsmAndCoreJNI.new_ResourcesManager_Resource_Metadata(), true); + } + + } + + public String getId() { + return OsmAndCoreJNI.ResourcesManager_Resource_id_get(swigCPtr, this); + } + + public ResourcesManager.ResourceType getType() { + return ResourcesManager.ResourceType.swigToEnum(OsmAndCoreJNI.ResourcesManager_Resource_type_get(swigCPtr, this)); + } + + public ResourcesManager.ResourceOrigin getOrigin() { + return ResourcesManager.ResourceOrigin.swigToEnum(OsmAndCoreJNI.ResourcesManager_Resource_origin_get(swigCPtr, this)); + } + + public ResourcesManager.Resource.Metadata getMetadata() { + long cPtr = OsmAndCoreJNI.ResourcesManager_Resource_metadata_get(swigCPtr, this); + return (cPtr == 0) ? null : new ResourcesManager.Resource.Metadata(cPtr, true); + } + + } + + static public class LocalResource extends ResourcesManager.Resource { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected LocalResource(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.ResourcesManager_LocalResource_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(LocalResource obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_ResourcesManager_LocalResource(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public String getLocalPath() { + return OsmAndCoreJNI.ResourcesManager_LocalResource_localPath_get(swigCPtr, this); + } + + public java.math.BigInteger getSize() { + return OsmAndCoreJNI.ResourcesManager_LocalResource_size_get(swigCPtr, this); + } + + } + + static public class UnmanagedResource extends ResourcesManager.LocalResource { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected UnmanagedResource(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.ResourcesManager_UnmanagedResource_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(UnmanagedResource obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_ResourcesManager_UnmanagedResource(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public String getName() { + return OsmAndCoreJNI.ResourcesManager_UnmanagedResource_name_get(swigCPtr, this); + } + + } + + static public class InstalledResource extends ResourcesManager.LocalResource { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected InstalledResource(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.ResourcesManager_InstalledResource_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(InstalledResource obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_ResourcesManager_InstalledResource(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public java.math.BigInteger getTimestamp() { + return OsmAndCoreJNI.ResourcesManager_InstalledResource_timestamp_get(swigCPtr, this); + } + + } + + static public class BuiltinResource extends ResourcesManager.Resource { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected BuiltinResource(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.ResourcesManager_BuiltinResource_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(BuiltinResource obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_ResourcesManager_BuiltinResource(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + } + + static public class ResourceInRepository extends ResourcesManager.Resource { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected ResourceInRepository(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.ResourcesManager_ResourceInRepository_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(ResourceInRepository obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_ResourcesManager_ResourceInRepository(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public SWIGTYPE_p_QUrl getUrl() { + return new SWIGTYPE_p_QUrl(OsmAndCoreJNI.ResourcesManager_ResourceInRepository_url_get(swigCPtr, this), true); + } + + public java.math.BigInteger getSize() { + return OsmAndCoreJNI.ResourcesManager_ResourceInRepository_size_get(swigCPtr, this); + } + + public java.math.BigInteger getTimestamp() { + return OsmAndCoreJNI.ResourcesManager_ResourceInRepository_timestamp_get(swigCPtr, this); + } + + public java.math.BigInteger getPackageSize() { + return OsmAndCoreJNI.ResourcesManager_ResourceInRepository_packageSize_get(swigCPtr, this); + } + + } + + static public class ObfMetadata extends ResourcesManager.Resource.Metadata { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected ObfMetadata(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.ResourcesManager_ObfMetadata_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(ObfMetadata obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_ResourcesManager_ObfMetadata(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public ObfMetadata(ObfFile obfFile) { + this(OsmAndCoreJNI.new_ResourcesManager_ObfMetadata(ObfFile.getCPtr(obfFile), obfFile), true); + } + + public ObfFile getObfFile() { + long cPtr = OsmAndCoreJNI.ResourcesManager_ObfMetadata_obfFile_get(swigCPtr, this); + return (cPtr == 0) ? null : new ObfFile(cPtr, true); + } + + } + + static public class MapStyleMetadata extends ResourcesManager.Resource.Metadata { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected MapStyleMetadata(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.ResourcesManager_MapStyleMetadata_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(MapStyleMetadata obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_ResourcesManager_MapStyleMetadata(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public MapStyleMetadata(MapStyle mapStyle) { + this(OsmAndCoreJNI.new_ResourcesManager_MapStyleMetadata(MapStyle.getCPtr(mapStyle), mapStyle), true); + } + + public MapStyle getMapStyle() { + long cPtr = OsmAndCoreJNI.ResourcesManager_MapStyleMetadata_mapStyle_get(swigCPtr, this); + return (cPtr == 0) ? null : new MapStyle(cPtr, true); + } + + } + + static public class MapStylesPresetsMetadata extends ResourcesManager.Resource.Metadata { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected MapStylesPresetsMetadata(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.ResourcesManager_MapStylesPresetsMetadata_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(MapStylesPresetsMetadata obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_ResourcesManager_MapStylesPresetsMetadata(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public MapStylesPresetsMetadata(MapStylesPresetsCollection presets) { + this(OsmAndCoreJNI.new_ResourcesManager_MapStylesPresetsMetadata(MapStylesPresetsCollection.getCPtr(presets), presets), true); + } + + public MapStylesPresetsCollection getPresets() { + long cPtr = OsmAndCoreJNI.ResourcesManager_MapStylesPresetsMetadata_presets_get(swigCPtr, this); + return (cPtr == 0) ? null : new MapStylesPresetsCollection(cPtr, true); + } + + } + + static public class OnlineTileSourcesMetadata extends ResourcesManager.Resource.Metadata { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected OnlineTileSourcesMetadata(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.ResourcesManager_OnlineTileSourcesMetadata_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(OnlineTileSourcesMetadata obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_ResourcesManager_OnlineTileSourcesMetadata(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public OnlineTileSourcesMetadata(OnlineTileSources sources) { + this(OsmAndCoreJNI.new_ResourcesManager_OnlineTileSourcesMetadata(OnlineTileSources.getCPtr(sources), sources), true); + } + + public OnlineTileSources getSources() { + long cPtr = OsmAndCoreJNI.ResourcesManager_OnlineTileSourcesMetadata_sources_get(swigCPtr, this); + return (cPtr == 0) ? null : new OnlineTileSources(cPtr, true); + } + + } + + public ResourcesManager(String localStoragePath, String userStoragePath, QStringList readonlyExternalStoragePaths, String miniBasemapFilename, String localTemporaryPath, String repositoryBaseUrl) { + this(OsmAndCoreJNI.new_ResourcesManager__SWIG_0(localStoragePath, userStoragePath, QStringList.getCPtr(readonlyExternalStoragePaths), readonlyExternalStoragePaths, miniBasemapFilename, localTemporaryPath, repositoryBaseUrl), true); + } + + public ResourcesManager(String localStoragePath, String userStoragePath, QStringList readonlyExternalStoragePaths, String miniBasemapFilename, String localTemporaryPath) { + this(OsmAndCoreJNI.new_ResourcesManager__SWIG_1(localStoragePath, userStoragePath, QStringList.getCPtr(readonlyExternalStoragePaths), readonlyExternalStoragePaths, miniBasemapFilename, localTemporaryPath), true); + } + + public ResourcesManager(String localStoragePath, String userStoragePath, QStringList readonlyExternalStoragePaths, String miniBasemapFilename) { + this(OsmAndCoreJNI.new_ResourcesManager__SWIG_2(localStoragePath, userStoragePath, QStringList.getCPtr(readonlyExternalStoragePaths), readonlyExternalStoragePaths, miniBasemapFilename), true); + } + + public ResourcesManager(String localStoragePath, String userStoragePath, QStringList readonlyExternalStoragePaths) { + this(OsmAndCoreJNI.new_ResourcesManager__SWIG_3(localStoragePath, userStoragePath, QStringList.getCPtr(readonlyExternalStoragePaths), readonlyExternalStoragePaths), true); + } + + public ResourcesManager(String localStoragePath, String userStoragePath) { + this(OsmAndCoreJNI.new_ResourcesManager__SWIG_4(localStoragePath, userStoragePath), true); + } + + public ResourcesManager(String localStoragePath) { + this(OsmAndCoreJNI.new_ResourcesManager__SWIG_5(localStoragePath), true); + } + + public String getLocalStoragePath() { + return OsmAndCoreJNI.ResourcesManager_localStoragePath_get(swigCPtr, this); + } + + public String getUserStoragePath() { + return OsmAndCoreJNI.ResourcesManager_userStoragePath_get(swigCPtr, this); + } + + public QStringList getReadonlyExternalStoragePaths() { + long cPtr = OsmAndCoreJNI.ResourcesManager_readonlyExternalStoragePaths_get(swigCPtr, this); + return (cPtr == 0) ? null : new QStringList(cPtr, false); + } + + public String getMiniBasemapFilename() { + return OsmAndCoreJNI.ResourcesManager_miniBasemapFilename_get(swigCPtr, this); + } + + public String getLocalTemporaryPath() { + return OsmAndCoreJNI.ResourcesManager_localTemporaryPath_get(swigCPtr, this); + } + + public String getRepositoryBaseUrl() { + return OsmAndCoreJNI.ResourcesManager_repositoryBaseUrl_get(swigCPtr, this); + } + + public ResourcesManager.Resource getResource(String id) { + long cPtr = OsmAndCoreJNI.ResourcesManager_getResource(swigCPtr, this, id); + return (cPtr == 0) ? null : new ResourcesManager.Resource(cPtr, true); + } + + public SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__BuiltinResource_const_t_t getBuiltInResources() { + return new SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__BuiltinResource_const_t_t(OsmAndCoreJNI.ResourcesManager_getBuiltInResources(swigCPtr, this), true); + } + + public ResourcesManager.BuiltinResource getBuiltInResource(String id) { + long cPtr = OsmAndCoreJNI.ResourcesManager_getBuiltInResource(swigCPtr, this, id); + return (cPtr == 0) ? null : new ResourcesManager.BuiltinResource(cPtr, true); + } + + public boolean isBuiltInResource(String id) { + return OsmAndCoreJNI.ResourcesManager_isBuiltInResource(swigCPtr, this, id); + } + + public boolean rescanUnmanagedStoragePaths() { + return OsmAndCoreJNI.ResourcesManager_rescanUnmanagedStoragePaths(swigCPtr, this); + } + + public SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__LocalResource_const_t_t getLocalResources() { + return new SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__LocalResource_const_t_t(OsmAndCoreJNI.ResourcesManager_getLocalResources(swigCPtr, this), true); + } + + public ResourcesManager.LocalResource getLocalResource(String id) { + long cPtr = OsmAndCoreJNI.ResourcesManager_getLocalResource(swigCPtr, this, id); + return (cPtr == 0) ? null : new ResourcesManager.LocalResource(cPtr, true); + } + + public boolean isLocalResource(String id) { + return OsmAndCoreJNI.ResourcesManager_isLocalResource(swigCPtr, this, id); + } + + public boolean isRepositoryAvailable() { + return OsmAndCoreJNI.ResourcesManager_isRepositoryAvailable(swigCPtr, this); + } + + public boolean updateRepository() { + return OsmAndCoreJNI.ResourcesManager_updateRepository(swigCPtr, this); + } + + public SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__ResourceInRepository_const_t_t getResourcesInRepository() { + return new SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__ResourceInRepository_const_t_t(OsmAndCoreJNI.ResourcesManager_getResourcesInRepository(swigCPtr, this), true); + } + + public ResourcesManager.ResourceInRepository getResourceInRepository(String id) { + long cPtr = OsmAndCoreJNI.ResourcesManager_getResourceInRepository(swigCPtr, this, id); + return (cPtr == 0) ? null : new ResourcesManager.ResourceInRepository(cPtr, true); + } + + public boolean isResourceInRepository(String id) { + return OsmAndCoreJNI.ResourcesManager_isResourceInRepository(swigCPtr, this, id); + } + + public boolean isResourceInstalled(String id) { + return OsmAndCoreJNI.ResourcesManager_isResourceInstalled(swigCPtr, this, id); + } + + public boolean uninstallResource(String id) { + return OsmAndCoreJNI.ResourcesManager_uninstallResource(swigCPtr, this, id); + } + + public boolean installFromFile(String filePath, ResourcesManager.ResourceType resourceType) { + return OsmAndCoreJNI.ResourcesManager_installFromFile__SWIG_0(swigCPtr, this, filePath, resourceType.swigValue()); + } + + public boolean installFromFile(String id, String filePath, ResourcesManager.ResourceType resourceType) { + return OsmAndCoreJNI.ResourcesManager_installFromFile__SWIG_1(swigCPtr, this, id, filePath, resourceType.swigValue()); + } + + public boolean installFromRepository(String id, SWIGTYPE_p_WebClient__RequestProgressCallbackSignature downloadProgressCallback) { + return OsmAndCoreJNI.ResourcesManager_installFromRepository__SWIG_0(swigCPtr, this, id, SWIGTYPE_p_WebClient__RequestProgressCallbackSignature.getCPtr(downloadProgressCallback)); + } + + public boolean installFromRepository(String id) { + return OsmAndCoreJNI.ResourcesManager_installFromRepository__SWIG_1(swigCPtr, this, id); + } + + public boolean installFromRepository(String id, String filePath) { + return OsmAndCoreJNI.ResourcesManager_installFromRepository__SWIG_2(swigCPtr, this, id, filePath); + } + + public boolean isInstalledResourceOutdated(String id) { + return OsmAndCoreJNI.ResourcesManager_isInstalledResourceOutdated(swigCPtr, this, id); + } + + public SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__LocalResource_const_t_t getOutdatedInstalledResources() { + return new SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__LocalResource_const_t_t(OsmAndCoreJNI.ResourcesManager_getOutdatedInstalledResources(swigCPtr, this), true); + } + + public boolean updateFromFile(String filePath) { + return OsmAndCoreJNI.ResourcesManager_updateFromFile__SWIG_0(swigCPtr, this, filePath); + } + + public boolean updateFromFile(String id, String filePath) { + return OsmAndCoreJNI.ResourcesManager_updateFromFile__SWIG_1(swigCPtr, this, id, filePath); + } + + public boolean updateFromRepository(String id, SWIGTYPE_p_WebClient__RequestProgressCallbackSignature downloadProgressCallback) { + return OsmAndCoreJNI.ResourcesManager_updateFromRepository__SWIG_0(swigCPtr, this, id, SWIGTYPE_p_WebClient__RequestProgressCallbackSignature.getCPtr(downloadProgressCallback)); + } + + public boolean updateFromRepository(String id) { + return OsmAndCoreJNI.ResourcesManager_updateFromRepository__SWIG_1(swigCPtr, this, id); + } + + public boolean updateFromRepository(String id, String filePath) { + return OsmAndCoreJNI.ResourcesManager_updateFromRepository__SWIG_2(swigCPtr, this, id, filePath); + } + + static public class ILocalResourcesChanged { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected ILocalResourcesChanged(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(ILocalResourcesChanged obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_ResourcesManager_ILocalResourcesChanged(swigCPtr); + } + swigCPtr = 0; + } + } + + protected void swigDirectorDisconnect() { + swigCMemOwn = false; + delete(); + } + + public void swigReleaseOwnership() { + swigCMemOwn = false; + OsmAndCoreJNI.ResourcesManager_ILocalResourcesChanged_change_ownership(this, swigCPtr, false); + } + + public void swigTakeOwnership() { + swigCMemOwn = true; + OsmAndCoreJNI.ResourcesManager_ILocalResourcesChanged_change_ownership(this, swigCPtr, true); + } + + public ILocalResourcesChanged() { + this(OsmAndCoreJNI.new_ResourcesManager_ILocalResourcesChanged(), true); + OsmAndCoreJNI.ResourcesManager_ILocalResourcesChanged_director_connect(this, swigCPtr, swigCMemOwn, true); + } + + public void method(ResourcesManager resourcesManager, QStringList added, QStringList removed, QStringList updated) { + OsmAndCoreJNI.ResourcesManager_ILocalResourcesChanged_method(swigCPtr, this, ResourcesManager.getCPtr(resourcesManager), resourcesManager, QStringList.getCPtr(added), added, QStringList.getCPtr(removed), removed, QStringList.getCPtr(updated), updated); + } + + public boolean attachTo(SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t observable, SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t__Tag tag) { + return OsmAndCoreJNI.ResourcesManager_ILocalResourcesChanged_attachTo(swigCPtr, this, SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t.getCPtr(observable), SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t__Tag.getCPtr(tag)); + } + + public SWIGTYPE_p_OsmAnd__ResourcesManager__LocalResourcesChanged getBinding() { + return new SWIGTYPE_p_OsmAnd__ResourcesManager__LocalResourcesChanged(OsmAndCoreJNI.ResourcesManager_ILocalResourcesChanged_getBinding(swigCPtr, this), true); + } + + } + + public SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__LocalResourcesChanged_t getLocalResourcesChangeObservable() { + long cPtr = OsmAndCoreJNI.ResourcesManager_localResourcesChangeObservable_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__LocalResourcesChanged_t(cPtr, false); + } + + static public class IRepositoryUpdated { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected IRepositoryUpdated(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(IRepositoryUpdated obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_ResourcesManager_IRepositoryUpdated(swigCPtr); + } + swigCPtr = 0; + } + } + + protected void swigDirectorDisconnect() { + swigCMemOwn = false; + delete(); + } + + public void swigReleaseOwnership() { + swigCMemOwn = false; + OsmAndCoreJNI.ResourcesManager_IRepositoryUpdated_change_ownership(this, swigCPtr, false); + } + + public void swigTakeOwnership() { + swigCMemOwn = true; + OsmAndCoreJNI.ResourcesManager_IRepositoryUpdated_change_ownership(this, swigCPtr, true); + } + + public IRepositoryUpdated() { + this(OsmAndCoreJNI.new_ResourcesManager_IRepositoryUpdated(), true); + OsmAndCoreJNI.ResourcesManager_IRepositoryUpdated_director_connect(this, swigCPtr, swigCMemOwn, true); + } + + public void method(ResourcesManager resourcesManager) { + OsmAndCoreJNI.ResourcesManager_IRepositoryUpdated_method(swigCPtr, this, ResourcesManager.getCPtr(resourcesManager), resourcesManager); + } + + public boolean attachTo(SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t observable, SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t__Tag tag) { + return OsmAndCoreJNI.ResourcesManager_IRepositoryUpdated_attachTo(swigCPtr, this, SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t.getCPtr(observable), SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t__Tag.getCPtr(tag)); + } + + public SWIGTYPE_p_OsmAnd__ResourcesManager__RepositoryUpdated getBinding() { + return new SWIGTYPE_p_OsmAnd__ResourcesManager__RepositoryUpdated(OsmAndCoreJNI.ResourcesManager_IRepositoryUpdated_getBinding(swigCPtr, this), true); + } + + } + + public SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__RepositoryUpdated_t getRepositoryUpdateObservable() { + long cPtr = OsmAndCoreJNI.ResourcesManager_repositoryUpdateObservable_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__RepositoryUpdated_t(cPtr, false); + } + + public IOnlineTileSources getOnlineTileSources() { + long cPtr = OsmAndCoreJNI.ResourcesManager_onlineTileSources_get(swigCPtr, this); + return (cPtr == 0) ? null : new IOnlineTileSources(cPtr, true); + } + + public IMapStylesCollection getMapStylesCollection() { + long cPtr = OsmAndCoreJNI.ResourcesManager_mapStylesCollection_get(swigCPtr, this); + return (cPtr == 0) ? null : new IMapStylesCollection(cPtr, true); + } + + public IMapStylesPresetsCollection getMapStylesPresetsCollection() { + long cPtr = OsmAndCoreJNI.ResourcesManager_mapStylesPresetsCollection_get(swigCPtr, this); + return (cPtr == 0) ? null : new IMapStylesPresetsCollection(cPtr, true); + } + + public IObfsCollection getObfsCollection() { + long cPtr = OsmAndCoreJNI.ResourcesManager_obfsCollection_get(swigCPtr, this); + return (cPtr == 0) ? null : new IObfsCollection(cPtr, true); + } + + public enum ResourceType { + Unknown(OsmAndCoreJNI.ResourcesManager_ResourceType_Unknown_get()), + MapRegion, + VoicePack, + MapStyle, + MapStylesPresets, + OnlineTileSources; + + public final int swigValue() { + return swigValue; + } + + public static ResourceType swigToEnum(int swigValue) { + ResourceType[] swigValues = ResourceType.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (ResourceType swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + ResourceType.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private ResourceType() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private ResourceType(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private ResourceType(ResourceType swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } + } + + public enum ResourceOrigin { + Builtin, + Installed, + Repository, + Unmanaged; + + public final int swigValue() { + return swigValue; + } + + public static ResourceOrigin swigToEnum(int swigValue) { + ResourceOrigin[] swigValues = ResourceOrigin.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (ResourceOrigin swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + ResourceOrigin.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private ResourceOrigin() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private ResourceOrigin(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private ResourceOrigin(ResourceOrigin swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/RoutingDataLevel.java b/OsmAnd/src/net/osmand/core/jni/RoutingDataLevel.java new file mode 100644 index 0000000000..7256a63d21 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/RoutingDataLevel.java @@ -0,0 +1,52 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public enum RoutingDataLevel { + Basemap, + Detailed; + + public final int swigValue() { + return swigValue; + } + + public static RoutingDataLevel swigToEnum(int swigValue) { + RoutingDataLevel[] swigValues = RoutingDataLevel.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (RoutingDataLevel swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + RoutingDataLevel.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private RoutingDataLevel() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private RoutingDataLevel(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private RoutingDataLevel(RoutingDataLevel swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapDataProvider_Metrics__Metric_obtainData.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapDataProvider_Metrics__Metric_obtainData.java new file mode 100644 index 0000000000..ea330851bb --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapDataProvider_Metrics__Metric_obtainData.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_BinaryMapDataProvider_Metrics__Metric_obtainData { + private long swigCPtr; + + protected SWIGTYPE_p_BinaryMapDataProvider_Metrics__Metric_obtainData(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_BinaryMapDataProvider_Metrics__Metric_obtainData() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_BinaryMapDataProvider_Metrics__Metric_obtainData obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapPrimitivesProvider_Metrics__Metric_obtainData.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapPrimitivesProvider_Metrics__Metric_obtainData.java new file mode 100644 index 0000000000..8bf4c18211 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapPrimitivesProvider_Metrics__Metric_obtainData.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_BinaryMapPrimitivesProvider_Metrics__Metric_obtainData { + private long swigCPtr; + + protected SWIGTYPE_p_BinaryMapPrimitivesProvider_Metrics__Metric_obtainData(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_BinaryMapPrimitivesProvider_Metrics__Metric_obtainData() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_BinaryMapPrimitivesProvider_Metrics__Metric_obtainData obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapRasterBitmapTileProvider_Metrics__Metric_obtainData.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapRasterBitmapTileProvider_Metrics__Metric_obtainData.java new file mode 100644 index 0000000000..be22bdac64 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapRasterBitmapTileProvider_Metrics__Metric_obtainData.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_BinaryMapRasterBitmapTileProvider_Metrics__Metric_obtainData { + private long swigCPtr; + + protected SWIGTYPE_p_BinaryMapRasterBitmapTileProvider_Metrics__Metric_obtainData(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_BinaryMapRasterBitmapTileProvider_Metrics__Metric_obtainData() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_BinaryMapRasterBitmapTileProvider_Metrics__Metric_obtainData obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_FilterMapObjectsByIdFunction.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_FilterMapObjectsByIdFunction.java new file mode 100644 index 0000000000..0ceed6a101 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_FilterMapObjectsByIdFunction.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_FilterMapObjectsByIdFunction { + private long swigCPtr; + + protected SWIGTYPE_p_FilterMapObjectsByIdFunction(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_FilterMapObjectsByIdFunction() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_FilterMapObjectsByIdFunction obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_FilterRoadsByIdFunction.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_FilterRoadsByIdFunction.java new file mode 100644 index 0000000000..59e672076b --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_FilterRoadsByIdFunction.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_FilterRoadsByIdFunction { + private long swigCPtr; + + protected SWIGTYPE_p_FilterRoadsByIdFunction(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_FilterRoadsByIdFunction() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_FilterRoadsByIdFunction obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_IOnPathMapSymbol__PinPoint.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_IOnPathMapSymbol__PinPoint.java new file mode 100644 index 0000000000..3e3e70bbc8 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_IOnPathMapSymbol__PinPoint.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_IOnPathMapSymbol__PinPoint { + private long swigCPtr; + + protected SWIGTYPE_p_IOnPathMapSymbol__PinPoint(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_IOnPathMapSymbol__PinPoint() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_IOnPathMapSymbol__PinPoint obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_MapFoundationType.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_MapFoundationType.java new file mode 100644 index 0000000000..8c19f17710 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_MapFoundationType.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_MapFoundationType { + private long swigCPtr; + + protected SWIGTYPE_p_MapFoundationType(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_MapFoundationType() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_MapFoundationType obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_MapStyleEvaluationResult.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_MapStyleEvaluationResult.java new file mode 100644 index 0000000000..d4f899400f --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_MapStyleEvaluationResult.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_MapStyleEvaluationResult { + private long swigCPtr; + + protected SWIGTYPE_p_MapStyleEvaluationResult(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_MapStyleEvaluationResult() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_MapStyleEvaluationResult obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache.java new file mode 100644 index 0000000000..fbf253f0e9 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache { + private long swigCPtr; + + protected SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader_Metrics__Metric_loadRoads.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader_Metrics__Metric_loadRoads.java new file mode 100644 index 0000000000..a20bc22497 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader_Metrics__Metric_loadRoads.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_ObfRoutingSectionReader_Metrics__Metric_loadRoads { + private long swigCPtr; + + protected SWIGTYPE_p_ObfRoutingSectionReader_Metrics__Metric_loadRoads(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_ObfRoutingSectionReader_Metrics__Metric_loadRoads() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_ObfRoutingSectionReader_Metrics__Metric_loadRoads obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache.java new file mode 100644 index 0000000000..046ecc04f6 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache { + private long swigCPtr; + + protected SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction.java new file mode 100644 index 0000000000..75c7e58963 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction { + private long swigCPtr; + + protected SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT.java new file mode 100644 index 0000000000..4b72f67b6e --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT { + private long swigCPtr; + + protected SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__IntersectionProcessingModeFlag_unsigned_int_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__IntersectionProcessingModeFlag_unsigned_int_t.java new file mode 100644 index 0000000000..7ecc3da9b2 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__IntersectionProcessingModeFlag_unsigned_int_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__IntersectionProcessingModeFlag_unsigned_int_t { + private long swigCPtr; + + protected SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__IntersectionProcessingModeFlag_unsigned_int_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__IntersectionProcessingModeFlag_unsigned_int_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__IntersectionProcessingModeFlag_unsigned_int_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__PresentationModeFlag_unsigned_int_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__PresentationModeFlag_unsigned_int_t.java new file mode 100644 index 0000000000..f0fa3d00f1 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__PresentationModeFlag_unsigned_int_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__PresentationModeFlag_unsigned_int_t { + private long swigCPtr; + + protected SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__PresentationModeFlag_unsigned_int_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__PresentationModeFlag_unsigned_int_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__PresentationModeFlag_unsigned_int_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__FramePreparedObserver.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__FramePreparedObserver.java new file mode 100644 index 0000000000..c0f96f6ca9 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__FramePreparedObserver.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_OsmAnd__IMapRenderer__FramePreparedObserver { + private long swigCPtr; + + protected SWIGTYPE_p_OsmAnd__IMapRenderer__FramePreparedObserver(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_OsmAnd__IMapRenderer__FramePreparedObserver() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_OsmAnd__IMapRenderer__FramePreparedObserver obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__StateChangeObserver.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__StateChangeObserver.java new file mode 100644 index 0000000000..ca13188795 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__StateChangeObserver.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_OsmAnd__IMapRenderer__StateChangeObserver { + private long swigCPtr; + + protected SWIGTYPE_p_OsmAnd__IMapRenderer__StateChangeObserver(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_OsmAnd__IMapRenderer__StateChangeObserver() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_OsmAnd__IMapRenderer__StateChangeObserver obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IQueryController.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IQueryController.java new file mode 100644 index 0000000000..a148649ae1 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IQueryController.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_OsmAnd__IQueryController { + private long swigCPtr; + + protected SWIGTYPE_p_OsmAnd__IQueryController(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_OsmAnd__IQueryController() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_OsmAnd__IQueryController obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback.java new file mode 100644 index 0000000000..46e77b509c --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback { + private long swigCPtr; + + protected SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue.java new file mode 100644 index 0000000000..56a59ad225 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue { + private long swigCPtr; + + protected SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue.java new file mode 100644 index 0000000000..40b5bbfac2 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue { + private long swigCPtr; + + protected SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapStyleEvaluator.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapStyleEvaluator.java new file mode 100644 index 0000000000..fd7f68eee6 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapStyleEvaluator.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_OsmAnd__MapStyleEvaluator { + private long swigCPtr; + + protected SWIGTYPE_p_OsmAnd__MapStyleEvaluator(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_OsmAnd__MapStyleEvaluator() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_OsmAnd__MapStyleEvaluator obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObfMapSectionReader_Metrics__Metric_loadMapObjects.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObfMapSectionReader_Metrics__Metric_loadMapObjects.java new file mode 100644 index 0000000000..3d290c9375 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObfMapSectionReader_Metrics__Metric_loadMapObjects.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_OsmAnd__ObfMapSectionReader_Metrics__Metric_loadMapObjects { + private long swigCPtr; + + protected SWIGTYPE_p_OsmAnd__ObfMapSectionReader_Metrics__Metric_loadMapObjects(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_OsmAnd__ObfMapSectionReader_Metrics__Metric_loadMapObjects() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_OsmAnd__ObfMapSectionReader_Metrics__Metric_loadMapObjects obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__FramePreparedObserver_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__FramePreparedObserver_t.java new file mode 100644 index 0000000000..36fa8599cd --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__FramePreparedObserver_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__FramePreparedObserver_t { + private long swigCPtr; + + protected SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__FramePreparedObserver_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__FramePreparedObserver_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__FramePreparedObserver_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t.java new file mode 100644 index 0000000000..d3cd440a8d --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t { + private long swigCPtr; + + protected SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t__Tag.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t__Tag.java new file mode 100644 index 0000000000..3750d3471b --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t__Tag.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t__Tag { + private long swigCPtr; + + protected SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t__Tag(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t__Tag() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t__Tag obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t.java new file mode 100644 index 0000000000..bd54a3052e --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t { + private long swigCPtr; + + protected SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t__Tag.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t__Tag.java new file mode 100644 index 0000000000..6c981c0a17 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t__Tag.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t__Tag { + private long swigCPtr; + + protected SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t__Tag(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t__Tag() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t__Tag obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__StateChangeObserver_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__StateChangeObserver_t.java new file mode 100644 index 0000000000..6faf58a04f --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__StateChangeObserver_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__StateChangeObserver_t { + private long swigCPtr; + + protected SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__StateChangeObserver_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__StateChangeObserver_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__StateChangeObserver_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t.java new file mode 100644 index 0000000000..1202e11788 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t { + private long swigCPtr; + + protected SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t__Tag.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t__Tag.java new file mode 100644 index 0000000000..3cc278961c --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t__Tag.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t__Tag { + private long swigCPtr; + + protected SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t__Tag(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t__Tag() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t__Tag obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t.java new file mode 100644 index 0000000000..c6c9b6479a --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t { + private long swigCPtr; + + protected SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t__Tag.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t__Tag.java new file mode 100644 index 0000000000..209bd1f7f4 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t__Tag.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t__Tag { + private long swigCPtr; + + protected SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t__Tag(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t__Tag() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t__Tag obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__LocalResourcesChanged_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__LocalResourcesChanged_t.java new file mode 100644 index 0000000000..a6f1a56a1b --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__LocalResourcesChanged_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__LocalResourcesChanged_t { + private long swigCPtr; + + protected SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__LocalResourcesChanged_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__LocalResourcesChanged_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__LocalResourcesChanged_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__RepositoryUpdated_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__RepositoryUpdated_t.java new file mode 100644 index 0000000000..d8575743bd --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__RepositoryUpdated_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__RepositoryUpdated_t { + private long swigCPtr; + + protected SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__RepositoryUpdated_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__RepositoryUpdated_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__RepositoryUpdated_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__PointT_long_long_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__PointT_long_long_t.java new file mode 100644 index 0000000000..c5dd056248 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__PointT_long_long_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_OsmAnd__PointT_long_long_t { + private long swigCPtr; + + protected SWIGTYPE_p_OsmAnd__PointT_long_long_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_OsmAnd__PointT_long_long_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_OsmAnd__PointT_long_long_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__LocalResourcesChanged.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__LocalResourcesChanged.java new file mode 100644 index 0000000000..b45660f9a5 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__LocalResourcesChanged.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_OsmAnd__ResourcesManager__LocalResourcesChanged { + private long swigCPtr; + + protected SWIGTYPE_p_OsmAnd__ResourcesManager__LocalResourcesChanged(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_OsmAnd__ResourcesManager__LocalResourcesChanged() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_OsmAnd__ResourcesManager__LocalResourcesChanged obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__RepositoryUpdated.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__RepositoryUpdated.java new file mode 100644 index 0000000000..5059ab69c5 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__RepositoryUpdated.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_OsmAnd__ResourcesManager__RepositoryUpdated { + private long swigCPtr; + + protected SWIGTYPE_p_OsmAnd__ResourcesManager__RepositoryUpdated(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_OsmAnd__ResourcesManager__RepositoryUpdated() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_OsmAnd__ResourcesManager__RepositoryUpdated obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_Primitiviser_Metrics__Metric_primitivise.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_Primitiviser_Metrics__Metric_primitivise.java new file mode 100644 index 0000000000..ed3fd0a0c1 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_Primitiviser_Metrics__Metric_primitivise.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_Primitiviser_Metrics__Metric_primitivise { + private long swigCPtr; + + protected SWIGTYPE_p_Primitiviser_Metrics__Metric_primitivise(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_Primitiviser_Metrics__Metric_primitivise() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_Primitiviser_Metrics__Metric_primitivise obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QByteArray.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QByteArray.java new file mode 100644 index 0000000000..28d552c601 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QByteArray.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QByteArray { + private long swigCPtr; + + protected SWIGTYPE_p_QByteArray(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QByteArray() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QByteArray obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QDir.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QDir.java new file mode 100644 index 0000000000..25cbcefb38 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QDir.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QDir { + private long swigCPtr; + + protected SWIGTYPE_p_QDir(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QDir() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QDir obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QFileInfo.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QFileInfo.java new file mode 100644 index 0000000000..3968af23d5 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QFileInfo.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QFileInfo { + private long swigCPtr; + + protected SWIGTYPE_p_QFileInfo(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QFileInfo() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QFileInfo obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QFileInfoList.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QFileInfoList.java new file mode 100644 index 0000000000..8f8d655d35 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QFileInfoList.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QFileInfoList { + private long swigCPtr; + + protected SWIGTYPE_p_QFileInfoList(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QFileInfoList() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QFileInfoList obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_QString_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_QString_t.java new file mode 100644 index 0000000000..61d749d4f8 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_QString_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QHashT_QString_QString_t { + private long swigCPtr; + + protected SWIGTYPE_p_QHashT_QString_QString_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QHashT_QString_QString_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QHashT_QString_QString_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__IOnlineTileSources__Source_const_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__IOnlineTileSources__Source_const_t_t.java new file mode 100644 index 0000000000..fc0e4cb11d --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__IOnlineTileSources__Source_const_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__IOnlineTileSources__Source_const_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__IOnlineTileSources__Source_const_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__IOnlineTileSources__Source_const_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__IOnlineTileSources__Source_const_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__BuiltinResource_const_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__BuiltinResource_const_t_t.java new file mode 100644 index 0000000000..8d2079eb01 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__BuiltinResource_const_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__BuiltinResource_const_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__BuiltinResource_const_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__BuiltinResource_const_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__BuiltinResource_const_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__LocalResource_const_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__LocalResource_const_t_t.java new file mode 100644 index 0000000000..e21ebe6670 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__LocalResource_const_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__LocalResource_const_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__LocalResource_const_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__LocalResource_const_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__LocalResource_const_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__ResourceInRepository_const_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__ResourceInRepository_const_t_t.java new file mode 100644 index 0000000000..925179207b --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__ResourceInRepository_const_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__ResourceInRepository_const_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__ResourceInRepository_const_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__ResourceInRepository_const_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__ResourceInRepository_const_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapStyleValueDefinition_const_t_OsmAnd__MapStyleValue_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapStyleValueDefinition_const_t_OsmAnd__MapStyleValue_t.java new file mode 100644 index 0000000000..e4f26ca248 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapStyleValueDefinition_const_t_OsmAnd__MapStyleValue_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapStyleValueDefinition_const_t_OsmAnd__MapStyleValue_t { + private long swigCPtr; + + protected SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapStyleValueDefinition_const_t_OsmAnd__MapStyleValue_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapStyleValueDefinition_const_t_OsmAnd__MapStyleValue_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapStyleValueDefinition_const_t_OsmAnd__MapStyleValue_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapSymbol_t_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalSymbolInstanceParameters_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapSymbol_t_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalSymbolInstanceParameters_t_t.java new file mode 100644 index 0000000000..b2f5d5c1dc --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapSymbol_t_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalSymbolInstanceParameters_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapSymbol_t_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalSymbolInstanceParameters_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapSymbol_t_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalSymbolInstanceParameters_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapSymbol_t_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalSymbolInstanceParameters_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapSymbol_t_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalSymbolInstanceParameters_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_std__shared_ptrT_OsmAnd__Primitiviser__SymbolsGroup_const_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_std__shared_ptrT_OsmAnd__Primitiviser__SymbolsGroup_const_t_t.java new file mode 100644 index 0000000000..08ae03dd21 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_std__shared_ptrT_OsmAnd__Primitiviser__SymbolsGroup_const_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_std__shared_ptrT_OsmAnd__Primitiviser__SymbolsGroup_const_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_std__shared_ptrT_OsmAnd__Primitiviser__SymbolsGroup_const_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_std__shared_ptrT_OsmAnd__Primitiviser__SymbolsGroup_const_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_std__shared_ptrT_OsmAnd__Primitiviser__SymbolsGroup_const_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QIODevice.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QIODevice.java new file mode 100644 index 0000000000..f3e1e7250e --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QIODevice.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QIODevice { + private long swigCPtr; + + protected SWIGTYPE_p_QIODevice(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QIODevice() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QIODevice obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfFile_const_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfFile_const_t_t.java new file mode 100644 index 0000000000..d3aa18bf2e --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfFile_const_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QListT_std__shared_ptrT_ObfFile_const_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QListT_std__shared_ptrT_ObfFile_const_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QListT_std__shared_ptrT_ObfFile_const_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QListT_std__shared_ptrT_ObfFile_const_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t.java new file mode 100644 index 0000000000..76fc8490ac --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t.java new file mode 100644 index 0000000000..a43f7e7aa9 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t.java new file mode 100644 index 0000000000..5dfed2bd6d --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStyle_const_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStyle_const_t_t.java new file mode 100644 index 0000000000..6fbe200497 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStyle_const_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStyle_const_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStyle_const_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStyle_const_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStyle_const_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_const_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_const_t_t.java new file mode 100644 index 0000000000..0e2d70d7ac --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_const_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_const_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_const_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_const_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_const_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t.java new file mode 100644 index 0000000000..306846daaa --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalInstance_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalInstance_t_t.java new file mode 100644 index 0000000000..bc3ae30df3 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalInstance_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalInstance_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalInstance_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalInstance_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalInstance_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t.java new file mode 100644 index 0000000000..0fc8dd64e0 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.java new file mode 100644 index 0000000000..b60f39dc53 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t.java new file mode 100644 index 0000000000..294e7ef0e7 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfAddressSectionInfo_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfAddressSectionInfo_t_t.java new file mode 100644 index 0000000000..16b87a7688 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfAddressSectionInfo_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfAddressSectionInfo_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfAddressSectionInfo_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfAddressSectionInfo_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfAddressSectionInfo_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t.java new file mode 100644 index 0000000000..43c705693d --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_t_t.java new file mode 100644 index 0000000000..f8733e7e01 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfPoiSectionInfo_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfPoiSectionInfo_t_t.java new file mode 100644 index 0000000000..a52cfa5461 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfPoiSectionInfo_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfPoiSectionInfo_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfPoiSectionInfo_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfPoiSectionInfo_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfPoiSectionInfo_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfReader_const_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfReader_const_t_t.java new file mode 100644 index 0000000000..20aa237386 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfReader_const_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfReader_const_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfReader_const_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfReader_const_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfReader_const_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfRoutingSectionInfo_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfRoutingSectionInfo_t_t.java new file mode 100644 index 0000000000..28b0eeb3fb --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfRoutingSectionInfo_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfRoutingSectionInfo_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfRoutingSectionInfo_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfRoutingSectionInfo_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfRoutingSectionInfo_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfTransportSectionInfo_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfTransportSectionInfo_t_t.java new file mode 100644 index 0000000000..6b051d0a63 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfTransportSectionInfo_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfTransportSectionInfo_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfTransportSectionInfo_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfTransportSectionInfo_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfTransportSectionInfo_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t.java new file mode 100644 index 0000000000..93093decc9 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t_t.java new file mode 100644 index 0000000000..db64ce7205 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t.java new file mode 100644 index 0000000000..2c94c81f95 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_void_const_p_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_void_const_p_t.java new file mode 100644 index 0000000000..9b6ac4edb6 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_void_const_p_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QListT_void_const_p_t { + private long swigCPtr; + + protected SWIGTYPE_p_QListT_void_const_p_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QListT_void_const_p_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QListT_void_const_p_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t.java new file mode 100644 index 0000000000..8922fc707e --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t { + private long swigCPtr; + + protected SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_QString_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_QString_t.java new file mode 100644 index 0000000000..bb01087b32 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_QString_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QSetT_QString_t { + private long swigCPtr; + + protected SWIGTYPE_p_QSetT_QString_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QSetT_QString_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QSetT_QString_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_int_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_int_t.java new file mode 100644 index 0000000000..fcc04c314d --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_int_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QSetT_int_t { + private long swigCPtr; + + protected SWIGTYPE_p_QSetT_int_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QSetT_int_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QSetT_int_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__ILogSink_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__ILogSink_t_t.java new file mode 100644 index 0000000000..7d4b80c475 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__ILogSink_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__ILogSink_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__ILogSink_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__ILogSink_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__ILogSink_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__IMapDataProvider_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__IMapDataProvider_t_t.java new file mode 100644 index 0000000000..23caeb7185 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__IMapDataProvider_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__IMapDataProvider_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__IMapDataProvider_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__IMapDataProvider_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__IMapDataProvider_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QStringList.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QStringList.java new file mode 100644 index 0000000000..8c3ea4236c --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QStringList.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QStringList { + private long swigCPtr; + + protected SWIGTYPE_p_QStringList(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QStringList() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QStringList obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QUrl.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QUrl.java new file mode 100644 index 0000000000..63dfb708b0 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QUrl.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QUrl { + private long swigCPtr; + + protected SWIGTYPE_p_QUrl(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QUrl() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QUrl obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QVectorT_OsmAnd__PointT_int32_t_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QVectorT_OsmAnd__PointT_int32_t_t_t.java new file mode 100644 index 0000000000..c684ad9ed9 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QVectorT_OsmAnd__PointT_int32_t_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QVectorT_OsmAnd__PointT_int32_t_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QVectorT_OsmAnd__PointT_int32_t_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QVectorT_OsmAnd__PointT_int32_t_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QVectorT_OsmAnd__PointT_int32_t_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_RoutingDataLevel.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_RoutingDataLevel.java new file mode 100644 index 0000000000..1815140f7d --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_RoutingDataLevel.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_RoutingDataLevel { + private long swigCPtr; + + protected SWIGTYPE_p_RoutingDataLevel(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_RoutingDataLevel() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_RoutingDataLevel obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java new file mode 100644 index 0000000000..dd6a313ebe --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__PrimitivesGroup_const_t { + private long swigCPtr; + + protected SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__PrimitivesGroup_const_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__PrimitivesGroup_const_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__PrimitivesGroup_const_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__SymbolsGroup_const_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__SymbolsGroup_const_t.java new file mode 100644 index 0000000000..3f8559022e --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__SymbolsGroup_const_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__SymbolsGroup_const_t { + private long swigCPtr; + + protected SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__SymbolsGroup_const_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__SymbolsGroup_const_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__SymbolsGroup_const_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_WebClient__RequestProgressCallbackSignature.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_WebClient__RequestProgressCallbackSignature.java new file mode 100644 index 0000000000..8a3cb02d60 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_WebClient__RequestProgressCallbackSignature.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_WebClient__RequestProgressCallbackSignature { + private long swigCPtr; + + protected SWIGTYPE_p_WebClient__RequestProgressCallbackSignature(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_WebClient__RequestProgressCallbackSignature() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_WebClient__RequestProgressCallbackSignature obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_bool.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_bool.java new file mode 100644 index 0000000000..2827affb3b --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_bool.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_bool { + private long swigCPtr; + + protected SWIGTYPE_p_bool(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_bool() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_bool obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_double.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_double.java new file mode 100644 index 0000000000..68a9877e20 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_double.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_double { + private long swigCPtr; + + protected SWIGTYPE_p_double(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_double() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_double obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_float.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_float.java new file mode 100644 index 0000000000..7a74938abd --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_float.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_float { + private long swigCPtr; + + protected SWIGTYPE_p_float(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_float() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_float obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_int.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_int.java new file mode 100644 index 0000000000..603738eca8 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_int.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_int { + private long swigCPtr; + + protected SWIGTYPE_p_int(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_int() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_int obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__arrayT_float_OsmAnd__RasterMapLayersCount_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__arrayT_float_OsmAnd__RasterMapLayersCount_t.java new file mode 100644 index 0000000000..c4265dcc2e --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__arrayT_float_OsmAnd__RasterMapLayersCount_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_std__arrayT_float_OsmAnd__RasterMapLayersCount_t { + private long swigCPtr; + + protected SWIGTYPE_p_std__arrayT_float_OsmAnd__RasterMapLayersCount_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_std__arrayT_float_OsmAnd__RasterMapLayersCount_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_std__arrayT_float_OsmAnd__RasterMapLayersCount_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__arrayT_std__shared_ptrT_OsmAnd__IMapRasterBitmapTileProvider_t_OsmAnd__RasterMapLayersCount_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__arrayT_std__shared_ptrT_OsmAnd__IMapRasterBitmapTileProvider_t_OsmAnd__RasterMapLayersCount_t.java new file mode 100644 index 0000000000..708d1ac238 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__arrayT_std__shared_ptrT_OsmAnd__IMapRasterBitmapTileProvider_t_OsmAnd__RasterMapLayersCount_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_std__arrayT_std__shared_ptrT_OsmAnd__IMapRasterBitmapTileProvider_t_OsmAnd__RasterMapLayersCount_t { + private long swigCPtr; + + protected SWIGTYPE_p_std__arrayT_std__shared_ptrT_OsmAnd__IMapRasterBitmapTileProvider_t_OsmAnd__RasterMapLayersCount_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_std__arrayT_std__shared_ptrT_OsmAnd__IMapRasterBitmapTileProvider_t_OsmAnd__RasterMapLayersCount_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_std__arrayT_std__shared_ptrT_OsmAnd__IMapRasterBitmapTileProvider_t_OsmAnd__RasterMapLayersCount_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__functionT_void_fOsmAnd__PointT_int_t_const_RF_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__functionT_void_fOsmAnd__PointT_int_t_const_RF_t.java new file mode 100644 index 0000000000..15b13aba75 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__functionT_void_fOsmAnd__PointT_int_t_const_RF_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_std__functionT_void_fOsmAnd__PointT_int_t_const_RF_t { + private long swigCPtr; + + protected SWIGTYPE_p_std__functionT_void_fOsmAnd__PointT_int_t_const_RF_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_std__functionT_void_fOsmAnd__PointT_int_t_const_RF_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_std__functionT_void_fOsmAnd__PointT_int_t_const_RF_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t.java new file mode 100644 index 0000000000..51f7b1d0ee --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t { + private long swigCPtr; + + protected SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_const_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_const_t.java new file mode 100644 index 0000000000..91528cf59b --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_const_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_const_t { + private long swigCPtr; + + protected SWIGTYPE_p_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_const_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_const_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_const_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_QIODevice_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_QIODevice_t.java new file mode 100644 index 0000000000..fa26b2d748 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_QIODevice_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_std__shared_ptrT_QIODevice_t { + private long swigCPtr; + + protected SWIGTYPE_p_std__shared_ptrT_QIODevice_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_std__shared_ptrT_QIODevice_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_std__shared_ptrT_QIODevice_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t.java new file mode 100644 index 0000000000..3ca55a1c7b --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t { + private long swigCPtr; + + protected SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_t.java new file mode 100644 index 0000000000..a686625c32 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_std__shared_ptrT_SkBitmap_t { + private long swigCPtr; + + protected SWIGTYPE_p_std__shared_ptrT_SkBitmap_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_std__shared_ptrT_SkBitmap_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_std__shared_ptrT_SkBitmap_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_ObfMapSectionReader__DataBlocksCache_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_ObfMapSectionReader__DataBlocksCache_t.java new file mode 100644 index 0000000000..1b201b4e2b --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_ObfMapSectionReader__DataBlocksCache_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_std__weak_ptrT_ObfMapSectionReader__DataBlocksCache_t { + private long swigCPtr; + + protected SWIGTYPE_p_std__weak_ptrT_ObfMapSectionReader__DataBlocksCache_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_std__weak_ptrT_ObfMapSectionReader__DataBlocksCache_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_std__weak_ptrT_ObfMapSectionReader__DataBlocksCache_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t.java new file mode 100644 index 0000000000..38d55a3831 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t { + private long swigCPtr; + + protected SWIGTYPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java new file mode 100644 index 0000000000..6ec585d6a2 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_std__weak_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t { + private long swigCPtr; + + protected SWIGTYPE_p_std__weak_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_std__weak_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_std__weak_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_unsigned_int.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_unsigned_int.java new file mode 100644 index 0000000000..41fe28c648 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_unsigned_int.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_unsigned_int { + private long swigCPtr; + + protected SWIGTYPE_p_unsigned_int(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_unsigned_int() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_unsigned_int obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_void.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_void.java new file mode 100644 index 0000000000..8b05759df8 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_void.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_void { + private long swigCPtr; + + protected SWIGTYPE_p_void(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_void() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_void obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SwigUtilities.java b/OsmAnd/src/net/osmand/core/jni/SwigUtilities.java new file mode 100644 index 0000000000..0ec0c041cd --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SwigUtilities.java @@ -0,0 +1,46 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SwigUtilities { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected SwigUtilities(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(SwigUtilities obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + throw new UnsupportedOperationException("C++ destructor does not have public access"); + } + swigCPtr = 0; + } + } + + public static SWIGTYPE_p_QByteArray readEntireFile(String filename) { + return new SWIGTYPE_p_QByteArray(OsmAndCoreJNI.SwigUtilities_readEntireFile(filename), true); + } + + public static SWIGTYPE_p_QByteArray readPartOfFile(String filename, long offset, long length) { + return new SWIGTYPE_p_QByteArray(OsmAndCoreJNI.SwigUtilities_readPartOfFile(filename, offset, length), true); + } + + public static SWIGTYPE_p_QByteArray emptyQByteArray() { + return new SWIGTYPE_p_QByteArray(OsmAndCoreJNI.SwigUtilities_emptyQByteArray(), true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/TextureFilteringQuality.java b/OsmAnd/src/net/osmand/core/jni/TextureFilteringQuality.java new file mode 100644 index 0000000000..b46eec4a2d --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/TextureFilteringQuality.java @@ -0,0 +1,53 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public enum TextureFilteringQuality { + Normal, + Good, + Best; + + public final int swigValue() { + return swigValue; + } + + public static TextureFilteringQuality swigToEnum(int swigValue) { + TextureFilteringQuality[] swigValues = TextureFilteringQuality.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (TextureFilteringQuality swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + TextureFilteringQuality.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private TextureFilteringQuality() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private TextureFilteringQuality(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private TextureFilteringQuality(TextureFilteringQuality swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/TileId.java b/OsmAnd/src/net/osmand/core/jni/TileId.java new file mode 100644 index 0000000000..8cea3abf36 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/TileId.java @@ -0,0 +1,66 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class TileId { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected TileId(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(TileId obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_TileId(swigCPtr); + } + swigCPtr = 0; + } + } + + public void setId(java.math.BigInteger value) { + OsmAndCoreJNI.TileId_id_set(swigCPtr, this, value); + } + + public java.math.BigInteger getId() { + return OsmAndCoreJNI.TileId_id_get(swigCPtr, this); + } + + public void setX(int value) { + OsmAndCoreJNI.TileId_x_set(swigCPtr, this, value); + } + + public int getX() { + return OsmAndCoreJNI.TileId_x_get(swigCPtr, this); + } + + public void setY(int value) { + OsmAndCoreJNI.TileId_y_set(swigCPtr, this, value); + } + + public int getY() { + return OsmAndCoreJNI.TileId_y_get(swigCPtr, this); + } + + public TileId() { + this(OsmAndCoreJNI.new_TileId(), true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/TiledMapSymbolsData.java b/OsmAnd/src/net/osmand/core/jni/TiledMapSymbolsData.java new file mode 100644 index 0000000000..5d94ba832a --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/TiledMapSymbolsData.java @@ -0,0 +1,57 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class TiledMapSymbolsData extends MapTiledData { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected TiledMapSymbolsData(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.TiledMapSymbolsData_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(TiledMapSymbolsData obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_TiledMapSymbolsData(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public TiledMapSymbolsData(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t symbolsGroups, TileId tileId, ZoomLevel zoom) { + this(OsmAndCoreJNI.new_TiledMapSymbolsData(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t.getCPtr(symbolsGroups), TileId.getCPtr(tileId), tileId, zoom.swigValue()), true); + } + + public void setSymbolsGroups(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t value) { + OsmAndCoreJNI.TiledMapSymbolsData_symbolsGroups_set(swigCPtr, this, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t.getCPtr(value)); + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t getSymbolsGroups() { + long cPtr = OsmAndCoreJNI.TiledMapSymbolsData_symbolsGroups_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t(cPtr, false); + } + + public void releaseConsumableContent() { + OsmAndCoreJNI.TiledMapSymbolsData_releaseConsumableContent(swigCPtr, this); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/UIntPtr.java b/OsmAnd/src/net/osmand/core/jni/UIntPtr.java new file mode 100644 index 0000000000..0764daa95f --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/UIntPtr.java @@ -0,0 +1,60 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class UIntPtr { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected UIntPtr(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(UIntPtr obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_UIntPtr(swigCPtr); + } + swigCPtr = 0; + } + } + + public UIntPtr() { + this(OsmAndCoreJNI.new_UIntPtr(), true); + } + + public void assign(long value) { + OsmAndCoreJNI.UIntPtr_assign(swigCPtr, this, value); + } + + public long value() { + return OsmAndCoreJNI.UIntPtr_value(swigCPtr, this); + } + + public SWIGTYPE_p_unsigned_int cast() { + long cPtr = OsmAndCoreJNI.UIntPtr_cast(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_unsigned_int(cPtr, false); + } + + public static UIntPtr frompointer(SWIGTYPE_p_unsigned_int t) { + long cPtr = OsmAndCoreJNI.UIntPtr_frompointer(SWIGTYPE_p_unsigned_int.getCPtr(t)); + return (cPtr == 0) ? null : new UIntPtr(cPtr, false); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/Utilities.java b/OsmAnd/src/net/osmand/core/jni/Utilities.java new file mode 100644 index 0000000000..77aac0cd92 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/Utilities.java @@ -0,0 +1,363 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class Utilities { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected Utilities(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(Utilities obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + throw new UnsupportedOperationException("C++ destructor does not have public access"); + } + swigCPtr = 0; + } + } + + public static double toRadians(double angle) { + return OsmAndCoreJNI.Utilities_toRadians(angle); + } + + public static int get31TileNumberX(double longitude) { + return OsmAndCoreJNI.Utilities_get31TileNumberX(longitude); + } + + public static int get31TileNumberY(double latitude) { + return OsmAndCoreJNI.Utilities_get31TileNumberY(latitude); + } + + public static PointI convertLatLonTo31(LatLon latLon) { + return new PointI(OsmAndCoreJNI.Utilities_convertLatLonTo31(LatLon.getCPtr(latLon), latLon), true); + } + + public static double get31LongitudeX(double x) { + return OsmAndCoreJNI.Utilities_get31LongitudeX(x); + } + + public static double get31LatitudeY(double y) { + return OsmAndCoreJNI.Utilities_get31LatitudeY(y); + } + + public static LatLon convert31ToLatLon(PointI point31) { + return new LatLon(OsmAndCoreJNI.Utilities_convert31ToLatLon(PointI.getCPtr(point31), point31), true); + } + + public static double getTileNumberX(float zoom, double longitude) { + return OsmAndCoreJNI.Utilities_getTileNumberX(zoom, longitude); + } + + public static double getTileNumberY(float zoom, double latitude) { + return OsmAndCoreJNI.Utilities_getTileNumberY(zoom, latitude); + } + + public static float convert31toFloat(int value, ZoomLevel zoom) { + return OsmAndCoreJNI.Utilities_convert31toFloat__SWIG_0(value, zoom.swigValue()); + } + + public static PointF convert31toFloat(PointI p, ZoomLevel zoom) { + return new PointF(OsmAndCoreJNI.Utilities_convert31toFloat__SWIG_1(PointI.getCPtr(p), p, zoom.swigValue()), true); + } + + public static double normalizeLatitude(double latitude) { + return OsmAndCoreJNI.Utilities_normalizeLatitude(latitude); + } + + public static double normalizeLongitude(double longitude) { + return OsmAndCoreJNI.Utilities_normalizeLongitude(longitude); + } + + public static double getPowZoom(float zoom) { + return OsmAndCoreJNI.Utilities_getPowZoom(zoom); + } + + public static double getLongitudeFromTile(float zoom, double x) { + return OsmAndCoreJNI.Utilities_getLongitudeFromTile(zoom, x); + } + + public static double getLatitudeFromTile(float zoom, double y) { + return OsmAndCoreJNI.Utilities_getLatitudeFromTile(zoom, y); + } + + public static double x31toMeters(int x31) { + return OsmAndCoreJNI.Utilities_x31toMeters(x31); + } + + public static double y31toMeters(int y31) { + return OsmAndCoreJNI.Utilities_y31toMeters(y31); + } + + public static long metersToX31(double meters) { + return OsmAndCoreJNI.Utilities_metersToX31(meters); + } + + public static long metersToY31(double meters) { + return OsmAndCoreJNI.Utilities_metersToY31(meters); + } + + public static double squareDistance31(int x31a, int y31a, int x31b, int y31b) { + return OsmAndCoreJNI.Utilities_squareDistance31__SWIG_0(x31a, y31a, x31b, y31b); + } + + public static double distance31(int x31a, int y31a, int x31b, int y31b) { + return OsmAndCoreJNI.Utilities_distance31__SWIG_0(x31a, y31a, x31b, y31b); + } + + public static double squareDistance31(PointI a, PointI b) { + return OsmAndCoreJNI.Utilities_squareDistance31__SWIG_1(PointI.getCPtr(a), a, PointI.getCPtr(b), b); + } + + public static double distance31(PointI a, PointI b) { + return OsmAndCoreJNI.Utilities_distance31__SWIG_1(PointI.getCPtr(a), a, PointI.getCPtr(b), b); + } + + public static double distance(double xLonA, double yLatA, double xLonB, double yLatB) { + return OsmAndCoreJNI.Utilities_distance(xLonA, yLatA, xLonB, yLatB); + } + + public static double projection31(int x31a, int y31a, int x31b, int y31b, int x31c, int y31c) { + return OsmAndCoreJNI.Utilities_projection31(x31a, y31a, x31b, y31b, x31c, y31c); + } + + public static double normalizedAngleRadians(double angle) { + return OsmAndCoreJNI.Utilities_normalizedAngleRadians(angle); + } + + public static double normalizedAngleDegrees(double angle) { + return OsmAndCoreJNI.Utilities_normalizedAngleDegrees(angle); + } + + public static double polygonArea(SWIGTYPE_p_QVectorT_OsmAnd__PointT_int32_t_t_t points) { + return OsmAndCoreJNI.Utilities_polygonArea(SWIGTYPE_p_QVectorT_OsmAnd__PointT_int32_t_t_t.getCPtr(points)); + } + + public static boolean rayIntersectX(PointF v0_, PointF v1_, float mY, SWIGTYPE_p_float mX) { + return OsmAndCoreJNI.Utilities_rayIntersectX__SWIG_0(PointF.getCPtr(v0_), v0_, PointF.getCPtr(v1_), v1_, mY, SWIGTYPE_p_float.getCPtr(mX)); + } + + public static boolean rayIntersect(PointF v0, PointF v1, PointF v) { + return OsmAndCoreJNI.Utilities_rayIntersect__SWIG_0(PointF.getCPtr(v0), v0, PointF.getCPtr(v1), v1, PointF.getCPtr(v), v); + } + + public static boolean rayIntersectX(PointI v0_, PointI v1_, int mY, SWIGTYPE_p_int mX) { + return OsmAndCoreJNI.Utilities_rayIntersectX__SWIG_1(PointI.getCPtr(v0_), v0_, PointI.getCPtr(v1_), v1_, mY, SWIGTYPE_p_int.getCPtr(mX)); + } + + public static boolean rayIntersect(PointI v0, PointI v1, PointI v) { + return OsmAndCoreJNI.Utilities_rayIntersect__SWIG_1(PointI.getCPtr(v0), v0, PointI.getCPtr(v1), v1, PointI.getCPtr(v), v); + } + + public static double degreesDiff(double a1, double a2) { + return OsmAndCoreJNI.Utilities_degreesDiff(a1, a2); + } + + public static AreaI tileBoundingBox31(TileId tileId, ZoomLevel zoom) { + return new AreaI(OsmAndCoreJNI.Utilities_tileBoundingBox31(TileId.getCPtr(tileId), tileId, zoom.swigValue()), true); + } + + public static AreaI areaRightShift(AreaI input, long shift) { + return new AreaI(OsmAndCoreJNI.Utilities_areaRightShift(AreaI.getCPtr(input), input, shift), true); + } + + public static AreaI areaLeftShift(AreaI input, long shift) { + return new AreaI(OsmAndCoreJNI.Utilities_areaLeftShift(AreaI.getCPtr(input), input, shift), true); + } + + public static long getNextPowerOfTwo(long value) { + return OsmAndCoreJNI.Utilities_getNextPowerOfTwo(value); + } + + public static double getMetersPerTileUnit(float zoom, double yTile, double unitsPerTile) { + return OsmAndCoreJNI.Utilities_getMetersPerTileUnit(zoom, yTile, unitsPerTile); + } + + public static TileId normalizeTileId(TileId input, ZoomLevel zoom) { + return new TileId(OsmAndCoreJNI.Utilities_normalizeTileId(TileId.getCPtr(input), input, zoom.swigValue()), true); + } + + public static PointI normalizeCoordinates(PointI input, ZoomLevel zoom) { + return new PointI(OsmAndCoreJNI.Utilities_normalizeCoordinates(PointI.getCPtr(input), input, zoom.swigValue()), true); + } + + public static short computeCohenSutherlandCode(PointI p, AreaI box) { + return OsmAndCoreJNI.Utilities_computeCohenSutherlandCode(PointI.getCPtr(p), p, AreaI.getCPtr(box), box); + } + + public static boolean extractFirstNumberPosition(String value, SWIGTYPE_p_int first, SWIGTYPE_p_int last, boolean allowSigned, boolean allowDot) { + return OsmAndCoreJNI.Utilities_extractFirstNumberPosition(value, SWIGTYPE_p_int.getCPtr(first), SWIGTYPE_p_int.getCPtr(last), allowSigned, allowDot); + } + + public static double parseSpeed(String value, double defValue, SWIGTYPE_p_bool wasParsed) { + return OsmAndCoreJNI.Utilities_parseSpeed__SWIG_0(value, defValue, SWIGTYPE_p_bool.getCPtr(wasParsed)); + } + + public static double parseSpeed(String value, double defValue) { + return OsmAndCoreJNI.Utilities_parseSpeed__SWIG_1(value, defValue); + } + + public static double parseLength(String value, double defValue, SWIGTYPE_p_bool wasParsed) { + return OsmAndCoreJNI.Utilities_parseLength__SWIG_0(value, defValue, SWIGTYPE_p_bool.getCPtr(wasParsed)); + } + + public static double parseLength(String value, double defValue) { + return OsmAndCoreJNI.Utilities_parseLength__SWIG_1(value, defValue); + } + + public static double parseWeight(String value, double defValue, SWIGTYPE_p_bool wasParsed) { + return OsmAndCoreJNI.Utilities_parseWeight__SWIG_0(value, defValue, SWIGTYPE_p_bool.getCPtr(wasParsed)); + } + + public static double parseWeight(String value, double defValue) { + return OsmAndCoreJNI.Utilities_parseWeight__SWIG_1(value, defValue); + } + + public static ColorARGB parseColor(String value, ColorARGB defValue, SWIGTYPE_p_bool wasParsed) { + return new ColorARGB(OsmAndCoreJNI.Utilities_parseColor__SWIG_0(value, ColorARGB.getCPtr(defValue), defValue, SWIGTYPE_p_bool.getCPtr(wasParsed)), true); + } + + public static ColorARGB parseColor(String value, ColorARGB defValue) { + return new ColorARGB(OsmAndCoreJNI.Utilities_parseColor__SWIG_1(value, ColorARGB.getCPtr(defValue), defValue), true); + } + + public static int parseArbitraryInt(String value, int defValue, SWIGTYPE_p_bool wasParsed) { + return OsmAndCoreJNI.Utilities_parseArbitraryInt__SWIG_0(value, defValue, SWIGTYPE_p_bool.getCPtr(wasParsed)); + } + + public static int parseArbitraryInt(String value, int defValue) { + return OsmAndCoreJNI.Utilities_parseArbitraryInt__SWIG_1(value, defValue); + } + + public static int parseArbitraryLong(String value, int defValue, SWIGTYPE_p_bool wasParsed) { + return OsmAndCoreJNI.Utilities_parseArbitraryLong__SWIG_0(value, defValue, SWIGTYPE_p_bool.getCPtr(wasParsed)); + } + + public static int parseArbitraryLong(String value, int defValue) { + return OsmAndCoreJNI.Utilities_parseArbitraryLong__SWIG_1(value, defValue); + } + + public static long parseArbitraryUInt(String value, long defValue, SWIGTYPE_p_bool wasParsed) { + return OsmAndCoreJNI.Utilities_parseArbitraryUInt__SWIG_0(value, defValue, SWIGTYPE_p_bool.getCPtr(wasParsed)); + } + + public static long parseArbitraryUInt(String value, long defValue) { + return OsmAndCoreJNI.Utilities_parseArbitraryUInt__SWIG_1(value, defValue); + } + + public static long parseArbitraryULong(String value, long defValue, SWIGTYPE_p_bool wasParsed) { + return OsmAndCoreJNI.Utilities_parseArbitraryULong__SWIG_0(value, defValue, SWIGTYPE_p_bool.getCPtr(wasParsed)); + } + + public static long parseArbitraryULong(String value, long defValue) { + return OsmAndCoreJNI.Utilities_parseArbitraryULong__SWIG_1(value, defValue); + } + + public static float parseArbitraryFloat(String value, float defValue, SWIGTYPE_p_bool wasParsed) { + return OsmAndCoreJNI.Utilities_parseArbitraryFloat__SWIG_0(value, defValue, SWIGTYPE_p_bool.getCPtr(wasParsed)); + } + + public static float parseArbitraryFloat(String value, float defValue) { + return OsmAndCoreJNI.Utilities_parseArbitraryFloat__SWIG_1(value, defValue); + } + + public static boolean parseArbitraryBool(String value, boolean defValue, SWIGTYPE_p_bool wasParsed) { + return OsmAndCoreJNI.Utilities_parseArbitraryBool__SWIG_0(value, defValue, SWIGTYPE_p_bool.getCPtr(wasParsed)); + } + + public static boolean parseArbitraryBool(String value, boolean defValue) { + return OsmAndCoreJNI.Utilities_parseArbitraryBool__SWIG_1(value, defValue); + } + + public static int javaDoubleCompare(double l, double r) { + return OsmAndCoreJNI.Utilities_javaDoubleCompare(l, r); + } + + public static void findFiles(SWIGTYPE_p_QDir origin, SWIGTYPE_p_QStringList masks, SWIGTYPE_p_QFileInfoList files, boolean recursively) { + OsmAndCoreJNI.Utilities_findFiles__SWIG_0(SWIGTYPE_p_QDir.getCPtr(origin), SWIGTYPE_p_QStringList.getCPtr(masks), SWIGTYPE_p_QFileInfoList.getCPtr(files), recursively); + } + + public static void findFiles(SWIGTYPE_p_QDir origin, SWIGTYPE_p_QStringList masks, SWIGTYPE_p_QFileInfoList files) { + OsmAndCoreJNI.Utilities_findFiles__SWIG_1(SWIGTYPE_p_QDir.getCPtr(origin), SWIGTYPE_p_QStringList.getCPtr(masks), SWIGTYPE_p_QFileInfoList.getCPtr(files)); + } + + public static void findDirectories(SWIGTYPE_p_QDir origin, SWIGTYPE_p_QStringList masks, SWIGTYPE_p_QFileInfoList directories, boolean recursively) { + OsmAndCoreJNI.Utilities_findDirectories__SWIG_0(SWIGTYPE_p_QDir.getCPtr(origin), SWIGTYPE_p_QStringList.getCPtr(masks), SWIGTYPE_p_QFileInfoList.getCPtr(directories), recursively); + } + + public static void findDirectories(SWIGTYPE_p_QDir origin, SWIGTYPE_p_QStringList masks, SWIGTYPE_p_QFileInfoList directories) { + OsmAndCoreJNI.Utilities_findDirectories__SWIG_1(SWIGTYPE_p_QDir.getCPtr(origin), SWIGTYPE_p_QStringList.getCPtr(masks), SWIGTYPE_p_QFileInfoList.getCPtr(directories)); + } + + public static void scanlineFillPolygon(long verticesCount, PointF vertices, SWIGTYPE_p_std__functionT_void_fOsmAnd__PointT_int_t_const_RF_t fillPoint) { + OsmAndCoreJNI.Utilities_scanlineFillPolygon(verticesCount, PointF.getCPtr(vertices), vertices, SWIGTYPE_p_std__functionT_void_fOsmAnd__PointT_int_t_const_RF_t.getCPtr(fillPoint)); + } + + public static SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t enumerateZoomLevels(ZoomLevel from, ZoomLevel to) { + return new SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t(OsmAndCoreJNI.Utilities_enumerateZoomLevels(from.swigValue(), to.swigValue()), true); + } + + public static String stringifyZoomLevels(SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t zoomLevels) { + return OsmAndCoreJNI.Utilities_stringifyZoomLevels(SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t.getCPtr(zoomLevels)); + } + + public enum CHCode { + Inside(OsmAndCoreJNI.Utilities_CHCode_Inside_get()), + Left(OsmAndCoreJNI.Utilities_CHCode_Left_get()), + Right(OsmAndCoreJNI.Utilities_CHCode_Right_get()), + Bottom(OsmAndCoreJNI.Utilities_CHCode_Bottom_get()), + Top(OsmAndCoreJNI.Utilities_CHCode_Top_get()); + + public final int swigValue() { + return swigValue; + } + + public static CHCode swigToEnum(int swigValue) { + CHCode[] swigValues = CHCode.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (CHCode swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + CHCode.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private CHCode() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private CHCode(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private CHCode(CHCode swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/ZoomLevel.java b/OsmAnd/src/net/osmand/core/jni/ZoomLevel.java new file mode 100644 index 0000000000..43171ce4b7 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/ZoomLevel.java @@ -0,0 +1,85 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public enum ZoomLevel { + ZoomLevel0(OsmAndCoreJNI.ZoomLevel0_get()), + ZoomLevel1, + ZoomLevel2, + ZoomLevel3, + ZoomLevel4, + ZoomLevel5, + ZoomLevel6, + ZoomLevel7, + ZoomLevel8, + ZoomLevel9, + ZoomLevel10, + ZoomLevel11, + ZoomLevel12, + ZoomLevel13, + ZoomLevel14, + ZoomLevel15, + ZoomLevel16, + ZoomLevel17, + ZoomLevel18, + ZoomLevel19, + ZoomLevel20, + ZoomLevel21, + ZoomLevel22, + ZoomLevel23, + ZoomLevel24, + ZoomLevel25, + ZoomLevel26, + ZoomLevel27, + ZoomLevel28, + ZoomLevel29, + ZoomLevel30, + ZoomLevel31(OsmAndCoreJNI.ZoomLevel31_get()), + InvalidZoom(OsmAndCoreJNI.InvalidZoom_get()), + MinZoomLevel(OsmAndCoreJNI.MinZoomLevel_get()), + MaxZoomLevel(OsmAndCoreJNI.MaxZoomLevel_get()); + + public final int swigValue() { + return swigValue; + } + + public static ZoomLevel swigToEnum(int swigValue) { + ZoomLevel[] swigValues = ZoomLevel.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (ZoomLevel swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + ZoomLevel.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private ZoomLevel() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private ZoomLevel(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private ZoomLevel(ZoomLevel swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } +} + diff --git a/OsmAnd/src/net/osmand/plus/OsmAndAppCustomization.java b/OsmAnd/src/net/osmand/plus/OsmAndAppCustomization.java index 8a1db01948..ba4ab06150 100644 --- a/OsmAnd/src/net/osmand/plus/OsmAndAppCustomization.java +++ b/OsmAnd/src/net/osmand/plus/OsmAndAppCustomization.java @@ -1,7 +1,6 @@ package net.osmand.plus; import java.io.File; -import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; @@ -9,8 +8,13 @@ import java.util.Map; import net.osmand.IProgress; import net.osmand.IndexConstants; import net.osmand.Location; +import net.osmand.core.android.GLActivity; import net.osmand.data.LocationPoint; -import net.osmand.plus.activities.*; +import net.osmand.plus.activities.FavouritesActivity; +import net.osmand.plus.activities.MainMenuActivity; +import net.osmand.plus.activities.MapActivity; +import net.osmand.plus.activities.PluginsActivity; +import net.osmand.plus.activities.SettingsActivity; import net.osmand.plus.activities.search.SearchActivity; import net.osmand.plus.download.DownloadActivity; import net.osmand.plus.download.DownloadActivityType; @@ -19,10 +23,6 @@ import net.osmand.plus.routing.RouteCalculationResult; import net.osmand.plus.views.OsmandMapTileView; import android.app.Activity; import android.view.Window; -import android.widget.ArrayAdapter; - -import com.actionbarsherlock.app.ActionBar; -import com.actionbarsherlock.app.ActionBar.OnNavigationListener; public class OsmAndAppCustomization { @@ -82,7 +82,8 @@ public class OsmAndAppCustomization { } public Class getDownloadActivity() { - return DownloadActivity.class; + //return DownloadActivity.class; + return GLActivity.class; } // Download screen diff --git a/OsmAnd/src/net/osmand/plus/render/NativeOsmandLibrary.java b/OsmAnd/src/net/osmand/plus/render/NativeOsmandLibrary.java index f1a48fa986..8e50aa3849 100644 --- a/OsmAnd/src/net/osmand/plus/render/NativeOsmandLibrary.java +++ b/OsmAnd/src/net/osmand/plus/render/NativeOsmandLibrary.java @@ -27,7 +27,15 @@ public class NativeOsmandLibrary extends NativeLibrary { return library; } } - + public static void loadLibrary(String name) { + try { + System.out.println("Loading " + name); + System.loadLibrary(name); + } catch( UnsatisfiedLinkError e ) { + System.err.println("Failed to load '"+name + "':" + e); + throw e; + } + } public static NativeOsmandLibrary getLibrary(RenderingRulesStorage storage, OsmandApplication ctx) { if (!isLoaded()) { @@ -56,6 +64,7 @@ public class NativeOsmandLibrary extends NativeLibrary { } } } + } return library; } From b6d92031e6acef1e18053d3944614c0a93fa5049 Mon Sep 17 00:00:00 2001 From: Denis_Bars Date: Mon, 29 Sep 2014 11:05:37 +0300 Subject: [PATCH 02/14] Blah blah --- .../assets/OsmAndCore_ResourcesBundle.index | 181 +++++--- .../CoreResourcesFromAndroidAssets.java | 19 +- .../net/osmand/core/android/GLActivity.java | 6 +- OsmAnd/src/net/osmand/core/jni/ColorARGB.java | 8 +- .../src/net/osmand/core/jni/IMapRenderer.java | 4 + .../osmand/core/jni/IMapStylesCollection.java | 19 +- .../core/jni/MapPresentationEnvironment.java | 84 +++- .../core/jni/MapRendererStateChanges.java | 4 + OsmAnd/src/net/osmand/core/jni/MapStyle.java | 116 ----- .../jni/MapStyleBuiltinValueDefinitions.java | 44 ++ .../core/jni/MapStyleConstantValue.java | 62 +++ .../src/net/osmand/core/jni/MapStyleRule.java | 51 -- .../osmand/core/jni/MapStyleRulesetType.java | 11 +- .../net/osmand/core/jni/MapStyleValue.java | 50 -- .../osmand/core/jni/MapStyleValueClass.java | 52 --- .../core/jni/MapStyleValueDefinition.java | 50 +- .../osmand/core/jni/MapStylesCollection.java | 18 +- OsmAnd/src/net/osmand/core/jni/MapSymbol.java | 8 - .../osmand/core/jni/OsmAndCoreConstants.java | 2 + .../net/osmand/core/jni/OsmAndCoreJNI.java | 171 ++++--- .../src/net/osmand/core/jni/Primitiviser.java | 21 +- .../net/osmand/core/jni/ResolvedMapStyle.java | 434 ++++++++++++++++++ .../net/osmand/core/jni/ResourcesManager.java | 8 +- ...nd__ResolvedMapStyle__Rule_const_t_t.java} | 8 +- ...T_int_OsmAnd__MapStyleConstantValue_t.java | 26 ++ ...nd__ResolvedMapStyle__ResolvedValue_t.java | 26 ++ ...ListT_OsmAnd__MapStyleConstantValue_t.java | 26 ++ ...smAnd__ResolvedMapStyle__RuleNode_t_t.java | 26 ++ ...OsmAnd__UnresolvedMapStyle_const_t_t.java} | 8 +- ...__ResolvedMapStyle__Attribute_const_t.java | 26 ++ ...__ResolvedMapStyle__Parameter_const_t.java | 26 ++ ..._OsmAnd__ResolvedMapStyle__RuleNode_t.java | 26 ++ ...rT_OsmAnd__UnresolvedMapStyle_const_t.java | 26 ++ ...red_ptrT_OsmAnd__UnresolvedMapStyle_t.java | 26 ++ .../core/jni/SWIGTYPE_p_unsigned_char.java | 26 ++ .../net/osmand/core/jni/SwigUtilities.java | 8 + .../src/net/osmand/core/jni/TagValueId.java | 70 +++ OsmAnd/src/net/osmand/core/jni/Utilities.java | 11 +- 38 files changed, 1303 insertions(+), 485 deletions(-) delete mode 100644 OsmAnd/src/net/osmand/core/jni/MapStyle.java create mode 100644 OsmAnd/src/net/osmand/core/jni/MapStyleConstantValue.java delete mode 100644 OsmAnd/src/net/osmand/core/jni/MapStyleRule.java delete mode 100644 OsmAnd/src/net/osmand/core/jni/MapStyleValue.java delete mode 100644 OsmAnd/src/net/osmand/core/jni/MapStyleValueClass.java create mode 100644 OsmAnd/src/net/osmand/core/jni/ResolvedMapStyle.java rename OsmAnd/src/net/osmand/core/jni/{SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapStyleValueDefinition_const_t_OsmAnd__MapStyleValue_t.java => SWIGTYPE_p_QHashT_OsmAnd__TagValueId_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Rule_const_t_t.java} (50%) create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_int_OsmAnd__MapStyleConstantValue_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_int_OsmAnd__ResolvedMapStyle__ResolvedValue_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t.java rename OsmAnd/src/net/osmand/core/jni/{SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStyle_const_t_t.java => SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t.java} (63%) create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Attribute_const_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Parameter_const_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t.java create mode 100644 OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_unsigned_char.java create mode 100644 OsmAnd/src/net/osmand/core/jni/TagValueId.java diff --git a/OsmAnd/assets/OsmAndCore_ResourcesBundle.index b/OsmAnd/assets/OsmAndCore_ResourcesBundle.index index 11edc60eb7..5b17d344d8 100644 --- a/OsmAnd/assets/OsmAndCore_ResourcesBundle.index +++ b/OsmAnd/assets/OsmAndCore_ResourcesBundle.index @@ -9,6 +9,7 @@ [ddf=1.5]/map/shaders/osmc_red_bg_black_bar.png [ddf=1.5]/map/shaders/osmc_yellow_bg_black_circle.png [ddf=1.5]/map/shaders/osmc_yellow_bg_blue_bar.png +[ddf=1.5]/map/shaders/cemetery_small.png [ddf=1.5]/map/shaders/osmc_white_bg_red_circle.png [ddf=1.5]/map/shaders/orchard2.png [ddf=1.5]/map/shaders/osmc_white_green_backslash.png @@ -85,12 +86,10 @@ [ddf=1.5]/map/shaders/osmc_green_bg_black_circle.png [ddf=1.5]/map/shaders/osmc_red_bg_blue_circle.png [ddf=1.5]/map/shaders/osmc_white_green_bar.png -[ddf=1.5]/map/shaders/amenity_grave_yard.png [ddf=1.5]/map/shaders/glacier.png [ddf=1.5]/map/shaders/paving_stones.png [ddf=1.5]/map/shaders/osmc_green_bg_blue_circle.png [ddf=1.5]/map/shaders/osmc_red_bg_blue_bar.png -[ddf=1.5]/map/shaders/pedestrian_paved_night.png [ddf=1.5]/map/shaders/nr.png [ddf=1.5]/map/shaders/osmc_black_bg_red_bar.png [ddf=1.5]/map/shaders/osmc_blue_bg_red_bar.png @@ -125,6 +124,7 @@ [ddf=1.5]/map/shaders/osmc_yellow_bg_green_circle.png [ddf=1.5]/map/shaders/danger.png [ddf=1.5]/map/shaders/wood_broadleaved.png +[ddf=1.5]/map/shaders/vineyard2_small.png [ddf=1.5]/map/shaders/osmc_yellow_bg_blue_circle.png [ddf=1.5]/map/shaders/osmc_white_bg_blue_circle.png [ddf=1.5]/map/shaders/osmc_green_bg_red_circle.png @@ -137,7 +137,6 @@ [ddf=1.5]/map/shaders/osmc_white_bg_black_bar.png [ddf=1.5]/map/shaders/scrub.png [ddf=1.5]/map/shaders/bare_rock.png -[ddf=1.5]/map/shaders/pedestrian_paved.png [ddf=1.5]/map/shaders/osmc_white_bg_red_bar.png [ddf=1.5]/map/shaders/osmc_red_bg_black_circle.png [ddf=1.5]/map/icons/railway_subway_station_small_blue.png @@ -158,6 +157,7 @@ [ddf=1.5]/map/icons/sport_skating.png [ddf=1.5]/map/icons/historic_memorial.png [ddf=1.5]/map/icons/natural_peak_framed_big.png +[ddf=1.5]/map/icons/tower_type_communication2.png [ddf=1.5]/map/icons/man_made_chimney.png [ddf=1.5]/map/icons/shop_computer.png [ddf=1.5]/map/icons/restaurants.png @@ -371,6 +371,7 @@ [ddf=1.5]/map/icons/railway_subway_entrance_black.png [ddf=1.5]/map/icons/shop_copyshop.png [ddf=1.5]/map/icons/emergency_fire_hydrant.png +[ddf=1.5]/map/icons/highway_services.png [ddf=1.5]/map/icons/historic_wayside_cross.png [ddf=1.5]/map/icons/tourism_information.png [ddf=1.5]/map/icons/railway_subway_station_small_purple.png @@ -577,6 +578,7 @@ [ddf=2.0]/map/shaders/osmc_red_bg_black_bar.png [ddf=2.0]/map/shaders/osmc_yellow_bg_black_circle.png [ddf=2.0]/map/shaders/osmc_yellow_bg_blue_bar.png +[ddf=2.0]/map/shaders/cemetery_small.png [ddf=2.0]/map/shaders/osmc_white_bg_red_circle.png [ddf=2.0]/map/shaders/orchard2.png [ddf=2.0]/map/shaders/osmc_white_green_backslash.png @@ -653,12 +655,10 @@ [ddf=2.0]/map/shaders/osmc_green_bg_black_circle.png [ddf=2.0]/map/shaders/osmc_red_bg_blue_circle.png [ddf=2.0]/map/shaders/osmc_white_green_bar.png -[ddf=2.0]/map/shaders/amenity_grave_yard.png [ddf=2.0]/map/shaders/glacier.png [ddf=2.0]/map/shaders/paving_stones.png [ddf=2.0]/map/shaders/osmc_green_bg_blue_circle.png [ddf=2.0]/map/shaders/osmc_red_bg_blue_bar.png -[ddf=2.0]/map/shaders/pedestrian_paved_night.png [ddf=2.0]/map/shaders/nr.png [ddf=2.0]/map/shaders/osmc_black_bg_red_bar.png [ddf=2.0]/map/shaders/osmc_blue_bg_red_bar.png @@ -693,6 +693,7 @@ [ddf=2.0]/map/shaders/osmc_yellow_bg_green_circle.png [ddf=2.0]/map/shaders/danger.png [ddf=2.0]/map/shaders/wood_broadleaved.png +[ddf=2.0]/map/shaders/vineyard2_small.png [ddf=2.0]/map/shaders/osmc_yellow_bg_blue_circle.png [ddf=2.0]/map/shaders/osmc_white_bg_blue_circle.png [ddf=2.0]/map/shaders/osmc_green_bg_red_circle.png @@ -705,7 +706,6 @@ [ddf=2.0]/map/shaders/osmc_white_bg_black_bar.png [ddf=2.0]/map/shaders/scrub.png [ddf=2.0]/map/shaders/bare_rock.png -[ddf=2.0]/map/shaders/pedestrian_paved.png [ddf=2.0]/map/shaders/osmc_white_bg_red_bar.png [ddf=2.0]/map/shaders/osmc_red_bg_black_circle.png [ddf=2.0]/map/icons/railway_subway_station_small_blue.png @@ -726,6 +726,7 @@ [ddf=2.0]/map/icons/sport_skating.png [ddf=2.0]/map/icons/historic_memorial.png [ddf=2.0]/map/icons/natural_peak_framed_big.png +[ddf=2.0]/map/icons/tower_type_communication2.png [ddf=2.0]/map/icons/man_made_chimney.png [ddf=2.0]/map/icons/shop_computer.png [ddf=2.0]/map/icons/restaurants.png @@ -939,6 +940,7 @@ [ddf=2.0]/map/icons/railway_subway_entrance_black.png [ddf=2.0]/map/icons/shop_copyshop.png [ddf=2.0]/map/icons/emergency_fire_hydrant.png +[ddf=2.0]/map/icons/highway_services.png [ddf=2.0]/map/icons/historic_wayside_cross.png [ddf=2.0]/map/icons/tourism_information.png [ddf=2.0]/map/icons/railway_subway_station_small_purple.png @@ -1145,6 +1147,7 @@ [ddf=1.0]/map/shaders/osmc_red_bg_black_bar.png [ddf=1.0]/map/shaders/osmc_yellow_bg_black_circle.png [ddf=1.0]/map/shaders/osmc_yellow_bg_blue_bar.png +[ddf=1.0]/map/shaders/cemetery_small.png [ddf=1.0]/map/shaders/osmc_white_bg_red_circle.png [ddf=1.0]/map/shaders/orchard2.png [ddf=1.0]/map/shaders/osmc_white_green_backslash.png @@ -1221,12 +1224,10 @@ [ddf=1.0]/map/shaders/osmc_green_bg_black_circle.png [ddf=1.0]/map/shaders/osmc_red_bg_blue_circle.png [ddf=1.0]/map/shaders/osmc_white_green_bar.png -[ddf=1.0]/map/shaders/amenity_grave_yard.png [ddf=1.0]/map/shaders/glacier.png [ddf=1.0]/map/shaders/paving_stones.png [ddf=1.0]/map/shaders/osmc_green_bg_blue_circle.png [ddf=1.0]/map/shaders/osmc_red_bg_blue_bar.png -[ddf=1.0]/map/shaders/pedestrian_paved_night.png [ddf=1.0]/map/shaders/nr.png [ddf=1.0]/map/shaders/osmc_black_bg_red_bar.png [ddf=1.0]/map/shaders/osmc_blue_bg_red_bar.png @@ -1261,6 +1262,7 @@ [ddf=1.0]/map/shaders/osmc_yellow_bg_green_circle.png [ddf=1.0]/map/shaders/danger.png [ddf=1.0]/map/shaders/wood_broadleaved.png +[ddf=1.0]/map/shaders/vineyard2_small.png [ddf=1.0]/map/shaders/osmc_yellow_bg_blue_circle.png [ddf=1.0]/map/shaders/osmc_white_bg_blue_circle.png [ddf=1.0]/map/shaders/osmc_green_bg_red_circle.png @@ -1273,7 +1275,6 @@ [ddf=1.0]/map/shaders/osmc_white_bg_black_bar.png [ddf=1.0]/map/shaders/scrub.png [ddf=1.0]/map/shaders/bare_rock.png -[ddf=1.0]/map/shaders/pedestrian_paved.png [ddf=1.0]/map/shaders/osmc_white_bg_red_bar.png [ddf=1.0]/map/shaders/osmc_red_bg_black_circle.png [ddf=1.0]/map/icons/railway_subway_station_small_blue.png @@ -1294,6 +1295,7 @@ [ddf=1.0]/map/icons/sport_skating.png [ddf=1.0]/map/icons/historic_memorial.png [ddf=1.0]/map/icons/natural_peak_framed_big.png +[ddf=1.0]/map/icons/tower_type_communication2.png [ddf=1.0]/map/icons/man_made_chimney.png [ddf=1.0]/map/icons/shop_computer.png [ddf=1.0]/map/icons/restaurants.png @@ -1507,6 +1509,7 @@ [ddf=1.0]/map/icons/railway_subway_entrance_black.png [ddf=1.0]/map/icons/shop_copyshop.png [ddf=1.0]/map/icons/emergency_fire_hydrant.png +[ddf=1.0]/map/icons/highway_services.png [ddf=1.0]/map/icons/historic_wayside_cross.png [ddf=1.0]/map/icons/tourism_information.png [ddf=1.0]/map/icons/railway_subway_station_small_purple.png @@ -1702,51 +1705,125 @@ [ddf=1.0]/map/shields/white_gray_round_shield.png [ddf=1.0]/map/shields/white_brown_square_shield.png [ddf=1.0]/map/shields/gray_green_round_shield.png +misc/icu4c/icu-data-l.dat routing/routing.xml +map/fonts/DroidSansFallback.ttf +map/fonts/MTLmr3m.ttf +map/fonts/NotoNaskh/NotoNaskhArabic-Regular.ttf +map/fonts/NotoNaskh/NotoNaskhArabic-Bold.ttf +map/fonts/Tinos/Tinos-Bold.ttf +map/fonts/Tinos/Tinos-BoldItalic.ttf +map/fonts/Tinos/Tinos-Regular.ttf +map/fonts/Tinos/Tinos-Italic.ttf +map/fonts/OpenSans/OpenSans-SemiboldItalic.ttf +map/fonts/OpenSans/OpenSans-Regular.ttf +map/fonts/OpenSans/OpenSans-Italic.ttf +map/fonts/OpenSans/OpenSans-Semibold.ttf +map/fonts/NotoKufi/NotoKufiArabic-Regular.ttf +map/fonts/NotoKufi/NotoKufiArabic-Bold.ttf +map/fonts/NotoSans-extra/NotoSansMongolian-Regular.ttf +map/fonts/NotoSans-extra/NotoSansBrahmi-Regular.ttf +map/fonts/NotoSans-extra/NotoSansLydian-Regular.ttf +map/fonts/NotoSans-extra/NotoSansOgham-Regular.ttf +map/fonts/NotoSans-extra/NotoSansCanadianAboriginal-Regular.ttf +map/fonts/NotoSans-extra/NotoSansPhoenician-Regular.ttf +map/fonts/NotoSans-extra/NotoSansJavanese-Regular.ttf +map/fonts/NotoSans-extra/NotoSansKaithi-Regular.ttf +map/fonts/NotoSans-extra/NotoSansTaiLe-Regular.ttf +map/fonts/NotoSans-extra/NotoSansLycian-Regular.ttf +map/fonts/NotoSans-extra/NotoSansSundanese-Regular.ttf +map/fonts/NotoSans-extra/NotoSansRunic-Regular.ttf +map/fonts/NotoSans-extra/NotoSansInscriptionalPahlavi-Regular.ttf +map/fonts/NotoSans-extra/NotoSansSyriacEastern-Regular.ttf +map/fonts/NotoSans-extra/NotoSansGlagolitic-Regular.ttf +map/fonts/NotoSans-extra/NotoSansInscriptionalParthian-Regular.ttf +map/fonts/NotoSans-extra/NotoSansTaiTham-Regular.ttf +map/fonts/NotoSans-extra/NotoSansAvestan-Regular.ttf +map/fonts/NotoSans-extra/NotoSansSyriacEstrangela-Regular.ttf +map/fonts/NotoSans-extra/NotoSansBuhid-Regular.ttf +map/fonts/NotoSans-extra/NotoSansCarian-Regular.ttf +map/fonts/NotoSans-extra/NotoSansSamaritan-Regular.ttf +map/fonts/NotoSans-extra/NotoSansBatak-Regular.ttf +map/fonts/NotoSans-extra/NotoSansLisu-Regular.ttf +map/fonts/NotoSans-extra/NotoSansTifinagh-Regular.ttf +map/fonts/NotoSans-extra/NotoSansCypriot-Regular.ttf +map/fonts/NotoSans-extra/NotoSansDeseret-Regular.ttf +map/fonts/NotoSans-extra/NotoSansSaurashtra-Regular.ttf +map/fonts/NotoSans-extra/NotoSansLinearB-Regular.ttf +map/fonts/NotoSans-extra/NotoSansBuginese-Regular.ttf +map/fonts/NotoSans-extra/NotoSansRejang-Regular.ttf +map/fonts/NotoSans-extra/NotoSansGothic-Regular.ttf +map/fonts/NotoSans-extra/NotoSansBalinese-Regular.ttf +map/fonts/NotoSans-extra/NotoSansImperialAramaic-Regular.ttf +map/fonts/NotoSans-extra/NotoSansSinhala-Regular.ttf +map/fonts/NotoSans-extra/NotoSansTagalog-Regular.ttf +map/fonts/NotoSans-extra/NotoSansKharoshthi-Regular.ttf +map/fonts/NotoSans-extra/NotoSansVai-Regular.ttf +map/fonts/NotoSans-extra/NotoSansOldSouthArabian-Regular.ttf +map/fonts/NotoSans-extra/NotoSansMeeteiMayek-Regular.ttf +map/fonts/NotoSans-extra/NotoSansLimbu-Regular.ttf +map/fonts/NotoSans-extra/NotoSansOlChiki-Regular.ttf +map/fonts/NotoSans-extra/NotoSansPhagsPa-Regular.ttf +map/fonts/NotoSans-extra/NotoSansKayahLi-Regular.ttf +map/fonts/NotoSans-extra/NotoSansOldItalic-Regular.ttf +map/fonts/NotoSans-extra/NotoSansMandaic-Regular.ttf +map/fonts/NotoSans-extra/NotoSansHanunoo-Regular.ttf +map/fonts/NotoSans-extra/NotoSansSylotiNagri-Regular.ttf +map/fonts/NotoSans-extra/NotoSansSinhala-Bold.ttf +map/fonts/NotoSans-extra/NotoSansCuneiform-Regular.ttf +map/fonts/NotoSans-extra/NotoSansCoptic-Regular.ttf +map/fonts/NotoSans-extra/NotoSansSymbols-Regular.ttf +map/fonts/NotoSans-extra/NotoSansYi-Regular.ttf +map/fonts/NotoSans-extra/NotoSansShavian-Regular.ttf +map/fonts/NotoSans-extra/NotoSansMyanmar-Bold.ttf +map/fonts/NotoSans-extra/NotoSansTaiViet-Regular.ttf +map/fonts/NotoSans-extra/NotoSansTagbanwa-Regular.ttf +map/fonts/NotoSans-extra/NotoSansBamum-Regular.ttf +map/fonts/NotoSans-extra/NotoSansOldPersian-Regular.ttf +map/fonts/NotoSans-extra/NotoSansMyanmar-Regular.ttf +map/fonts/NotoSans-extra/NotoSansOsmanya-Regular.ttf +map/fonts/NotoSans-extra/NotoSansEgyptianHieroglyphs-Regular.ttf +map/fonts/NotoSans-extra/NotoSansOldTurkic-Regular.ttf +map/fonts/NotoSans-extra/NotoSansCherokee-Regular.ttf +map/fonts/NotoSans-extra/NotoSansUgaritic-Regular.ttf +map/fonts/NotoSans-extra/NotoSansNKo-Regular.ttf +map/fonts/NotoSans-extra/NotoSansLepcha-Regular.ttf +map/fonts/NotoSans-extra/NotoSansNewTaiLue-Regular.ttf +map/fonts/NotoSans-extra/NotoSansSyriacWestern-Regular.ttf +map/fonts/NotoSans/NotoSansMalayalam-Regular.ttf +map/fonts/NotoSans/NotoSansCham-Bold.ttf +map/fonts/NotoSans/NotoSansKannada-Regular.ttf +map/fonts/NotoSans/NotoSansThai-Regular.ttf +map/fonts/NotoSans/NotoSansGeorgian-Bold.ttf +map/fonts/NotoSans/NotoSansGurmukhi-Regular.ttf +map/fonts/NotoSans/NotoSansHebrew-Regular.ttf +map/fonts/NotoSans/NotoSansEthiopic-Regular.ttf +map/fonts/NotoSans/NotoSansHebrew-Bold.ttf +map/fonts/NotoSans/NotoSansGujarati-Regular.ttf +map/fonts/NotoSans/NotoSansKhmer-Regular.ttf +map/fonts/NotoSans/NotoSansGurmukhi-Bold.ttf +map/fonts/NotoSans/NotoSansTelugu-Regular.ttf +map/fonts/NotoSans/NotoSansDevanagari-Regular.ttf +map/fonts/NotoSans/NotoSansGujarati-Bold.ttf +map/fonts/NotoSans/NotoSansLao-Regular.ttf +map/fonts/NotoSans/NotoSansLao-Bold.ttf +map/fonts/NotoSans/NotoSansTelugu-Bold.ttf +map/fonts/NotoSans/NotoSansBengali-Bold.ttf +map/fonts/NotoSans/NotoSansArmenian-Regular.ttf +map/fonts/NotoSans/NotoSansTamil-Regular.ttf +map/fonts/NotoSans/NotoSansDevanagari-Bold.ttf +map/fonts/NotoSans/NotoSansEthiopic-Bold.ttf +map/fonts/NotoSans/NotoSansThai-Bold.ttf +map/fonts/NotoSans/NotoSansGeorgian-Regular.ttf +map/fonts/NotoSans/NotoSansArmenian-Bold.ttf +map/fonts/NotoSans/NotoSansBengali-Regular.ttf +map/fonts/NotoSans/NotoSansKhmer-Bold.ttf +map/fonts/NotoSans/NotoSansMalayalam-Bold.ttf +map/fonts/NotoSans/NotoSansKannada-Bold.ttf +map/fonts/NotoSans/NotoSansTamil-Bold.ttf +map/fonts/NotoSans/NotoSansCham-Regular.ttf map/styles/default.map_styles_presets.xml map/styles/default.render.xml map/stubs/favorite_location_pin_icon.png map/stubs/processing_tile.png -map/stubs/unavailable_tile.png -misc/icu4c/icu-data-l.dat - -map/fonts/DroidSansHebrew-Regular.ttf -map/fonts/NotoSansKannada-Regular.ttf -map/fonts/NotoSansMalayalam.ttf -map/fonts/NotoSansThai-Regular.ttf -map/fonts/NotoSansGeorgian-Bold.ttf -map/fonts/DroidNaskh-Bold.ttf -map/fonts/DroidSansEthiopic-Regular.ttf -map/fonts/NotoSansHebrew-Regular.ttf -map/fonts/DroidSansHebrew-Bold.ttf -map/fonts/NotoSansHebrew-Bold.ttf -map/fonts/NotoSansKhmer-Regular.ttf -map/fonts/DroidSansFallback.ttf -map/fonts/DroidSansGeorgian.ttf -map/fonts/DroidNaskh-Regular.ttf -map/fonts/MTLmr3m.ttf -map/fonts/NotoSansTelugu-Regular.ttf -map/fonts/NotoSansDevanagari-Regular.ttf -map/fonts/NotoSansLao-Regular.ttf -map/fonts/NotoSansLao-Bold.ttf -map/fonts/NotoSansTelugu-Bold.ttf -map/fonts/NotoSansBengali-Bold.ttf -map/fonts/NotoSansArmenian-Regular.ttf -map/fonts/NotoSansTamil-Regular.ttf -map/fonts/NotoSansDevanagari-Bold.ttf -map/fonts/DroidSansEthiopic-Bold.ttf -map/fonts/NotoSansThai-Bold.ttf -map/fonts/NotoSansGeorgian-Regular.ttf -map/fonts/NotoSansArmenian-Bold.ttf -map/fonts/NotoSansBengali-Regular.ttf -map/fonts/NotoSansKhmer-Bold.ttf -map/fonts/NotoSansMalayalam-Bold.ttf -map/fonts/NotoSansKannada-Bold.ttf -map/fonts/DroidSansJapanese.ttf -map/fonts/NotoSansTamil-Bold.ttf -map/fonts/DroidSansArmenian.ttf -map/fonts/DroidSansArabic.ttf -map/fonts/OpenSans/OpenSans-SemiboldItalic.ttf -map/fonts/OpenSans/OpenSans-Regular.ttf -map/fonts/OpenSans/OpenSans-Italic.ttf -map/fonts/OpenSans/OpenSans-Semibold.ttf \ No newline at end of file +map/stubs/unavailable_tile.png \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroidAssets.java b/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroidAssets.java index da7e70505f..1e67e7d8c8 100644 --- a/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroidAssets.java +++ b/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroidAssets.java @@ -162,12 +162,9 @@ public class CoreResourcesFromAndroidAssets extends ICoreResourcesProvider { resourceDataEntry = resourceEntry.variantsByDisplayDensityFactor.lastEntry(); ResourceData resourceData = resourceDataEntry.getValue(); Log.d(TAG, "Using ddf=" + resourceDataEntry.getKey() + " while looking for " + displayDensityFactor + " of '" + name + "'"); - - final SWIGTYPE_p_QByteArray data = SwigUtilities.readPartOfFile( -// _bundleFilename, - resourceData.path.getAbsolutePath(), - resourceData.offset, - resourceData.size); + System.out.println(resourceData.path.getAbsolutePath()); + final SWIGTYPE_p_QByteArray data = SwigUtilities.qDecompress(SwigUtilities.readEntireFile( + resourceData.path.getAbsolutePath()+".qz")); if (data == null) { Log.e(TAG, "Failed to load data of '" + name + "'"); if (ok != null) @@ -198,12 +195,10 @@ public class CoreResourcesFromAndroidAssets extends ICoreResourcesProvider { ok.assign(false); return SwigUtilities.emptyQByteArray(); } - - final SWIGTYPE_p_QByteArray data = SwigUtilities.readPartOfFile( -// _bundleFilename, - resourceEntry.defaultVariant.path.getAbsolutePath(), - resourceEntry.defaultVariant.offset, - resourceEntry.defaultVariant.size); + System.out.println(resourceEntry.defaultVariant.path.getAbsolutePath()); + SWIGTYPE_p_QByteArray bt = SwigUtilities.readEntireFile( + resourceEntry.defaultVariant.path.getAbsolutePath() + ".qz"); + final SWIGTYPE_p_QByteArray data = SwigUtilities.qDecompress(bt); if (data == null) { Log.e(TAG, "Failed to load data of '" + name + "'"); if (ok != null) diff --git a/OsmAnd/src/net/osmand/core/android/GLActivity.java b/OsmAnd/src/net/osmand/core/android/GLActivity.java index f4c7d9f6e8..0f54614cd3 100644 --- a/OsmAnd/src/net/osmand/core/android/GLActivity.java +++ b/OsmAnd/src/net/osmand/core/android/GLActivity.java @@ -21,7 +21,7 @@ import net.osmand.core.jni.Logger; import net.osmand.core.jni.MapPresentationEnvironment; import net.osmand.core.jni.MapRendererClass; import net.osmand.core.jni.MapRendererSetupOptions; -import net.osmand.core.jni.MapStyle; +import net.osmand.core.jni.ResolvedMapStyle; import net.osmand.core.jni.MapStylesCollection; import net.osmand.core.jni.ObfsCollection; import net.osmand.core.jni.OsmAndCore; @@ -70,7 +70,7 @@ public class GLActivity extends Activity { private int _referenceTileSize; private int _rasterTileSize; private IMapStylesCollection _mapStylesCollection; - private MapStyle _mapStyle; + private ResolvedMapStyle _mapStyle; private ObfsCollection _obfsCollection; private MapPresentationEnvironment _mapPresentationEnvironment; private Primitiviser _primitiviser; @@ -192,7 +192,7 @@ public class GLActivity extends Activity { Log.i(TAG, "Going to resolve default embedded style..."); _mapStylesCollection = new MapStylesCollection(); - _mapStyle = _mapStylesCollection.getBakedStyle("default"); + _mapStyle = _mapStylesCollection.getResolvedStyleByName("default"); if (_mapStyle == null) { Log.e(TAG, "Failed to resolve style 'default'"); diff --git a/OsmAnd/src/net/osmand/core/jni/ColorARGB.java b/OsmAnd/src/net/osmand/core/jni/ColorARGB.java index b303515d57..de4936fe25 100644 --- a/OsmAnd/src/net/osmand/core/jni/ColorARGB.java +++ b/OsmAnd/src/net/osmand/core/jni/ColorARGB.java @@ -39,12 +39,16 @@ public class ColorARGB { this(OsmAndCoreJNI.new_ColorARGB__SWIG_0(), true); } + public ColorARGB(long argb_) { + this(OsmAndCoreJNI.new_ColorARGB__SWIG_1(argb_), true); + } + public ColorARGB(short a_, short r_, short g_, short b_) { - this(OsmAndCoreJNI.new_ColorARGB__SWIG_1(a_, r_, g_, b_), true); + this(OsmAndCoreJNI.new_ColorARGB__SWIG_2(a_, r_, g_, b_), true); } public ColorARGB(FColorARGB other) { - this(OsmAndCoreJNI.new_ColorARGB__SWIG_2(FColorARGB.getCPtr(other), other), true); + this(OsmAndCoreJNI.new_ColorARGB__SWIG_3(FColorARGB.getCPtr(other), other), true); } public void setA(short value) { diff --git a/OsmAnd/src/net/osmand/core/jni/IMapRenderer.java b/OsmAnd/src/net/osmand/core/jni/IMapRenderer.java index f9441e30a1..bd9d9a0568 100644 --- a/OsmAnd/src/net/osmand/core/jni/IMapRenderer.java +++ b/OsmAnd/src/net/osmand/core/jni/IMapRenderer.java @@ -84,6 +84,10 @@ public class IMapRenderer { return OsmAndCoreJNI.IMapRenderer_isIdle(swigCPtr, this); } + public String getNotIdleReason() { + return OsmAndCoreJNI.IMapRenderer_getNotIdleReason(swigCPtr, this); + } + public boolean pauseGpuWorkerThread() { return OsmAndCoreJNI.IMapRenderer_pauseGpuWorkerThread(swigCPtr, this); } diff --git a/OsmAnd/src/net/osmand/core/jni/IMapStylesCollection.java b/OsmAnd/src/net/osmand/core/jni/IMapStylesCollection.java index 5624667d47..e161ed39ff 100644 --- a/OsmAnd/src/net/osmand/core/jni/IMapStylesCollection.java +++ b/OsmAnd/src/net/osmand/core/jni/IMapStylesCollection.java @@ -35,22 +35,17 @@ public class IMapStylesCollection { } } - public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStyle_const_t_t getCollection() { - return new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStyle_const_t_t(OsmAndCoreJNI.IMapStylesCollection_getCollection(swigCPtr, this), true); + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t getCollection() { + return new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t(OsmAndCoreJNI.IMapStylesCollection_getCollection(swigCPtr, this), true); } - public MapStyle getAsIsStyle(String name) { - long cPtr = OsmAndCoreJNI.IMapStylesCollection_getAsIsStyle(swigCPtr, this, name); - return (cPtr == 0) ? null : new MapStyle(cPtr, true); + public SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t getStyleByName(String name) { + return new SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t(OsmAndCoreJNI.IMapStylesCollection_getStyleByName(swigCPtr, this, name), true); } - public boolean obtainBakedStyle(String name, MapStyle outStyle) { - return OsmAndCoreJNI.IMapStylesCollection_obtainBakedStyle(swigCPtr, this, name, MapStyle.getCPtr(outStyle), outStyle); - } - - public MapStyle getBakedStyle(String name) { - long cPtr = OsmAndCoreJNI.IMapStylesCollection_getBakedStyle(swigCPtr, this, name); - return (cPtr == 0) ? null : new MapStyle(cPtr, true); + public ResolvedMapStyle getResolvedStyleByName(String name) { + long cPtr = OsmAndCoreJNI.IMapStylesCollection_getResolvedStyleByName(swigCPtr, this, name); + return (cPtr == 0) ? null : new ResolvedMapStyle(cPtr, true); } } diff --git a/OsmAnd/src/net/osmand/core/jni/MapPresentationEnvironment.java b/OsmAnd/src/net/osmand/core/jni/MapPresentationEnvironment.java index f2df80a147..fd18f6491f 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapPresentationEnvironment.java +++ b/OsmAnd/src/net/osmand/core/jni/MapPresentationEnvironment.java @@ -35,20 +35,24 @@ public class MapPresentationEnvironment { } } - public MapPresentationEnvironment(MapStyle style, float displayDensityFactor, String localeLanguageId, ICoreResourcesProvider externalResourcesProvider) { - this(OsmAndCoreJNI.new_MapPresentationEnvironment__SWIG_0(MapStyle.getCPtr(style), style, displayDensityFactor, localeLanguageId, ICoreResourcesProvider.getCPtr(externalResourcesProvider), externalResourcesProvider), true); + public MapPresentationEnvironment(ResolvedMapStyle resolvedStyle, float displayDensityFactor, String localeLanguageId, MapPresentationEnvironment.LanguagePreference languagePreference, ICoreResourcesProvider externalResourcesProvider) { + this(OsmAndCoreJNI.new_MapPresentationEnvironment__SWIG_0(ResolvedMapStyle.getCPtr(resolvedStyle), resolvedStyle, displayDensityFactor, localeLanguageId, languagePreference.swigValue(), ICoreResourcesProvider.getCPtr(externalResourcesProvider), externalResourcesProvider), true); } - public MapPresentationEnvironment(MapStyle style, float displayDensityFactor, String localeLanguageId) { - this(OsmAndCoreJNI.new_MapPresentationEnvironment__SWIG_1(MapStyle.getCPtr(style), style, displayDensityFactor, localeLanguageId), true); + public MapPresentationEnvironment(ResolvedMapStyle resolvedStyle, float displayDensityFactor, String localeLanguageId, MapPresentationEnvironment.LanguagePreference languagePreference) { + this(OsmAndCoreJNI.new_MapPresentationEnvironment__SWIG_1(ResolvedMapStyle.getCPtr(resolvedStyle), resolvedStyle, displayDensityFactor, localeLanguageId, languagePreference.swigValue()), true); } - public MapPresentationEnvironment(MapStyle style, float displayDensityFactor) { - this(OsmAndCoreJNI.new_MapPresentationEnvironment__SWIG_2(MapStyle.getCPtr(style), style, displayDensityFactor), true); + public MapPresentationEnvironment(ResolvedMapStyle resolvedStyle, float displayDensityFactor, String localeLanguageId) { + this(OsmAndCoreJNI.new_MapPresentationEnvironment__SWIG_2(ResolvedMapStyle.getCPtr(resolvedStyle), resolvedStyle, displayDensityFactor, localeLanguageId), true); } - public MapPresentationEnvironment(MapStyle style) { - this(OsmAndCoreJNI.new_MapPresentationEnvironment__SWIG_3(MapStyle.getCPtr(style), style), true); + public MapPresentationEnvironment(ResolvedMapStyle resolvedStyle, float displayDensityFactor) { + this(OsmAndCoreJNI.new_MapPresentationEnvironment__SWIG_3(ResolvedMapStyle.getCPtr(resolvedStyle), resolvedStyle, displayDensityFactor), true); + } + + public MapPresentationEnvironment(ResolvedMapStyle resolvedStyle) { + this(OsmAndCoreJNI.new_MapPresentationEnvironment__SWIG_4(ResolvedMapStyle.getCPtr(resolvedStyle), resolvedStyle), true); } public MapStyleBuiltinValueDefinitions getStyleBuiltinValueDefs() { @@ -56,9 +60,9 @@ public class MapPresentationEnvironment { return (cPtr == 0) ? null : new MapStyleBuiltinValueDefinitions(cPtr, true); } - public MapStyle getStyle() { - long cPtr = OsmAndCoreJNI.MapPresentationEnvironment_style_get(swigCPtr, this); - return (cPtr == 0) ? null : new MapStyle(cPtr, true); + public ResolvedMapStyle getResolvedStyle() { + long cPtr = OsmAndCoreJNI.MapPresentationEnvironment_resolvedStyle_get(swigCPtr, this); + return (cPtr == 0) ? null : new ResolvedMapStyle(cPtr, true); } public float getDisplayDensityFactor() { @@ -69,6 +73,10 @@ public class MapPresentationEnvironment { return OsmAndCoreJNI.MapPresentationEnvironment_localeLanguageId_get(swigCPtr, this); } + public MapPresentationEnvironment.LanguagePreference getLanguagePreference() { + return MapPresentationEnvironment.LanguagePreference.swigToEnum(OsmAndCoreJNI.MapPresentationEnvironment_languagePreference_get(swigCPtr, this)); + } + public ICoreResourcesProvider getExternalResourcesProvider() { long cPtr = OsmAndCoreJNI.MapPresentationEnvironment_externalResourcesProvider_get(swigCPtr, this); return (cPtr == 0) ? null : new ICoreResourcesProvider(cPtr, true); @@ -78,12 +86,12 @@ public class MapPresentationEnvironment { return new SWIGTYPE_p_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_const_t(OsmAndCoreJNI.MapPresentationEnvironment_dummyMapSection_get(swigCPtr, this), false); } - public SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapStyleValueDefinition_const_t_OsmAnd__MapStyleValue_t getSettings() { - return new SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapStyleValueDefinition_const_t_OsmAnd__MapStyleValue_t(OsmAndCoreJNI.MapPresentationEnvironment_getSettings(swigCPtr, this), true); + public SWIGTYPE_p_QHashT_int_OsmAnd__MapStyleConstantValue_t getSettings() { + return new SWIGTYPE_p_QHashT_int_OsmAnd__MapStyleConstantValue_t(OsmAndCoreJNI.MapPresentationEnvironment_getSettings(swigCPtr, this), true); } - public void setSettings(SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapStyleValueDefinition_const_t_OsmAnd__MapStyleValue_t newSettings) { - OsmAndCoreJNI.MapPresentationEnvironment_setSettings__SWIG_0(swigCPtr, this, SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapStyleValueDefinition_const_t_OsmAnd__MapStyleValue_t.getCPtr(newSettings)); + public void setSettings(SWIGTYPE_p_QHashT_int_OsmAnd__MapStyleConstantValue_t newSettings) { + OsmAndCoreJNI.MapPresentationEnvironment_setSettings__SWIG_0(swigCPtr, this, SWIGTYPE_p_QHashT_int_OsmAnd__MapStyleConstantValue_t.getCPtr(newSettings)); } public void setSettings(SWIGTYPE_p_QHashT_QString_QString_t newSettings) { @@ -130,6 +138,52 @@ public class MapPresentationEnvironment { return OsmAndCoreJNI.MapPresentationEnvironment_getRoadsDensityLimitPerTile(swigCPtr, this, zoom.swigValue()); } + public enum LanguagePreference { + NativeOnly, + LocalizedOrNative, + NativeAndLocalized, + NativeAndLocalizedOrTransliterated, + LocalizedAndNative, + LocalizedOrTransliteratedAndNative; + + public final int swigValue() { + return swigValue; + } + + public static LanguagePreference swigToEnum(int swigValue) { + LanguagePreference[] swigValues = LanguagePreference.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (LanguagePreference swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + LanguagePreference.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private LanguagePreference() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private LanguagePreference(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private LanguagePreference(LanguagePreference swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } + } + public final static int DefaultShadowLevelMin = OsmAndCoreJNI.MapPresentationEnvironment_DefaultShadowLevelMin_get(); public final static int DefaultShadowLevelMax = OsmAndCoreJNI.MapPresentationEnvironment_DefaultShadowLevelMax_get(); diff --git a/OsmAnd/src/net/osmand/core/jni/MapRendererStateChanges.java b/OsmAnd/src/net/osmand/core/jni/MapRendererStateChanges.java index 0f99539309..691d2bbb88 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapRendererStateChanges.java +++ b/OsmAnd/src/net/osmand/core/jni/MapRendererStateChanges.java @@ -59,4 +59,8 @@ public class MapRendererStateChanges { return new SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT(OsmAndCoreJNI.MapRendererStateChanges_unset(swigCPtr, this, flag.swigValue()), false); } + public SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT unite(SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT otherMask) { + return new SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT(OsmAndCoreJNI.MapRendererStateChanges_unite(swigCPtr, this, SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT.getCPtr(otherMask)), false); + } + } diff --git a/OsmAnd/src/net/osmand/core/jni/MapStyle.java b/OsmAnd/src/net/osmand/core/jni/MapStyle.java deleted file mode 100644 index cbacc2df88..0000000000 --- a/OsmAnd/src/net/osmand/core/jni/MapStyle.java +++ /dev/null @@ -1,116 +0,0 @@ -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 3.0.3 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -package net.osmand.core.jni; - -public class MapStyle { - private long swigCPtr; - private boolean swigCMemOwn; - - protected MapStyle(long cPtr, boolean cMemoryOwn) { - swigCMemOwn = cMemoryOwn; - swigCPtr = cPtr; - } - - protected static long getCPtr(MapStyle obj) { - return (obj == null) ? 0 : obj.swigCPtr; - } - - protected void finalize() { - delete(); - } - - public synchronized void delete() { - if (swigCPtr != 0) { - if (swigCMemOwn) { - swigCMemOwn = false; - OsmAndCoreJNI.delete_MapStyle(swigCPtr); - } - swigCPtr = 0; - } - } - - public MapStyle(IMapStylesCollection collection, String name, SWIGTYPE_p_std__shared_ptrT_QIODevice_t source) { - this(OsmAndCoreJNI.new_MapStyle__SWIG_0(IMapStylesCollection.getCPtr(collection), collection, name, SWIGTYPE_p_std__shared_ptrT_QIODevice_t.getCPtr(source)), true); - } - - public MapStyle(IMapStylesCollection collection, String name, String fileName) { - this(OsmAndCoreJNI.new_MapStyle__SWIG_1(IMapStylesCollection.getCPtr(collection), collection, name, fileName), true); - } - - public MapStyle(IMapStylesCollection collection, String fileName) { - this(OsmAndCoreJNI.new_MapStyle__SWIG_2(IMapStylesCollection.getCPtr(collection), collection, fileName), true); - } - - public IMapStylesCollection getCollection() { - long cPtr = OsmAndCoreJNI.MapStyle_collection_get(swigCPtr, this); - return (cPtr == 0) ? null : new IMapStylesCollection(cPtr, true); - } - - public boolean isMetadataLoaded() { - return OsmAndCoreJNI.MapStyle_isMetadataLoaded(swigCPtr, this); - } - - public boolean loadMetadata() { - return OsmAndCoreJNI.MapStyle_loadMetadata(swigCPtr, this); - } - - public String getTitle() { - return OsmAndCoreJNI.MapStyle_title_get(swigCPtr, this); - } - - public String getName() { - return OsmAndCoreJNI.MapStyle_name_get(swigCPtr, this); - } - - public String getParentName() { - return OsmAndCoreJNI.MapStyle_parentName_get(swigCPtr, this); - } - - public boolean isStandalone() { - return OsmAndCoreJNI.MapStyle_isStandalone(swigCPtr, this); - } - - public boolean isLoaded() { - return OsmAndCoreJNI.MapStyle_isLoaded(swigCPtr, this); - } - - public boolean load() { - return OsmAndCoreJNI.MapStyle_load(swigCPtr, this); - } - - public boolean resolveValueDefinition(String name, MapStyleValueDefinition outDefinition) { - return OsmAndCoreJNI.MapStyle_resolveValueDefinition(swigCPtr, this, name, MapStyleValueDefinition.getCPtr(outDefinition), outDefinition); - } - - public boolean resolveAttribute(String name, MapStyleRule outAttribute) { - return OsmAndCoreJNI.MapStyle_resolveAttribute(swigCPtr, this, name, MapStyleRule.getCPtr(outAttribute), outAttribute); - } - - public void dump(String prefix) { - OsmAndCoreJNI.MapStyle_dump__SWIG_0(swigCPtr, this, prefix); - } - - public void dump() { - OsmAndCoreJNI.MapStyle_dump__SWIG_1(swigCPtr, this); - } - - public void dump(MapStyleRulesetType type, String prefix) { - OsmAndCoreJNI.MapStyle_dump__SWIG_2(swigCPtr, this, type.swigValue(), prefix); - } - - public void dump(MapStyleRulesetType type) { - OsmAndCoreJNI.MapStyle_dump__SWIG_3(swigCPtr, this, type.swigValue()); - } - - public static MapStyleBuiltinValueDefinitions getBuiltinValueDefinitions() { - long cPtr = OsmAndCoreJNI.MapStyle_getBuiltinValueDefinitions(); - return (cPtr == 0) ? null : new MapStyleBuiltinValueDefinitions(cPtr, true); - } - -} diff --git a/OsmAnd/src/net/osmand/core/jni/MapStyleBuiltinValueDefinitions.java b/OsmAnd/src/net/osmand/core/jni/MapStyleBuiltinValueDefinitions.java index 99efc2ebda..0d49aeb908 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapStyleBuiltinValueDefinitions.java +++ b/OsmAnd/src/net/osmand/core/jni/MapStyleBuiltinValueDefinitions.java @@ -35,4 +35,48 @@ public class MapStyleBuiltinValueDefinitions { } } + static public class MapStyleBuiltinValueDefinition extends MapStyleValueDefinition { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected MapStyleBuiltinValueDefinition(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.MapStyleBuiltinValueDefinitions_MapStyleBuiltinValueDefinition_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(MapStyleBuiltinValueDefinition obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_MapStyleBuiltinValueDefinitions_MapStyleBuiltinValueDefinition(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public int getId() { + return OsmAndCoreJNI.MapStyleBuiltinValueDefinitions_MapStyleBuiltinValueDefinition_id_get(swigCPtr, this); + } + + } + + public static MapStyleBuiltinValueDefinitions get() { + long cPtr = OsmAndCoreJNI.MapStyleBuiltinValueDefinitions_get(); + return (cPtr == 0) ? null : new MapStyleBuiltinValueDefinitions(cPtr, true); + } + + public int getLastBuiltinValueDefinitionId() { + return OsmAndCoreJNI.MapStyleBuiltinValueDefinitions_lastBuiltinValueDefinitionId_get(swigCPtr, this); + } + } diff --git a/OsmAnd/src/net/osmand/core/jni/MapStyleConstantValue.java b/OsmAnd/src/net/osmand/core/jni/MapStyleConstantValue.java new file mode 100644 index 0000000000..70a29a4d29 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/MapStyleConstantValue.java @@ -0,0 +1,62 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class MapStyleConstantValue { + private long swigCPtr; + private boolean swigCMemOwn; + + protected MapStyleConstantValue(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(MapStyleConstantValue obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_MapStyleConstantValue(swigCPtr); + } + swigCPtr = 0; + } + } + + public MapStyleConstantValue() { + this(OsmAndCoreJNI.new_MapStyleConstantValue(), true); + } + + public void setIsComplex(boolean value) { + OsmAndCoreJNI.MapStyleConstantValue_isComplex_set(swigCPtr, this, value); + } + + public boolean getIsComplex() { + return OsmAndCoreJNI.MapStyleConstantValue_isComplex_get(swigCPtr, this); + } + + public static boolean parse(String input, MapStyleValueDataType dataType, boolean isComplex, MapStyleConstantValue outValue) { + return OsmAndCoreJNI.MapStyleConstantValue_parse(input, dataType.swigValue(), isComplex, MapStyleConstantValue.getCPtr(outValue), outValue); + } + + public static MapStyleConstantValue fromSimpleUInt(long input) { + return new MapStyleConstantValue(OsmAndCoreJNI.MapStyleConstantValue_fromSimpleUInt(input), true); + } + + public String toString(MapStyleValueDataType dataType) { + return OsmAndCoreJNI.MapStyleConstantValue_toString(swigCPtr, this, dataType.swigValue()); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/MapStyleRule.java b/OsmAnd/src/net/osmand/core/jni/MapStyleRule.java deleted file mode 100644 index e3b731f653..0000000000 --- a/OsmAnd/src/net/osmand/core/jni/MapStyleRule.java +++ /dev/null @@ -1,51 +0,0 @@ -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 3.0.3 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -package net.osmand.core.jni; - -public class MapStyleRule { - private long swigCPtr; - private boolean swigCMemOwn; - - protected MapStyleRule(long cPtr, boolean cMemoryOwn) { - swigCMemOwn = cMemoryOwn; - swigCPtr = cPtr; - } - - protected static long getCPtr(MapStyleRule obj) { - return (obj == null) ? 0 : obj.swigCPtr; - } - - protected void finalize() { - delete(); - } - - public synchronized void delete() { - if (swigCPtr != 0) { - if (swigCMemOwn) { - swigCMemOwn = false; - OsmAndCoreJNI.delete_MapStyleRule(swigCPtr); - } - swigCPtr = 0; - } - } - - public MapStyle getOwner() { - long cPtr = OsmAndCoreJNI.MapStyleRule_owner_get(swigCPtr, this); - return (cPtr == 0) ? null : new MapStyle(cPtr, true); - } - - public void dump(String prefix) { - OsmAndCoreJNI.MapStyleRule_dump__SWIG_0(swigCPtr, this, prefix); - } - - public void dump() { - OsmAndCoreJNI.MapStyleRule_dump__SWIG_1(swigCPtr, this); - } - -} diff --git a/OsmAnd/src/net/osmand/core/jni/MapStyleRulesetType.java b/OsmAnd/src/net/osmand/core/jni/MapStyleRulesetType.java index 6bc4f776bd..8f0941b321 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapStyleRulesetType.java +++ b/OsmAnd/src/net/osmand/core/jni/MapStyleRulesetType.java @@ -10,11 +10,12 @@ package net.osmand.core.jni; public enum MapStyleRulesetType { Invalid(OsmAndCoreJNI.MapStyleRulesetType_Invalid_get()), - Point(OsmAndCoreJNI.MapStyleRulesetType_Point_get()), - Polyline(OsmAndCoreJNI.MapStyleRulesetType_Polyline_get()), - Polygon(OsmAndCoreJNI.MapStyleRulesetType_Polygon_get()), - Text(OsmAndCoreJNI.MapStyleRulesetType_Text_get()), - Order(OsmAndCoreJNI.MapStyleRulesetType_Order_get()); + Point, + Polyline, + Polygon, + Text, + Order, + __LAST; public final int swigValue() { return swigValue; diff --git a/OsmAnd/src/net/osmand/core/jni/MapStyleValue.java b/OsmAnd/src/net/osmand/core/jni/MapStyleValue.java deleted file mode 100644 index dbd90c9569..0000000000 --- a/OsmAnd/src/net/osmand/core/jni/MapStyleValue.java +++ /dev/null @@ -1,50 +0,0 @@ -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 3.0.3 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -package net.osmand.core.jni; - -public class MapStyleValue { - private long swigCPtr; - private boolean swigCMemOwn; - - protected MapStyleValue(long cPtr, boolean cMemoryOwn) { - swigCMemOwn = cMemoryOwn; - swigCPtr = cPtr; - } - - protected static long getCPtr(MapStyleValue obj) { - return (obj == null) ? 0 : obj.swigCPtr; - } - - protected void finalize() { - delete(); - } - - public synchronized void delete() { - if (swigCPtr != 0) { - if (swigCMemOwn) { - swigCMemOwn = false; - OsmAndCoreJNI.delete_MapStyleValue(swigCPtr); - } - swigCPtr = 0; - } - } - - public MapStyleValue() { - this(OsmAndCoreJNI.new_MapStyleValue(), true); - } - - public void setIsComplex(boolean value) { - OsmAndCoreJNI.MapStyleValue_isComplex_set(swigCPtr, this, value); - } - - public boolean getIsComplex() { - return OsmAndCoreJNI.MapStyleValue_isComplex_get(swigCPtr, this); - } - -} diff --git a/OsmAnd/src/net/osmand/core/jni/MapStyleValueClass.java b/OsmAnd/src/net/osmand/core/jni/MapStyleValueClass.java deleted file mode 100644 index 505f67844e..0000000000 --- a/OsmAnd/src/net/osmand/core/jni/MapStyleValueClass.java +++ /dev/null @@ -1,52 +0,0 @@ -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 3.0.3 - * - * Do not make changes to this file unless you know what you are doing--modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ - -package net.osmand.core.jni; - -public enum MapStyleValueClass { - Input, - Output; - - public final int swigValue() { - return swigValue; - } - - public static MapStyleValueClass swigToEnum(int swigValue) { - MapStyleValueClass[] swigValues = MapStyleValueClass.class.getEnumConstants(); - if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) - return swigValues[swigValue]; - for (MapStyleValueClass swigEnum : swigValues) - if (swigEnum.swigValue == swigValue) - return swigEnum; - throw new IllegalArgumentException("No enum " + MapStyleValueClass.class + " with value " + swigValue); - } - - @SuppressWarnings("unused") - private MapStyleValueClass() { - this.swigValue = SwigNext.next++; - } - - @SuppressWarnings("unused") - private MapStyleValueClass(int swigValue) { - this.swigValue = swigValue; - SwigNext.next = swigValue+1; - } - - @SuppressWarnings("unused") - private MapStyleValueClass(MapStyleValueClass swigEnum) { - this.swigValue = swigEnum.swigValue; - SwigNext.next = this.swigValue+1; - } - - private final int swigValue; - - private static class SwigNext { - private static int next = 0; - } -} - diff --git a/OsmAnd/src/net/osmand/core/jni/MapStyleValueDefinition.java b/OsmAnd/src/net/osmand/core/jni/MapStyleValueDefinition.java index d23b8f74c1..9999f16de5 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapStyleValueDefinition.java +++ b/OsmAnd/src/net/osmand/core/jni/MapStyleValueDefinition.java @@ -35,12 +35,12 @@ public class MapStyleValueDefinition { } } - public int getId() { - return OsmAndCoreJNI.MapStyleValueDefinition_id_get(swigCPtr, this); + public MapStyleValueDefinition(MapStyleValueDefinition.Class valueClass, MapStyleValueDataType dataType, String name, boolean isComplex) { + this(OsmAndCoreJNI.new_MapStyleValueDefinition(valueClass.swigValue(), dataType.swigValue(), name, isComplex), true); } - public MapStyleValueClass getValueClass() { - return MapStyleValueClass.swigToEnum(OsmAndCoreJNI.MapStyleValueDefinition_valueClass_get(swigCPtr, this)); + public MapStyleValueDefinition.Class getValueClass() { + return MapStyleValueDefinition.Class.swigToEnum(OsmAndCoreJNI.MapStyleValueDefinition_valueClass_get(swigCPtr, this)); } public MapStyleValueDataType getDataType() { @@ -55,4 +55,46 @@ public class MapStyleValueDefinition { return OsmAndCoreJNI.MapStyleValueDefinition_isComplex_get(swigCPtr, this); } + public enum Class { + Input, + Output; + + public final int swigValue() { + return swigValue; + } + + public static Class swigToEnum(int swigValue) { + Class[] swigValues = Class.class.getEnumConstants(); + if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue) + return swigValues[swigValue]; + for (Class swigEnum : swigValues) + if (swigEnum.swigValue == swigValue) + return swigEnum; + throw new IllegalArgumentException("No enum " + Class.class + " with value " + swigValue); + } + + @SuppressWarnings("unused") + private Class() { + this.swigValue = SwigNext.next++; + } + + @SuppressWarnings("unused") + private Class(int swigValue) { + this.swigValue = swigValue; + SwigNext.next = swigValue+1; + } + + @SuppressWarnings("unused") + private Class(Class swigEnum) { + this.swigValue = swigEnum.swigValue; + SwigNext.next = this.swigValue+1; + } + + private final int swigValue; + + private static class SwigNext { + private static int next = 0; + } + } + } diff --git a/OsmAnd/src/net/osmand/core/jni/MapStylesCollection.java b/OsmAnd/src/net/osmand/core/jni/MapStylesCollection.java index 868f9b9df1..c30839a348 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapStylesCollection.java +++ b/OsmAnd/src/net/osmand/core/jni/MapStylesCollection.java @@ -41,21 +41,21 @@ public class MapStylesCollection extends IMapStylesCollection { this(OsmAndCoreJNI.new_MapStylesCollection(), true); } - public boolean registerStyle(String filePath) { - return OsmAndCoreJNI.MapStylesCollection_registerStyle(swigCPtr, this, filePath); + public boolean addStyleFromFile(String filePath) { + return OsmAndCoreJNI.MapStylesCollection_addStyleFromFile(swigCPtr, this, filePath); } - public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStyle_const_t_t getCollection() { - return new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStyle_const_t_t(OsmAndCoreJNI.MapStylesCollection_getCollection(swigCPtr, this), true); + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t getCollection() { + return new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t(OsmAndCoreJNI.MapStylesCollection_getCollection(swigCPtr, this), true); } - public MapStyle getAsIsStyle(String name) { - long cPtr = OsmAndCoreJNI.MapStylesCollection_getAsIsStyle(swigCPtr, this, name); - return (cPtr == 0) ? null : new MapStyle(cPtr, true); + public SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t getStyleByName(String name) { + return new SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t(OsmAndCoreJNI.MapStylesCollection_getStyleByName(swigCPtr, this, name), true); } - public boolean obtainBakedStyle(String name, MapStyle outStyle) { - return OsmAndCoreJNI.MapStylesCollection_obtainBakedStyle(swigCPtr, this, name, MapStyle.getCPtr(outStyle), outStyle); + public ResolvedMapStyle getResolvedStyleByName(String name) { + long cPtr = OsmAndCoreJNI.MapStylesCollection_getResolvedStyleByName(swigCPtr, this, name); + return (cPtr == 0) ? null : new ResolvedMapStyle(cPtr, true); } } diff --git a/OsmAnd/src/net/osmand/core/jni/MapSymbol.java b/OsmAnd/src/net/osmand/core/jni/MapSymbol.java index bfdb5871a8..2f4b46d54e 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapSymbol.java +++ b/OsmAnd/src/net/osmand/core/jni/MapSymbol.java @@ -73,14 +73,6 @@ public class MapSymbol { return new SWIGTYPE_p_QSetT_int_t(OsmAndCoreJNI.MapSymbol_intersectsWithClasses_get(swigCPtr, this), true); } - public void setIntersectedByClasses(SWIGTYPE_p_QSetT_int_t value) { - OsmAndCoreJNI.MapSymbol_intersectedByClasses_set(swigCPtr, this, SWIGTYPE_p_QSetT_int_t.getCPtr(value)); - } - - public SWIGTYPE_p_QSetT_int_t getIntersectedByClasses() { - return new SWIGTYPE_p_QSetT_int_t(OsmAndCoreJNI.MapSymbol_intersectedByClasses_get(swigCPtr, this), true); - } - public void setIsHidden(boolean value) { OsmAndCoreJNI.MapSymbol_isHidden_set(swigCPtr, this, value); } diff --git a/OsmAnd/src/net/osmand/core/jni/OsmAndCoreConstants.java b/OsmAnd/src/net/osmand/core/jni/OsmAndCoreConstants.java index 670388597e..4051c2b106 100644 --- a/OsmAnd/src/net/osmand/core/jni/OsmAndCoreConstants.java +++ b/OsmAnd/src/net/osmand/core/jni/OsmAndCoreConstants.java @@ -14,6 +14,8 @@ public interface OsmAndCoreConstants { public final static int RoutingDataLevelsCount = OsmAndCoreJNI.RoutingDataLevelsCount_get(); + public final static int MapStyleRulesetTypesCount = OsmAndCoreJNI.MapStyleRulesetTypesCount_get(); + public final static int RasterMapLayersCount = OsmAndCoreJNI.RasterMapLayersCount_get(); } diff --git a/OsmAnd/src/net/osmand/core/jni/OsmAndCoreJNI.java b/OsmAnd/src/net/osmand/core/jni/OsmAndCoreJNI.java index 3420fca6b7..ab8f3617d5 100644 --- a/OsmAnd/src/net/osmand/core/jni/OsmAndCoreJNI.java +++ b/OsmAnd/src/net/osmand/core/jni/OsmAndCoreJNI.java @@ -51,6 +51,8 @@ public class OsmAndCoreJNI { public final static native long SwigUtilities_readEntireFile(String jarg1); public final static native long SwigUtilities_readPartOfFile(String jarg1, long jarg2, long jarg3); public final static native long SwigUtilities_emptyQByteArray(); + public final static native long SwigUtilities_qDecompress(long jarg1); + public final static native long SwigUtilities_createSkBitmapARGB888With(long jarg1, long jarg2, long jarg3, long jarg4); public final static native int OSMAND_DEBUG_get(); public final static native boolean InitializeCore(long jarg1, ICoreResourcesProvider jarg1_); public final static native long getCoreResourcesProvider(); @@ -110,8 +112,9 @@ public class OsmAndCoreJNI { public final static native long FColorRGB_withAlpha(long jarg1, FColorRGB jarg1_, float jarg2); public final static native void delete_FColorRGB(long jarg1); public final static native long new_ColorARGB__SWIG_0(); - public final static native long new_ColorARGB__SWIG_1(short jarg1, short jarg2, short jarg3, short jarg4); - public final static native long new_ColorARGB__SWIG_2(long jarg1, FColorARGB jarg1_); + public final static native long new_ColorARGB__SWIG_1(long jarg1); + public final static native long new_ColorARGB__SWIG_2(short jarg1, short jarg2, short jarg3, short jarg4); + public final static native long new_ColorARGB__SWIG_3(long jarg1, FColorARGB jarg1_); public final static native void ColorARGB_a_set(long jarg1, ColorARGB jarg1_, short jarg2); public final static native short ColorARGB_a_get(long jarg1, ColorARGB jarg1_); public final static native void ColorARGB_r_set(long jarg1, ColorARGB jarg1_, short jarg2); @@ -289,6 +292,7 @@ public class OsmAndCoreJNI { public final static native boolean MapRendererStateChanges_isSet(long jarg1, MapRendererStateChanges jarg1_, int jarg2); public final static native long MapRendererStateChanges_set(long jarg1, MapRendererStateChanges jarg1_, int jarg2); public final static native long MapRendererStateChanges_unset(long jarg1, MapRendererStateChanges jarg1_, int jarg2); + public final static native long MapRendererStateChanges_unite(long jarg1, MapRendererStateChanges jarg1_, long jarg2); public final static native void delete_IObfsCollection(long jarg1); public final static native long IObfsCollection_getObfFiles(long jarg1, IObfsCollection jarg1_); public final static native long IObfsCollection_obtainDataInterface(long jarg1, IObfsCollection jarg1_); @@ -351,7 +355,7 @@ public class OsmAndCoreJNI { public final static native long new_ResourcesManager_ObfMetadata(long jarg1, ObfFile jarg1_); public final static native void delete_ResourcesManager_ObfMetadata(long jarg1); public final static native long ResourcesManager_ObfMetadata_obfFile_get(long jarg1, ResourcesManager.ObfMetadata jarg1_); - public final static native long new_ResourcesManager_MapStyleMetadata(long jarg1, MapStyle jarg1_); + public final static native long new_ResourcesManager_MapStyleMetadata(long jarg1); public final static native void delete_ResourcesManager_MapStyleMetadata(long jarg1); public final static native long ResourcesManager_MapStyleMetadata_mapStyle_get(long jarg1, ResourcesManager.MapStyleMetadata jarg1_); public final static native long new_ResourcesManager_MapStylesPresetsMetadata(long jarg1, MapStylesPresetsCollection jarg1_); @@ -504,12 +508,7 @@ public class OsmAndCoreJNI { public final static native double Utilities_getMetersPerTileUnit(float jarg1, double jarg2, double jarg3); public final static native long Utilities_normalizeTileId(long jarg1, TileId jarg1_, int jarg2); public final static native long Utilities_normalizeCoordinates(long jarg1, PointI jarg1_, int jarg2); - public final static native int Utilities_CHCode_Inside_get(); public final static native int Utilities_CHCode_Left_get(); - public final static native int Utilities_CHCode_Right_get(); - public final static native int Utilities_CHCode_Bottom_get(); - public final static native int Utilities_CHCode_Top_get(); - public final static native short Utilities_computeCohenSutherlandCode(long jarg1, PointI jarg1_, long jarg2, AreaI jarg2_); public final static native boolean Utilities_extractFirstNumberPosition(String jarg1, long jarg2, long jarg3, boolean jarg4, boolean jarg5); public final static native double Utilities_parseSpeed__SWIG_0(String jarg1, double jarg2, long jarg3); public final static native double Utilities_parseSpeed__SWIG_1(String jarg1, double jarg2); @@ -575,6 +574,19 @@ public class OsmAndCoreJNI { public final static native long ObfInfo_poiSections_get(long jarg1, ObfInfo jarg1_); public final static native long ObfInfo_transportSections_get(long jarg1, ObfInfo jarg1_); public final static native int MapFoundationType_Undefined_get(); + public final static native int MapStyleRulesetType_Invalid_get(); + public final static native int MapStyleRulesetTypesCount_get(); + public final static native int RasterMapLayerId_Invalid_get(); + public final static native int RasterMapLayersCount_get(); + public final static native void TagValueId_id_set(long jarg1, TagValueId jarg1_, java.math.BigInteger jarg2); + public final static native java.math.BigInteger TagValueId_id_get(long jarg1, TagValueId jarg1_); + public final static native void TagValueId_tagId_set(long jarg1, TagValueId jarg1_, int jarg2); + public final static native int TagValueId_tagId_get(long jarg1, TagValueId jarg1_); + public final static native void TagValueId_valueId_set(long jarg1, TagValueId jarg1_, int jarg2); + public final static native int TagValueId_valueId_get(long jarg1, TagValueId jarg1_); + public final static native long TagValueId_compose(int jarg1, int jarg2); + public final static native long new_TagValueId(); + public final static native void delete_TagValueId(long jarg1); public final static native int MapSymbol_ContentClass_Unknown_get(); public final static native void delete_MapSymbol(long jarg1); public final static native long MapSymbol_group_get(long jarg1, MapSymbol jarg1_); @@ -586,8 +598,6 @@ public class OsmAndCoreJNI { public final static native int MapSymbol_contentClass_get(long jarg1, MapSymbol jarg1_); public final static native void MapSymbol_intersectsWithClasses_set(long jarg1, MapSymbol jarg1_, long jarg2); public final static native long MapSymbol_intersectsWithClasses_get(long jarg1, MapSymbol jarg1_); - public final static native void MapSymbol_intersectedByClasses_set(long jarg1, MapSymbol jarg1_, long jarg2); - public final static native long MapSymbol_intersectedByClasses_get(long jarg1, MapSymbol jarg1_); public final static native void MapSymbol_isHidden_set(long jarg1, MapSymbol jarg1_, boolean jarg2); public final static native boolean MapSymbol_isHidden_get(long jarg1, MapSymbol jarg1_); public final static native void MapSymbol_modulationColor_set(long jarg1, MapSymbol jarg1_, long jarg2, FColorARGB jarg2_); @@ -647,15 +657,14 @@ public class OsmAndCoreJNI { public final static native long MapSymbolsGroup_additionalInstances_get(long jarg1, MapSymbolsGroup jarg1_); public final static native void delete_IMapStylesCollection(long jarg1); public final static native long IMapStylesCollection_getCollection(long jarg1, IMapStylesCollection jarg1_); - public final static native long IMapStylesCollection_getAsIsStyle(long jarg1, IMapStylesCollection jarg1_, String jarg2); - public final static native boolean IMapStylesCollection_obtainBakedStyle(long jarg1, IMapStylesCollection jarg1_, String jarg2, long jarg3, MapStyle jarg3_); - public final static native long IMapStylesCollection_getBakedStyle(long jarg1, IMapStylesCollection jarg1_, String jarg2); + public final static native long IMapStylesCollection_getStyleByName(long jarg1, IMapStylesCollection jarg1_, String jarg2); + public final static native long IMapStylesCollection_getResolvedStyleByName(long jarg1, IMapStylesCollection jarg1_, String jarg2); public final static native long new_MapStylesCollection(); public final static native void delete_MapStylesCollection(long jarg1); - public final static native boolean MapStylesCollection_registerStyle(long jarg1, MapStylesCollection jarg1_, String jarg2); + public final static native boolean MapStylesCollection_addStyleFromFile(long jarg1, MapStylesCollection jarg1_, String jarg2); public final static native long MapStylesCollection_getCollection(long jarg1, MapStylesCollection jarg1_); - public final static native long MapStylesCollection_getAsIsStyle(long jarg1, MapStylesCollection jarg1_, String jarg2); - public final static native boolean MapStylesCollection_obtainBakedStyle(long jarg1, MapStylesCollection jarg1_, String jarg2, long jarg3, MapStyle jarg3_); + public final static native long MapStylesCollection_getStyleByName(long jarg1, MapStylesCollection jarg1_, String jarg2); + public final static native long MapStylesCollection_getResolvedStyleByName(long jarg1, MapStylesCollection jarg1_, String jarg2); public final static native void delete_IMapStylesPresetsCollection(long jarg1); public final static native long IMapStylesPresetsCollection_getCollection(long jarg1, IMapStylesPresetsCollection jarg1_); public final static native long IMapStylesPresetsCollection_getCollectionFor(long jarg1, IMapStylesPresetsCollection jarg1_, String jarg2); @@ -672,47 +681,78 @@ public class OsmAndCoreJNI { public final static native long MapStylesPresetsCollection_getCollection__SWIG_0(long jarg1, MapStylesPresetsCollection jarg1_); public final static native long MapStylesPresetsCollection_getCollectionFor__SWIG_0(long jarg1, MapStylesPresetsCollection jarg1_, String jarg2); public final static native long MapStylesPresetsCollection_getPreset__SWIG_0(long jarg1, MapStylesPresetsCollection jarg1_, String jarg2, String jarg3); - public final static native void delete_MapStyleBuiltinValueDefinitions(long jarg1); - public final static native int MapStyleRulesetType_Invalid_get(); - public final static native int MapStyleRulesetType_Point_get(); - public final static native int MapStyleRulesetType_Polyline_get(); - public final static native int MapStyleRulesetType_Polygon_get(); - public final static native int MapStyleRulesetType_Text_get(); - public final static native int MapStyleRulesetType_Order_get(); - public final static native long new_MapStyle__SWIG_0(long jarg1, IMapStylesCollection jarg1_, String jarg2, long jarg3); - public final static native long new_MapStyle__SWIG_1(long jarg1, IMapStylesCollection jarg1_, String jarg2, String jarg3); - public final static native long new_MapStyle__SWIG_2(long jarg1, IMapStylesCollection jarg1_, String jarg2); - public final static native void delete_MapStyle(long jarg1); - public final static native long MapStyle_collection_get(long jarg1, MapStyle jarg1_); - public final static native boolean MapStyle_isMetadataLoaded(long jarg1, MapStyle jarg1_); - public final static native boolean MapStyle_loadMetadata(long jarg1, MapStyle jarg1_); - public final static native String MapStyle_title_get(long jarg1, MapStyle jarg1_); - public final static native String MapStyle_name_get(long jarg1, MapStyle jarg1_); - public final static native String MapStyle_parentName_get(long jarg1, MapStyle jarg1_); - public final static native boolean MapStyle_isStandalone(long jarg1, MapStyle jarg1_); - public final static native boolean MapStyle_isLoaded(long jarg1, MapStyle jarg1_); - public final static native boolean MapStyle_load(long jarg1, MapStyle jarg1_); - public final static native boolean MapStyle_resolveValueDefinition(long jarg1, MapStyle jarg1_, String jarg2, long jarg3, MapStyleValueDefinition jarg3_); - public final static native boolean MapStyle_resolveAttribute(long jarg1, MapStyle jarg1_, String jarg2, long jarg3, MapStyleRule jarg3_); - public final static native void MapStyle_dump__SWIG_0(long jarg1, MapStyle jarg1_, String jarg2); - public final static native void MapStyle_dump__SWIG_1(long jarg1, MapStyle jarg1_); - public final static native void MapStyle_dump__SWIG_2(long jarg1, MapStyle jarg1_, int jarg2, String jarg3); - public final static native void MapStyle_dump__SWIG_3(long jarg1, MapStyle jarg1_, int jarg2); - public final static native long MapStyle_getBuiltinValueDefinitions(); - public final static native void delete_MapStyleRule(long jarg1); - public final static native long MapStyleRule_owner_get(long jarg1, MapStyleRule jarg1_); - public final static native void MapStyleRule_dump__SWIG_0(long jarg1, MapStyleRule jarg1_, String jarg2); - public final static native void MapStyleRule_dump__SWIG_1(long jarg1, MapStyleRule jarg1_); + public final static native long new_MapStyleConstantValue(); + public final static native void delete_MapStyleConstantValue(long jarg1); + public final static native void MapStyleConstantValue_isComplex_set(long jarg1, MapStyleConstantValue jarg1_, boolean jarg2); + public final static native boolean MapStyleConstantValue_isComplex_get(long jarg1, MapStyleConstantValue jarg1_); + public final static native boolean MapStyleConstantValue_parse(String jarg1, int jarg2, boolean jarg3, long jarg4, MapStyleConstantValue jarg4_); + public final static native long MapStyleConstantValue_fromSimpleUInt(long jarg1); + public final static native String MapStyleConstantValue_toString(long jarg1, MapStyleConstantValue jarg1_, int jarg2); + public final static native long new_MapStyleValueDefinition(int jarg1, int jarg2, String jarg3, boolean jarg4); public final static native void delete_MapStyleValueDefinition(long jarg1); - public final static native int MapStyleValueDefinition_id_get(long jarg1, MapStyleValueDefinition jarg1_); public final static native int MapStyleValueDefinition_valueClass_get(long jarg1, MapStyleValueDefinition jarg1_); public final static native int MapStyleValueDefinition_dataType_get(long jarg1, MapStyleValueDefinition jarg1_); public final static native String MapStyleValueDefinition_name_get(long jarg1, MapStyleValueDefinition jarg1_); public final static native boolean MapStyleValueDefinition_isComplex_get(long jarg1, MapStyleValueDefinition jarg1_); - public final static native long new_MapStyleValue(); - public final static native void MapStyleValue_isComplex_set(long jarg1, MapStyleValue jarg1_, boolean jarg2); - public final static native boolean MapStyleValue_isComplex_get(long jarg1, MapStyleValue jarg1_); - public final static native void delete_MapStyleValue(long jarg1); + public final static native void delete_MapStyleBuiltinValueDefinitions_MapStyleBuiltinValueDefinition(long jarg1); + public final static native int MapStyleBuiltinValueDefinitions_MapStyleBuiltinValueDefinition_id_get(long jarg1, MapStyleBuiltinValueDefinitions.MapStyleBuiltinValueDefinition jarg1_); + public final static native void delete_MapStyleBuiltinValueDefinitions(long jarg1); + public final static native long MapStyleBuiltinValueDefinitions_get(); + public final static native int MapStyleBuiltinValueDefinitions_lastBuiltinValueDefinitionId_get(long jarg1, MapStyleBuiltinValueDefinitions jarg1_); + public final static native int ResolvedMapStyle_EmptyStringId_get(); + public final static native long new_ResolvedMapStyle_ResolvedValue(); + public final static native void delete_ResolvedMapStyle_ResolvedValue(long jarg1); + public final static native void ResolvedMapStyle_ResolvedValue_isDynamic_set(long jarg1, ResolvedMapStyle.ResolvedValue jarg1_, boolean jarg2); + public final static native boolean ResolvedMapStyle_ResolvedValue_isDynamic_get(long jarg1, ResolvedMapStyle.ResolvedValue jarg1_); + public final static native void ResolvedMapStyle_ResolvedValue_asConstantValue_set(long jarg1, ResolvedMapStyle.ResolvedValue jarg1_, long jarg2, MapStyleConstantValue jarg2_); + public final static native long ResolvedMapStyle_ResolvedValue_asConstantValue_get(long jarg1, ResolvedMapStyle.ResolvedValue jarg1_); + public final static native long ResolvedMapStyle_ResolvedValue_fromConstantValue(long jarg1, MapStyleConstantValue jarg1_); + public final static native long ResolvedMapStyle_ResolvedValue_fromAttribute(long jarg1); + public final static native long new_ResolvedMapStyle_RuleNode(boolean jarg1); + public final static native void delete_ResolvedMapStyle_RuleNode(long jarg1); + public final static native boolean ResolvedMapStyle_RuleNode_applyOnlyIfOneOfConditionalsAccepted_get(long jarg1, ResolvedMapStyle.RuleNode jarg1_); + public final static native void ResolvedMapStyle_RuleNode_values_set(long jarg1, ResolvedMapStyle.RuleNode jarg1_, long jarg2); + public final static native long ResolvedMapStyle_RuleNode_values_get(long jarg1, ResolvedMapStyle.RuleNode jarg1_); + public final static native void ResolvedMapStyle_RuleNode_oneOfConditionalSubnodes_set(long jarg1, ResolvedMapStyle.RuleNode jarg1_, long jarg2); + public final static native long ResolvedMapStyle_RuleNode_oneOfConditionalSubnodes_get(long jarg1, ResolvedMapStyle.RuleNode jarg1_); + public final static native void ResolvedMapStyle_RuleNode_applySubnodes_set(long jarg1, ResolvedMapStyle.RuleNode jarg1_, long jarg2); + public final static native long ResolvedMapStyle_RuleNode_applySubnodes_get(long jarg1, ResolvedMapStyle.RuleNode jarg1_); + public final static native void delete_ResolvedMapStyle_BaseRule(long jarg1); + public final static native long ResolvedMapStyle_BaseRule_rootNode_get(long jarg1, ResolvedMapStyle.BaseRule jarg1_); + public final static native long new_ResolvedMapStyle_Rule(int jarg1); + public final static native void delete_ResolvedMapStyle_Rule(long jarg1); + public final static native int ResolvedMapStyle_Rule_rulesetType_get(long jarg1, ResolvedMapStyle.Rule jarg1_); + public final static native long new_ResolvedMapStyle_Attribute(long jarg1); + public final static native void delete_ResolvedMapStyle_Attribute(long jarg1); + public final static native long ResolvedMapStyle_Attribute_nameId_get(long jarg1, ResolvedMapStyle.Attribute jarg1_); + public final static native long new_ResolvedMapStyle_Parameter(String jarg1, String jarg2, long jarg3, int jarg4, long jarg5); + public final static native void delete_ResolvedMapStyle_Parameter(long jarg1); + public final static native void ResolvedMapStyle_Parameter_title_set(long jarg1, ResolvedMapStyle.Parameter jarg1_, String jarg2); + public final static native String ResolvedMapStyle_Parameter_title_get(long jarg1, ResolvedMapStyle.Parameter jarg1_); + public final static native void ResolvedMapStyle_Parameter_description_set(long jarg1, ResolvedMapStyle.Parameter jarg1_, String jarg2); + public final static native String ResolvedMapStyle_Parameter_description_get(long jarg1, ResolvedMapStyle.Parameter jarg1_); + public final static native void ResolvedMapStyle_Parameter_nameId_set(long jarg1, ResolvedMapStyle.Parameter jarg1_, long jarg2); + public final static native long ResolvedMapStyle_Parameter_nameId_get(long jarg1, ResolvedMapStyle.Parameter jarg1_); + public final static native void ResolvedMapStyle_Parameter_dataType_set(long jarg1, ResolvedMapStyle.Parameter jarg1_, int jarg2); + public final static native int ResolvedMapStyle_Parameter_dataType_get(long jarg1, ResolvedMapStyle.Parameter jarg1_); + public final static native void ResolvedMapStyle_Parameter_possibleValues_set(long jarg1, ResolvedMapStyle.Parameter jarg1_, long jarg2); + public final static native long ResolvedMapStyle_Parameter_possibleValues_get(long jarg1, ResolvedMapStyle.Parameter jarg1_); + public final static native long new_ResolvedMapStyle_ParameterValueDefinition(int jarg1, String jarg2, long jarg3); + public final static native void delete_ResolvedMapStyle_ParameterValueDefinition(long jarg1); + public final static native int ResolvedMapStyle_ParameterValueDefinition_id_get(long jarg1, ResolvedMapStyle.ParameterValueDefinition jarg1_); + public final static native long ResolvedMapStyle_ParameterValueDefinition_parameter_get(long jarg1, ResolvedMapStyle.ParameterValueDefinition jarg1_); + public final static native void delete_ResolvedMapStyle(long jarg1); + public final static native long ResolvedMapStyle_unresolvedMapStylesChain_get(long jarg1, ResolvedMapStyle jarg1_); + public final static native int ResolvedMapStyle_getValueDefinitionIdByName(long jarg1, ResolvedMapStyle jarg1_, String jarg2); + public final static native long ResolvedMapStyle_getValueDefinitionById(long jarg1, ResolvedMapStyle jarg1_, int jarg2); + public final static native boolean ResolvedMapStyle_parseValue__SWIG_0(long jarg1, ResolvedMapStyle jarg1_, String jarg2, int jarg3, long jarg4, MapStyleConstantValue jarg4_); + public final static native boolean ResolvedMapStyle_parseValue__SWIG_1(long jarg1, ResolvedMapStyle jarg1_, String jarg2, long jarg3, MapStyleValueDefinition jarg3_, long jarg4, MapStyleConstantValue jarg4_); + public final static native long ResolvedMapStyle_getAttribute(long jarg1, ResolvedMapStyle jarg1_, String jarg2); + public final static native long ResolvedMapStyle_getRuleset(long jarg1, ResolvedMapStyle jarg1_, int jarg2); + public final static native String ResolvedMapStyle_getStringById(long jarg1, ResolvedMapStyle jarg1_, long jarg2); + public final static native String ResolvedMapStyle_dump__SWIG_0(long jarg1, ResolvedMapStyle jarg1_, String jarg2); + public final static native String ResolvedMapStyle_dump__SWIG_1(long jarg1, ResolvedMapStyle jarg1_); + public final static native long ResolvedMapStyle_resolveMapStylesChain(long jarg1); public final static native long new_MapStylePreset(int jarg1, String jarg2, String jarg3); public final static native void delete_MapStylePreset(long jarg1); public final static native int MapStylePreset_type_get(long jarg1, MapStylePreset jarg1_); @@ -720,15 +760,17 @@ public class OsmAndCoreJNI { public final static native String MapStylePreset_styleName_get(long jarg1, MapStylePreset jarg1_); public final static native void MapStylePreset_attributes_set(long jarg1, MapStylePreset jarg1_, long jarg2); public final static native long MapStylePreset_attributes_get(long jarg1, MapStylePreset jarg1_); - public final static native long new_MapPresentationEnvironment__SWIG_0(long jarg1, MapStyle jarg1_, float jarg2, String jarg3, long jarg4, ICoreResourcesProvider jarg4_); - public final static native long new_MapPresentationEnvironment__SWIG_1(long jarg1, MapStyle jarg1_, float jarg2, String jarg3); - public final static native long new_MapPresentationEnvironment__SWIG_2(long jarg1, MapStyle jarg1_, float jarg2); - public final static native long new_MapPresentationEnvironment__SWIG_3(long jarg1, MapStyle jarg1_); + public final static native long new_MapPresentationEnvironment__SWIG_0(long jarg1, ResolvedMapStyle jarg1_, float jarg2, String jarg3, int jarg4, long jarg5, ICoreResourcesProvider jarg5_); + public final static native long new_MapPresentationEnvironment__SWIG_1(long jarg1, ResolvedMapStyle jarg1_, float jarg2, String jarg3, int jarg4); + public final static native long new_MapPresentationEnvironment__SWIG_2(long jarg1, ResolvedMapStyle jarg1_, float jarg2, String jarg3); + public final static native long new_MapPresentationEnvironment__SWIG_3(long jarg1, ResolvedMapStyle jarg1_, float jarg2); + public final static native long new_MapPresentationEnvironment__SWIG_4(long jarg1, ResolvedMapStyle jarg1_); public final static native void delete_MapPresentationEnvironment(long jarg1); public final static native long MapPresentationEnvironment_styleBuiltinValueDefs_get(long jarg1, MapPresentationEnvironment jarg1_); - public final static native long MapPresentationEnvironment_style_get(long jarg1, MapPresentationEnvironment jarg1_); + public final static native long MapPresentationEnvironment_resolvedStyle_get(long jarg1, MapPresentationEnvironment jarg1_); public final static native float MapPresentationEnvironment_displayDensityFactor_get(long jarg1, MapPresentationEnvironment jarg1_); public final static native String MapPresentationEnvironment_localeLanguageId_get(long jarg1, MapPresentationEnvironment jarg1_); + public final static native int MapPresentationEnvironment_languagePreference_get(long jarg1, MapPresentationEnvironment jarg1_); public final static native long MapPresentationEnvironment_externalResourcesProvider_get(long jarg1, MapPresentationEnvironment jarg1_); public final static native long MapPresentationEnvironment_dummyMapSection_get(long jarg1, MapPresentationEnvironment jarg1_); public final static native long MapPresentationEnvironment_getSettings(long jarg1, MapPresentationEnvironment jarg1_); @@ -746,8 +788,6 @@ public class OsmAndCoreJNI { public final static native long MapPresentationEnvironment_getRoadsDensityLimitPerTile(long jarg1, MapPresentationEnvironment jarg1_, int jarg2); public final static native int MapPresentationEnvironment_DefaultShadowLevelMin_get(); public final static native int MapPresentationEnvironment_DefaultShadowLevelMax_get(); - public final static native int RasterMapLayerId_Invalid_get(); - public final static native int RasterMapLayersCount_get(); public final static native int MapRendererStateChange_RasterLayers_Providers_get(); public final static native long new_MapRendererState(); public final static native void delete_MapRendererState(long jarg1); @@ -882,6 +922,7 @@ public class OsmAndCoreJNI { public final static native boolean IMapRenderer_renderFrame(long jarg1, IMapRenderer jarg1_); public final static native boolean IMapRenderer_releaseRendering(long jarg1, IMapRenderer jarg1_); public final static native boolean IMapRenderer_isIdle(long jarg1, IMapRenderer jarg1_); + public final static native String IMapRenderer_getNotIdleReason(long jarg1, IMapRenderer jarg1_); public final static native boolean IMapRenderer_pauseGpuWorkerThread(long jarg1, IMapRenderer jarg1_); public final static native boolean IMapRenderer_resumeGpuWorkerThread(long jarg1, IMapRenderer jarg1_); public final static native long new_IMapRenderer_IFramePreparedObserver(); @@ -1048,8 +1089,10 @@ public class OsmAndCoreJNI { public final static native int Primitiviser_Primitive_type_get(long jarg1, Primitiviser.Primitive jarg1_); public final static native long Primitiviser_Primitive_typeRuleIdIndex_get(long jarg1, Primitiviser.Primitive jarg1_); public final static native long Primitiviser_Primitive_evaluationResult_get(long jarg1, Primitiviser.Primitive jarg1_); - public final static native void Primitiviser_Primitive_zOrder_set(long jarg1, Primitiviser.Primitive jarg1_, double jarg2); - public final static native double Primitiviser_Primitive_zOrder_get(long jarg1, Primitiviser.Primitive jarg1_); + public final static native void Primitiviser_Primitive_zOrder_set(long jarg1, Primitiviser.Primitive jarg1_, int jarg2); + public final static native int Primitiviser_Primitive_zOrder_get(long jarg1, Primitiviser.Primitive jarg1_); + public final static native void Primitiviser_Primitive_doubledArea_set(long jarg1, Primitiviser.Primitive jarg1_, long jarg2); + public final static native long Primitiviser_Primitive_doubledArea_get(long jarg1, Primitiviser.Primitive jarg1_); public final static native void delete_Primitiviser_SymbolsGroup(long jarg1); public final static native long Primitiviser_SymbolsGroup_sourceObject_get(long jarg1, Primitiviser.SymbolsGroup jarg1_); public final static native void Primitiviser_SymbolsGroup_symbols_set(long jarg1, Primitiviser.SymbolsGroup jarg1_, long jarg2); @@ -1064,8 +1107,6 @@ public class OsmAndCoreJNI { public final static native boolean Primitiviser_Symbol_drawAlongPath_get(long jarg1, Primitiviser.Symbol jarg1_); public final static native void Primitiviser_Symbol_intersectsWith_set(long jarg1, Primitiviser.Symbol jarg1_, long jarg2); public final static native long Primitiviser_Symbol_intersectsWith_get(long jarg1, Primitiviser.Symbol jarg1_); - public final static native void Primitiviser_Symbol_intersectedBy_set(long jarg1, Primitiviser.Symbol jarg1_, long jarg2); - public final static native long Primitiviser_Symbol_intersectedBy_get(long jarg1, Primitiviser.Symbol jarg1_); public final static native void delete_Primitiviser_TextSymbol(long jarg1); public final static native void Primitiviser_TextSymbol_value_set(long jarg1, Primitiviser.TextSymbol jarg1_, String jarg2); public final static native String Primitiviser_TextSymbol_value_get(long jarg1, Primitiviser.TextSymbol jarg1_); @@ -1270,6 +1311,10 @@ public class OsmAndCoreJNI { public final static native long MapSymbolsGroup_AdditionalOnPathSymbolInstanceParameters_SWIGUpcast(long jarg1); public final static native long MapStylesCollection_SWIGSmartPtrUpcast(long jarg1); public final static native long MapStylesPresetsCollection_SWIGSmartPtrUpcast(long jarg1); + public final static native long MapStyleBuiltinValueDefinitions_MapStyleBuiltinValueDefinition_SWIGSmartPtrUpcast(long jarg1); + public final static native long ResolvedMapStyle_Rule_SWIGUpcast(long jarg1); + public final static native long ResolvedMapStyle_Attribute_SWIGUpcast(long jarg1); + public final static native long ResolvedMapStyle_ParameterValueDefinition_SWIGSmartPtrUpcast(long jarg1); public final static native long AtlasMapRendererConfiguration_SWIGSmartPtrUpcast(long jarg1); public final static native long IMapTiledDataProvider_SWIGSmartPtrUpcast(long jarg1); public final static native long MapTiledData_SWIGSmartPtrUpcast(long jarg1); diff --git a/OsmAnd/src/net/osmand/core/jni/Primitiviser.java b/OsmAnd/src/net/osmand/core/jni/Primitiviser.java index f99279ec62..a59049a606 100644 --- a/OsmAnd/src/net/osmand/core/jni/Primitiviser.java +++ b/OsmAnd/src/net/osmand/core/jni/Primitiviser.java @@ -145,14 +145,22 @@ public class Primitiviser { return new SWIGTYPE_p_MapStyleEvaluationResult(OsmAndCoreJNI.Primitiviser_Primitive_evaluationResult_get(swigCPtr, this), true); } - public void setZOrder(double value) { + public void setZOrder(int value) { OsmAndCoreJNI.Primitiviser_Primitive_zOrder_set(swigCPtr, this, value); } - public double getZOrder() { + public int getZOrder() { return OsmAndCoreJNI.Primitiviser_Primitive_zOrder_get(swigCPtr, this); } + public void setDoubledArea(long value) { + OsmAndCoreJNI.Primitiviser_Primitive_doubledArea_set(swigCPtr, this, value); + } + + public long getDoubledArea() { + return OsmAndCoreJNI.Primitiviser_Primitive_doubledArea_get(swigCPtr, this); + } + } static public class SymbolsGroup { @@ -264,15 +272,6 @@ public class Primitiviser { return (cPtr == 0) ? null : new SWIGTYPE_p_QSetT_QString_t(cPtr, false); } - public void setIntersectedBy(SWIGTYPE_p_QSetT_QString_t value) { - OsmAndCoreJNI.Primitiviser_Symbol_intersectedBy_set(swigCPtr, this, SWIGTYPE_p_QSetT_QString_t.getCPtr(value)); - } - - public SWIGTYPE_p_QSetT_QString_t getIntersectedBy() { - long cPtr = OsmAndCoreJNI.Primitiviser_Symbol_intersectedBy_get(swigCPtr, this); - return (cPtr == 0) ? null : new SWIGTYPE_p_QSetT_QString_t(cPtr, false); - } - } static public class TextSymbol extends Primitiviser.Symbol { diff --git a/OsmAnd/src/net/osmand/core/jni/ResolvedMapStyle.java b/OsmAnd/src/net/osmand/core/jni/ResolvedMapStyle.java new file mode 100644 index 0000000000..c5b2fce392 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/ResolvedMapStyle.java @@ -0,0 +1,434 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class ResolvedMapStyle { + private long swigCPtr; + private boolean swigCMemOwn; + + protected ResolvedMapStyle(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(ResolvedMapStyle obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_ResolvedMapStyle(swigCPtr); + } + swigCPtr = 0; + } + } + + static public class ResolvedValue { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected ResolvedValue(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(ResolvedValue obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_ResolvedMapStyle_ResolvedValue(swigCPtr); + } + swigCPtr = 0; + } + } + + public ResolvedValue() { + this(OsmAndCoreJNI.new_ResolvedMapStyle_ResolvedValue(), true); + } + + public void setIsDynamic(boolean value) { + OsmAndCoreJNI.ResolvedMapStyle_ResolvedValue_isDynamic_set(swigCPtr, this, value); + } + + public boolean getIsDynamic() { + return OsmAndCoreJNI.ResolvedMapStyle_ResolvedValue_isDynamic_get(swigCPtr, this); + } + + public void setAsConstantValue(MapStyleConstantValue value) { + OsmAndCoreJNI.ResolvedMapStyle_ResolvedValue_asConstantValue_set(swigCPtr, this, MapStyleConstantValue.getCPtr(value), value); + } + + public MapStyleConstantValue getAsConstantValue() { + return new MapStyleConstantValue(OsmAndCoreJNI.ResolvedMapStyle_ResolvedValue_asConstantValue_get(swigCPtr, this), true); + } + + public static ResolvedMapStyle.ResolvedValue fromConstantValue(MapStyleConstantValue input) { + return new ResolvedMapStyle.ResolvedValue(OsmAndCoreJNI.ResolvedMapStyle_ResolvedValue_fromConstantValue(MapStyleConstantValue.getCPtr(input), input), true); + } + + public static ResolvedMapStyle.ResolvedValue fromAttribute(SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Attribute_const_t attribute) { + return new ResolvedMapStyle.ResolvedValue(OsmAndCoreJNI.ResolvedMapStyle_ResolvedValue_fromAttribute(SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Attribute_const_t.getCPtr(attribute)), true); + } + + } + + static public class RuleNode { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected RuleNode(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(RuleNode obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_ResolvedMapStyle_RuleNode(swigCPtr); + } + swigCPtr = 0; + } + } + + public RuleNode(boolean applyOnlyIfOneOfConditionalsAccepted) { + this(OsmAndCoreJNI.new_ResolvedMapStyle_RuleNode(applyOnlyIfOneOfConditionalsAccepted), true); + } + + public boolean getApplyOnlyIfOneOfConditionalsAccepted() { + return OsmAndCoreJNI.ResolvedMapStyle_RuleNode_applyOnlyIfOneOfConditionalsAccepted_get(swigCPtr, this); + } + + public void setValues(SWIGTYPE_p_QHashT_int_OsmAnd__ResolvedMapStyle__ResolvedValue_t value) { + OsmAndCoreJNI.ResolvedMapStyle_RuleNode_values_set(swigCPtr, this, SWIGTYPE_p_QHashT_int_OsmAnd__ResolvedMapStyle__ResolvedValue_t.getCPtr(value)); + } + + public SWIGTYPE_p_QHashT_int_OsmAnd__ResolvedMapStyle__ResolvedValue_t getValues() { + long cPtr = OsmAndCoreJNI.ResolvedMapStyle_RuleNode_values_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_QHashT_int_OsmAnd__ResolvedMapStyle__ResolvedValue_t(cPtr, false); + } + + public void setOneOfConditionalSubnodes(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t value) { + OsmAndCoreJNI.ResolvedMapStyle_RuleNode_oneOfConditionalSubnodes_set(swigCPtr, this, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t.getCPtr(value)); + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t getOneOfConditionalSubnodes() { + long cPtr = OsmAndCoreJNI.ResolvedMapStyle_RuleNode_oneOfConditionalSubnodes_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t(cPtr, false); + } + + public void setApplySubnodes(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t value) { + OsmAndCoreJNI.ResolvedMapStyle_RuleNode_applySubnodes_set(swigCPtr, this, SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t.getCPtr(value)); + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t getApplySubnodes() { + long cPtr = OsmAndCoreJNI.ResolvedMapStyle_RuleNode_applySubnodes_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t(cPtr, false); + } + + } + + static public class BaseRule { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected BaseRule(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(BaseRule obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_ResolvedMapStyle_BaseRule(swigCPtr); + } + swigCPtr = 0; + } + } + + public SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t getRootNode() { + long cPtr = OsmAndCoreJNI.ResolvedMapStyle_BaseRule_rootNode_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t(cPtr, false); + } + + } + + static public class Rule extends ResolvedMapStyle.BaseRule { + private long swigCPtr; + + protected Rule(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.ResolvedMapStyle_Rule_SWIGUpcast(cPtr), cMemoryOwn); + swigCPtr = cPtr; + } + + protected static long getCPtr(Rule obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_ResolvedMapStyle_Rule(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public Rule(MapStyleRulesetType rulesetType) { + this(OsmAndCoreJNI.new_ResolvedMapStyle_Rule(rulesetType.swigValue()), true); + } + + public MapStyleRulesetType getRulesetType() { + return MapStyleRulesetType.swigToEnum(OsmAndCoreJNI.ResolvedMapStyle_Rule_rulesetType_get(swigCPtr, this)); + } + + } + + static public class Attribute extends ResolvedMapStyle.BaseRule { + private long swigCPtr; + + protected Attribute(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.ResolvedMapStyle_Attribute_SWIGUpcast(cPtr), cMemoryOwn); + swigCPtr = cPtr; + } + + protected static long getCPtr(Attribute obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_ResolvedMapStyle_Attribute(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public Attribute(long nameId) { + this(OsmAndCoreJNI.new_ResolvedMapStyle_Attribute(nameId), true); + } + + public long getNameId() { + return OsmAndCoreJNI.ResolvedMapStyle_Attribute_nameId_get(swigCPtr, this); + } + + } + + static public class Parameter { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected Parameter(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(Parameter obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_ResolvedMapStyle_Parameter(swigCPtr); + } + swigCPtr = 0; + } + } + + public Parameter(String title, String description, long nameId, MapStyleValueDataType dataType, SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t possibleValues) { + this(OsmAndCoreJNI.new_ResolvedMapStyle_Parameter(title, description, nameId, dataType.swigValue(), SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t.getCPtr(possibleValues)), true); + } + + public void setTitle(String value) { + OsmAndCoreJNI.ResolvedMapStyle_Parameter_title_set(swigCPtr, this, value); + } + + public String getTitle() { + return OsmAndCoreJNI.ResolvedMapStyle_Parameter_title_get(swigCPtr, this); + } + + public void setDescription(String value) { + OsmAndCoreJNI.ResolvedMapStyle_Parameter_description_set(swigCPtr, this, value); + } + + public String getDescription() { + return OsmAndCoreJNI.ResolvedMapStyle_Parameter_description_get(swigCPtr, this); + } + + public void setNameId(long value) { + OsmAndCoreJNI.ResolvedMapStyle_Parameter_nameId_set(swigCPtr, this, value); + } + + public long getNameId() { + return OsmAndCoreJNI.ResolvedMapStyle_Parameter_nameId_get(swigCPtr, this); + } + + public void setDataType(MapStyleValueDataType value) { + OsmAndCoreJNI.ResolvedMapStyle_Parameter_dataType_set(swigCPtr, this, value.swigValue()); + } + + public MapStyleValueDataType getDataType() { + return MapStyleValueDataType.swigToEnum(OsmAndCoreJNI.ResolvedMapStyle_Parameter_dataType_get(swigCPtr, this)); + } + + public void setPossibleValues(SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t value) { + OsmAndCoreJNI.ResolvedMapStyle_Parameter_possibleValues_set(swigCPtr, this, SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t.getCPtr(value)); + } + + public SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t getPossibleValues() { + long cPtr = OsmAndCoreJNI.ResolvedMapStyle_Parameter_possibleValues_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t(cPtr, false); + } + + } + + static public class ParameterValueDefinition extends MapStyleValueDefinition { + private long swigCPtr; + private boolean swigCMemOwnDerived; + + protected ParameterValueDefinition(long cPtr, boolean cMemoryOwn) { + super(OsmAndCoreJNI.ResolvedMapStyle_ParameterValueDefinition_SWIGSmartPtrUpcast(cPtr), true); + swigCMemOwnDerived = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(ParameterValueDefinition obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwnDerived) { + swigCMemOwnDerived = false; + OsmAndCoreJNI.delete_ResolvedMapStyle_ParameterValueDefinition(swigCPtr); + } + swigCPtr = 0; + } + super.delete(); + } + + public ParameterValueDefinition(int id, String name, SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Parameter_const_t parameter) { + this(OsmAndCoreJNI.new_ResolvedMapStyle_ParameterValueDefinition(id, name, SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Parameter_const_t.getCPtr(parameter)), true); + } + + public int getId() { + return OsmAndCoreJNI.ResolvedMapStyle_ParameterValueDefinition_id_get(swigCPtr, this); + } + + public SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Parameter_const_t getParameter() { + long cPtr = OsmAndCoreJNI.ResolvedMapStyle_ParameterValueDefinition_parameter_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Parameter_const_t(cPtr, false); + } + + } + + public SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t getUnresolvedMapStylesChain() { + long cPtr = OsmAndCoreJNI.ResolvedMapStyle_unresolvedMapStylesChain_get(swigCPtr, this); + return (cPtr == 0) ? null : new SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t(cPtr, false); + } + + public int getValueDefinitionIdByName(String name) { + return OsmAndCoreJNI.ResolvedMapStyle_getValueDefinitionIdByName(swigCPtr, this, name); + } + + public MapStyleValueDefinition getValueDefinitionById(int id) { + long cPtr = OsmAndCoreJNI.ResolvedMapStyle_getValueDefinitionById(swigCPtr, this, id); + return (cPtr == 0) ? null : new MapStyleValueDefinition(cPtr, true); + } + + public boolean parseValue(String input, int valueDefintionId, MapStyleConstantValue outParsedValue) { + return OsmAndCoreJNI.ResolvedMapStyle_parseValue__SWIG_0(swigCPtr, this, input, valueDefintionId, MapStyleConstantValue.getCPtr(outParsedValue), outParsedValue); + } + + public boolean parseValue(String input, MapStyleValueDefinition valueDefintion, MapStyleConstantValue outParsedValue) { + return OsmAndCoreJNI.ResolvedMapStyle_parseValue__SWIG_1(swigCPtr, this, input, MapStyleValueDefinition.getCPtr(valueDefintion), valueDefintion, MapStyleConstantValue.getCPtr(outParsedValue), outParsedValue); + } + + public SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Attribute_const_t getAttribute(String name) { + return new SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Attribute_const_t(OsmAndCoreJNI.ResolvedMapStyle_getAttribute(swigCPtr, this, name), true); + } + + public SWIGTYPE_p_QHashT_OsmAnd__TagValueId_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Rule_const_t_t getRuleset(MapStyleRulesetType rulesetType) { + return new SWIGTYPE_p_QHashT_OsmAnd__TagValueId_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Rule_const_t_t(OsmAndCoreJNI.ResolvedMapStyle_getRuleset(swigCPtr, this, rulesetType.swigValue()), true); + } + + public String getStringById(long id) { + return OsmAndCoreJNI.ResolvedMapStyle_getStringById(swigCPtr, this, id); + } + + public String dump(String prefix) { + return OsmAndCoreJNI.ResolvedMapStyle_dump__SWIG_0(swigCPtr, this, prefix); + } + + public String dump() { + return OsmAndCoreJNI.ResolvedMapStyle_dump__SWIG_1(swigCPtr, this); + } + + public static ResolvedMapStyle resolveMapStylesChain(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t unresolvedMapStylesChain) { + long cPtr = OsmAndCoreJNI.ResolvedMapStyle_resolveMapStylesChain(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t.getCPtr(unresolvedMapStylesChain)); + return (cPtr == 0) ? null : new ResolvedMapStyle(cPtr, true); + } + + public final static int EmptyStringId = OsmAndCoreJNI.ResolvedMapStyle_EmptyStringId_get(); + +} diff --git a/OsmAnd/src/net/osmand/core/jni/ResourcesManager.java b/OsmAnd/src/net/osmand/core/jni/ResourcesManager.java index 3bdb0758cf..59084dd22c 100644 --- a/OsmAnd/src/net/osmand/core/jni/ResourcesManager.java +++ b/OsmAnd/src/net/osmand/core/jni/ResourcesManager.java @@ -370,13 +370,13 @@ public class ResourcesManager { super.delete(); } - public MapStyleMetadata(MapStyle mapStyle) { - this(OsmAndCoreJNI.new_ResourcesManager_MapStyleMetadata(MapStyle.getCPtr(mapStyle), mapStyle), true); + public MapStyleMetadata(SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t mapStyle) { + this(OsmAndCoreJNI.new_ResourcesManager_MapStyleMetadata(SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t.getCPtr(mapStyle)), true); } - public MapStyle getMapStyle() { + public SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t getMapStyle() { long cPtr = OsmAndCoreJNI.ResourcesManager_MapStyleMetadata_mapStyle_get(swigCPtr, this); - return (cPtr == 0) ? null : new MapStyle(cPtr, true); + return (cPtr == 0) ? null : new SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t(cPtr, false); } } diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapStyleValueDefinition_const_t_OsmAnd__MapStyleValue_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_OsmAnd__TagValueId_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Rule_const_t_t.java similarity index 50% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapStyleValueDefinition_const_t_OsmAnd__MapStyleValue_t.java rename to OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_OsmAnd__TagValueId_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Rule_const_t_t.java index e4f26ca248..940ff65657 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapStyleValueDefinition_const_t_OsmAnd__MapStyleValue_t.java +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_OsmAnd__TagValueId_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Rule_const_t_t.java @@ -8,18 +8,18 @@ package net.osmand.core.jni; -public class SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapStyleValueDefinition_const_t_OsmAnd__MapStyleValue_t { +public class SWIGTYPE_p_QHashT_OsmAnd__TagValueId_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Rule_const_t_t { private long swigCPtr; - protected SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapStyleValueDefinition_const_t_OsmAnd__MapStyleValue_t(long cPtr, boolean futureUse) { + protected SWIGTYPE_p_QHashT_OsmAnd__TagValueId_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Rule_const_t_t(long cPtr, boolean futureUse) { swigCPtr = cPtr; } - protected SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapStyleValueDefinition_const_t_OsmAnd__MapStyleValue_t() { + protected SWIGTYPE_p_QHashT_OsmAnd__TagValueId_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Rule_const_t_t() { swigCPtr = 0; } - protected static long getCPtr(SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapStyleValueDefinition_const_t_OsmAnd__MapStyleValue_t obj) { + protected static long getCPtr(SWIGTYPE_p_QHashT_OsmAnd__TagValueId_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Rule_const_t_t obj) { return (obj == null) ? 0 : obj.swigCPtr; } } diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_int_OsmAnd__MapStyleConstantValue_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_int_OsmAnd__MapStyleConstantValue_t.java new file mode 100644 index 0000000000..e549e6a382 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_int_OsmAnd__MapStyleConstantValue_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QHashT_int_OsmAnd__MapStyleConstantValue_t { + private long swigCPtr; + + protected SWIGTYPE_p_QHashT_int_OsmAnd__MapStyleConstantValue_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QHashT_int_OsmAnd__MapStyleConstantValue_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QHashT_int_OsmAnd__MapStyleConstantValue_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_int_OsmAnd__ResolvedMapStyle__ResolvedValue_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_int_OsmAnd__ResolvedMapStyle__ResolvedValue_t.java new file mode 100644 index 0000000000..88831b7e25 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_int_OsmAnd__ResolvedMapStyle__ResolvedValue_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QHashT_int_OsmAnd__ResolvedMapStyle__ResolvedValue_t { + private long swigCPtr; + + protected SWIGTYPE_p_QHashT_int_OsmAnd__ResolvedMapStyle__ResolvedValue_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QHashT_int_OsmAnd__ResolvedMapStyle__ResolvedValue_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QHashT_int_OsmAnd__ResolvedMapStyle__ResolvedValue_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t.java new file mode 100644 index 0000000000..8192943559 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t { + private long swigCPtr; + + protected SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t.java new file mode 100644 index 0000000000..70d4ea0a96 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t { + private long swigCPtr; + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStyle_const_t_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t.java similarity index 63% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStyle_const_t_t.java rename to OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t.java index 6fbe200497..3540b2d2b6 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStyle_const_t_t.java +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t.java @@ -8,18 +8,18 @@ package net.osmand.core.jni; -public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStyle_const_t_t { +public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t { private long swigCPtr; - protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStyle_const_t_t(long cPtr, boolean futureUse) { + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t(long cPtr, boolean futureUse) { swigCPtr = cPtr; } - protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStyle_const_t_t() { + protected SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t() { swigCPtr = 0; } - protected static long getCPtr(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStyle_const_t_t obj) { + protected static long getCPtr(SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t obj) { return (obj == null) ? 0 : obj.swigCPtr; } } diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Attribute_const_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Attribute_const_t.java new file mode 100644 index 0000000000..86735a89e8 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Attribute_const_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Attribute_const_t { + private long swigCPtr; + + protected SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Attribute_const_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Attribute_const_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Attribute_const_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Parameter_const_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Parameter_const_t.java new file mode 100644 index 0000000000..d5d7d68b49 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Parameter_const_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Parameter_const_t { + private long swigCPtr; + + protected SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Parameter_const_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Parameter_const_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Parameter_const_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t.java new file mode 100644 index 0000000000..dcb6bac59e --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t { + private long swigCPtr; + + protected SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t.java new file mode 100644 index 0000000000..bdbec5dbb8 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t { + private long swigCPtr; + + protected SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t.java new file mode 100644 index 0000000000..95f48466e4 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t { + private long swigCPtr; + + protected SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_unsigned_char.java b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_unsigned_char.java new file mode 100644 index 0000000000..93706ed18f --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_unsigned_char.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class SWIGTYPE_p_unsigned_char { + private long swigCPtr; + + protected SWIGTYPE_p_unsigned_char(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_unsigned_char() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_unsigned_char obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/OsmAnd/src/net/osmand/core/jni/SwigUtilities.java b/OsmAnd/src/net/osmand/core/jni/SwigUtilities.java index 0ec0c041cd..c733b1908c 100644 --- a/OsmAnd/src/net/osmand/core/jni/SwigUtilities.java +++ b/OsmAnd/src/net/osmand/core/jni/SwigUtilities.java @@ -43,4 +43,12 @@ public class SwigUtilities { return new SWIGTYPE_p_QByteArray(OsmAndCoreJNI.SwigUtilities_emptyQByteArray(), true); } + public static SWIGTYPE_p_QByteArray qDecompress(SWIGTYPE_p_QByteArray compressedData) { + return new SWIGTYPE_p_QByteArray(OsmAndCoreJNI.SwigUtilities_qDecompress(SWIGTYPE_p_QByteArray.getCPtr(compressedData)), true); + } + + public static SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t createSkBitmapARGB888With(long width, long height, SWIGTYPE_p_unsigned_char pBuffer, long bufferSize) { + return new SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t(OsmAndCoreJNI.SwigUtilities_createSkBitmapARGB888With(width, height, SWIGTYPE_p_unsigned_char.getCPtr(pBuffer), bufferSize), true); + } + } diff --git a/OsmAnd/src/net/osmand/core/jni/TagValueId.java b/OsmAnd/src/net/osmand/core/jni/TagValueId.java new file mode 100644 index 0000000000..06ecd96021 --- /dev/null +++ b/OsmAnd/src/net/osmand/core/jni/TagValueId.java @@ -0,0 +1,70 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 3.0.3 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package net.osmand.core.jni; + +public class TagValueId { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected TagValueId(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(TagValueId obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + OsmAndCoreJNI.delete_TagValueId(swigCPtr); + } + swigCPtr = 0; + } + } + + public void setId(java.math.BigInteger value) { + OsmAndCoreJNI.TagValueId_id_set(swigCPtr, this, value); + } + + public java.math.BigInteger getId() { + return OsmAndCoreJNI.TagValueId_id_get(swigCPtr, this); + } + + public void setTagId(int value) { + OsmAndCoreJNI.TagValueId_tagId_set(swigCPtr, this, value); + } + + public int getTagId() { + return OsmAndCoreJNI.TagValueId_tagId_get(swigCPtr, this); + } + + public void setValueId(int value) { + OsmAndCoreJNI.TagValueId_valueId_set(swigCPtr, this, value); + } + + public int getValueId() { + return OsmAndCoreJNI.TagValueId_valueId_get(swigCPtr, this); + } + + public static TagValueId compose(int tagId, int valueId) { + return new TagValueId(OsmAndCoreJNI.TagValueId_compose(tagId, valueId), true); + } + + public TagValueId() { + this(OsmAndCoreJNI.new_TagValueId(), true); + } + +} diff --git a/OsmAnd/src/net/osmand/core/jni/Utilities.java b/OsmAnd/src/net/osmand/core/jni/Utilities.java index 77aac0cd92..1a0317afd6 100644 --- a/OsmAnd/src/net/osmand/core/jni/Utilities.java +++ b/OsmAnd/src/net/osmand/core/jni/Utilities.java @@ -195,10 +195,6 @@ public class Utilities { return new PointI(OsmAndCoreJNI.Utilities_normalizeCoordinates(PointI.getCPtr(input), input, zoom.swigValue()), true); } - public static short computeCohenSutherlandCode(PointI p, AreaI box) { - return OsmAndCoreJNI.Utilities_computeCohenSutherlandCode(PointI.getCPtr(p), p, AreaI.getCPtr(box), box); - } - public static boolean extractFirstNumberPosition(String value, SWIGTYPE_p_int first, SWIGTYPE_p_int last, boolean allowSigned, boolean allowDot) { return OsmAndCoreJNI.Utilities_extractFirstNumberPosition(value, SWIGTYPE_p_int.getCPtr(first), SWIGTYPE_p_int.getCPtr(last), allowSigned, allowDot); } @@ -316,11 +312,10 @@ public class Utilities { } public enum CHCode { - Inside(OsmAndCoreJNI.Utilities_CHCode_Inside_get()), Left(OsmAndCoreJNI.Utilities_CHCode_Left_get()), - Right(OsmAndCoreJNI.Utilities_CHCode_Right_get()), - Bottom(OsmAndCoreJNI.Utilities_CHCode_Bottom_get()), - Top(OsmAndCoreJNI.Utilities_CHCode_Top_get()); + Right, + Bottom, + Top; public final int swigValue() { return swigValue; From d1e07eeaab1c8e36c61303b3d9e03e0a4d459e42 Mon Sep 17 00:00:00 2001 From: Denis_Bars Date: Mon, 29 Sep 2014 15:58:04 +0300 Subject: [PATCH 03/14] Online maps usage added for new render --- .../CoreResourcesFromAndroidAssets.java | 6 ++-- .../net/osmand/core/android/GLActivity.java | 36 +++++++------------ 2 files changed, 15 insertions(+), 27 deletions(-) diff --git a/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroidAssets.java b/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroidAssets.java index 1e67e7d8c8..bd41b7fcb1 100644 --- a/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroidAssets.java +++ b/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroidAssets.java @@ -94,7 +94,7 @@ public class CoreResourcesFromAndroidAssets extends ICoreResourcesProvider { // } final ResourceData resourceData = new ResourceData(); resourceData.offset = 0; - resourceData.path = ((OsmandApplication) _context.getApplicationContext()).getAppPath("OsmAndCore_ResourcesBundle/" + resourceInBundle); + resourceData.path = ((OsmandApplication) _context.getApplicationContext()).getAppPath("OsmAndCore_ResourcesBundle/" + resourceInBundle + ".qz"); resourceData.size = resourceData.path.length(); // Get resource entry for this resource @@ -164,7 +164,7 @@ public class CoreResourcesFromAndroidAssets extends ICoreResourcesProvider { Log.d(TAG, "Using ddf=" + resourceDataEntry.getKey() + " while looking for " + displayDensityFactor + " of '" + name + "'"); System.out.println(resourceData.path.getAbsolutePath()); final SWIGTYPE_p_QByteArray data = SwigUtilities.qDecompress(SwigUtilities.readEntireFile( - resourceData.path.getAbsolutePath()+".qz")); + resourceData.path.getAbsolutePath())); if (data == null) { Log.e(TAG, "Failed to load data of '" + name + "'"); if (ok != null) @@ -197,7 +197,7 @@ public class CoreResourcesFromAndroidAssets extends ICoreResourcesProvider { } System.out.println(resourceEntry.defaultVariant.path.getAbsolutePath()); SWIGTYPE_p_QByteArray bt = SwigUtilities.readEntireFile( - resourceEntry.defaultVariant.path.getAbsolutePath() + ".qz"); + resourceEntry.defaultVariant.path.getAbsolutePath()); final SWIGTYPE_p_QByteArray data = SwigUtilities.qDecompress(bt); if (data == null) { Log.e(TAG, "Failed to load data of '" + name + "'"); diff --git a/OsmAnd/src/net/osmand/core/android/GLActivity.java b/OsmAnd/src/net/osmand/core/android/GLActivity.java index 0f54614cd3..adc2899f9e 100644 --- a/OsmAnd/src/net/osmand/core/android/GLActivity.java +++ b/OsmAnd/src/net/osmand/core/android/GLActivity.java @@ -8,27 +8,7 @@ import javax.microedition.khronos.egl.EGLSurface; import javax.microedition.khronos.opengles.GL10; import net.osmand.core.android.CoreResourcesFromAndroidAssets; -import net.osmand.core.jni.AreaI; -import net.osmand.core.jni.AtlasMapRendererConfiguration; -import net.osmand.core.jni.BinaryMapDataProvider; -import net.osmand.core.jni.BinaryMapPrimitivesProvider; -import net.osmand.core.jni.BinaryMapRasterBitmapTileProvider; -import net.osmand.core.jni.BinaryMapRasterBitmapTileProvider_Software; -import net.osmand.core.jni.BinaryMapStaticSymbolsProvider; -import net.osmand.core.jni.IMapRenderer; -import net.osmand.core.jni.IMapStylesCollection; -import net.osmand.core.jni.Logger; -import net.osmand.core.jni.MapPresentationEnvironment; -import net.osmand.core.jni.MapRendererClass; -import net.osmand.core.jni.MapRendererSetupOptions; -import net.osmand.core.jni.ResolvedMapStyle; -import net.osmand.core.jni.MapStylesCollection; -import net.osmand.core.jni.ObfsCollection; -import net.osmand.core.jni.OsmAndCore; -import net.osmand.core.jni.PointI; -import net.osmand.core.jni.Primitiviser; -import net.osmand.core.jni.QIODeviceLogSink; -import net.osmand.core.jni.RasterMapLayerId; +import net.osmand.core.jni.*; import net.osmand.data.LatLon; import net.osmand.data.QuadPoint; import net.osmand.data.RotatedTileBox; @@ -53,6 +33,8 @@ import android.view.MotionEvent; import android.view.Window; import android.view.WindowManager; +import java.io.File; + public class GLActivity extends Activity { static { @@ -78,6 +60,7 @@ public class GLActivity extends Activity { private BinaryMapPrimitivesProvider _binaryMapPrimitivesProvider; private BinaryMapStaticSymbolsProvider _binaryMapStaticSymbolsProvider; private BinaryMapRasterBitmapTileProvider _binaryMapRasterBitmapTileProvider; + private OnlineRasterMapTileProvider _onlineMapRasterBitmapTileProvider; private IMapRenderer _mapRenderer; private GpuWorkerThreadPrologue _gpuWorkerThreadPrologue; private GpuWorkerThreadEpilogue _gpuWorkerThreadEpilogue; @@ -201,8 +184,11 @@ public class GLActivity extends Activity { Log.i(TAG, "Going to prepare OBFs collection"); _obfsCollection = new ObfsCollection(); - Log.i(TAG, "Will load OBFs from " + Environment.getExternalStorageDirectory() + "/osmand"); - _obfsCollection.addDirectory(Environment.getExternalStorageDirectory() + "/osmand", false); + + Log.i(TAG, "Will load OBFs from " + Environment.getExternalStorageDirectory() + "/osmand"); + File directory =getApp().getAppPath(""); + Log.i(TAG, "Will load OBFs from " + directory.getAbsolutePath()); + _obfsCollection.addDirectory(directory.getAbsolutePath(), false); Log.i(TAG, "Going to prepare all resources for renderer"); _mapPresentationEnvironment = new MapPresentationEnvironment( @@ -224,6 +210,8 @@ public class GLActivity extends Activity { _binaryMapRasterBitmapTileProvider = new BinaryMapRasterBitmapTileProvider_Software( _binaryMapPrimitivesProvider); + _onlineMapRasterBitmapTileProvider = OnlineTileSources.getBuiltIn().createProviderFor("Mapnik (OsmAnd)"); + Log.i(TAG, "Going to create renderer"); _mapRenderer = OsmAndCore.createMapRenderer(MapRendererClass.AtlasMapRenderer_OpenGLES2); if (_mapRenderer == null) @@ -243,7 +231,7 @@ public class GLActivity extends Activity { if (mapnik == null) Log.e(TAG, "Failed to create mapnik"); */ - _mapRenderer.setRasterLayerProvider(RasterMapLayerId.BaseLayer, _binaryMapRasterBitmapTileProvider); + _mapRenderer.setRasterLayerProvider(RasterMapLayerId.BaseLayer, _onlineMapRasterBitmapTileProvider); _glSurfaceView = (GLSurfaceView) findViewById(R.id.glSurfaceView); //TODO:_glSurfaceView.setPreserveEGLContextOnPause(true); From f846093a56b87bc6214bccbb081be4d710732aff Mon Sep 17 00:00:00 2001 From: Denis_Bars Date: Mon, 29 Sep 2014 16:07:21 +0300 Subject: [PATCH 04/14] Added functionality to start native render --- OsmAnd/res/values/strings.xml | 2 ++ .../net/osmand/plus/OsmAndAppCustomization.java | 2 +- .../development/SettingsDevelopmentActivity.java | 14 ++++++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index e036582800..3c685b88d7 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -9,6 +9,8 @@ 3. All your modified/created strings are in the top of the file (to make easier find what\'s translated). PLEASE: Have a look at http://code.google.com/p/osmand/wiki/UIConsistency, it may really improve your and our work :-) Thx - Hardy --> + Test native render + Starts activity with native render Set the text size on the map. Text size Speed limit diff --git a/OsmAnd/src/net/osmand/plus/OsmAndAppCustomization.java b/OsmAnd/src/net/osmand/plus/OsmAndAppCustomization.java index 77d15f1b18..eef6543f4c 100644 --- a/OsmAnd/src/net/osmand/plus/OsmAndAppCustomization.java +++ b/OsmAnd/src/net/osmand/plus/OsmAndAppCustomization.java @@ -83,7 +83,7 @@ public class OsmAndAppCustomization { public Class getDownloadActivity() { //return DownloadActivity.class; - return GLActivity.class; + return DownloadActivity.class; } // Download screen diff --git a/OsmAnd/src/net/osmand/plus/development/SettingsDevelopmentActivity.java b/OsmAnd/src/net/osmand/plus/development/SettingsDevelopmentActivity.java index 8ef346ccc3..f46e8970e1 100644 --- a/OsmAnd/src/net/osmand/plus/development/SettingsDevelopmentActivity.java +++ b/OsmAnd/src/net/osmand/plus/development/SettingsDevelopmentActivity.java @@ -6,6 +6,7 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Set; +import net.osmand.core.android.GLActivity; import net.osmand.plus.ApplicationMode; import net.osmand.plus.R; import net.osmand.plus.activities.SettingsBaseActivity; @@ -53,6 +54,19 @@ public class SettingsDevelopmentActivity extends SettingsBaseActivity { } }); cat.addPreference(pref); + + pref = new Preference(this); + pref.setTitle(R.string.test_native_render); + pref.setSummary(R.string.test_native_render_msg); + pref.setKey("test_native_render"); + pref.setOnPreferenceClickListener(new OnPreferenceClickListener() { + @Override + public boolean onPreferenceClick(Preference preference) { + startActivity(new Intent(SettingsDevelopmentActivity.this, GLActivity.class)); + return true; + } + }); + cat.addPreference(pref); pref = new Preference(this); pref.setTitle(R.string.app_modes_choose); From c249c05dc54ea9c7b095a23d33d4611b5367caa0 Mon Sep 17 00:00:00 2001 From: Denis_Bars Date: Mon, 29 Sep 2014 18:10:13 +0300 Subject: [PATCH 05/14] Refactor --- OsmAnd/res/values/strings.xml | 2 + .../src/net/osmand/plus/OsmandSettings.java | 2 + .../osmand/plus/activities/MapActivity.java | 72 ++++--- .../SettingsDevelopmentActivity.java | 2 + .../osmand/plus/views/OsmandMapTileView.java | 9 +- .../views/controllers/MapViewController.java | 203 ++++++++++++++++++ 6 files changed, 254 insertions(+), 36 deletions(-) create mode 100644 OsmAnd/src/net/osmand/plus/views/controllers/MapViewController.java diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index 3c685b88d7..c2758f89a3 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -11,6 +11,8 @@ --> Test native render Starts activity with native render + Use native render + Use C++ render instead of Java Set the text size on the map. Text size Speed limit diff --git a/OsmAnd/src/net/osmand/plus/OsmandSettings.java b/OsmAnd/src/net/osmand/plus/OsmandSettings.java index 04c161b956..8015097e34 100644 --- a/OsmAnd/src/net/osmand/plus/OsmandSettings.java +++ b/OsmAnd/src/net/osmand/plus/OsmandSettings.java @@ -699,6 +699,8 @@ public class OsmandSettings { // magnetic field doesn'torkmost of the time on some phones public final OsmandPreference USE_MAGNETIC_FIELD_SENSOR_COMPASS = new BooleanPreference("use_magnetic_field_sensor_compass", false).makeGlobal().cache(); public final OsmandPreference USE_KALMAN_FILTER_FOR_COMPASS = new BooleanPreference("use_kalman_filter_compass", true).makeGlobal().cache(); + + public final OsmandPreference USE_NATIVE_RENDER = new BooleanPreference("use_native_render", false).makeGlobal().cache(); public final CommonPreference TEXT_SCALE = new FloatPreference("text_scale", 1f).makeProfile().cache(); { diff --git a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java index 77daf3907f..e8430e7277 100644 --- a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java +++ b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java @@ -9,6 +9,7 @@ import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; +import android.opengl.GLSurfaceView; import net.osmand.Location; import net.osmand.StateChangedListener; import net.osmand.access.AccessibilityPlugin; @@ -42,6 +43,7 @@ import net.osmand.plus.routing.RoutingHelper.RouteCalculationProgressCallback; import net.osmand.plus.views.AnimateDraggingMapThread; import net.osmand.plus.views.OsmandMapLayer; import net.osmand.plus.views.OsmandMapTileView; +import net.osmand.plus.views.controllers.MapViewController; import net.osmand.render.RenderingRulesStorage; import net.osmand.util.Algorithms; import android.app.Dialog; @@ -78,8 +80,7 @@ public class MapActivity extends AccessibleActivity { private static MapViewTrackingUtilities mapViewTrackingUtilities; /** Called when the activity is first created. */ - private OsmandMapTileView mapView; - + private MapActivityActions mapActions; private MapActivityLayers mapLayers; @@ -100,6 +101,7 @@ public class MapActivity extends AccessibleActivity { private StateChangedListener applicationModeListener; private FrameLayout lockView; private GpxImportHelper gpxImportHelper; + private MapViewController mapViewController; private Notification getNotification() { @@ -126,32 +128,39 @@ public class MapActivity extends AccessibleActivity { requestWindowFeature(Window.FEATURE_NO_TITLE); // Full screen is not used here //getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); - setContentView(R.layout.main); + startProgressDialog = new ProgressDialog(this); startProgressDialog.setCancelable(true); app.checkApplicationIsBeingInitialized(this, startProgressDialog); parseLaunchIntentLocation(); - - mapView = (OsmandMapTileView) findViewById(R.id.MapView); - mapView.setTrackBallDelegate(new OsmandMapTileView.OnTrackBallListener(){ + + if (settings.USE_NATIVE_RENDER.get()){ + setContentView(R.layout.main); + mapViewController = new MapViewController((OsmandMapTileView) findViewById(R.id.MapView), this); + } else { + setContentView(R.layout.activity_gl); + mapViewController = new MapViewController((GLSurfaceView) findViewById(R.id.glSurfaceView), this); + } + + mapViewController.setTrackBallDelegate(new MapViewController.OnTrackBallListener(){ @Override public boolean onTrackBallEvent(MotionEvent e) { showAndHideMapPosition(); return MapActivity.this.onTrackballEvent(e); } }); - mapView.setAccessibilityActions(new MapAccessibilityActions(this)); + mapViewController.setAccessibilityActions(new MapAccessibilityActions(this)); if(mapViewTrackingUtilities == null) { mapViewTrackingUtilities = new MapViewTrackingUtilities(app); } - mapViewTrackingUtilities.setMapView(mapView); + mapViewController.setTrackingUtilities(mapViewTrackingUtilities); // Do some action on close startProgressDialog.setOnDismissListener(new DialogInterface.OnDismissListener() { @Override public void onDismiss(DialogInterface dialog) { app.getResourceManager().getRenderer().clearCache(); - mapView.refreshMap(true); + mapViewController.refreshMap(true); } }); @@ -163,12 +172,12 @@ public class MapActivity extends AccessibleActivity { mgr.tileDownloaded(request); } if(request == null || !request.error){ - mapView.tileDownloaded(request); + mapViewController.tileDownloaded(request); } } }); createProgressBarForRouting(); - mapLayers.createLayers(mapView); + mapViewController.createLayers(mapLayers); // This situtation could be when navigation suddenly crashed and after restarting // it tries to continue the last route if (settings.FOLLOW_THE_ROUTE.get() && !app.getRoutingHelper().isRouteCalculated() @@ -180,14 +189,15 @@ public class MapActivity extends AccessibleActivity { // show first time when application ran net.osmand.Location location = app.getLocationProvider().getFirstTimeRunDefaultLocation(); if(location != null){ - mapView.setLatLon(location.getLatitude(), location.getLongitude()); - mapView.setIntZoom(14); + mapViewController.setLatLon(location.getLatitude(), location.getLongitude()); + mapViewController.setIntZoom(14); } } addDialogProvider(mapActions); OsmandPlugin.onMapActivityCreate(this); if(lockView != null) { - ((FrameLayout)mapView.getParent()).addView(lockView); + mapViewController.addView(lockView); + } gpxImportHelper = new GpxImportHelper(this, getMyApplication(), getMapView()); } @@ -197,7 +207,7 @@ public class MapActivity extends AccessibleActivity { } private void createProgressBarForRouting() { - FrameLayout parent = (FrameLayout) mapView.getParent(); + FrameLayout parent = (FrameLayout) mapViewController.getParentView(); FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, Gravity.CENTER_HORIZONTAL | Gravity.TOP); DisplayMetrics dm = getResources().getDisplayMetrics(); @@ -238,7 +248,7 @@ public class MapActivity extends AccessibleActivity { @Override public Object onRetainCustomNonConfigurationInstance() { LinkedHashMap l = new LinkedHashMap(); - for(OsmandMapLayer ml : mapView.getLayers() ) { + for(OsmandMapLayer ml : mapViewController.getLayers() ) { ml.onRetainNonConfigurationInstance(l); } return l; @@ -301,8 +311,8 @@ public class MapActivity extends AccessibleActivity { if (settings != null && settings.isLastKnownMapLocation()) { LatLon l = settings.getLastKnownMapLocation(); - mapView.setLatLon(l.getLatitude(), l.getLongitude()); - mapView.setIntZoom(settings.getLastKnownMapZoom()); + mapViewController.setLatLon(l.getLatitude(), l.getLongitude()); + mapViewController.setIntZoom(settings.getLastKnownMapZoom()); } settings.MAP_ACTIVITY_ENABLED.set(true); @@ -310,7 +320,7 @@ public class MapActivity extends AccessibleActivity { checkExternalStorage(); showAndHideMapPosition(); - LatLon cur = new LatLon(mapView.getLatitude(), mapView.getLongitude()); + LatLon cur = new LatLon(mapViewController.getLatitude(), mapViewController.getLongitude()); LatLon latLonToShow = settings.getAndClearMapLocationToShow(); String mapLabelToShow = settings.getAndClearMapLabelToShow(); Object toShow = settings.getAndClearObjectToShow(); @@ -318,8 +328,8 @@ public class MapActivity extends AccessibleActivity { if(status != 0){ // always enable and follow and let calculate it (i.e.GPS is not accessible in a garage) Location loc = new Location("map"); - loc.setLatitude(mapView.getLatitude()); - loc.setLongitude(mapView.getLongitude()); + loc.setLatitude(mapViewController.getLatitude()); + loc.setLongitude(mapViewController.getLongitude()); getMapActions().enterRoutePlanningMode(null, null, status == OsmandSettings.NAVIGATE_CURRENT_GPX); } if(mapLabelToShow != null && latLonToShow != null){ @@ -327,7 +337,7 @@ public class MapActivity extends AccessibleActivity { mapLayers.getContextMenuLayer().setLocation(latLonToShow, mapLabelToShow); } if (latLonToShow != null && !latLonToShow.equals(cur)) { - mapView.getAnimatedDraggingThread().startMoving(latLonToShow.getLatitude(), latLonToShow.getLongitude(), + mapViewController.startMoving(latLonToShow.getLatitude(), latLonToShow.getLongitude(), settings.getMapZoomToShow(), true); } if(latLonToShow != null) { @@ -376,7 +386,7 @@ public class MapActivity extends AccessibleActivity { } OsmandPlugin.onMapActivityResume(this); - mapView.refreshMap(true); + mapViewController.refreshMap(true); } @@ -417,8 +427,8 @@ public class MapActivity extends AccessibleActivity { // if (settings.AUTO_ZOOM_MAP.get() == AutoZoomMap.NONE) { // changeLocation = false; // } - final int newZoom = mapView.getZoom() + stp; - mapView.getAnimatedDraggingThread().startZooming(newZoom, changeLocation); + final int newZoom = mapViewController.getZoom() + stp; + mapViewController.startZooming(newZoom, changeLocation); if (app.accessibilityEnabled()) AccessibleToast.makeText(this, getString(R.string.zoomIs) + " " + newZoom, Toast.LENGTH_SHORT).show(); //$NON-NLS-1$ showAndHideMapPosition(); @@ -455,7 +465,7 @@ public class MapActivity extends AccessibleActivity { OsmandPlugin.getEnabledPlugin(AccessibilityPlugin.class) != null) { // Find more appropriate plugin for it? if (keyCode == KeyEvent.KEYCODE_VOLUME_UP && event.getRepeatCount() == 0) { - if (mapView.isZooming()) { + if (mapViewController.isZooming()) { changeZoom(+ 2); } else { changeZoom(+ 1); @@ -470,7 +480,7 @@ public class MapActivity extends AccessibleActivity { } public void setMapLocation(double lat, double lon){ - mapView.setLatLon(lat, lon); + mapViewController.setLatLon(lat, lon); mapViewTrackingUtilities.locationChanged(lat, lon, this); } @@ -479,7 +489,7 @@ public class MapActivity extends AccessibleActivity { if(event.getAction() == MotionEvent.ACTION_MOVE && settings.USE_TRACKBALL_FOR_MOVEMENTS.get()){ float x = event.getX(); float y = event.getY(); - final RotatedTileBox tb = mapView.getCurrentRotatedTileBox(); + final RotatedTileBox tb = mapViewController.getCurrentRotatedTileBox(); final QuadPoint cp = tb.getCenterPixelPoint(); final LatLon l = tb.getLatLonFromPixel(cp.x + x * 15, cp.y + y * 15); setMapLocation(l.getLatitude(), l.getLongitude()); @@ -538,7 +548,7 @@ public class MapActivity extends AccessibleActivity { public LatLon getMapLocation(){ - return new LatLon(mapView.getLatitude(), mapView.getLongitude()); + return new LatLon(mapViewController.getLatitude(), mapViewController.getLongitude()); } // Duplicate methods to OsmAndApplication @@ -557,14 +567,14 @@ public class MapActivity extends AccessibleActivity { app.getDaynightHelper().stopSensorIfNeeded(); settings.APPLICATION_MODE.removeListener(applicationModeListener); - settings.setLastKnownMapLocation((float) mapView.getLatitude(), (float) mapView.getLongitude()); + settings.setLastKnownMapLocation((float) mapViewController.getLatitude(), (float) mapViewController.getLongitude()); AnimateDraggingMapThread animatedThread = mapView.getAnimatedDraggingThread(); if(animatedThread.isAnimating() && animatedThread.getTargetIntZoom() != 0){ settings.setMapLocationToShow(animatedThread.getTargetLatitude(), animatedThread.getTargetLongitude(), animatedThread.getTargetIntZoom()); } - settings.setLastKnownMapZoom(mapView.getZoom()); + settings.setLastKnownMapZoom(mapViewController.getZoom()); settings.MAP_ACTIVITY_ENABLED.set(false); app.setMapActivity(null); app.getResourceManager().interruptRendering(); diff --git a/OsmAnd/src/net/osmand/plus/development/SettingsDevelopmentActivity.java b/OsmAnd/src/net/osmand/plus/development/SettingsDevelopmentActivity.java index f46e8970e1..bfde20feb1 100644 --- a/OsmAnd/src/net/osmand/plus/development/SettingsDevelopmentActivity.java +++ b/OsmAnd/src/net/osmand/plus/development/SettingsDevelopmentActivity.java @@ -41,6 +41,8 @@ public class SettingsDevelopmentActivity extends SettingsBaseActivity { cat.addPreference(createCheckBoxPreference(settings.DISABLE_COMPLEX_ROUTING, R.string.disable_complex_routing, R.string.disable_complex_routing_descr)); cat.addPreference(createCheckBoxPreference(settings.USE_MAGNETIC_FIELD_SENSOR_COMPASS, R.string.use_magnetic_sensor, R.string.use_magnetic_sensor_descr)); + + cat.addPreference(createCheckBoxPreference(settings.USE_NATIVE_RENDER, R.string.use_native_render,R.string.use_native_render_descr)); Preference pref = new Preference(this); pref.setTitle(R.string.test_voice_prompts); diff --git a/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java b/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java index e34d874f3d..503a6ded41 100644 --- a/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java +++ b/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java @@ -26,6 +26,7 @@ import net.osmand.plus.R; import net.osmand.plus.helpers.SimpleTwoFingerTapDetector; import net.osmand.plus.views.MultiTouchSupport.MultiTouchZoomListener; import net.osmand.plus.views.OsmandMapLayer.DrawSettings; +import net.osmand.plus.views.controllers.MapViewController; import net.osmand.util.MapUtils; import org.apache.commons.logging.Log; @@ -81,9 +82,7 @@ public class OsmandMapTileView extends SurfaceView implements IMapDownloaderCall protected static final int emptyTileDivisor = 16; - public interface OnTrackBallListener { - public boolean onTrackBallEvent(MotionEvent e); - } + public interface OnLongClickListener { public boolean onLongPressEvent(PointF point); @@ -110,7 +109,7 @@ public class OsmandMapTileView extends SurfaceView implements IMapDownloaderCall private OnClickListener onClickListener; - private OnTrackBallListener trackBallDelegate; + private MapViewController.OnTrackBallListener trackBallDelegate; private AccessibilityActionsProvider accessibilityActions; @@ -746,7 +745,7 @@ public class OsmandMapTileView extends SurfaceView implements IMapDownloaderCall return super.onTrackballEvent(event); } - public void setTrackBallDelegate(OnTrackBallListener trackBallDelegate) { + public void setTrackBallDelegate(MapViewController.OnTrackBallListener trackBallDelegate) { this.trackBallDelegate = trackBallDelegate; } diff --git a/OsmAnd/src/net/osmand/plus/views/controllers/MapViewController.java b/OsmAnd/src/net/osmand/plus/views/controllers/MapViewController.java new file mode 100644 index 0000000000..0e14655379 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/views/controllers/MapViewController.java @@ -0,0 +1,203 @@ +package net.osmand.plus.views.controllers; + +import android.opengl.GLSurfaceView; +import android.view.MotionEvent; +import android.view.View; +import android.view.ViewParent; +import android.widget.FrameLayout; +import net.osmand.access.MapAccessibilityActions; +import net.osmand.data.RotatedTileBox; +import net.osmand.map.MapTileDownloader; +import net.osmand.plus.OsmandApplication; +import net.osmand.plus.OsmandSettings; +import net.osmand.plus.activities.MapActivity; +import net.osmand.plus.activities.MapActivityLayers; +import net.osmand.plus.base.MapViewTrackingUtilities; +import net.osmand.plus.views.OsmandMapLayer; +import net.osmand.plus.views.OsmandMapTileView; + +import java.util.List; + +/** + * Created by Натали on 29.09.2014. + */ +public class MapViewController { + private GLSurfaceView glSurfaceView; + private OsmandMapTileView mapTileView; + private OsmandSettings settings; + private MapActivity mapActivity; + private boolean isNative = false; + + public void setAccessibilityActions(MapAccessibilityActions accessibilityActions) { + if (isNative){ + + } else { + mapTileView.setAccessibilityActions(accessibilityActions); + } + } + + public void refreshMap(boolean b) { + if (isNative){ + + } else { + mapTileView.refreshMap(b); + } + } + + public void createLayers(MapActivityLayers mapLayers) { + if (isNative) { + + } else { + mapLayers.createLayers(mapTileView); + } + } + + public void setLatLon(double latitude, double longitude) { + if (isNative){ + + } else { + mapTileView.setLatLon(latitude, longitude); + } + } + + public void setIntZoom(int i) { + if (isNative) { + + } else { + mapTileView.setIntZoom(i); + } + } + + public void addView(FrameLayout view) { + if (isNative) { + + } else { + ((FrameLayout)mapTileView.getParent()).addView(view); + } + } + + public void setTrackingUtilities(MapViewTrackingUtilities mapViewTrackingUtilities) { + if (isNative) { + + } else { + mapViewTrackingUtilities.setMapView(mapTileView); + } + } + + public void tileDownloaded(MapTileDownloader.DownloadRequest request) { + if (isNative) { + + } else { + mapTileView.tileDownloaded(request); + } + } + + public ViewParent getParentView() { + if (isNative) { + return glSurfaceView.getParent(); + } else { + return mapTileView.getParent(); + } + } + + public List getLayers() { + if (isNative) { + + } else { + return mapTileView.getLayers(); + } + return null; + } + + public double getLatitude() { + if (isNative){ + + } else { + return mapTileView.getLatitude(); + } + return 0; + } + + public double getLongitude() { + if (isNative){ + + } else { + return mapTileView.getLongitude(); + } + return 0; + } + + public void startMoving(double latitude, double longitude, int mapZoomToShow, boolean b) { + if (isNative){ + + } else { + mapTileView.getAnimatedDraggingThread().startMoving(latitude, longitude, + settings.getMapZoomToShow(), true); + } + + } + + public int getZoom() { + if (isNative) { + + } else { + return mapTileView.getZoom(); + } + return 0; + } + + public void startZooming(int newZoom, boolean changeLocation) { + if (isNative){ + + } else { + mapTileView.getAnimatedDraggingThread().startZooming(newZoom, changeLocation); + } + } + + public boolean isZooming() { + if (isNative){ + + } else { + return mapTileView.isZooming(); + } + return false; + } + + public RotatedTileBox getCurrentRotatedTileBox() { + if (isNative) { + + } else { + return mapTileView.getCurrentRotatedTileBox(); + } + return null; + } + + + public interface OnTrackBallListener { + public boolean onTrackBallEvent(MotionEvent e); + } + + public MapViewController(GLSurfaceView surfaceView, MapActivity activity){ + this.glSurfaceView = surfaceView; + this.settings = activity.getMyApplication().getSettings(); + this.mapActivity = activity; + isNative = true; + + } + + public MapViewController(OsmandMapTileView mapTileView, MapActivity activity){ + this.mapTileView = mapTileView; + this.settings = activity.getMyApplication().getSettings(); + this.mapActivity = activity; + isNative = false; + } + + public void setTrackBallDelegate(OnTrackBallListener trackBallDelegate) { + if (isNative){ + + } else { + mapTileView.setTrackBallDelegate(trackBallDelegate); + } + } + +} From cc7126f5c9c999f677bf5adfaf333488b4555c39 Mon Sep 17 00:00:00 2001 From: Denis Date: Tue, 30 Sep 2014 18:39:00 +0300 Subject: [PATCH 06/14] Test --- .../src/net/osmand/plus/OsmandSettings.java | 1 - .../osmand/plus/activities/MapActivity.java | 43 ++++++--------- .../views/controllers/MapViewController.java | 55 +++++++++++++++++++ 3 files changed, 71 insertions(+), 28 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/OsmandSettings.java b/OsmAnd/src/net/osmand/plus/OsmandSettings.java index 8015097e34..3217052922 100644 --- a/OsmAnd/src/net/osmand/plus/OsmandSettings.java +++ b/OsmAnd/src/net/osmand/plus/OsmandSettings.java @@ -749,7 +749,6 @@ public class OsmandSettings { // this value boolean is synchronized with settings_pref.xml preference offline POI/Bugs edition public final OsmandPreference OFFLINE_EDITION = new BooleanPreference("offline_edition", false).makeGlobal(); - // this value string is synchronized with settings_pref.xml preference name public final CommonPreference DAYNIGHT_MODE = new EnumIntPreference("daynight_mode", DayNightMode.DAY, DayNightMode.values()); diff --git a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java index e8430e7277..e69691ad56 100644 --- a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java +++ b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java @@ -73,7 +73,6 @@ import android.widget.Toast; public class MapActivity extends AccessibleActivity { - private static final int SHOW_POSITION_MSG_ID = OsmAndConstants.UI_HANDLER_MAP_VIEW + 1; private static final int LONG_KEYPRESS_MSG_ID = OsmAndConstants.UI_HANDLER_MAP_VIEW + 2; private static final int LONG_KEYPRESS_DELAY = 500; @@ -135,11 +134,11 @@ public class MapActivity extends AccessibleActivity { parseLaunchIntentLocation(); if (settings.USE_NATIVE_RENDER.get()){ - setContentView(R.layout.main); - mapViewController = new MapViewController((OsmandMapTileView) findViewById(R.id.MapView), this); - } else { setContentView(R.layout.activity_gl); mapViewController = new MapViewController((GLSurfaceView) findViewById(R.id.glSurfaceView), this); + } else { + setContentView(R.layout.main); + mapViewController = new MapViewController((OsmandMapTileView) findViewById(R.id.MapView), this); } mapViewController.setTrackBallDelegate(new MapViewController.OnTrackBallListener(){ @@ -533,7 +532,7 @@ public class MapActivity extends AccessibleActivity { OsmandPlugin.onMapActivityDestroy(this); mapViewTrackingUtilities.setMapView(null); cancelNotification(); - app.getResourceManager().getMapTileDownloader().removeDownloaderCallback(mapView); + app.getResourceManager().getMapTileDownloader().removeDownloaderCallback(mapViewController.getMapTileView()); } private void cancelNotification() { @@ -568,12 +567,8 @@ public class MapActivity extends AccessibleActivity { settings.APPLICATION_MODE.removeListener(applicationModeListener); settings.setLastKnownMapLocation((float) mapViewController.getLatitude(), (float) mapViewController.getLongitude()); - AnimateDraggingMapThread animatedThread = mapView.getAnimatedDraggingThread(); - if(animatedThread.isAnimating() && animatedThread.getTargetIntZoom() != 0){ - settings.setMapLocationToShow(animatedThread.getTargetLatitude(), animatedThread.getTargetLongitude(), - animatedThread.getTargetIntZoom()); - } - + mapViewController.onPause(); + settings.setLastKnownMapZoom(mapViewController.getZoom()); settings.MAP_ACTIVITY_ENABLED.set(false); app.setMapActivity(null); @@ -599,8 +594,10 @@ public class MapActivity extends AccessibleActivity { if (mapLayers.getMapInfoLayer() != null) { mapLayers.getMapInfoLayer().recreateControls(); } - mapLayers.updateLayers(mapView); - mapView.setComplexZoom(mapView.getZoom(), mapView.getSettingsZoomScale()); + + mapViewController.updateLayers(mapLayers); + mapViewController.setComplexZoom(); + app.getDaynightHelper().startSensorIfNeeded(new StateChangedListener() { @Override @@ -616,10 +613,10 @@ public class MapActivity extends AccessibleActivity { public boolean onKeyUp(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) { if (!app.accessibilityEnabled()) { - mapActions.contextMenuPoint(mapView.getLatitude(), mapView.getLongitude()); + mapActions.contextMenuPoint(mapViewController.getLatitude(), mapViewController.getLongitude()); } else if (uiHandler.hasMessages(LONG_KEYPRESS_MSG_ID)) { uiHandler.removeMessages(LONG_KEYPRESS_MSG_ID); - mapActions.contextMenuPoint(mapView.getLatitude(), mapView.getLongitude()); + mapActions.contextMenuPoint(mapViewController.getLatitude(), mapViewController.getLongitude()); } return true; } else if (settings.ZOOM_BY_TRACKBALL.get()) { @@ -636,7 +633,7 @@ public class MapActivity extends AccessibleActivity { keyCode == KeyEvent.KEYCODE_DPAD_UP) { int dx = keyCode == KeyEvent.KEYCODE_DPAD_RIGHT ? 15 : (keyCode == KeyEvent.KEYCODE_DPAD_LEFT ? - 15 : 0); int dy = keyCode == KeyEvent.KEYCODE_DPAD_DOWN ? 15 : (keyCode == KeyEvent.KEYCODE_DPAD_UP ? -15 : 0); - final RotatedTileBox tb = mapView.getCurrentRotatedTileBox(); + final RotatedTileBox tb = mapViewController.getCurrentRotatedTileBox(); final QuadPoint cp = tb.getCenterPixelPoint(); final LatLon l = tb.getLatLonFromPixel(cp.x + dx, cp.y + dy); setMapLocation(l.getLatitude(), l.getLongitude()); @@ -660,21 +657,13 @@ public class MapActivity extends AccessibleActivity { public void showAndHideMapPosition() { - mapView.setShowMapPosition(true); - app.runMessageInUIThreadAndCancelPrevious(SHOW_POSITION_MSG_ID, new Runnable() { - @Override - public void run() { - if (mapView.isShowMapPosition()) { - mapView.setShowMapPosition(false); - mapView.refreshMap(); - } - } - }, 2500); + mapViewController.showAndHideMapPosition(); + } public OsmandMapTileView getMapView() { - return mapView; + return mapViewController.getMapTileView(); } public static MapViewTrackingUtilities getMapViewTrackingUtilities() { diff --git a/OsmAnd/src/net/osmand/plus/views/controllers/MapViewController.java b/OsmAnd/src/net/osmand/plus/views/controllers/MapViewController.java index 0e14655379..bf498dd2af 100644 --- a/OsmAnd/src/net/osmand/plus/views/controllers/MapViewController.java +++ b/OsmAnd/src/net/osmand/plus/views/controllers/MapViewController.java @@ -8,11 +8,13 @@ import android.widget.FrameLayout; import net.osmand.access.MapAccessibilityActions; import net.osmand.data.RotatedTileBox; import net.osmand.map.MapTileDownloader; +import net.osmand.plus.OsmAndConstants; import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandSettings; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.activities.MapActivityLayers; import net.osmand.plus.base.MapViewTrackingUtilities; +import net.osmand.plus.views.AnimateDraggingMapThread; import net.osmand.plus.views.OsmandMapLayer; import net.osmand.plus.views.OsmandMapTileView; @@ -28,6 +30,9 @@ public class MapViewController { private MapActivity mapActivity; private boolean isNative = false; + private static final int SHOW_POSITION_MSG_ID = OsmAndConstants.UI_HANDLER_MAP_VIEW + 1; + + public void setAccessibilityActions(MapAccessibilityActions accessibilityActions) { if (isNative){ @@ -172,6 +177,56 @@ public class MapViewController { return null; } + public void onPause() { + if (isNative) { + + } else { + AnimateDraggingMapThread animatedThread = mapTileView.getAnimatedDraggingThread(); + if(animatedThread.isAnimating() && animatedThread.getTargetIntZoom() != 0){ + settings.setMapLocationToShow(animatedThread.getTargetLatitude(), animatedThread.getTargetLongitude(), + animatedThread.getTargetIntZoom()); + } + } + } + + public void updateLayers(MapActivityLayers mapLayers) { + if (isNative) { + + } else { + mapLayers.updateLayers(mapTileView); + } + } + + public void setComplexZoom() { + if (isNative) { + + } else { + mapTileView.setComplexZoom(mapTileView.getZoom(), mapTileView.getSettingsZoomScale()); + } + } + + public void showAndHideMapPosition() { + mapTileView.setShowMapPosition(true); + mapActivity.getMyApplication().runMessageInUIThreadAndCancelPrevious(SHOW_POSITION_MSG_ID, new Runnable() { + @Override + public void run() { + if (mapTileView.isShowMapPosition()) { + mapTileView.setShowMapPosition(false); + mapTileView.refreshMap(); + } + } + }, 2500); + } + + public OsmandMapTileView getMapTileView() { + if (isNative) { + + } else { + return mapTileView; + } + return null; + } + public interface OnTrackBallListener { public boolean onTrackBallEvent(MotionEvent e); From 2d38b5b42cd381716b80ca3bf3f6602d5ba235d4 Mon Sep 17 00:00:00 2001 From: Denis Date: Wed, 1 Oct 2014 10:37:23 +0300 Subject: [PATCH 07/14] updated library --- SherlockBar/libs/android-support-v4.jar | Bin 758727 -> 648327 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/SherlockBar/libs/android-support-v4.jar b/SherlockBar/libs/android-support-v4.jar index c31cede47e3efe9342908764db28b9a760b9a90b..187bdf48b1dffd93f92d8abbe656dbba29f8b4cd 100644 GIT binary patch delta 217749 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%0AJoLQYg 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≶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 z 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 cp8c$V;hD0pI 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

xSVT5%yWk zKXRjFMj#rp?>!;y0ZDo3R6iSDnUY_rMjHvlpTX#C#=vN9+ZQhOQ5DyXQL9@*n%eNa zP>Ve!n>y9>7Dv{EEyqRz0X}$sI`Z z*hjPrbqLq0o$f#%mrSWs&t*wrKa0xc2GT%3*-Bchr=p}Cqtvvhj&*wHlo1HchEn$v z1(vcpxL74!hcge!%OXX7HCRWdGR~PK>9|!UMCG6pTEa5)3?4p*K~<%bb^68Ps|_N%r`ES?`@5oCrq$%HoMe+heIvDWhnt8qa|3|T5(rshQ`E%nqbIH@Eu5#* z4oj8i=KM)UnuoGLDGEV5KEz4QaPl328eTkUtzf0FrwGA$kh%j;NU1;0MxsMf9W3A7 zZ!J;*%RpWkbsQ=29hW?RDIf41g-Sg2CI9-O!S{N}H}<7anj=%^Ei=SccRP) z+xE!526)-s%Gg14!JR$v&h%`FL9a&%c?02efh65N8VCRg$**YEhpPsy-?Y{zs``k% z`6I7!ugN}<$glfc1GoGM@BCZ?z8XMowQpR!c@5tX_)}n6ccv&Ji_h#q$t8Na9vl;p z<+9)gCjp5lKg11hsU`~@Gf>S?US;-=m=>oq0hTCk+5E(VTB`^vOX}|pYQebXkiquI z3td>~rC!Xd#n%I7MWvW~%B611>Y;L}Q48u*x@Bbsjn~|AQT-PhLb+|2xHuylU$Oh8S)Wla6H%o7KwTR zMHDWpzliL)Uiz+tt-Fvd5$e>XgW=rxtA9k~&KkV$3<~Q#oB$gcz4Qb(Re?_;+`aOth>Dr1_?BB><)?~!HhO#poG1uuhGmqxTLdGjHi60D77$)yrgrI;BB(c zzCATc0n*5UGFesOI=R?wKAw~@ax5hDNDhi*CQG!Z zQfPiH(ny{%nO-bu4JNT$YP4qy04&xJBDSbN@;pE?GlAr}7H?#hgp3g-Hc6W3In-yr zOqomuHm03M?3UegBl$c>rBqfx0Z;l}znro6)|5x#!=Tq-OuuFa_o?vmRr{$?-zH)c z4+z2jgg1T+!B@K&z`*GLpodB)fw1WEtC|C+8m&nzaI~=7qAo>|np+hH&}o_NP7!p9 z2ddVviJu5!oMs53mI3-u4yGD_Htz|tpa?Sm2&cG}11iU@y{8V=3V=Q(>tkiTJnO<&z*&>;VCh(&JT|K<==UA|&nb+t5#iHL}V z>n&ttFu@QD&2o`uQ^irl7%~gjYT(SjGRxLzAW;=E-wf}K_Id=m1xBAt+H4F~kW%g3 z?hZR1y=*t5#;*hf0Km(=@)+iP2FGxtYIF5IeCo$Ddx)*S9lH@r5`}MM;f+u&TKI^?_t%DJ;N54!PQys5M~5dx}MEf zB(k;Gw!yUpPz?#}cHU2w4h*k5w>Xf{p1VF&jg~M`Ja(J=mQnn zfm+m<*%3cMXFwm&!biVxfPCQnJ_-UR)->m2#@x@J31YhfM3eAFQzvj9Dud>Wmvn-u z^7ds1)A(s?!o8*ZW&6lELei_N($1}3a>(+_=7>)Sz(eDY8NW7Fts+gtFT+-5!gj33o){r&h9riDD zGlq;?>H&fZ1myXDv5r6azLF{b@-9i!_0X6}w)KCxZgp!FTs1Ur8(~clZL_k1>Cjm% zc4}sAY3&9f7%*jF6<-J?EvG}1y8N}3^Fc5DpM!|+gMB@RRr4#KDhs7uEF(G*td zZS|)F!1>*^mbAgb-Ke^!=@Z#5um#q{+F0QJ$SYmZZnu~oJ%}y%Wtg_sn%wmNk@c2Q zaka}9ZW7!b8h3YhZQR`tiPOY^9h-M6coWlL@Yn(yaZTDflR#1zb~iiBsdug_UW z{ASNcKBw{ei@s$;Q^IT~*8c~9s;0ncg__MGIWDqj6XJM+cLk!a(B*05_V~F`OVh7Q zn474jvfadeATA}A!$)Gt{pn_0f{z0?V~IlTi^oyClD*+vL?{Nd z!o!og14&HG)B7Z^sg>qpn)=+$orgh^(dUuX)Q&Bf+tHvtIO25h>NOg>O z{aqnR|AxQXy&7akwd=|7*2xGvIRjz(C@oHHH19Ij_xq~2V|A#s`aP^B8yqP9 ziviXUVxISv=1z*F&Qtn3OTb1YEynWFBu^X8BK~&c9yj?YMa zMvPaFAKy@&Xsp#w3ENb5bY(z;rAu6FC>hYz+Z^=6)H@U(d-`YmH6At0Hfv>PG$(cc zV8PF^#gueuPW$T*lKJR}wN(DU9f`Z2-u&QQkpiCt*o_gL;)-(>=LAC^wK|h_X=_@_ ziJRWF*s{+=EZUloP}60_vPFGyZtjLnfJQ0 zd)z?_V84Oh8-1E&*q0;5MfBzK0Ff7PYQb_gy99I#>*4%}mb@wnrgY(u2SJ1i3ibLz z>Mq~VMy(CoJc+|fJb!^uFXAPiIf9*r?6&ojxQ^*-v1y!(yB>FUNCLr!o{=p7&@~Lw z5D(A;`4+hc8kqC((iLLJ5f%smO>z%&G?rX)j7%mF`0tGTl)YWJFQ0x8>i@>KrTlpL zEN=gEay0jUMx9lu>8Q*Lp}!~VNJ|MTwuQTi!b%V12kbJ7bP zbZl82Y7{em0ZXCghd z9}EqNoqz5QpddRzYHjpYL5|MKGvtuMhTbdhnA{OES(eUtu!pAq0Q5l+^e|hxTV^GTQ8TXTRxMcaV&b8T zQE3ww>T%snmq?^`~YFikhAo`K@}>}W<3L;oB7x{1vSM!;vM1Hl4Pa@4Bp(rY<9%L2LA>A zp)OxQW}`Ux4BykzP90$;R2b)2eph62)f)K8BlUbmONX8e!W5y+i#9+;4RRHUpAlw) zp%yvBa`xf+dFey`{Rg`leNMJs;W=x(e)Y=t-Y?OC7R98dGqK=r4J=%-t~>^iZgGz= z|0~5o{CkCcnR)ATl>9y z=IGdbLjQK~C5C6xG&~nY0mkI2H)c|*F$RTqLf6(nAcJe7+GddpgrK?Uw!Lg`#cTS!GgK0g3jLs?Aq2>Z^}vBw;@v@@;V77sqY^9Y7t zz`!L3$GTm(-}x!AO}be^g^dh9WbV<9<{Z*(b9vLR%JQ)C?vgI4a6l&y@c6RlQuil7 zldz6urGLcNWYOs0LF~Ypkdoj#s&@Vr9n3!1wtDxsK=OuyT|ldgU`7SLl>f+ zj++|jo5f@tR%x8SZGUlSoUc{zddvoMko20YlEaB`uG4CGWxK)V4%dRPmFJD-P1&?9 zOr5kXchFJxn%&Ey4qv_J6G*rN478@!ejM51_qMqbAW%d^l3U98`ASWI?L)2{-4eq% zk~|FA#kbmW@I8)umh;aHfm`MNa4Aksy4IBgXMpObK3xg< zed@SbXKbuUcdUqn#>mnif_nKI2}Ywf5lR5_P$;k?IoP#jRWGdb>1cX3NM>Q+vm&xg zt&$*rMceDoPUB`h%($GGSk39~di%l@(FC0jC z0j$bqeW^)~3{g)^1TrqdgZUAa5hd{VYDy~@vMW_RUuC3=c!ssbpjHOl)=c_j)?sjCf@l;*-u?H#fFmnQS$HZccs z&%R5zAee8{AurD2=9GBR`%nSY+AhmA&7i$ptHM4X6_7tI?vWj{v;Ga;McP6BuH=Y| z*EBU?yqNC$bQ3!u85*bkS{6vV#@0w$oCmbZI#RyY1tL0xtgxq9tW8xss(<^HJEaTg z!A4+=D?!0MV~^~r6DeR@k#XV#l0M1O1;L|>i2!Zq5y-ij41v|`9+kjfgq6N|A zoZrnApl%kLX7fy!@GUtJSG{h-isL`;GQ0*B9eXHJBgk2Qp&X9N{XlGd*&}b`{EqWR zxhd~LN=%JH!U=eY&syxGPgkbHWpXMaEJ6;OVe_6Dm9aa}@n_Q6e&i|=JEM;%-$wID zsYc}wpnDnj502uPq2tnn`cz7P2U_d^Eq42lK>IuwKLtP2QaJv8{hlD3S|i1#&D$svm%bv z=uiJh)Zuy@o>4xZHP8QFL;Cgn-)v7b(0|Mx{|D?@rLpaXriT1(H+n&_{^@=tmMg`i zOSgliRs_cpU55pP(a*t(h^3OGlYdW4 zazrCHTKbIqa=XlW`jgSdny~rFfxk!aGj`84ln(7_i~$E#iy{x}@aY~HikBEBD{L>t z4LAphR$tp^g}S-7_LgvZu$S!W;q${U1nO+24tRBXe($%1v{!X#+cYm*LGBK4-?)aIe+t`WyqQB`1=c+D5d#JnZ>f>*+-JXxH)0Q2>XTSR%9r}}pe8duU7|9CgZ z!SX0w$f91EjG*Ht##&)<{I;3XdeW)K=t;VlMy~F{uN&8Z_>_z7 zk9w0uD~@w(G?x<9Mt=V~^EM{6>nvXRUZb~B={BpUK!n;}p_C0+?wfb?ZU>igG~MY@ z)#1`PiAC5Wf=k`+J9EiK>l8pT3|`5+Fg3dBl6mLytUFf{fL86B%iY$3;<|G*YG85@ zYU>+l;;Q-2X0yACR}~}_r*RDmYeZEDg#VRC+aL6o+FKid?($YPmSKk!Ne2RA;_ht} zHB16ruK=Ik-MzJsM*o7$^KTtF(l}t$bT{^EJq~xcT>gg$ zTwE4A3<5iW@%~`mS9pZ*SG~lY2DuYZfn2hntOmIb)}4GKgKuhJe}#nk@3!p#rM=6F zSb$?T`-$7Gp5rPCKcQ)H-qh@FYb>gyX&Y_?aM!|CRzNgG)4N8YPH=!;1wu9e8>O{1 zX=u6m=x>uP`$j5N>F*-cy1eEdIns~9gw?!^Z!$Vm?e~4F>XX4%Q(!tn5$}ua-6Rbl z38JKQYhdGKcF#<4l{Jxx=hvtGkCWF7nhC^wCs}>1b}$G}a+#S9%v_=&a_I_yMpSx(!`^zH}b`07^88 zkXd%x42UNY_H92x8_NGW;u%V2-YOA9b@nqv9x}u%Z?pl-%oCgVnfgv;)#w?{!Wz1z z?inq9Y?*FUd}7D zeU8NM$jZKAqEFGCFZf=Gf-@zr)aTJ0KhqyjsL;%d?E4q#&C7^ zVUq8nhTl@9v4FFbtua=>CHUYsVw8m5zN# zlyH`uk&~;&=yLf;Z?Nk}-G@q$=sWQq=aEne;qd0qIxOoWueq-9uP&{F@0tc6zl&Q` zhVip8nJiA~lUzsGS@Ti8m;gbOJ%BKwPuIXTPq0t;!z|jr`9?JWcI?s3&(50(;lDbM z|99{V4^nY9bp8*EE?UFV3wII2cNmjEs;drTc-5je4?w~@6d)v{li_zx2Q7+f^qY;& zc6d$`TZ2_uoHStuv#-l}8>Uflt-euC=NmRTxvk(IU{1+7)Vo4X*WuKNya{Ks;D*y@ zmT>k?wn8gKvW?;4~CSg@DOoTG{BUQd;sw*XUhoLoHY5Y)LuExRk+O;;r-4*#fj1PSkv{ zSn=+&12UHIMgrj}!CfTd74@CTLvB}kb?^LIU5w*Mvad|hN)zKMf-Kj@Xo4W-YZWl2 z+?#Ck7Zr>O{gzY6xoR^c?P}ZHnpy*T?Y4-6B&T`*OZNk2Fg?31+Eq#ffCt#-g>Ux> zW~IuaxX@@p+yG5SGuFOL5wdd7Vhtvimt_1BkVe`reG>i$&Zf?L{QV z&qa5oHvMutkoM0)oDUjnXiVy3nvM55YNWzSO4`|JsM#>I9^sr&#aci@|{^efGbko-pa-Nw)lB&Jj!?ShMM^&_3C~8<;1FTn-YqvS*YeIZuVVPPj;EOFV0H4w#5w( zE1R&)@}x#3OAY04WD41rR8HO}{@KBYed%?E zua?L-))n`%u>o|5Smy_VE<<14!L1*SEXR}p#_OAfs%K^KF0Z0NdTPI8mM2eLJ|yW&NEmDM z+Xx?(wP3djynrrbG&INGRHL*ROLVSGn3`D}D_WbYcZEc+4^NYAeD#bu24mH-o?->$ zs!0F1npB-S4DWBI%MM0$>VE)1|7kuOtF5f8YvmqZyDQLd zE%s$8ZI-5+|F#C5DP65tG@@xjT@_$}A$!9sJUx}%Hd#SzUYejSlj2BHL22n+qo$w% ziqf{s89aa0YRKp|y$BK!A0h|Mn40KXjfIyTyLWa|7JC`}^7?)IVl;*g`;-wu{h3~O z&f@Yo1hx<2y&`HK!MZ|T4ou7}stmllx`F`occdR#qY$0Rk;R5eqHqrAxGJVgHmzA8IvV;OkJ;QBj9T1RL<@d&RzxcG}Wbcpi z3%x-(q^{|Z$hre08Yx4WCvii>1<*)8G@>?aiMK(OhMaX`{S^FQtk(jlSvXzECC24O zZ`mBbWY@bC9(0c7Wn1Vwnlh-t`csJjVp4*_h^SZ4#M@%6zrnS8NZs)osIINmdNr!; zC-odBi>4}F&#BlOt%sPk&-YhL`VZ^gSY{KvM~XgJP!f{(fi{#a z=Z+vzZJfgb+b~?CX6wRmTw?+3K6DNgBO=TqV4;zE@KMZaHZrae2UXS@Ch?{)?hVF28UFoNx2XDmK@`2+K~K_@)&X(#*69y4># zIF~!rz$cauZ101JS}qww2X~%|EGGkpQss#gnh+CjW zsi=@xs@hM$vEW%b-p8Br;!^tUpDfNYv7{gMpZ!42=eG5KMs2KJ%l}_8&VM!BV#YRx zmX81KwX@>4rE!JPhq@C6Y})NA)G9c%(JGPvmKwrqB88kr#6Pt~uYK!RhvHn!R%L?( z)PK<3*^J;T051pT`rPjNiQ+ zYn%o6a9qZ6I3u(o?H&~Zlr3WAiE_$5+>6mo2qVL!u>o+QF@k2dMfyV5khucpEV3eH zb|pky-i#9@7j4;WpBqlPl52S|hYxUPo7A>Izfm3Qfw>fhJWKpeoQnk#MLcsQhLKkb zS;z;oRsmj>FH*?9$*y>(#?Nn4W_x+i!@cF9%bK^fF`PkvV>1Zd_M4k)&TpBRg2qyP zuM)=1#%nbMju9B`M@8FH9j&aJXc;*9irAd?2KIinnz{6CjIz%((6whBf z_Sg?WPV_5^Q9fS5uiYCM59Ng$p2fJ1GC(`ao~EU5nA`#m0?8^}|1f#6h$=gJKaGp8 z|HruasWKP+bnSjgG5z+9@L#@1r2mXrvoyAy(A55AUu++B)tSSTrWR8!O)YMuF7iVa zomaHCgs!8Gi_mTvCD&Uy8=5TMQFuL%V(fZ0#v7*GMz=4<;4O&ZVfhWpzdVVW;>zxj zN{=s|yK$WUWj_7X<#fsaSLWrkd)pUkhiL0|?`vj49TW_E~YD&moWtD1YZhQ z&EQIwJZ!4am*sryPjLRO;;Pz|)!M9!6zxUhfh$mQ!7hz0(wbYo)$0O#R-TaIcr|}= z+OeUOCo`Q<9dw{G^R%dVAmdJ|;i~aHWRrJJZvp?*kEIb^)R#KW(D{}Q-YP4;|HNl0 zqrk+I$^{vFU$@PUy}w7*(c+km5&c<0TpSPs4tY^i#XmeR-d1-|sMa|Dn#jPj)I#H| z*_aw&7=#|RlN;0-P~a}?k6?8IX1cY@a(UIa!gP(e4D#tm#e)!|qvDFGfCu7^Rq+`@ zEDPziy?}INdX3$6`($AChiKuwDyD%&oN1qGACL1~;hgz72U|UX; z@#~w*+cd#2P1}*&B2Zq+Jtfa;F?nO-ePKXVnIFsiXL-Z^=%^OEfSj#1Zj8Y5xCPSN z+hSN2v=K6yS))}CrZ!TQwiglHeLksN4llh!X6K6j?CMD%^au8)>eEzBZu8mU`|Nh1Sk50<0Oyp)`YumR? z;7(5{_#4XR-SA4ZLTRmnC0Y(jua;Yb!x_0(RQtRF{-y*}Tda-Xs$D&jvK`Xun~B$` zfGCHMYwjxW1HCi6W%u8;Is-6@hhX*T;tl&hd*OevPUH0c&9VlEQ#Q5z;cO~pXYb;i zGBXQ<0cz5C0--IVd{ooRSbIcI8sVCp`32UQN;Uf_OWVqlz_d|~tgJwOYjjwiGh)=c zj97%-D?Y|p!{fK~{B*rac&6NG60tEHCvn)$zg%?Byu;WYR;f2fX>bYWyyyDdZe?(O zQcfp$@8&?+I^eZvA9u!3Yy|Cu(IeMfSNrQ%8-SHHz+;a#ohoM#u z4G9QMas>v=1kQ%Vyo0C(`hH89?H8QgG7}11^i!_14hiI#w5O!rB_b)jTu~$Li8|g` zfIO`ndE(@w6-tb+P0}If%?q8BRg)T5j|wfR*3OVahk~jPyA%*pnRvsq3iKJ~a!2({25oQ_VaN&Srsl*&Q(KCg`ptQYE5}NO^gU1I z4ri*|;OQqMH&*7+u3B{c96t`h=5OJpIdGhX@zCcyNKB?ph4B%fO#3@p-p)iSgA;rv zXnS;f9gwVMN+J%O=td7EzIXt;JP5V&ZxSo$zuzI*M$0;~VQA(d;xnZR;83TB2;H>q^mIlGLF{}B0 z)UOxv{-a{?Bz7w+^ykM2xKddh{IW*#wbs4CGBImU(N0*-ck*$e$Qtr-Pi5D76{$mhHqVgm#~inU5q__YF|Io(|ep+iFcsf z^?OKssdgyzk&*jx!3&vbc0dx3bx49JS1PYj{o)Co;?tI^Uxyck>YBaXm3pSJD<_M> z_smoPdtXCEzIOM>eDe+e{&H3Cx4qLMx@LQ)H3{>G@5{J@^hg@oe6T_Ohs;=6K<8%@ zJoEM+eS~kHId^c6aPKrbKOT8Qvud7;f6sVZ_dZ@BA$nalI&yF5oO^(z$VH)m*Vnyy zl&#NVbB7O-mic0|mXVcpjk@dHF=L^b2{qf3V`XDzuO<}Lr{$A&73+HmgU~X()yo*g z>rxt=DvAqq9i{3urQoF`a|w3lQtTQbwa%IITa-M3)t2Ry2g-JvByPI_h+Nq=C9BLL zhi+FK+%`sEG|>HZo@qc;=Gm{V7%S%J=MOvQESrvzte+l#T|V{3KHcW{@s)C?8Q(kQ zvPUWX@)8cLb;>jZbw#O{0TZ!9eSxTFyRIoS$pjqHgO}5u~8C4SZWpy8pGXt+RAk_VHZbmBSbC ztJcDVP)f;)+v-$AqnF>h0)Bqk8p*ED_Ze0UVk6M2>|nKESj#&gYEiL+9}m@u6Gbhg?jDOl0k`nXbgra8_mx5{}+5jeja_^SSIhYe)@z9E$8 zURU7CF|n&F@@3$_JxjR{R}?ev{w9Y&h!vg$o@y-GUjnNa5yt$O4pc;XeTiJif~FT< zU}Q=i@f-;IWCNosV#=R-|>Z-IZ^U4BEoUW%JM8PDr zn}933TPmlN15`pQdH}?%OLgTqDh1smR~bLAN7jl&P8Tri@ow}oh402F4p&>R@Ok8g z5WRU}&`N3ZiTp%Vo>Q?PmdIMLE6`<<)ET|vX#}nPjLtB~xGF0T25!VUxGe(@A9stY=orPhC+B)_F$k7Qp*eXpoI$)AHA$obK2}9) zYX*90RM8Iw24?%2J1FR#6a1)XX}Vx>h2*Q+(hKa8>@iQ#v;T>7#h81Ey7YG)`1PIQ zxfGhwJ$xzU2a%|2-$ca9{10MBJ~~$jzGb1Co*M$VSu^n6T^J>--Eidm%@Gp$x4_gQ zuEQ{S2$rc8r7Vg!Xf@Gfad+)m)0C3fRDeZs+wa77vk2$pc$H8D)e$E$k8_tnHs)~V zzSVekrubkAED= zBR4g4p}KVyU7m}#p|nnx(e z*tXy_$MbA95Gv9D*%J+k20GXXiT^IstYEU9OeX$*m+$e5Kw>K`EwmUXUD_!~Dyt{h9tl1^Qp_Wn@ye_BQ{-4gW{7pfdg$bA`^IP?$Eveut5ps9~v+ z&L)Kr20;ZKE?$mKO{1*h(r<+t8$r8n{4{$RfPn!g;8!DT1cp0sze0v#wfF^Y8he}f zFq7BGyzBM#4!Z}f5n*Dd+TW`+2N8*jz_HQ^WW$vBou><}+lXojR|3AMx}Ln>d;9vp zcMrkTohpPuEcw}rY=abq=NLplH+Y#DmN$3%?XSxYpU;HBgZK9kJq^*g!Ug&7kFKS7 z>k;upiiS2>0u7?bnox5pb!Sh)sLMllh`@WzAt)B<4X!n~q~%-V<6-#oXHAPj=ZP_8 zP}UGv9*H&QwXH_H?CNMZZOXNUOkcB81@L~|LJ`C(HkviA%1A}Qug;ojf2_(;a$~S# zs7}y-6WqZDNdqI{I4zY?XCKqyL?Ryy6QdO)hX$v~rX-eC&^z;-5%bfA#1~IaY=o!P?K8mPG#7c??6d6EbSigoY&&H&X{Yy4j%|}@y8j8Ru6M#Nf%{az{r=oV z{m)qL^Uw58WY52JZ!P_1kQM(1!sOk2ib6l{fwvF{L!15k9-YGHM&HjE68b+gn<{S@ zZ`H;7kG8*)UbieB#3rUNq`^eKDBCt&@LK3q zv_`^y9qdHsvT z5Bo(WNld^!utMwSIJ-2cGw~?VL}~BVFkX(k9}2X`tuHV#?DS+nIQ{!cRb>Z^kn!$@ z#7IRJ!Unf56m^t|k?`VxTwkCMYEXCaN%A>n?#UwSg_?H=O3b@5CHD5_T9n7XltP(h zbXdj%`(O-4I5T;o59eOp#5bl9|DoR_kEjOW4>3V2UqEFL0H#1kG>mOgRmni!7VM+hqH9ZtCw zmyXFdfpFnUk55`y+Yi)vqLEftsSk;7TJVG?Kc&)A7=@IMDKa6A!g@ul8IM2NTVh?E7d1KZiv4% z&uj8}zmoaZPbthkmGKBhOP8F!!arx1-8MM;Hcx?Mi=3Q&8GJzbw>c-Td|5d)w>e6K z5Io(Ahgiq2Mp@tUZ)IG3)20}gpD-5Oi>7Mko)&q!#ScNeE?qK*%gXmIJRjWtZTg3t zGk?XiwhM1FTzuh@eDiK~Tzqj&-A-R!v$lo%Hp*^0B*EOCA2&^obe{P2eHne!7`vyT zI-Uq2O4Bl4W zb;myB13^C6PX>^JE!lJA7f%VA&oPrtR_W{h58NBe@BAsD(+b_uvQ`Y3C;2aQp;hs zoo{9|w~-jxGFl8+wRl}UHDy7k^vlK5MT2BPX%ijR%@y3*xUL8Bj2mh+UBos{D4#Y& zR~`PRja~nro+Tj{38Fdm&BU-^5?d!5_HRQQHy%!ZCW$wq?<-EMaZi?)ISG3G7FkEi zBGW}c)iBP^5ExO0VOu&ajt=MLgOQ~p0Ql-E9kuRa-^KRdw)c1)>{UEggRl*yVMgcD zt0%pCV}o)PDH&o({+P*Y*yz>KL4Bojk~-(jJ&2GH$+Us3|w+?t%8TI`j z8KYTypn*gqt#H-}X&IlZw5ag{En_FsOg%)?Vto+`Ekr`^E?MS*zho{wz*upW(0;Xn z06%GiM|V9Q+7^L)X3g|1j-rD^PpP$WTm~ay;neHVpvrkHvIYds>DFP9^3pPQ&MSn7`YiSu7fS?km6e%__2>mruKll z43O+ku04=#1}91@ooc#pve9=AzAc`I0g`ARsMOn=OwW~*&kSX5%V0&s9P1BK)^3J$ zvGCNk1Cw4_!LUOdQilk_xxvk+_m5%s*9;r0pZiQT&MPqwt^5*^6kR5?62K#(qn1#u z=;Gu#o#wj>x*wIkg$@(s@YsWdy+xi44<5HRhr)GCmMK039c62S_D&pA zH`P33VI+ki zO-aRU!NM|a9jE8_;B;9D@x5GG7(qjgy@&0u zv>00akwm&is`=yz8|7k96P4QC^jI?;c7PV&S}^WcwgCXHgQIlrw1$ozl`0A>O1ZT3 z>G_4yGC>$S3e%n2%~vuq!jZmrDG-fxNiAM^W20|iUT#k??B+)C z`ohgzx4y~ueI{`3)|zD#{=zgu=c(g9Z+g!Oanm@d?h(x+qf< zyyM+K#ZNA(OTcP{YZ9R%<rf%4#94?yM|uBw^m@#$z^2vnsI*aKlU6kxJ4(srCoC0jl@o>nlnnY%WgJcv52MBRdWb5Y#M2la{)vaN-W0MVU6x&w83N zWLY+Xk?xT*G!>woTKUY6NZ3qpi>gU+Qo2k||! zO_uDXY9`O?lR4QI=RAx1ctr{1s!dclm%S*t#hM@NXdh|dtd@f#>zyT!o6mNiEJ7B9y@E2f;pqHnH~UX+_$W2~oke1NYctAQUb>N|kI{8=fd@ z%8KBQ^=@~C^eD(|#9htR`3ejK4G2EmfUsZD-hTvsgo3QDrXLTFa^AS=dq2jzuWlF- z-Z4Jb3}C&-d$zZu5d+iSvhrAevBQH#?G61TH6$z$AJLS$ZRMX5BrLjnyLX}Oo^3!} zwd6;!Zi4~um;r|+aLgckUdVd)B0==OZm#TZLE1ELVY9IkSg(6!ON8)l6t0gtM?OSL zivflMITlD{%5MnG@$7lzk8YMYBV=LS-QzTYpy?0u9=EGsy+i#P`VjEJ)Egj!g3-cF z8;mjxo!{wS&TL|lHuy47!izN|BG#T~-;Smz;k70Rl zXAor$hJh>!3l!=f?u>moNQs(w<62kD8=64)<}_Po%~Ymftp$TXt?XV{>ZdP<8Syfs z2GTcFqr*WMvs^q{7F^^4(vDQ4#U`}8a|R`fEQnn!iQkH56eA?r`%6JCWWZk&)o`K| zgK|;Chkgy_f{*3yC=nkutYq^Qd~j007OTT=N6#HY>jLoy`q2FQTduiX<%DZ{YFQE zBwB|9PI5(2`@WEZEn0wlJ&+?yL{K0=hlr^2>z0@lbv;9!3LfTGoDI12Zbb7PfZzH$WWMKJo`@PW6F?kxF z{qFsz@3OyIh~Pa(z@T^cZFqi2_D?+8_Mesk?%)Xwl&K}(p;4Ma3#3}n?jNW3Gn7Yj z+jmxye7C*|r8vXXcYl3JE0|MrinFIZ%X`zAZRnz{(&B7LvrWMPr+URhevG@co&r){ zt(AFysZ%(m&)(S)lB~B{9*Z!|RKTxr&*&dG5J_DHd}~-{4L%GmcZXbdE-eA+FFG>C z%178%R0)a7Kx$Hu#J1dQL*@30`Gv9cIFmkEK?a_&tJNI!fpl=5DvcUsN7klctn(I#xJxgMLl2*tKscCcG1TjM_ z0(|!hCCYo7=p7e|9FE`2tbBeM@x(1vn!@NeqieFd)D1?sb=OF)MbtNud{D&EIFz)4 z0JDREpk$BKN#}Pnrslr|O0BFod2Zx*t=OannZjx{#>hwnF2xut(o{Jy<4$rWBaUe!PAAUa*b+)wkx|y{Wwbc9m zlM>+y)P(4=aX63XsbfvGg)Q0GNXhusF&^V4-axW`TX%K* z99FCQ@bf*G7ejnE5q9!>Pv9-leXhp5V1xi6$X}fIN3YlBVG1HT^+k?OfikyNmC~uB zA-Z_7KuVM)11HFbURb0Cf&t44eqk!rz2G+DhXh%FEc{YoRkGA2p$Wl)vVLdP_k#!D z)Ulb_wTp-K`ONZGZl+7`D{p#r*?BLO6#F~xt>x(4+aU%G@&2`#n5}L($xEAh_M9Fn z5Ka8nBw+-23zW{j4bkXeq@=vHv*}OpxMD)XNrmN?&Q6ntbCDmK&x!IGLH!A~c7Gko zN5z+4T2OK0x3KK{@fsg+xdMGr66O|a=O#QSd&xKLlB8Q8rm|91tp@o$3d{@la$CD( z21ge@1!MD3EIegf-eioDuCg6R<1%X@psDY30&Owb@F8Yv0lk2cU{1gOj4Mo8|6S)c zDEN0_LDAs922`C$ga%JJ`LD#ug7ry)LpR+v2MV>XKXjf1HQyK1-{HqU-J~CbcW`v` zAa_*s?Hbc3+(&iq?!ZfWzK??Kne=mKbF!|8)!1s&0gZ%n{ij8(nx%dxx{U$N>%T1lQv!N3?*iaO4NB8x-35)U~q5g&D)CbDpY6YC0H=3 zLYp~ZX`;p7NJ4ytV&5Gxd55bWf{}n>LlAN&Gz8U$qBhic5(>JLov-GHyCuqM^LiaCs5q2Y< zc;3-!(;`Y9oF>Mr7KP8{b|YGmqq)PxZp|h2P!Tkt9_@zqock`ocP51c0V=?sRnWXU zbi@*Vz@E#Cq2&9F9UufgoTrt1zb{TcVhJEtVeqd4;}>+fKt@BpH@ko~Rq> zp>)$sY_Xk06GXDpY4w&MhVg}PLZB~~(%1ueVJMe4=p|4x>y33O0uC-O-aIDMt=Ort zn`kW|1SCfK6l$GKUEoyI-uFe$Fa^#`KxnE;a(W-(Gf3B0l((P8TrqM_<3BEKN>=EO#HC;(jbd6)_9s@d9|$iE*?d2` z?;AbYG&gM-X3vIT9u=#>IiZwHZK_kpN~L$KFs-i~4z9UYzHm*4)YzA=nhy2McR8fg z*muWF8UkISZdOCPZA5oI0X`tMyNxGAQx4c~)mg@ix?IeY;~ApvSmM=e;M%iol7?3% zl2F0DFpijcN1{1oPv>c+oi}QRLx*`i*ro?AqX5*Yp2p9Wz2B3o(k3Eq(5jd_nB4Ao zr;kwtqtg}c3UsOXlsv`Y|JZh4Dc_iS23G2!V&2-f>*>Z0P3DC{0>#|P&D;HxBVHyu z@{PErig0Vy8hyDKe`pqJbHsL%{IKTd%C{{zrhYBzlN))4c!zD;PEDAu4f^KK5p%fO z2i}8L@xsWRV*uCu&RcdO6pryOfp@x$dCIuTQ#U|!dsTz#(45xfmDHA?TLlHVcXFD0 zO^4SzJ5o8f-#oo<283!@koN7v7<1Ryr=+??s~O_cjnv?YG;pO598dLZPJZU98KTk| zx*&Jr=$OdL#n$UIx?-&F=lxn^r;7*|%spA{kDaV#PYA0xzEN}|2!Q=RdMtV8GQL&G z&n6oCi@K3&RJWxy(KBb4@Y4LjuPR#~hyyovNGv9CCH1m`VUnsu5S zSMhk=PR^*li0t75e7e*mxb+D`YGqi%Hf2k^vLW2EkX#1H2@@fAj0f)UpA*O$!n5^? zE#r0EajLq`VD@q-YxN}xhna$VY{AdBak1q=*_LMbhtvo8VwoT&smgf!PMG^nm%8Oy zKQx0S4u2k*0&($O`4MPiy3oQ9EiccwpWyL*DC2y%Q)n9POwx5s(i?wF)Xz4K#EsWe zky+Sb!3$rYN3?meF+O5@IsHO|j#Jl9dU)|ec8u$VhfN_xlCdvbP1m9;Q12?6toi7Zt0YYd8+66s3Abpi((PAZJ2vpSX?=(tw zVGKbL2B)OSWmcw%SVOcWxQs!5wJUDm`hyLmnjDlbgR&#Yfw}8+`v{GUsN^ddKO^1a6UfF$^|HIyz3gRUnYHdOAMAmCMiA z57Uf^UvpNG#dKCLD(qnI2*=!*_hl@dTwNj-o#7p{;xKQIUngPTn43^YL-X@OnHN-`R0N`p(kx)6 z{w!@ab@ahjLec9k9zAXA?WT@x`8zJs0}-JZ6lR<9Z$nsZEeVqlzZx0-gz^2e@5p=b z+Q1M2T2BGa?|~f&tLhqogha&QiwT2gHTZeh#NmwzgX>>c_{8DSiGvhhR}I{@sfb(x zXO3VV4G9N#J1!h?t#G-Q+O7>3hCwIZWe>kV!oBPpj56|?V0|_Qe&?kaH@*M|`kwYO z+D>?~k|_V3US%e!rP$^dWxXz|G{hu@s&WM^o`4a~AmXJ^w@>`?wuR!t1Gzd-g-|+zX_FA8CMnR-YSRjScG$Lv!9o-H;1N z+yj0HMqapK^9gd*AAa~zA3|Wi-*h4J9lv?9cVqF31*Bysq1Z!J<<(aUmn1rZ{oV=B z^33xjixYffIvag80Cze3d3@r7b6h$eQ*WS!ss@sAnM?m^f)=6`)HS4^7Q%Lv7sRLF zQL)O|=6CeU;Uf#}JB*hN&$2pW)=(VTcHA4*^_-T}hkM<7 zJO;6?t02Pb8s6sg@;o+T?pOb`QxoUP(M%;OTxJO%l^F!?+%A zRXcJ>rw~tZA4^)lCkJX(T!$r7+|o3hpW1Ub)Ba`GvPLalG_z`^&Lxq}7C)2I(q2Ze zkXE;ttUxFjj5o6?rp_gkt)R}OlN~LI0FqY5p%M7g${H#0Dx|Sr0-$;bsnb+XCevQ+ zpTF>1DYot3Tj<$!)QhwkQyA!`(t=bc#T$zIY%_mYw`;acaRGHkzP?IiFquk&5Mb7C z(WTYFbR9HPdr6;EW~d+((ztBm)}_&@Vb-aUx$V(z(KWjhq+E86wdEPH#mTl_&)jaP zgqkp&Y;G{aY8k7zFkPOV&UY%VNMTql^ihiCkBpS8$D0z>G{X@1*p^z25vW_c{J~$h zWhxlUP{^iJ3|!wbZK5YD%vNdq-K!YfNCmQP&4ymdz${`HDs7EyUY2cGz5!{o{&6kf7LqYs0>EEz`dT;jV`;u-o$0; zstO9+Kk^ivEI%#lxN3bJ@O<_pd=Ii)o_dHX)TU- zUtg>nYuS(JuYt6ERZBY0So51~$5UW_eO%!&V9dZD+Ftx%TY@jTd*5M? zWUaf#SLjz9$s6J*S&TP`BtLZFGL>C)&d$csJ8*FWc&?cYwmi+>7iIo{k&5MrBcxB49Uy*0?_!dxe7oX`|CqR^Gi254Lb3ZJ_u{`^D@ ztC%G_$1?1BMO`Xq8f1OMuv9e&T|T#|1AH*BSJsM3eFQhBYKCdQCHRrEx34c8ntLHb zJONn<#pI>A#@(9MNXj*p|8VCSFL5C+XGfgdZ8m7z-ZHfymJhFxG;0z*1%6B}TugK=wCA#2m*9L}V zkUA#>AFr*mHt`>}#Vv*fR3Jcz;z5RLM@~m$mUBvpBJ+N_}nB^fk}I9h;o)GG&bjng(LNH}G3J-s~1- zQ$Ol@asj|8NGI&tlN{X&fmvB6ZbBz;f)BUEnr@HTE_PbQTyxiatedT_mO;u1#wrQM z3O>+t0%B+pfV_WMT`h@>N36kzdDnDcSmw?jvk3T((7XX6*YNM-YeMid=?3+PG61Fo z;4Ghe3VxFLK(mm1x4Q@QR0XLfUgsvfdi%(b24<4?(8gslIed?4~c3zFE^;0O$m^b-Fd92 z3aErNyjU$hyqH4!K_m$qnX2$?zZqFXJfw%#FPE!R!EDuQMy~t#S^Z=%~EE z`R~5d!kiTM>~`hg%y>bc_=dQE4zwfh>4rEmN^qyQ54`+Xm~aDII#^O$8)yig-nr$Mr2Ggt0jpt9FAS2MisMliKf6Rv#) z$*tUpqHe=wQr8QdW>`BQWTNR?R{k-$2>vXu{G<0u_D5}LwPJbkqet9FpgYvJ9yHLM z*o|(eW*;W&KY~lwV0D^4$hb{@oC%W*2~|Xee+6Ogko*GQP0S04zH36EtdN8}G7orz z8wo_!(}W@`KveiD)diEN8X&asZajpN!0rv;-~ZgrvFmEFwzaG zV2INBIUyOrcpkZ0?KmMrKyjSf`Jw9n1^4|=8(Z>i_kRRZ80kV|P-ws$?F38+RbqL| z=)JiI1oHkcO8E*wsn?!vosCeF+V;(rhu#Hnj@y4Q*eGTnc9y+i!OP1_F1DTbwHKea zH>7~pHHQ2E1T5J#*V}J8i2A&qN4p&PmJ+np1gN+I`Ge%@`9A<72iz>5O-IqUYd7S^ zo(#=A2r*f-Y<&AaO@PIzJS1J^O!&*EXs}n@DIui-#Yd&%kKZXzjFDLyHlo2$9>ohT zeGoBit-z7HYF1dSBuV8d$ljtUtGf@3yWxrldy))@L$)Y>OHD zKTs8tzPqO|6x=1;?<&hd{BbM^rUs-E`lpzqhaP$u+?cVWDpemF&*4T>t`W`&omv#*RJj-Gk-utRj) z^as(;W2VC%3qeBJIAgESQTlEs+vil)|e{YYD#A-XZ@2 z3{va9BJ?LXnDUq5WzX`<@bV9Y*y=zFWd`vtQ1$;vS)6Nwfl8NYhvWuB4gzZp{Q?Gp z;xwghsZe}9pZ$MI>i+wy`u8j#`TxS-{QpPlRIBT$=%}IVafKu!frZS8z%i)Du!GB3 z+cl$CA&`{UlThdTmdBgJI+ZJZS{LLaAb6~165Nd$h{?U3hXSS?@N#jH z_{NYeL0$8_ncg(7tXtf;JYU@G`~`yi=5*F~H5my;9O}jv8HnA~Z@bOMljiY193bGC z8B>^umX#V?uY$8;GBH220Qd{K@1bEGW8}m#F-=J}%HE#(y7FSoF2t0wjkmi>2ot** zRF@|PS=)-Snrm@!QewCcMM(^+BDg3qsB%E$@!h7{l45jE2k7&d7e>#UP5{4U%aSXP zyXpoe*%tbS&a>T$J=k04qmZ&#v$x_!> zT!qbAQk^Of6>qMR-PCu@%Jv=(?F@-Lmg}~p{!M`(N;e8?U0i^&-CI;{c7_i$wU*GQ zql+k3B{N_=e~~KIrp1^vF9N!A6r{-{y3Q}HKIYH{8V^?|Swmiw^#>EnjW*BK8&MuX zhFZgQJHLBE|*(OXpOHni(<_Z=7J^K?Eu%ulIX zNpL(+Gu&_qE$9~*6{S*i8A56BR!yd3TEwMuD$t9dxkuj>yx@PwFvQP2=z*? zUVFw0Mh{bF$7uclbuiq8`(_Yi=D98g0|M-+WE8KMv&Vzuxh_hf+(hrG2I|D6d*z0cyRfu^FKt2#DIpb~*cH4*%=~}ygs2=9Y{+ox%`9N0C(c@ zY6iVcnCUsOc8^zFml+p(GVLVoO~WFC+s?+-La7sxE<8a`XM7xLj12CS;SCDOcp|xg z%rfxaP|y2x-Vl*s&lS8L9`9w=>R@uUKRo^_$o-)Zs+3!3nhH1!N_Dl3sWW#ym|5bN z=Kfc3lcX}og=@yYrkV)9&bAo)%_E4lqv1+mt-(#HoXn1R5MJ{)G5%Wr-N&| zug-TP!gXGvLOI#@dfS#X_WCEo?l0lD%e5b;@bM7f2&;lo{;=VitzU=pWSsL=83UxX$nx1c*z3j&N2>u*oh3Z`n^a z4q7iW#ulWaN0{{<%1xE%;#NYl#W1}j2a8N#7A^~Z^I`6!R) zLb-b=u|(A>6dShhKAupYS71ph3`v`IeLC+h&J;4UR+B{K6o1?C2Xt&x zWbsFNAi2#$PX2>Tw-(BaNch^?LSg^UE%cxK{C4BN-az>D2op$jpaPmOw!mVVy+`M- z&~H%;%FPU+Q3U}E(CAVXYVgRYM5R}n>GYk`?$N*rtOAjO$awze!k8U>%ShEB`-RL8 z#*-W#wnibK-y5hQp$;tiq3M`s(cFazghJi!RGy4y3Gw9-CI!8$CnL%1&&yjArOn26 z2JEFIBk0Pqdvg_bAWk2$;GN2#nf(&IO6Ad%xqYG8lB@8RvXh66AJ9TWq~EI^yj4D$ z#J~NSp|wKf1VfMfYEPXZARvmrNhx&R z+S=mi@`IG}MSK}D>Db;v+F1-w@<=hn9pkj^$H*b_uR9lAfUB4+ve1fa9~n!inQ|7L zrTS`~&j)>MAoEF?GK#3WxDX_HRhi~69E=U^N_~Do1k2s+F(>7T8vK4*h1{7Iqh^>8TCu+d>$NTu}`Vtdhqp zqxZpIW)KzEW{i$TC2;0lTM$3g5rV(eoFexi67!-aKzI{$oYHm9;cx7;nQV1aQySoa zUmY;7H=+rGAkonE6l1nHU#s(6?EsMy)WbbpGb0-34+}y?K7gEmN(CH-(gA2nC)_+ztbt?mq>C z&^javZ36b6x}p{xlDRbl9Xc2CKLG>Q#eNwu7UbNuj?I;dWkT@o3R_|LpgexH z=sIFp?QR8+a66f-5OSTr(_i3B$;fqOZF)lX@GdVVHV49&ckjO-0dS`yb!dZx!S=%b z+$A*K8LCI5qO}aci$xysw5{5QU3Hctq%Qoe&tYWJzID_!IQRmo6VWuq)|5HW+6FYh zt9iI;{NUu`NV?eh6&GE>`*7un(8)luomtvP$g6l_>AQ4%s~fjz)9;Lp1FA8?0-0P* zd2Uv09cW3|_%+(WaO?Suu+k@JIY#hr@HH#Rvy42rgFpg4!i1u4e!uOiCfqB~*L5Oi zl%8V%N7ED)K|*nqDPE8kf3;9q4C_Eem&=!NmVOdGn;Rh0 zimBH0^2Hm*_*748zBA9|2H+R`3YWHBuNQ&N=e8=V8WT38i=_B=tjx9Wb)-ol9!~NQ zl$NI7RBR!FBqig71Um%E*H58n8MuJvJr~@P;+$IOkx%t|+L}SO#nkxkYq-1ncGt`C zw9ihLS0ymqp!)NdwMC(3hplfH)Aa>J1 zgyl_wQ)y5!wlZ@};l7h4WZWKOJ~t`hj-n%1+$PW|KFH@*o}^uY|2qAaA@JP}LVn|1Kjdc2Q?sA%Nn~QKZ#b zQ{HigP-5iuHr0sf`}ZJ@KTo1CZlD6oL0RGXys8xUOR2=^jk7Ua&J`HpzG?P%Qn@E zRb3W_?E_d-<$2Fp37BPFp4|EU%v^2y%FWw|5U=g~V7=?Pc2EcE-OYUjuNmjJk8MPl z`>nj64%tFW$M+62xD5wNFm!Mf`HT*Am3+XZW6FqGq6haYSC0^0FjR5_2*ul+5OInn zzO9pR{>_<3sB*CE5H(N-=F@uz1h0?l7Q~yh1fb5`>h*ma0voSy;Lp{YE7Egmal0pk#2+!fY&u`aT#nNxVh4lgN+)4H6|a> zwk=JIit3?B87%Ctvx^!j%$z>FBZs^q_b=g+p{>e}vumkKREJ*JMbk{P454Z=B2|i+ zkBV6l4Ldq+Guc1of^KK9CntuH#q~8iGhC|}fg?x7Oj%8Iy~uz7}&Du zj5_GpHL2eMJWFkcz*|xw{D$wq8+|e|rp2OnKa7n+(Yv^k&M#(ZbVg!=HdUFzNS8bB z$fimLy!fGz!eh$Dv+Zy11X@4=*+w0_5`V{Gaf>|A1LK^LbuMCTXa@Y1#k1FDn^oMZ zCl)4q*wHDpGH}#&RZWL@*uRW4a4V$0%1J?l*7?+ARdu5T_WN7moDyS*DxYEeWzM^W zgVdZ@7?n^)^)Wh;)o-%EuoSjr^g9CDs`aq%jostT6cM)kfH8^B|bK%GHL6es_he zn=}c^lC`@I{tAh~QtgUJH+@$c{_#5}ig-rNiEt+U)&c|AZ_wV*9*gOM$1r@De#?ac z92HUx8Cq%;N#1=C`lSJ+{lb>een#3*EXC9!nZD}`10kZj7CR;>F`ZP9)Qy%sMw-l{ zS(S$WI_8EfmblSVG%0K?7Q=0q<0a79S>VFrk4sZD#gs-XAz)&}4Xa&An>n)#&P>wQ z#lzpQ#hQz2?@!p!s|l_gU+?aB`Fg)}@oQ6jrTYArM^a6xz+9jfm#D{RqJ)iIh7rU#uS+F_zsRke}`Jk8|GJ7r@Pj1>l+DmEyX zRk2i#9g;|OznfO86m*j@SSf7M*U>`g5hK>pq=sA>^uwN9ZNAJS(jD$gxNI==^rMsq z*_GC{WwFjb?rU%1+ASX~>6LqvcS@&t-fgjc;B0v$ebIqzkI>4oTl{wOo<#yBkB$d% z4NK%!BTPX@b$!DM$6A^J?zW*Jjcbj4P*5|Br?uvPbAtS#9{KiW|FqWkcK_@R{;2up z2lZB!``q(gcgYsRX$Ozt#`fF|&l~Hfx~i0KEk<#CJ`wAqmoT0mriiVYD#^E8HjhRR zTH0qw)!07Z!WF*6@D-$P{4-Y{_S~F}9BT?PM_OG(!xVU100<`N?6|tcVs4o$@6C6! zYCGt=?z)}Gib1a-ZOxaM-{ojFTwJR*KW8UNh{FW?Jkc)d(u_dUnOAuhbtTfM(=CB`31K)Ac=N87f&v3-PNX8bekCtF5(N;VUp^P*gqOF2b2zlopxI z5em(1^D{?Mj9Mh?zm3KWryUvIMOTYWK<9a)O=>^Sh|KG@1oNfC8#qmqOfl*@U^i2! zcV-_GmHxPhWYC5UFrqxGSYb>yw9&{STEpEzvUY5*$JPHhuQd( z!)a#_=tXK?!y(D?2Ly9rzk>y-8fSzbS0G@ci)a;pP&yTx=uQ&)o;t0;-NA^0amw-7 z@ZP-bF3u%04$WcUC#>=jY*#EQF8P(A!QPtM49Qfj8~)LW^CFlO2SQMlrmKK=wlx-# zk@N|4nmZQ}(FiNhrE=LwpeMhvZ1ZiC1z7*AT zf~RBPzOl|`|Gi-nTy|sMyxn>X4Y2183Prs50Lz%y9$ry$nzGVhR->IG`NARMCpv& zUYKp%$@Jf5JA@#n%=AOuk`!ov>GdLk{sk2BIE(*d17=JqW^E$X<$qv)JJ=PMP@)d<5{0VQtJEZIf#g-PYWP zatL^h*#)uh;12ie*Rgktoh=tz-DBO>z=};HTmNSqzdLjEJKSI4<%@sSYb7mfto>I@ z9fJKo+v@*&0-25`1c?p&vT!RRhy6|7a5Bj$N|AN=1q+dcZtb0~s2sQ?g^^kSOH&Nz zP8BDO6m_+mqxw)iQ9xY33+joATo+8BIwk#U4xIE6m4c1X;`muF(T)>5hBqI-*=v^FN(>f<_)1z7YSlvJH??Bf>ep^w z1fnyA4i-bdi|hiI+jGv1ju7ZsvFYTMD%(f~jgPsj+|~5m%u|q%@2QCAKyYiw?Lzy~ zYnZq~RQ&{J(G70x>{r_in&EW#>Dz0wYi`ZPHr772K_`m z*pBClrk%rw>oU(eiAs}4CtRZ^^)AfPg3M3bDn-T#U($iBg}C+1A&r=Xh64kla@v~8 z$0!S!GkpySs+6HkpdDiikr=FNlC`n44`Z{0K3ruU&A3p)7d#i+sFN2RN@s&c7s6A7 zF9jJz8iCSGaiFjBQ$GdA#}*IAM*5dB#t~K674i~SU2gif7lh$Y#Yp zL+s9rKG_J+vB}YvH=WeZ%`%I*tVdYmu1=<7^ zp?D~6uv~wsShneuR?qNm$Zpkbvfx|!>KG%#lDNgz=#&&tSs+vt{v@uIj3ihso3V)a z=g^{M6kdXljK#O6nIQgY9{SIy$OY>mzv!zQGyMN>;Q#me3Viy%RF!nV2;}>J!WZ^< zpsCZ5$6=7ucYMCmR(N4NRn%5aa?&}iUa9S50>7xn`W=dx!t~k2=w)fjG>V`YqS3hd53T^jU1V@Qebw$=i!eBzz-;#Gh6AG9U1o_E=|4~O zjMwh_0&RnVd{@{mBEYWcz|O&vRlN}mG zo@(a3l#PGsfzzvvzY%;F1DgT9a64)B9{A7poIT+;7X2E}foMWQ@j1^dpW;ypMbE0# z@0DmmgT3pwE}5^PV7;yb^zSmn{tUxhq=CJBzljjvOTqq9{QA^s`%qu;Pahusqx>!z zMO5@$i!LN{n~W|r$&V=x85le#d`LVk%t=@Pe>R6E4LYeW5orR>v;0qPn(zw#R zvM{9#`YHpzEcc}O{8Txzj8sR9AUMS^*vswAvf{fnMBWhpdhrmh7K@<~18fM;}% zwKL{V;6e&LC8uaq`2zp1@y)SU&ae_`rx0|tZzdg8IsJU{Y{fjX-)GYHrEtp9Ht_d4 zC9GWtROwESVSc@^8U@BIOFN~|3u(We=Qbta<}^j%61c`BW2z(vr%Cyg2dD9rX;qB! zTDAwPb6XZS#ktJgBJ%bNSAs7^emfF_@`6~k22wRERxbHgK`k8@xoaPg3+0keH#ca3 z((o2R%b+9`s6-_fL(8HhlG2K&qhAzhGJ$YPRqI5l6mc&LmyZ8&wG+at4W4nFW6E)* z{7{Z+EaKi2KH)yqaDQzMo^hLV2x-{aIOC`4l0K1j3Y4N1?Eq3u=~54i56lm5e13ep z2cjk}eMPvZkFV(3m(rP@*e6H!rsvTWyQk)IZdfJf)<}%yVLi2YJO|BFY`cSZGh#o4 z+I-uV8p0BGF_Cg6iRE0vb~=hIKF4UA(uTfQMPHt!2DgMka-Ow_lk zGtx}-o>z4Ln@8wOHqDTEt*U&AgEW#gYmsU>-@o45*6%Cm`4^Fn{En``8-k1v63OMovlS?c4D~F|8{eoPGemEYaRrEXoS3|{gc_XbP zS=fr4ngmB@m7N7Wltgq|3Z~z364!&a5iv8nhe7%ndlc5H`1B#iN`Q)5U1mk(iH0H*$oCiB*zkMgm(d2@T5fwEz}{<7Y|QNekl z+eY)cIA$0ngEn4lc=6>=mi0n!yPj3tn!^wKQ`m^cF<6L`2DebrtqT99S|58$zl3(c zmJwmOUg>4J$9m7oD$s7tFw7yhz*>>0F*8xIPO!;8zm^Q$9KS|Uk>{bTws0KlcQZBB z7MzxERKBu*&EtTfywXawYa=DH^2%1YdxPJ)nYqSLX_@u!YA*axWJh9$)HANqdKkPw zxidQxYSdV+`+YL$dCu_C5Wj}WDBh?2a@X?e>%oM}tNa$lHQ=nK-9?HOy5{awpQQ+a zhV$un0g)0*H3P_5FR}49ax~qhSMqJLG?rH_FR(6zwZ0~Z80u)nmOEgS9D`n>Wm%!c zifR6swd`0;UxuM(&KjUwh}7jZ6yxR5>0P@n6b5gNEvddgbKX{)mzfO_*Nq(VBs@s| z(q5&jnrsP!16WxlOFL=UQiN%|DnQA&jXP|yBSN@!9lheiQ$}E_pD1la`d3;eiX6n< zjd`Q^ET`oBHk|h41x&EzcUoO98!jx>E1s8jQzk|XT1#s8DqZ&t{M*JmzF@ihLQT*2 zyP-$exMn+=-AqM?wpBE=aea$a zf^@MvAYEv#0z8?DkD8z1_uBye#cEx2j@QpCxilNz@!u_0S9>#uRb#lhM2K$EfXdb| z)J!f10B{^Obv^`byp=I3CxZk>pZ(lUi;W2-bm4eTph_yBLu)=e<~D^btZgvZJo8w$ z#LH03mLads@t8<~Bl^{K%PlG(?_wZ74jhRMX=X6c=#8OKZZDC6WSX*KTC10G2!)m; zEk&-k$RYnBgT||sJ29^^UM|>eI7&3w^3~FZ9O&;lVau|pW|6#L$>L*9&*6p7gzYvp z3W^_%$g!6*26u`};2-u;1s(2ByS)DJ8`#GtEh!>jYU30DST*VctX{Z+*_ode&m8HU z4FXVT50d#uUIx*S)Ck@Be%Iyth}h-T<&akJqj8?Pl5LrmX1l$DZ51qHb}R#0&s_Po zfccB+9m#&9!r0$45~5hKWegwfcDXTc9fJ&!e>(0X(=VMdz7_&DGxYF73*9ythrilw z0H0-Pt}*Xb!JF%b=${MCpaWNLke4FGkH3P{r)zOMyibGpEpTYssW8y^MkY7q}0RBTfyB&%-H7Q8>m4imm-1v z4QdvBZO!7FE8Rc=?W{=LM4nV>?eNaZ)fw#T%llbmv_&dx{oK^ieug`@YXxV zce`<$NN-Su|5LqL$QY-}g=j9E*H4V-;sI+)ab0|WO=Z}{0LVIVF4e+b z!=i6zpe=-4I9co3XhDF#Y>ev+$O#2^03T9dt{eSLPtO)9f8h2Smy!6_Fd85<2XxaVrgfsxFIkLNo)k?72r~bj#BCt94O;V55ac=)5>k!r}J&J zVh}YZWJ+Tg2F(f5W!ZEj+**irNv8c-&r?!)I#vvDsR}e!otyay;s+1hni{$5qR&=z zwFUWZL?0VFI0LSin!j!H+Wq8|T7^82<}F>LI?K|TIyG&Pvx`tKvk}*>k3$i@Le}ME zY|39)D&~~4UN2D0q}WpgQu6{vvwxfG-H+`$8hsI)WptIwV~uI73*GEuI9F;?PdB)` z^a1Kgf<9kUHIr2tw`w^$tYOtR?P42@h5-JqY^__qp3HB@tY^#)FDaiRH!p387iV6J zTq=FPgMOuKc4Rus7JKuTRAD2ipS6Lm^Zmh6xz+SSU1Zg-Y_dTEy4n?t*nf(2Nf}T4 zakp!zAt;frw^4Dsa_mT*mdq}(k*wRWRO@QoaHTPqVo{0GQl9!MMrkUFGswha(OtZ7 zz{-}Jy}lXtpu-L2Cs-8KEL%xBiJcIb!({3>tj4W0dq0V7h|u7kVwwxDl^s&w2_0v4 zox8R-?Iw4`S?sL?b0CUm&s^;ikypwH3J)+ErlX53lZ+!njuvpAB=Zdey0wN*U_w?J zO{oBnRZrP0arb2&2|?J2JG@!g3|EhcA^Uh(&YKH*tFQV$y|K)mztkXYrK?xRu&XAyZbU)j5g|ZThYgFw zJVlsbG;`nb8?=41X524sJ;9Ef_)zIs%qt*LlljopQK~ZJhtct)$PN~qS2trU%Ij^# zkRO|fmUis*g>#1x9~)(#1_5*i7I`X#pB%uamCO}*qKRvg$N$PEJ@TfYTQyuhAWLY@ z`b$9gp^Y(9bHT?dE1MN=qYcB|j^am=&sfxz$5O+_u)JIJAt}9*O_t9?MMoHgt#7%A zNwVSJa|AJEKxm0TOWHWES416uRjIt`;HP#o3WKt zn)r5sHqF$AjOJ8_Yi}~XW_rfKuU(Kt-n%$CvSXm@DS4-6{4x`Io)Xe}x!g29YpV-e zq*=UkMAAF~m6Ez4x7|!oRinY%``U@7Sn2_0zA*;B5z*hE#or5*ZZEz9U0v1>nnze> z&(hipWzG@3+ew6fp2%SIm*CG`zJ{f;w7Sm#7hY%rscTH2pvBq%di~{ptOw({-W8Pj zQn!yc0_piG1}b%_2gJMs;FXXaqFq zR2?sG&q*Cr4_-a@>uS-63>YHKB^z}y&2eKYM$f>sTT*}Wbg3&JS!xZ2%|Q9KuzLvt zLM%L_clx^wEHvU(f4+a8Z4khkq(qE@qp^2isTIDgCb^#%^M^LpXV=EFKs=KGLR#?` zk2yx9W-u@a=43FYFCM(rNy2%Q1zRvdL-=hmDEIR4B{El|-G z5cT&E>sCL0)maDkdimyH8hfjnwbDWnM?)R>6Xh|Bhja|?_2-h~qUJ0>V`%6_$w#>I1@LKi*pqYRCeaLyr5@WF}A(h`e)~b*)b+JH?7B@b!z2KoFvVOsOQ?tt-(0$k zZ0?YOrkPCmkF7;`ruZD7z)5W|Ng%LD5ZzYce4N!vQHW=Ms^3|Y-|#~OD8^m&r@0&| zjD55YJbWTNnlK6*>uqyYEY>dvEvljvAVA||G>*U|{ezG~2oHnEF(@%&C_B~{++@|< zR>FTFz*I%zCZK3r+Y6Dc!_3Bdh$o}IAIBm30w*Js|VOY5usIm}XWi@qz{9y#pDAn}YFXOpG1}IC9o_g*h4er4`qk`x% zgMY&O{T2e8M7kx0f*fp>zH;LKB=B`;{yTUeMBe;&@`@;VLrA!WKh#k`gOGbEUD5v# z%K50YC-ZpK-k;!@Yx13U+M(rTdD=l}$|&Ju841#*JvW@OCVsC6=!@TH2HL6~i~w#U zea6_gAn<*%z2FKQZacd}1> zy^N5-jlK2WJpL9Eh%|cpE_c1D*#UORGR8PHEnrqr-PeLL!#mny!0Qpvg9VAPRs*RK zIDHu*+&jJNbaWXA{FGCvp<{xq8Q4mg{ecbt1q_ z0$8mxV$(8D8Z*;lYy`_aiOS6l!ft#w2^|(gjO(wD>8Grfru>zjX^RKcfEiO}%)tgj zQsL!?BzqDDwk$mZi+&Oer_Lh{W`rL3c>VN+irIppF!M38%(T&km%#%UgNWzxDzk+v zj1+F~_Y)7Alb#~)6QsP8#s*jDXZFOD=)YG)WEueXgemE#V+PX?#r2F`esJRk-Bz4R zVa?=V29d3otM8aFw!ugHO&gnbWvrmQ%O2jt)qh8P7J~0g; zlsmFoQ>wB~sLpB$vpK{9hFS0{eo*mS=-f>blz*hDQShPAliRf z#p}>bzzODQ=u`u=x)2?9UioOzdG$@>>6y3!5e>;#@wy?j_`4^(xTdzC!zp4q(}b~1 zaaXRguq2POm^dupF{z_#Z7>Z-X=~z8$69h7n>Mu)+EMT!GIfXx0|;~lJbqi`Z=SW> zgg|mwC2rERd5Dl{(EgesaFm0`q$ACZDYb&DN}mzO%NJz$Bb!vNL(9Hi+#=V}ICXst zM28thxd|}g68^jGX;P=lt9}`*4o6eDXW?!Abr^g#VF4_sa#`MSP zOdRdR%n>_&czolP!1Tl?E1>_+Z^w5!^*t``+&f21grW7rerwu69(ITm+JiH8IbwTO z-RzQ}#-+GES|=mj>^QcyrYKA7nL{PKnEY=grktIfIBi7nruu9~jQ-)v{MHsd!0llk zO)$jcYo46RLanLIbvX}~w^pxxH@@#ZhBe%4t-1DZ&t5Tq zpl>0ywWS@_^dDQ)T%XhjrmCSXVTn3Ffs^0vdWx158J~+u3>)sof!a@_;1Zm`@2Z@qOzI0Aaf(tqn6Ne?NI2QuuRFd5IePH1 zWh*HLsdF3YyQ;|HZ`_ZV$2p&+jx*<5xi$0BWSTv`+~qcKU`cOLqaq2y4cc;K1q_!%zkLgNetC z*Vb4CT+E`jkHD-x2&BE7_@X&(F$#v!3d{1Tg_1?9C3Nf3WSU;Sw2OSwL8OQ|D1}ID zVGsP=u|6f^-Tx}{Z61PcYHYOHv8RK0gyGo)@t#d5#}6kf@(c&ASU&+9!@PMa;723% z`f2}*-bWeW;<4q3H|6ke=t^vkra!q z5AkERJ8r0IJ22k#i1wwHN&&pzxClYB(2^Zbg)CZLNJ0gsvH^<6KJUAi{$S zMJ&{4aOvUT`xDx@z()eqeAORmjc%zM0ZV{QmUxXlmtc(8|vusn&4ep1`10Mn^ zvcZG=uGXj$p1Jul9mAzZ@l}hL$(1oC4$KkQ@4z|)sH0on*;rw^x@+MH%KGu9)O&5c zVMprhXhj5V`O#JN{lZkj1MDQiXZ)T4yokG+Is9V;xmvFB-}O)$^^KU`p*ZefhnvPy zlRoyW;zV|8ny<)$&(iC~^p%w;Lsc5R8tZj)nGwjkYCgEtPJIuv9IwuRP3vCSI~cXj zi3eV;W>F`vf1#qQ@Y$b(|IKBt@=C*Pqz8IN|AEZNS$(DJGOQ*4l1Z0;Dw=Q4=ar_0 zJh!4s)9t48&k>x>PMSli1p7@2%5!PrVVi8nhVxH9KN<-!%K%$-e2+;#w}C#X^Bw1= z+mXI}U`fW~1djIvPG|#pyt;44$Xxw2aOQRY4J^2B1@0T?mLiqzIhVyZ9YZt91zwl1 z>1oXc+N?qIn@@QgTxDoU6X-2ATEZ=+U>f#O?9Yu+A6VIWd}S&24|^mH_p3Ln%+*_S zX%wGsAy?J+gw&2PvbH}!fZ(fP1;=)KYZ`$Q1{^N+C0%Tfrx2eshXE()RlW$~9PWRZuqgv@!6fz>>Nz z5Ly!Ox>aV8d?z`oAH^SI@^qURz^Kh=`h{k6SFMD^W*8!_u^jNr)N}h~r&4L~5()SG z82tDe-G?CjzLgf^3o()ObyKd5^)S`l z`aGjPVbfe`?@pO-2&w_7fh{?D3Y=;7Ve^a^nSNT4`!)=OV`Q@m5kf98-FV=y!Wy)6 zF^2J}(mJw{xyb%K&JOU)YN#%CZmZ@^J(Z1fPI)y3zS%V+mTr1M-^j)~nOY}aK&Vs{ zo3f}nsV$ngIHuF13cn!NN4%apjMR8D2=__~uT)>7o2ZEkq2Blf6UCTy*EEn|%FdxE zaEU1L!j3D>d5`oRc6OR&QrZyQrPM6>#KrPFP{{BtiJPc%q|%;hOU9AK$OV;Cx%08` z>R5&wMv$Zsd$^AQ9>uwD+2H09!+?8)WBH~%qsrU983Bqp?L&M&+U1c4K~~>sCPvIq z1W_h<&(u)95RY%$#j$4~+8%|iezP8(?BHlgeCNnIBEo|Zm_1Tmlg63|_BtuKijQbC z2zx*Prt06kcq7R`)%D)Gb;RlnkH8?q&~_FfZD*X%VZ34G1mS`}xNC~jmy|3M+ZaPp z&pEL+y2P>FYb@SZgxMG+U^GCwE#uqA0PQx1051_*<8Lvn;cSGLTCN79klHd*EGyQ%n35F(At_9(aEx|)x+`gE^%eW zc1+TZnhKb+vmTE2uWCqd{ZZZaXs)?_enl2O7rou))1@POWXvMkJFpiUYVp;hiF0v= zRSfJsX#Nb+h`CctxR2(K>Z!4?y@{C#$8!U|U#&H*r;Wpv3O8AglC>!0Lz zD+Xj>tWTJeh$P1D!5gWvZ8`*iZcaI)_HYl%^iG%q&?ZX7w%|_%O=Mj+cur|u%9=CV zd{00DWCcYS$Nt}uOu=P|Cp_Qb){7>NEx!|ms1|IAeMGs&2p*D4s(Y(ys)ZihD|{1< zFtcutbdwV`(>y$m=Sg~rI{RM0BX=m*1NC}0L>F%bhzZaL+mcL); zB6PflKm7}3=&QE|VU*4H=k!#JKKd>N^vYdZM)r z#eS;e5410w>--4TxO+|wwYZQuYjPcYUd)*=nPyUI5!_ zbQ79dbn9Vu_2B!AT9VS0Is1&LvedEN!?-CY^&;yoY8Gr-NA%1(>u!#0Y}F0dsxqb% zX0y#i&hQtxS;4wse?70N*(MXcB{-WxjCgp1#Pz%882AMOO#GHxpW(|kbQfEbQ5sHeYK8wUi~mz@Q_&eLayc+YB&;YQA5rkir#2P^c3Qm!7%;> znMu?q=fu4ME-9W}S5uHnfN6U|C}&e(DbNtOxb#Z4^H?Gbob+Jx^DA@ZC($56^vfkA zg5vlHjU_w!8AbgxYlV8R23#fZM7dpf9D|vWv>D8EMUqzx3b}>-pvu>jF{gSb&?`_H z_GM&*k|v4>#bfe41?KP9`^wMqLEiQJMbI*}7!!*~H`_;3-;#|;Gcs@w!xFV>$zK`R z_>iK`;)y5gf+1<@_=aA1Idt9?Xgacw{m@JtDLdfeq&E93+Cn1@Rl}aO;2(L6NBpo5 z;^6a@svij+h!H{3@O@xFWo0)g-qe%{GU%B$9cG+F#eQX3bLA>)@qlLvCx13VShKN+ zu>h_ey^e1Pdk5ENI36yrI%x5u=zC>@gook7mzm89#^C72EU8_-a>iZvYV1KS8M-cY zXWY0+RjXjTdg=6u)*7olrUGk)%1G{9Yj)EO$Z4CEBMiDKtrW-3TT@%6cI#G}5MG#>qTH?5rs305;R2)p;#LLK0oS5;p_=9xw7x_X1&i zY7E`98~>PR`6I!PA0!A>2XN%>-_9TA#k?_(ZpmTV8tll@zd#U?P?MOyy|3WO+)KGB zPXz@|G!EfuENc(mrR&ebKrqEWiu#c-W0#Hjvi*Y`V zeu^@xIoK&}tld%K_7ru*do^u5HhtMDO6ca}Wk?Rxek`{B)E{BY08trH5C-Qe+wFK* zs2pV_j1ufTP31fv&gL?mryEFxp%|=Ifjfy5ALI~%rm-ZLR!rw!&hWuJhYz!_*~py7 zfDx<6iGM@~L#>8pA@OqOxc=Sywks>Iukpc{bZ?w-;l2x>fROS+2rbkyzGjp@C<<{E z?F-ybI+xtvem zu#=mMnhDz*r*Tjkva{@dg^hyy>`_WCM@MJn!T0##>-xAW8f&NxD{!d zv0bMWZ<9!{ORU7#)Owf#*3lgq!Q#osXVw(TPEW;PoThL2jP$P5N4bNXK>?Og;w$$d z?aZa-P*7S^iE_@oiHO*#z&lK&nNQQ_38l#eE{&HIjw4@*$d8|W=d`M8$$!k7O_HLE zwY&<4ThNxYDsQd%O%nUtC)eoDV!KPC8T*8DsqgHAyqCvfIjUW9ZNPz<2Jg%pYb)wT zOPW)m=VqSjx)ywZ4QcD-`y!~*Pt$gJ8h*RJ=|4r>!2v*7u##<96OOs^?ZAIUfN>L!~}z+)%k3>$fpXw3@KaF>`E%naAIN^m1s3 z$Zpo%eAoK|T@J4~w4VhMphxU|2!YpI?%fDH=luQy@osnRYEw+CD{yG_0_AtL)z-1_ zpPETO)t02Wr}fX{Vd?4;O1fFG7$Aw^Nkd6z1jWf%Npign+${|_)ia8}WO~Xkuc_Ko``<5=? zNJnFUA5ZY5taW?!)1F6z5PTyXc+*yX®7LycjksEr|Q-gMtebb*Tnp8VKSr1zHL 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 WREzi$g Date: Wed, 1 Oct 2014 12:43:38 +0300 Subject: [PATCH 08/14] Fixed null pointer in native --- OsmAnd/src/net/osmand/core/android/GLActivity.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/OsmAnd/src/net/osmand/core/android/GLActivity.java b/OsmAnd/src/net/osmand/core/android/GLActivity.java index adc2899f9e..93d1505063 100644 --- a/OsmAnd/src/net/osmand/core/android/GLActivity.java +++ b/OsmAnd/src/net/osmand/core/android/GLActivity.java @@ -170,7 +170,8 @@ public class GLActivity extends Activity { _coreResources = CoreResourcesFromAndroidAssets.loadFromCurrentApplication(this); OsmAndCore.InitializeCore(_coreResources); - _fileLogSink = QIODeviceLogSink.createFileLogSink(Environment.getExternalStorageDirectory() + "/osmand/osmandcore.log"); + File directory =getApp().getAppPath(""); + _fileLogSink = QIODeviceLogSink.createFileLogSink(directory.getAbsolutePath() + "osmandcore.log"); Logger.get().addLogSink(_fileLogSink); Log.i(TAG, "Going to resolve default embedded style..."); @@ -186,7 +187,7 @@ public class GLActivity extends Activity { _obfsCollection = new ObfsCollection(); Log.i(TAG, "Will load OBFs from " + Environment.getExternalStorageDirectory() + "/osmand"); - File directory =getApp().getAppPath(""); + Log.i(TAG, "Will load OBFs from " + directory.getAbsolutePath()); _obfsCollection.addDirectory(directory.getAbsolutePath(), false); @@ -231,7 +232,7 @@ public class GLActivity extends Activity { if (mapnik == null) Log.e(TAG, "Failed to create mapnik"); */ - _mapRenderer.setRasterLayerProvider(RasterMapLayerId.BaseLayer, _onlineMapRasterBitmapTileProvider); + _mapRenderer.setRasterLayerProvider(RasterMapLayerId.BaseLayer, _binaryMapRasterBitmapTileProvider); _glSurfaceView = (GLSurfaceView) findViewById(R.id.glSurfaceView); //TODO:_glSurfaceView.setPreserveEGLContextOnPause(true); From ef3018df8491fcb8401d3ded783f887ae167d9fc Mon Sep 17 00:00:00 2001 From: Denis Date: Wed, 1 Oct 2014 13:53:23 +0300 Subject: [PATCH 09/14] removed unused file --- OsmAnd/.gitignore | 1 + .../assets/OsmAndCore_ResourcesBundle.index | 1829 ----------------- 2 files changed, 1 insertion(+), 1829 deletions(-) delete mode 100644 OsmAnd/assets/OsmAndCore_ResourcesBundle.index diff --git a/OsmAnd/.gitignore b/OsmAnd/.gitignore index 15ce90b506..06f9b7af09 100644 --- a/OsmAnd/.gitignore +++ b/OsmAnd/.gitignore @@ -15,3 +15,4 @@ osmand.xml assets/help/*.html assets/help/images assets/help/screens +assets/OsmAndCore_ResourcesBundle.index diff --git a/OsmAnd/assets/OsmAndCore_ResourcesBundle.index b/OsmAnd/assets/OsmAndCore_ResourcesBundle.index deleted file mode 100644 index 5b17d344d8..0000000000 --- a/OsmAnd/assets/OsmAndCore_ResourcesBundle.index +++ /dev/null @@ -1,1829 +0,0 @@ -[ddf=1.5]/map/shaders/osmc_black_bg_yellow_bar.png -[ddf=1.5]/map/shaders/osmc_red_bg.png -[ddf=1.5]/map/shaders/osmc_black_bg_blue_bar.png -[ddf=1.5]/map/shaders/nr21.png -[ddf=1.5]/map/shaders/osmc_white_bg_black_circle.png -[ddf=1.5]/map/shaders/wood_needleleaved.png -[ddf=1.5]/map/shaders/osmc_yellow_bg_green_bar.png -[ddf=1.5]/map/shaders/danger_night.png -[ddf=1.5]/map/shaders/osmc_red_bg_black_bar.png -[ddf=1.5]/map/shaders/osmc_yellow_bg_black_circle.png -[ddf=1.5]/map/shaders/osmc_yellow_bg_blue_bar.png -[ddf=1.5]/map/shaders/cemetery_small.png -[ddf=1.5]/map/shaders/osmc_white_bg_red_circle.png -[ddf=1.5]/map/shaders/orchard2.png -[ddf=1.5]/map/shaders/osmc_white_green_backslash.png -[ddf=1.5]/map/shaders/arrow.png -[ddf=1.5]/map/shaders/osmc_black_bg.png -[ddf=1.5]/map/shaders/osmc_yellow_bg_white_circle.png -[ddf=1.5]/map/shaders/osmc_white_red_bar.png -[ddf=1.5]/map/shaders/cable_car.png -[ddf=1.5]/map/shaders/osmc_black_bg_yellow_circle.png -[ddf=1.5]/map/shaders/vineyard.png -[ddf=1.5]/map/shaders/osmc_yellow_bg_red_bar.png -[ddf=1.5]/map/shaders/osmc_green_bg_black_bar.png -[ddf=1.5]/map/shaders/osmc_green_bg_blue_bar.png -[ddf=1.5]/map/shaders/osmc_blue_bg_black_circle.png -[ddf=1.5]/map/shaders/osmc_blue_bg_green_circle.png -[ddf=1.5]/map/shaders/orchard.png -[ddf=1.5]/map/shaders/orchard_olive.png -[ddf=1.5]/map/shaders/forest_broadleaved.png -[ddf=1.5]/map/shaders/osmc_blue_bg_yellow_bar.png -[ddf=1.5]/map/shaders/forest.png -[ddf=1.5]/map/shaders/paving_stones_green_night.png -[ddf=1.5]/map/shaders/quarry3.png -[ddf=1.5]/map/shaders/osmc_yellow_bg.png -[ddf=1.5]/map/shaders/glacier2night.png -[ddf=1.5]/map/shaders/osmc__yellow_diamond1.png -[ddf=1.5]/map/shaders/mud.png -[ddf=1.5]/map/shaders/osmc_yellow_diamond.png -[ddf=1.5]/map/shaders/scree.png -[ddf=1.5]/map/shaders/quarry3night.png -[ddf=1.5]/map/shaders/osmc_green_bg_white_bar.png -[ddf=1.5]/map/shaders/osmc_white_bg.png -[ddf=1.5]/map/shaders/osmc_white_bg_green_circle.png -[ddf=1.5]/map/shaders/nr2.png -[ddf=1.5]/map/shaders/osmc_blue_bg_black_bar.png -[ddf=1.5]/map/shaders/wood_needleleaved2.png -[ddf=1.5]/map/shaders/reef.png -[ddf=1.5]/map/shaders/forest1.png -[ddf=1.5]/map/shaders/osmc_blue_bg_red_circle.png -[ddf=1.5]/map/shaders/fell_night.png -[ddf=1.5]/map/shaders/osmc_red_bg_yellow_bar.png -[ddf=1.5]/map/shaders/beach2.png -[ddf=1.5]/map/shaders/orchard_oil_palms.png -[ddf=1.5]/map/shaders/osmc_red_bg_green_bar.png -[ddf=1.5]/map/shaders/osmc_green_bg_yellow_bar.png -[ddf=1.5]/map/shaders/osmc_yellow_bg_black_bar.png -[ddf=1.5]/map/shaders/osmc_yellow_bg_white_bar.png -[ddf=1.5]/map/shaders/osmc_yellow_bg_red_circle.png -[ddf=1.5]/map/shaders/nr2_night.png -[ddf=1.5]/map/shaders/osmc_white_bg_blue_bar.png -[ddf=1.5]/map/shaders/osmc__yellow_diamond.png -[ddf=1.5]/map/shaders/orchard_banana.png -[ddf=1.5]/map/shaders/osmc_blue_bg.png -[ddf=1.5]/map/shaders/marsh.png -[ddf=1.5]/map/shaders/vineyard1.png -[ddf=1.5]/map/shaders/osmc_black_bg_white_circle.png -[ddf=1.5]/map/shaders/paving_stones_green.png -[ddf=1.5]/map/shaders/osmc_white_yellow_bar.png -[ddf=1.5]/map/shaders/wood_mixed.png -[ddf=1.5]/map/shaders/quarry2.png -[ddf=1.5]/map/shaders/cemetery.png -[ddf=1.5]/map/shaders/orchard_apple.png -[ddf=1.5]/map/shaders/wood_mixed2.png -[ddf=1.5]/map/shaders/osmc_black_bg_blue_circle.png -[ddf=1.5]/map/shaders/beach2night.png -[ddf=1.5]/map/shaders/osmc_green_bg.png -[ddf=1.5]/map/shaders/cemetery_muslim.png -[ddf=1.5]/map/shaders/grave_yard.png -[ddf=1.5]/map/shaders/nr1.png -[ddf=1.5]/map/shaders/osmc_blue_bg_green_bar.png -[ddf=1.5]/map/shaders/osmc_red_bg_white_circle.png -[ddf=1.5]/map/shaders/osmc_blue_bg_white_bar.png -[ddf=1.5]/map/shaders/osmc_red_bg_green_circle.png -[ddf=1.5]/map/shaders/orchard_orange.png -[ddf=1.5]/map/shaders/osmc_green_bg_black_circle.png -[ddf=1.5]/map/shaders/osmc_red_bg_blue_circle.png -[ddf=1.5]/map/shaders/osmc_white_green_bar.png -[ddf=1.5]/map/shaders/glacier.png -[ddf=1.5]/map/shaders/paving_stones.png -[ddf=1.5]/map/shaders/osmc_green_bg_blue_circle.png -[ddf=1.5]/map/shaders/osmc_red_bg_blue_bar.png -[ddf=1.5]/map/shaders/nr.png -[ddf=1.5]/map/shaders/osmc_black_bg_red_bar.png -[ddf=1.5]/map/shaders/osmc_blue_bg_red_bar.png -[ddf=1.5]/map/shaders/scree_night.png -[ddf=1.5]/map/shaders/chair_lift.png -[ddf=1.5]/map/shaders/cemetery_jewish.png -[ddf=1.5]/map/shaders/osmc_white_bg_green_bar.png -[ddf=1.5]/map/shaders/osmc_white_black_bar.png -[ddf=1.5]/map/shaders/osmc_yellow_diamond1.png -[ddf=1.5]/map/shaders/danger1.png -[ddf=1.5]/map/shaders/cemetery_christian.png -[ddf=1.5]/map/shaders/paving_stones_night.png -[ddf=1.5]/map/shaders/osmc_white_bg_yellow_bar.png -[ddf=1.5]/map/shaders/osmc_white_bg_yellow_circle.png -[ddf=1.5]/map/shaders/osmc_white_blue_bar.png -[ddf=1.5]/map/shaders/osmc_red_white_bar.png -[ddf=1.5]/map/shaders/orchard_almond.png -[ddf=1.5]/map/shaders/osmc_black_bg_green_circle.png -[ddf=1.5]/map/shaders/osmc_black_bg_red_circle.png -[ddf=1.5]/map/shaders/osmc_red_bg_yellow_circle.png -[ddf=1.5]/map/shaders/osmc_blue_bg_white_circle.png -[ddf=1.5]/map/shaders/osmc_black_bg_white_bar.png -[ddf=1.5]/map/shaders/vineyard2.png -[ddf=1.5]/map/shaders/forest_mixed.png -[ddf=1.5]/map/shaders/osmc_green_bg_yellow_circle.png -[ddf=1.5]/map/shaders/osmc_green_bg_white_circle.png -[ddf=1.5]/map/shaders/osmc_blue_bg_yellow_circle.png -[ddf=1.5]/map/shaders/osmc_black_bg_green_bar.png -[ddf=1.5]/map/shaders/zoo.png -[ddf=1.5]/map/shaders/osmc_red_bg_white_bar.png -[ddf=1.5]/map/shaders/glacier2.png -[ddf=1.5]/map/shaders/osmc_yellow_bg_green_circle.png -[ddf=1.5]/map/shaders/danger.png -[ddf=1.5]/map/shaders/wood_broadleaved.png -[ddf=1.5]/map/shaders/vineyard2_small.png -[ddf=1.5]/map/shaders/osmc_yellow_bg_blue_circle.png -[ddf=1.5]/map/shaders/osmc_white_bg_blue_circle.png -[ddf=1.5]/map/shaders/osmc_green_bg_red_circle.png -[ddf=1.5]/map/shaders/wood_broadleaved2.png -[ddf=1.5]/map/shaders/zoo1.png -[ddf=1.5]/map/shaders/beach.png -[ddf=1.5]/map/shaders/fell.png -[ddf=1.5]/map/shaders/osmc_green_bg_red_bar.png -[ddf=1.5]/map/shaders/forest_needleleaved.png -[ddf=1.5]/map/shaders/osmc_white_bg_black_bar.png -[ddf=1.5]/map/shaders/scrub.png -[ddf=1.5]/map/shaders/bare_rock.png -[ddf=1.5]/map/shaders/osmc_white_bg_red_bar.png -[ddf=1.5]/map/shaders/osmc_red_bg_black_circle.png -[ddf=1.5]/map/icons/railway_subway_station_small_blue.png -[ddf=1.5]/map/icons/shop_boutique.png -[ddf=1.5]/map/icons/shop_tobacco.png -[ddf=1.5]/map/icons/tourism_viewpoint.png -[ddf=1.5]/map/icons/historic_archaeological_site.png -[ddf=1.5]/map/icons/tower_type_communication.png -[ddf=1.5]/map/icons/railway_subway_entrance_gray.png -[ddf=1.5]/map/icons/sport_baseball.png -[ddf=1.5]/map/icons/amenity_bus_station2.png -[ddf=1.5]/map/icons/sport_tennis.png -[ddf=1.5]/map/icons/barrier_small_black_1.png -[ddf=1.5]/map/icons/natural_saddle.png -[ddf=1.5]/map/icons/education.png -[ddf=1.5]/map/icons/sport_gymnastics.png -[ddf=1.5]/map/icons/place_town_night.png -[ddf=1.5]/map/icons/sport_skating.png -[ddf=1.5]/map/icons/historic_memorial.png -[ddf=1.5]/map/icons/natural_peak_framed_big.png -[ddf=1.5]/map/icons/tower_type_communication2.png -[ddf=1.5]/map/icons/man_made_chimney.png -[ddf=1.5]/map/icons/shop_computer.png -[ddf=1.5]/map/icons/restaurants.png -[ddf=1.5]/map/icons/amenity_hospital.png -[ddf=1.5]/map/icons/food_shop.png -[ddf=1.5]/map/icons/religion_shinto.png -[ddf=1.5]/map/icons/amenity_recycling.png -[ddf=1.5]/map/icons/barrier_small_white_4.png -[ddf=1.5]/map/icons/seamark.png -[ddf=1.5]/map/icons/natural_spring.png -[ddf=1.5]/map/icons/amenity_vending_machine.png -[ddf=1.5]/map/icons/railway_subway_station_small_lightgreen.png -[ddf=1.5]/map/icons/shop_doityourself.png -[ddf=1.5]/map/icons/shop_electronics.png -[ddf=1.5]/map/icons/amenity_pharmacy.png -[ddf=1.5]/map/icons/amenity_townhall.png -[ddf=1.5]/map/icons/railway_subway_station_small_black.png -[ddf=1.5]/map/icons/railway_subway_station_small_default.png -[ddf=1.5]/map/icons/highway_traffic_signals.png -[ddf=1.5]/map/icons/railway_tram_stop_round_big.png -[ddf=1.5]/map/icons/tourism_chalet.png -[ddf=1.5]/map/icons/amenity_bicycle_parking.png -[ddf=1.5]/map/icons/waterway_waterfall.png -[ddf=1.5]/map/icons/shop_hearing_aids.png -[ddf=1.5]/map/icons/leisure_playground.png -[ddf=1.5]/map/icons/amenity_bus_station.png -[ddf=1.5]/map/icons/shop_gift.png -[ddf=1.5]/map/icons/shop.png -[ddf=1.5]/map/icons/name_finder.png -[ddf=1.5]/map/icons/power_station_solar.png -[ddf=1.5]/map/icons/shop_musical_instrument.png -[ddf=1.5]/map/icons/leisure_stadium.png -[ddf=1.5]/map/icons/barrier_chain.png -[ddf=1.5]/map/icons/amenity_monastery.png -[ddf=1.5]/map/icons/shop_department_store.png -[ddf=1.5]/map/icons/railway_subway_station_small_lightblue.png -[ddf=1.5]/map/icons/natural_beach2.png -[ddf=1.5]/map/icons/barrier_small_red_4.png -[ddf=1.5]/map/icons/amenity_toilets.png -[ddf=1.5]/map/icons/man_made_water_tower.png -[ddf=1.5]/map/icons/shop_car_parts.png -[ddf=1.5]/map/icons/amenity_bank.png -[ddf=1.5]/map/icons/amenity_boat_sharing.png -[ddf=1.5]/map/icons/historic_fort.png -[ddf=1.5]/map/icons/amenity_police.png -[ddf=1.5]/map/icons/shop_mall.png -[ddf=1.5]/map/icons/emergency.png -[ddf=1.5]/map/icons/barrier_sally_port.png -[ddf=1.5]/map/icons/railway_subway_entrance.png -[ddf=1.5]/map/icons/railway_subway.png -[ddf=1.5]/map/icons/religion_jewish.png -[ddf=1.5]/map/icons/power_station_wind.png -[ddf=1.5]/map/icons/shop_jewelry.png -[ddf=1.5]/map/icons/amenity_casino.png -[ddf=1.5]/map/icons/office_government.png -[ddf=1.5]/map/icons/barrier_small_black_4.png -[ddf=1.5]/map/icons/landuse.png -[ddf=1.5]/map/icons/amenity_fast_food.png -[ddf=1.5]/map/icons/parking.png -[ddf=1.5]/map/icons/railway_subway_station_small_yellow.png -[ddf=1.5]/map/icons/sport_golf.png -[ddf=1.5]/map/icons/amenity_fire_station.png -[ddf=1.5]/map/icons/power_station_water2.png -[ddf=1.5]/map/icons/building_entrance.png -[ddf=1.5]/map/icons/religion_taoist.png -[ddf=1.5]/map/icons/natural_volcano_framed_big.png -[ddf=1.5]/map/icons/aeroway_airport.png -[ddf=1.5]/map/icons/amenity_fuel.png -[ddf=1.5]/map/icons/shop_hairdresser.png -[ddf=1.5]/map/icons/amenity_ice_cream.png -[ddf=1.5]/map/icons/landuse_cemetery.png -[ddf=1.5]/map/icons/historic.png -[ddf=1.5]/map/icons/amenity_food_court.png -[ddf=1.5]/map/icons/shop_garden_centre.png -[ddf=1.5]/map/icons/barrier_small_black_2.png -[ddf=1.5]/map/icons/railway_subway_entrance_lightblue.png -[ddf=1.5]/map/icons/railway_subway_station_small_red.png -[ddf=1.5]/map/icons/barrier_small_red_2.png -[ddf=1.5]/map/icons/amenity_cinema.png -[ddf=1.5]/map/icons/man_made_mineshaft.png -[ddf=1.5]/map/icons/amenity_post_box.png -[ddf=1.5]/map/icons/amenity_drinking_water.png -[ddf=1.5]/map/icons/barrier_bollard.png -[ddf=1.5]/map/icons/highway_bus_stop_small.png -[ddf=1.5]/map/icons/natural_glacier.png -[ddf=1.5]/map/icons/natural_tree_needleleaved.png -[ddf=1.5]/map/icons/shop_alcohol.png -[ddf=1.5]/map/icons/sport_stadium.png -[ddf=1.5]/map/icons/religion_muslim.png -[ddf=1.5]/map/icons/shop_optician.png -[ddf=1.5]/map/icons/natural_cave_entrance.png -[ddf=1.5]/map/icons/barrier_lift_gate.png -[ddf=1.5]/map/icons/amenity_telephone.png -[ddf=1.5]/map/icons/landuse_grass.png -[ddf=1.5]/map/icons/shop_kiosk.png -[ddf=1.5]/map/icons/emergency_phone.png -[ddf=1.5]/map/icons/tourism_guest_house.png -[ddf=1.5]/map/icons/natural_tree_broadleaved.png -[ddf=1.5]/map/icons/tourism_picnic_site.png -[ddf=1.5]/map/icons/sport_scuba_diving.png -[ddf=1.5]/map/icons/amenity_bench.png -[ddf=1.5]/map/icons/highway_bus_stop_round_big_night.png -[ddf=1.5]/map/icons/amenity_atm.png -[ddf=1.5]/map/icons/amenity_stripclub.png -[ddf=1.5]/map/icons/entrance_yes.png -[ddf=1.5]/map/icons/highway_mini_roundabout.png -[ddf=1.5]/map/icons/amenity_car_sharing.png -[ddf=1.5]/map/icons/shop_dairy.png -[ddf=1.5]/map/icons/highway_speed_camera.png -[ddf=1.5]/map/icons/shop_video.png -[ddf=1.5]/map/icons/power_tower.png -[ddf=1.5]/map/icons/highway_ford.png -[ddf=1.5]/map/icons/public_transport_platform.png -[ddf=1.5]/map/icons/barrier_small_red_3.png -[ddf=1.5]/map/icons/highway_bus_stop.png -[ddf=1.5]/map/icons/military.png -[ddf=1.5]/map/icons/amenity_pub.png -[ddf=1.5]/map/icons/tourism.png -[ddf=1.5]/map/icons/shop_laundry.png -[ddf=1.5]/map/icons/barrier_small_red_1.png -[ddf=1.5]/map/icons/amenity_bureau_de_change.png -[ddf=1.5]/map/icons/barrier_small_white_2.png -[ddf=1.5]/map/icons/shop_toys.png -[ddf=1.5]/map/icons/tourism_hostel.png -[ddf=1.5]/map/icons/amenity_university.png -[ddf=1.5]/map/icons/transportation.png -[ddf=1.5]/map/icons/aeroway_gate.png -[ddf=1.5]/map/icons/highway_gate.png -[ddf=1.5]/map/icons/barrier_small_white_3.png -[ddf=1.5]/map/icons/power_station_coal.png -[ddf=1.5]/map/icons/shop_fashion.png -[ddf=1.5]/map/icons/entrance_main.png -[ddf=1.5]/map/icons/traffic_calming_bump.png -[ddf=1.5]/map/icons/railway_station.png -[ddf=1.5]/map/icons/railway_subway_entrance_brown.png -[ddf=1.5]/map/icons/sport_horse_racing.png -[ddf=1.5]/map/icons/highway_noexit.png -[ddf=1.5]/map/icons/shop_convenience.png -[ddf=1.5]/map/icons/barrier_kissing_gate.png -[ddf=1.5]/map/icons/accomodation.png -[ddf=1.5]/map/icons/railway_subway_entrance_yellow.png -[ddf=1.5]/map/icons/amenity_courthouse.png -[ddf=1.5]/map/icons/shop_supermarket.png -[ddf=1.5]/map/icons/car_aid.png -[ddf=1.5]/map/icons/railway_subway_station_small_black2.png -[ddf=1.5]/map/icons/null.png -[ddf=1.5]/map/icons/natural_spring2.png -[ddf=1.5]/map/icons/railway_tram_stop.png -[ddf=1.5]/map/icons/railway_subway_station_small_green.png -[ddf=1.5]/map/icons/shop_clothes.png -[ddf=1.5]/map/icons/amenity_bar.png -[ddf=1.5]/map/icons/natural_scrub.png -[ddf=1.5]/map/icons/tourism_motel.png -[ddf=1.5]/map/icons/leisure_bird_hide.png -[ddf=1.5]/map/icons/leisure_water_park.png -[ddf=1.5]/map/icons/highway_milestone.png -[ddf=1.5]/map/icons/sport_soccer.png -[ddf=1.5]/map/icons/natural_volcano_framed.png -[ddf=1.5]/map/icons/amenity_theatre.png -[ddf=1.5]/map/icons/leisure_slipway.png -[ddf=1.5]/map/icons/man_made.png -[ddf=1.5]/map/icons/amenity_college.png -[ddf=1.5]/map/icons/amenity_post_office2.png -[ddf=1.5]/map/icons/shop_greengrocer.png -[ddf=1.5]/map/icons/sport_shooting.png -[ddf=1.5]/map/icons/amenity_kindergarten.png -[ddf=1.5]/map/icons/leisure_ice_rink.png -[ddf=1.5]/map/icons/finance.png -[ddf=1.5]/map/icons/amenity_doctors.png -[ddf=1.5]/map/icons/natural_beach.png -[ddf=1.5]/map/icons/amenity_biergarten.png -[ddf=1.5]/map/icons/sport_canoe.png -[ddf=1.5]/map/icons/leisure_sports_centre.png -[ddf=1.5]/map/icons/bitcoin_yes.png -[ddf=1.5]/map/icons/leisure_sports_centre2.png -[ddf=1.5]/map/icons/sport_billiard.png -[ddf=1.5]/map/icons/natural.png -[ddf=1.5]/map/icons/amenity_car_rental.png -[ddf=1.5]/map/icons/amenity_prison.png -[ddf=1.5]/map/icons/natural_peak_night_big.png -[ddf=1.5]/map/icons/geocache.png -[ddf=1.5]/map/icons/barrier.png -[ddf=1.5]/map/icons/amenity_cafe.png -[ddf=1.5]/map/icons/amenity_parking_private.png -[ddf=1.5]/map/icons/amenity_restaurant.png -[ddf=1.5]/map/icons/historic_monument.png -[ddf=1.5]/map/icons/tourism_theme_park.png -[ddf=1.5]/map/icons/amenity_fuel_lpg.png -[ddf=1.5]/map/icons/leisure_marina.png -[ddf=1.5]/map/icons/amenity_post_office.png -[ddf=1.5]/map/icons/place_capital.png -[ddf=1.5]/map/icons/shop_florist.png -[ddf=1.5]/map/icons/historic_wreck.png -[ddf=1.5]/map/icons/osmwiki.png -[ddf=1.5]/map/icons/railway_halt.png -[ddf=1.5]/map/icons/religion_sikh.png -[ddf=1.5]/map/icons/amenity_embassy.png -[ddf=1.5]/map/icons/sport_archery.png -[ddf=1.5]/map/icons/amenity_grave_yard.png -[ddf=1.5]/map/icons/shop_general.png -[ddf=1.5]/map/icons/wikipedia.png -[ddf=1.5]/map/icons/natural_swamp.png -[ddf=1.5]/map/icons/power_station_gas.png -[ddf=1.5]/map/icons/sport.png -[ddf=1.5]/map/icons/railway_tram_stop_round_big_night.png -[ddf=1.5]/map/icons/shop_car.png -[ddf=1.5]/map/icons/railway_subway_entrance_orange.png -[ddf=1.5]/map/icons/amenity_shelter.png -[ddf=1.5]/map/icons/natural_peak_framed.png -[ddf=1.5]/map/icons/power_tower2.png -[ddf=1.5]/map/icons/railway_subway_entrance_black.png -[ddf=1.5]/map/icons/shop_copyshop.png -[ddf=1.5]/map/icons/emergency_fire_hydrant.png -[ddf=1.5]/map/icons/highway_services.png -[ddf=1.5]/map/icons/historic_wayside_cross.png -[ddf=1.5]/map/icons/tourism_information.png -[ddf=1.5]/map/icons/railway_subway_station_small_purple.png -[ddf=1.5]/map/icons/natural_tree.png -[ddf=1.5]/map/icons/aeroway_aerodrome.png -[ddf=1.5]/map/icons/entrance_exit_2.png -[ddf=1.5]/map/icons/religion_buddhist.png -[ddf=1.5]/map/icons/amenity_fountain.png -[ddf=1.5]/map/icons/historic_boundary_stone.png -[ddf=1.5]/map/icons/shop_motorcycle.png -[ddf=1.5]/map/icons/amenity_community_centre.png -[ddf=1.5]/map/icons/shop_bakery.png -[ddf=1.5]/map/icons/religion_hindu.png -[ddf=1.5]/map/icons/natural_peak.png -[ddf=1.5]/map/icons/railway_tram_stop_round_small.png -[ddf=1.5]/map/icons/amenity_nightclub.png -[ddf=1.5]/map/icons/aerialway_station.png -[ddf=1.5]/map/icons/amenity_marketplace.png -[ddf=1.5]/map/icons/healthcare.png -[ddf=1.5]/map/icons/man_made_water_well.png -[ddf=1.5]/map/icons/power_transformer2.png -[ddf=1.5]/map/icons/man_made_lighthouse.png -[ddf=1.5]/map/icons/natural_tree_leafless.png -[ddf=1.5]/map/icons/amenity_pharmacy2.png -[ddf=1.5]/map/icons/historic_battlefield.png -[ddf=1.5]/map/icons/railway_subway_entrance_purple.png -[ddf=1.5]/map/icons/administrative.png -[ddf=1.5]/map/icons/shop_butcher.png -[ddf=1.5]/map/icons/man_made_windmill.png -[ddf=1.5]/map/icons/barrier_border_control.png -[ddf=1.5]/map/icons/historic_wayside_shrine.png -[ddf=1.5]/map/icons/user_defined.png -[ddf=1.5]/map/icons/religion_christian.png -[ddf=1.5]/map/icons/shop_bicycle.png -[ddf=1.5]/map/icons/highway_bus_stop_round_big.png -[ddf=1.5]/map/icons/leisure.png -[ddf=1.5]/map/icons/barrier_small_black_3.png -[ddf=1.5]/map/icons/entrance_exit.png -[ddf=1.5]/map/icons/tourism_hotel.png -[ddf=1.5]/map/icons/historic_mine.png -[ddf=1.5]/map/icons/shop_seafood.png -[ddf=1.5]/map/icons/historic_castle.png -[ddf=1.5]/map/icons/shop_baby_goods.png -[ddf=1.5]/map/icons/amenity_bicycle_rental.png -[ddf=1.5]/map/icons/place_city.png -[ddf=1.5]/map/icons/shop_outdoor.png -[ddf=1.5]/map/icons/railway_subway_entrance_lightgreen.png -[ddf=1.5]/map/icons/natural_tree_cypress.png -[ddf=1.5]/map/icons/military_danger_area.png -[ddf=1.5]/map/icons/railway_platform.png -[ddf=1.5]/map/icons/landuse_forest.png -[ddf=1.5]/map/icons/shop_confectionery.png -[ddf=1.5]/map/icons/place_town.png -[ddf=1.5]/map/icons/amenity_school.png -[ddf=1.5]/map/icons/railway_subway_station_small_orange.png -[ddf=1.5]/map/icons/sustenance.png -[ddf=1.5]/map/icons/waterway_lock_gate.png -[ddf=1.5]/map/icons/amenity_veterinary.png -[ddf=1.5]/map/icons/amenity_parking_paid.png -[ddf=1.5]/map/icons/railway_station_small.png -[ddf=1.5]/map/icons/highway_bus_stop_round_small_night.png -[ddf=1.5]/map/icons/amenity_parking.png -[ddf=1.5]/map/icons/railway_subway_entrance_blue.png -[ddf=1.5]/map/icons/amenity_dentist.png -[ddf=1.5]/map/icons/barrier_entrance.png -[ddf=1.5]/map/icons/shop_pet.png -[ddf=1.5]/map/icons/geocache_found.png -[ddf=1.5]/map/icons/barrier_small_white_1.png -[ddf=1.5]/map/icons/barrier_swing_gate.png -[ddf=1.5]/map/icons/tourism_zoo.png -[ddf=1.5]/map/icons/entertainment.png -[ddf=1.5]/map/icons/tourism_caravan_site.png -[ddf=1.5]/map/icons/amenity_public_building.png -[ddf=1.5]/map/icons/amenity_arts_centre.png -[ddf=1.5]/map/icons/shop_car_repair.png -[ddf=1.5]/map/icons/historic_ruins.png -[ddf=1.5]/map/icons/barrier_gate.png -[ddf=1.5]/map/icons/amenity_place_of_worship.png -[ddf=1.5]/map/icons/sport_skiing.png -[ddf=1.5]/map/icons/other.png -[ddf=1.5]/map/icons/amenity_taxi.png -[ddf=1.5]/map/icons/barrier_block.png -[ddf=1.5]/map/icons/highway_bus_stop_round_small.png -[ddf=1.5]/map/icons/place_capital_night.png -[ddf=1.5]/map/icons/railway_level_crossing.png -[ddf=1.5]/map/icons/shop_mobile_phone.png -[ddf=1.5]/map/icons/sport_swimming.png -[ddf=1.5]/map/icons/natural_volcano_big.png -[ddf=1.5]/map/icons/railway_subway_entrance_red.png -[ddf=1.5]/map/icons/geocache_not_found.png -[ddf=1.5]/map/icons/power_station.png -[ddf=1.5]/map/icons/railway_subway_station_small_brown.png -[ddf=1.5]/map/icons/amenity_hospital2.png -[ddf=1.5]/map/icons/place_city_night.png -[ddf=1.5]/map/icons/office.png -[ddf=1.5]/map/icons/aeroway_helipad.png -[ddf=1.5]/map/icons/natural_tree_palm.png -[ddf=1.5]/map/icons/railway_tram_stop_round_small_night.png -[ddf=1.5]/map/icons/tourism_museum.png -[ddf=1.5]/map/icons/tourism_alpine_hut.png -[ddf=1.5]/map/icons/railway_subway_entrance_2.png -[ddf=1.5]/map/icons/natural_volcano.png -[ddf=1.5]/map/icons/natural_stone.png -[ddf=1.5]/map/icons/railway_subway_entrance_green.png -[ddf=1.5]/map/icons/power_station_nuclear.png -[ddf=1.5]/map/icons/amenity_library.png -[ddf=1.5]/map/icons/shop_hardware.png -[ddf=1.5]/map/icons/railway_subway_station_small_yellow2.png -[ddf=1.5]/map/icons/aerialway_station_small.png -[ddf=1.5]/map/icons/fuel.png -[ddf=1.5]/map/icons/leisure_fishing.png -[ddf=1.5]/map/icons/sport_diving.png -[ddf=1.5]/map/icons/for_tourists.png -[ddf=1.5]/map/icons/sightseeing.png -[ddf=1.5]/map/icons/natural_peak_night.png -[ddf=1.5]/map/icons/railway_subway_station_small_gray.png -[ddf=1.5]/map/icons/entrance_yes_2.png -[ddf=1.5]/map/icons/amenity_water_well.png -[ddf=1.5]/map/icons/tourism_camp_site.png -[ddf=1.5]/map/icons/amenity_social_centre.png -[ddf=1.5]/map/icons/public_transport.png -[ddf=1.5]/map/icons/highway_crossing2.png -[ddf=1.5]/map/icons/barrier_toll_booth.png -[ddf=1.5]/map/shields/gray_gray_square_small_shield.png -[ddf=1.5]/map/shields/unc_shield6.png -[ddf=1.5]/map/shields/gray_red_round_shield.png -[ddf=1.5]/map/shields/pri_shield6.png -[ddf=1.5]/map/shields/sec_shield3.png -[ddf=1.5]/map/shields/tru_shield5.png -[ddf=1.5]/map/shields/gray_gray_round_shield.png -[ddf=1.5]/map/shields/tru_shield6.png -[ddf=1.5]/map/shields/ter_shield7.png -[ddf=1.5]/map/shields/tru_shield3.png -[ddf=1.5]/map/shields/mot_shield3.png -[ddf=1.5]/map/shields/mot_shield8.png -[ddf=1.5]/map/shields/sec_shield6.png -[ddf=1.5]/map/shields/unc_shield4.png -[ddf=1.5]/map/shields/white_green_round_shield.png -[ddf=1.5]/map/shields/white_red_round_shield.png -[ddf=1.5]/map/shields/mot_shield2.png -[ddf=1.5]/map/shields/ter_shield2.png -[ddf=1.5]/map/shields/mot_shield7.png -[ddf=1.5]/map/shields/mot_shield1.png -[ddf=1.5]/map/shields/unc_shield3.png -[ddf=1.5]/map/shields/pri_shield4.png -[ddf=1.5]/map/shields/mot_shield4.png -[ddf=1.5]/map/shields/ter_shield6.png -[ddf=1.5]/map/shields/tru_shield1.png -[ddf=1.5]/map/shields/gray_green_square_shield.png -[ddf=1.5]/map/shields/pri_shield5.png -[ddf=1.5]/map/shields/sec_shield7.png -[ddf=1.5]/map/shields/white_round_small_shield.png -[ddf=1.5]/map/shields/unc_shield7.png -[ddf=1.5]/map/shields/sec_shield5.png -[ddf=1.5]/map/shields/pri_shield3.png -[ddf=1.5]/map/shields/white_black_round_shield.png -[ddf=1.5]/map/shields/gray_red_square_shield.png -[ddf=1.5]/map/shields/ter_shield8.png -[ddf=1.5]/map/shields/pri_shield7.png -[ddf=1.5]/map/shields/ter_shield3.png -[ddf=1.5]/map/shields/unc_shield8.png -[ddf=1.5]/map/shields/unc_shield5.png -[ddf=1.5]/map/shields/unc_shield2.png -[ddf=1.5]/map/shields/sec_shield2.png -[ddf=1.5]/map/shields/gray_gray_square_shield.png -[ddf=1.5]/map/shields/sec_shield4.png -[ddf=1.5]/map/shields/mot_shield5.png -[ddf=1.5]/map/shields/ter_shield4.png -[ddf=1.5]/map/shields/unc_shield1.png -[ddf=1.5]/map/shields/white_red_square_shield.png -[ddf=1.5]/map/shields/mot_shield6.png -[ddf=1.5]/map/shields/sec_shield1.png -[ddf=1.5]/map/shields/ter_shield5.png -[ddf=1.5]/map/shields/pri_shield8.png -[ddf=1.5]/map/shields/white_blue_round_shield.png -[ddf=1.5]/map/shields/tru_shield7.png -[ddf=1.5]/map/shields/white_blue_square_shield.png -[ddf=1.5]/map/shields/ter_shield1.png -[ddf=1.5]/map/shields/sec_shield8.png -[ddf=1.5]/map/shields/pri_shield2.png -[ddf=1.5]/map/shields/white_gray_square_shield.png -[ddf=1.5]/map/shields/white_green_square_shield.png -[ddf=1.5]/map/shields/white_gray_square_small_shield.png -[ddf=1.5]/map/shields/pri_shield1.png -[ddf=1.5]/map/shields/gray_blue_round_shield.png -[ddf=1.5]/map/shields/gray_blue_square_shield.png -[ddf=1.5]/map/shields/tru_shield8.png -[ddf=1.5]/map/shields/tru_shield4.png -[ddf=1.5]/map/shields/gray_brown_square_shield.png -[ddf=1.5]/map/shields/darkgray_round_small_shield.png -[ddf=1.5]/map/shields/tru_shield2.png -[ddf=1.5]/map/shields/black_round_small_shield.png -[ddf=1.5]/map/shields/white_gray_round_shield.png -[ddf=1.5]/map/shields/white_brown_square_shield.png -[ddf=1.5]/map/shields/gray_green_round_shield.png -[ddf=2.0]/map/shaders/osmc_black_bg_yellow_bar.png -[ddf=2.0]/map/shaders/osmc_red_bg.png -[ddf=2.0]/map/shaders/osmc_black_bg_blue_bar.png -[ddf=2.0]/map/shaders/nr21.png -[ddf=2.0]/map/shaders/osmc_white_bg_black_circle.png -[ddf=2.0]/map/shaders/wood_needleleaved.png -[ddf=2.0]/map/shaders/osmc_yellow_bg_green_bar.png -[ddf=2.0]/map/shaders/danger_night.png -[ddf=2.0]/map/shaders/osmc_red_bg_black_bar.png -[ddf=2.0]/map/shaders/osmc_yellow_bg_black_circle.png -[ddf=2.0]/map/shaders/osmc_yellow_bg_blue_bar.png -[ddf=2.0]/map/shaders/cemetery_small.png -[ddf=2.0]/map/shaders/osmc_white_bg_red_circle.png -[ddf=2.0]/map/shaders/orchard2.png -[ddf=2.0]/map/shaders/osmc_white_green_backslash.png -[ddf=2.0]/map/shaders/arrow.png -[ddf=2.0]/map/shaders/osmc_black_bg.png -[ddf=2.0]/map/shaders/osmc_yellow_bg_white_circle.png -[ddf=2.0]/map/shaders/osmc_white_red_bar.png -[ddf=2.0]/map/shaders/cable_car.png -[ddf=2.0]/map/shaders/osmc_black_bg_yellow_circle.png -[ddf=2.0]/map/shaders/vineyard.png -[ddf=2.0]/map/shaders/osmc_yellow_bg_red_bar.png -[ddf=2.0]/map/shaders/osmc_green_bg_black_bar.png -[ddf=2.0]/map/shaders/osmc_green_bg_blue_bar.png -[ddf=2.0]/map/shaders/osmc_blue_bg_black_circle.png -[ddf=2.0]/map/shaders/osmc_blue_bg_green_circle.png -[ddf=2.0]/map/shaders/orchard.png -[ddf=2.0]/map/shaders/orchard_olive.png -[ddf=2.0]/map/shaders/forest_broadleaved.png -[ddf=2.0]/map/shaders/osmc_blue_bg_yellow_bar.png -[ddf=2.0]/map/shaders/forest.png -[ddf=2.0]/map/shaders/paving_stones_green_night.png -[ddf=2.0]/map/shaders/quarry3.png -[ddf=2.0]/map/shaders/osmc_yellow_bg.png -[ddf=2.0]/map/shaders/glacier2night.png -[ddf=2.0]/map/shaders/osmc__yellow_diamond1.png -[ddf=2.0]/map/shaders/mud.png -[ddf=2.0]/map/shaders/osmc_yellow_diamond.png -[ddf=2.0]/map/shaders/scree.png -[ddf=2.0]/map/shaders/quarry3night.png -[ddf=2.0]/map/shaders/osmc_green_bg_white_bar.png -[ddf=2.0]/map/shaders/osmc_white_bg.png -[ddf=2.0]/map/shaders/osmc_white_bg_green_circle.png -[ddf=2.0]/map/shaders/nr2.png -[ddf=2.0]/map/shaders/osmc_blue_bg_black_bar.png -[ddf=2.0]/map/shaders/wood_needleleaved2.png -[ddf=2.0]/map/shaders/reef.png -[ddf=2.0]/map/shaders/forest1.png -[ddf=2.0]/map/shaders/osmc_blue_bg_red_circle.png -[ddf=2.0]/map/shaders/fell_night.png -[ddf=2.0]/map/shaders/osmc_red_bg_yellow_bar.png -[ddf=2.0]/map/shaders/beach2.png -[ddf=2.0]/map/shaders/orchard_oil_palms.png -[ddf=2.0]/map/shaders/osmc_red_bg_green_bar.png -[ddf=2.0]/map/shaders/osmc_green_bg_yellow_bar.png -[ddf=2.0]/map/shaders/osmc_yellow_bg_black_bar.png -[ddf=2.0]/map/shaders/osmc_yellow_bg_white_bar.png -[ddf=2.0]/map/shaders/osmc_yellow_bg_red_circle.png -[ddf=2.0]/map/shaders/nr2_night.png -[ddf=2.0]/map/shaders/osmc_white_bg_blue_bar.png -[ddf=2.0]/map/shaders/osmc__yellow_diamond.png -[ddf=2.0]/map/shaders/orchard_banana.png -[ddf=2.0]/map/shaders/osmc_blue_bg.png -[ddf=2.0]/map/shaders/marsh.png -[ddf=2.0]/map/shaders/vineyard1.png -[ddf=2.0]/map/shaders/osmc_black_bg_white_circle.png -[ddf=2.0]/map/shaders/paving_stones_green.png -[ddf=2.0]/map/shaders/osmc_white_yellow_bar.png -[ddf=2.0]/map/shaders/wood_mixed.png -[ddf=2.0]/map/shaders/quarry2.png -[ddf=2.0]/map/shaders/cemetery.png -[ddf=2.0]/map/shaders/orchard_apple.png -[ddf=2.0]/map/shaders/wood_mixed2.png -[ddf=2.0]/map/shaders/osmc_black_bg_blue_circle.png -[ddf=2.0]/map/shaders/beach2night.png -[ddf=2.0]/map/shaders/osmc_green_bg.png -[ddf=2.0]/map/shaders/cemetery_muslim.png -[ddf=2.0]/map/shaders/grave_yard.png -[ddf=2.0]/map/shaders/nr1.png -[ddf=2.0]/map/shaders/osmc_blue_bg_green_bar.png -[ddf=2.0]/map/shaders/osmc_red_bg_white_circle.png -[ddf=2.0]/map/shaders/osmc_blue_bg_white_bar.png -[ddf=2.0]/map/shaders/osmc_red_bg_green_circle.png -[ddf=2.0]/map/shaders/orchard_orange.png -[ddf=2.0]/map/shaders/osmc_green_bg_black_circle.png -[ddf=2.0]/map/shaders/osmc_red_bg_blue_circle.png -[ddf=2.0]/map/shaders/osmc_white_green_bar.png -[ddf=2.0]/map/shaders/glacier.png -[ddf=2.0]/map/shaders/paving_stones.png -[ddf=2.0]/map/shaders/osmc_green_bg_blue_circle.png -[ddf=2.0]/map/shaders/osmc_red_bg_blue_bar.png -[ddf=2.0]/map/shaders/nr.png -[ddf=2.0]/map/shaders/osmc_black_bg_red_bar.png -[ddf=2.0]/map/shaders/osmc_blue_bg_red_bar.png -[ddf=2.0]/map/shaders/scree_night.png -[ddf=2.0]/map/shaders/chair_lift.png -[ddf=2.0]/map/shaders/cemetery_jewish.png -[ddf=2.0]/map/shaders/osmc_white_bg_green_bar.png -[ddf=2.0]/map/shaders/osmc_white_black_bar.png -[ddf=2.0]/map/shaders/osmc_yellow_diamond1.png -[ddf=2.0]/map/shaders/danger1.png -[ddf=2.0]/map/shaders/cemetery_christian.png -[ddf=2.0]/map/shaders/paving_stones_night.png -[ddf=2.0]/map/shaders/osmc_white_bg_yellow_bar.png -[ddf=2.0]/map/shaders/osmc_white_bg_yellow_circle.png -[ddf=2.0]/map/shaders/osmc_white_blue_bar.png -[ddf=2.0]/map/shaders/osmc_red_white_bar.png -[ddf=2.0]/map/shaders/orchard_almond.png -[ddf=2.0]/map/shaders/osmc_black_bg_green_circle.png -[ddf=2.0]/map/shaders/osmc_black_bg_red_circle.png -[ddf=2.0]/map/shaders/osmc_red_bg_yellow_circle.png -[ddf=2.0]/map/shaders/osmc_blue_bg_white_circle.png -[ddf=2.0]/map/shaders/osmc_black_bg_white_bar.png -[ddf=2.0]/map/shaders/vineyard2.png -[ddf=2.0]/map/shaders/forest_mixed.png -[ddf=2.0]/map/shaders/osmc_green_bg_yellow_circle.png -[ddf=2.0]/map/shaders/osmc_green_bg_white_circle.png -[ddf=2.0]/map/shaders/osmc_blue_bg_yellow_circle.png -[ddf=2.0]/map/shaders/osmc_black_bg_green_bar.png -[ddf=2.0]/map/shaders/zoo.png -[ddf=2.0]/map/shaders/osmc_red_bg_white_bar.png -[ddf=2.0]/map/shaders/glacier2.png -[ddf=2.0]/map/shaders/osmc_yellow_bg_green_circle.png -[ddf=2.0]/map/shaders/danger.png -[ddf=2.0]/map/shaders/wood_broadleaved.png -[ddf=2.0]/map/shaders/vineyard2_small.png -[ddf=2.0]/map/shaders/osmc_yellow_bg_blue_circle.png -[ddf=2.0]/map/shaders/osmc_white_bg_blue_circle.png -[ddf=2.0]/map/shaders/osmc_green_bg_red_circle.png -[ddf=2.0]/map/shaders/wood_broadleaved2.png -[ddf=2.0]/map/shaders/zoo1.png -[ddf=2.0]/map/shaders/beach.png -[ddf=2.0]/map/shaders/fell.png -[ddf=2.0]/map/shaders/osmc_green_bg_red_bar.png -[ddf=2.0]/map/shaders/forest_needleleaved.png -[ddf=2.0]/map/shaders/osmc_white_bg_black_bar.png -[ddf=2.0]/map/shaders/scrub.png -[ddf=2.0]/map/shaders/bare_rock.png -[ddf=2.0]/map/shaders/osmc_white_bg_red_bar.png -[ddf=2.0]/map/shaders/osmc_red_bg_black_circle.png -[ddf=2.0]/map/icons/railway_subway_station_small_blue.png -[ddf=2.0]/map/icons/shop_boutique.png -[ddf=2.0]/map/icons/shop_tobacco.png -[ddf=2.0]/map/icons/tourism_viewpoint.png -[ddf=2.0]/map/icons/historic_archaeological_site.png -[ddf=2.0]/map/icons/tower_type_communication.png -[ddf=2.0]/map/icons/railway_subway_entrance_gray.png -[ddf=2.0]/map/icons/sport_baseball.png -[ddf=2.0]/map/icons/amenity_bus_station2.png -[ddf=2.0]/map/icons/sport_tennis.png -[ddf=2.0]/map/icons/barrier_small_black_1.png -[ddf=2.0]/map/icons/natural_saddle.png -[ddf=2.0]/map/icons/education.png -[ddf=2.0]/map/icons/sport_gymnastics.png -[ddf=2.0]/map/icons/place_town_night.png -[ddf=2.0]/map/icons/sport_skating.png -[ddf=2.0]/map/icons/historic_memorial.png -[ddf=2.0]/map/icons/natural_peak_framed_big.png -[ddf=2.0]/map/icons/tower_type_communication2.png -[ddf=2.0]/map/icons/man_made_chimney.png -[ddf=2.0]/map/icons/shop_computer.png -[ddf=2.0]/map/icons/restaurants.png -[ddf=2.0]/map/icons/amenity_hospital.png -[ddf=2.0]/map/icons/food_shop.png -[ddf=2.0]/map/icons/religion_shinto.png -[ddf=2.0]/map/icons/amenity_recycling.png -[ddf=2.0]/map/icons/barrier_small_white_4.png -[ddf=2.0]/map/icons/seamark.png -[ddf=2.0]/map/icons/natural_spring.png -[ddf=2.0]/map/icons/amenity_vending_machine.png -[ddf=2.0]/map/icons/railway_subway_station_small_lightgreen.png -[ddf=2.0]/map/icons/shop_doityourself.png -[ddf=2.0]/map/icons/shop_electronics.png -[ddf=2.0]/map/icons/amenity_pharmacy.png -[ddf=2.0]/map/icons/amenity_townhall.png -[ddf=2.0]/map/icons/railway_subway_station_small_black.png -[ddf=2.0]/map/icons/railway_subway_station_small_default.png -[ddf=2.0]/map/icons/highway_traffic_signals.png -[ddf=2.0]/map/icons/railway_tram_stop_round_big.png -[ddf=2.0]/map/icons/tourism_chalet.png -[ddf=2.0]/map/icons/amenity_bicycle_parking.png -[ddf=2.0]/map/icons/waterway_waterfall.png -[ddf=2.0]/map/icons/shop_hearing_aids.png -[ddf=2.0]/map/icons/leisure_playground.png -[ddf=2.0]/map/icons/amenity_bus_station.png -[ddf=2.0]/map/icons/shop_gift.png -[ddf=2.0]/map/icons/shop.png -[ddf=2.0]/map/icons/name_finder.png -[ddf=2.0]/map/icons/power_station_solar.png -[ddf=2.0]/map/icons/shop_musical_instrument.png -[ddf=2.0]/map/icons/leisure_stadium.png -[ddf=2.0]/map/icons/barrier_chain.png -[ddf=2.0]/map/icons/amenity_monastery.png -[ddf=2.0]/map/icons/shop_department_store.png -[ddf=2.0]/map/icons/railway_subway_station_small_lightblue.png -[ddf=2.0]/map/icons/natural_beach2.png -[ddf=2.0]/map/icons/barrier_small_red_4.png -[ddf=2.0]/map/icons/amenity_toilets.png -[ddf=2.0]/map/icons/man_made_water_tower.png -[ddf=2.0]/map/icons/shop_car_parts.png -[ddf=2.0]/map/icons/amenity_bank.png -[ddf=2.0]/map/icons/amenity_boat_sharing.png -[ddf=2.0]/map/icons/historic_fort.png -[ddf=2.0]/map/icons/amenity_police.png -[ddf=2.0]/map/icons/shop_mall.png -[ddf=2.0]/map/icons/emergency.png -[ddf=2.0]/map/icons/barrier_sally_port.png -[ddf=2.0]/map/icons/railway_subway_entrance.png -[ddf=2.0]/map/icons/railway_subway.png -[ddf=2.0]/map/icons/religion_jewish.png -[ddf=2.0]/map/icons/power_station_wind.png -[ddf=2.0]/map/icons/shop_jewelry.png -[ddf=2.0]/map/icons/amenity_casino.png -[ddf=2.0]/map/icons/office_government.png -[ddf=2.0]/map/icons/barrier_small_black_4.png -[ddf=2.0]/map/icons/landuse.png -[ddf=2.0]/map/icons/amenity_fast_food.png -[ddf=2.0]/map/icons/parking.png -[ddf=2.0]/map/icons/railway_subway_station_small_yellow.png -[ddf=2.0]/map/icons/sport_golf.png -[ddf=2.0]/map/icons/amenity_fire_station.png -[ddf=2.0]/map/icons/power_station_water2.png -[ddf=2.0]/map/icons/building_entrance.png -[ddf=2.0]/map/icons/religion_taoist.png -[ddf=2.0]/map/icons/natural_volcano_framed_big.png -[ddf=2.0]/map/icons/aeroway_airport.png -[ddf=2.0]/map/icons/amenity_fuel.png -[ddf=2.0]/map/icons/shop_hairdresser.png -[ddf=2.0]/map/icons/amenity_ice_cream.png -[ddf=2.0]/map/icons/landuse_cemetery.png -[ddf=2.0]/map/icons/historic.png -[ddf=2.0]/map/icons/amenity_food_court.png -[ddf=2.0]/map/icons/shop_garden_centre.png -[ddf=2.0]/map/icons/barrier_small_black_2.png -[ddf=2.0]/map/icons/railway_subway_entrance_lightblue.png -[ddf=2.0]/map/icons/railway_subway_station_small_red.png -[ddf=2.0]/map/icons/barrier_small_red_2.png -[ddf=2.0]/map/icons/amenity_cinema.png -[ddf=2.0]/map/icons/man_made_mineshaft.png -[ddf=2.0]/map/icons/amenity_post_box.png -[ddf=2.0]/map/icons/amenity_drinking_water.png -[ddf=2.0]/map/icons/barrier_bollard.png -[ddf=2.0]/map/icons/highway_bus_stop_small.png -[ddf=2.0]/map/icons/natural_glacier.png -[ddf=2.0]/map/icons/natural_tree_needleleaved.png -[ddf=2.0]/map/icons/shop_alcohol.png -[ddf=2.0]/map/icons/sport_stadium.png -[ddf=2.0]/map/icons/religion_muslim.png -[ddf=2.0]/map/icons/shop_optician.png -[ddf=2.0]/map/icons/natural_cave_entrance.png -[ddf=2.0]/map/icons/barrier_lift_gate.png -[ddf=2.0]/map/icons/amenity_telephone.png -[ddf=2.0]/map/icons/landuse_grass.png -[ddf=2.0]/map/icons/shop_kiosk.png -[ddf=2.0]/map/icons/emergency_phone.png -[ddf=2.0]/map/icons/tourism_guest_house.png -[ddf=2.0]/map/icons/natural_tree_broadleaved.png -[ddf=2.0]/map/icons/tourism_picnic_site.png -[ddf=2.0]/map/icons/sport_scuba_diving.png -[ddf=2.0]/map/icons/amenity_bench.png -[ddf=2.0]/map/icons/highway_bus_stop_round_big_night.png -[ddf=2.0]/map/icons/amenity_atm.png -[ddf=2.0]/map/icons/amenity_stripclub.png -[ddf=2.0]/map/icons/entrance_yes.png -[ddf=2.0]/map/icons/highway_mini_roundabout.png -[ddf=2.0]/map/icons/amenity_car_sharing.png -[ddf=2.0]/map/icons/shop_dairy.png -[ddf=2.0]/map/icons/highway_speed_camera.png -[ddf=2.0]/map/icons/shop_video.png -[ddf=2.0]/map/icons/power_tower.png -[ddf=2.0]/map/icons/highway_ford.png -[ddf=2.0]/map/icons/public_transport_platform.png -[ddf=2.0]/map/icons/barrier_small_red_3.png -[ddf=2.0]/map/icons/highway_bus_stop.png -[ddf=2.0]/map/icons/military.png -[ddf=2.0]/map/icons/amenity_pub.png -[ddf=2.0]/map/icons/tourism.png -[ddf=2.0]/map/icons/shop_laundry.png -[ddf=2.0]/map/icons/barrier_small_red_1.png -[ddf=2.0]/map/icons/amenity_bureau_de_change.png -[ddf=2.0]/map/icons/barrier_small_white_2.png -[ddf=2.0]/map/icons/shop_toys.png -[ddf=2.0]/map/icons/tourism_hostel.png -[ddf=2.0]/map/icons/amenity_university.png -[ddf=2.0]/map/icons/transportation.png -[ddf=2.0]/map/icons/aeroway_gate.png -[ddf=2.0]/map/icons/highway_gate.png -[ddf=2.0]/map/icons/barrier_small_white_3.png -[ddf=2.0]/map/icons/power_station_coal.png -[ddf=2.0]/map/icons/shop_fashion.png -[ddf=2.0]/map/icons/entrance_main.png -[ddf=2.0]/map/icons/traffic_calming_bump.png -[ddf=2.0]/map/icons/railway_station.png -[ddf=2.0]/map/icons/railway_subway_entrance_brown.png -[ddf=2.0]/map/icons/sport_horse_racing.png -[ddf=2.0]/map/icons/highway_noexit.png -[ddf=2.0]/map/icons/shop_convenience.png -[ddf=2.0]/map/icons/barrier_kissing_gate.png -[ddf=2.0]/map/icons/accomodation.png -[ddf=2.0]/map/icons/railway_subway_entrance_yellow.png -[ddf=2.0]/map/icons/amenity_courthouse.png -[ddf=2.0]/map/icons/shop_supermarket.png -[ddf=2.0]/map/icons/car_aid.png -[ddf=2.0]/map/icons/railway_subway_station_small_black2.png -[ddf=2.0]/map/icons/null.png -[ddf=2.0]/map/icons/natural_spring2.png -[ddf=2.0]/map/icons/railway_tram_stop.png -[ddf=2.0]/map/icons/railway_subway_station_small_green.png -[ddf=2.0]/map/icons/shop_clothes.png -[ddf=2.0]/map/icons/amenity_bar.png -[ddf=2.0]/map/icons/natural_scrub.png -[ddf=2.0]/map/icons/tourism_motel.png -[ddf=2.0]/map/icons/leisure_bird_hide.png -[ddf=2.0]/map/icons/leisure_water_park.png -[ddf=2.0]/map/icons/highway_milestone.png -[ddf=2.0]/map/icons/sport_soccer.png -[ddf=2.0]/map/icons/natural_volcano_framed.png -[ddf=2.0]/map/icons/amenity_theatre.png -[ddf=2.0]/map/icons/leisure_slipway.png -[ddf=2.0]/map/icons/man_made.png -[ddf=2.0]/map/icons/amenity_college.png -[ddf=2.0]/map/icons/amenity_post_office2.png -[ddf=2.0]/map/icons/shop_greengrocer.png -[ddf=2.0]/map/icons/sport_shooting.png -[ddf=2.0]/map/icons/amenity_kindergarten.png -[ddf=2.0]/map/icons/leisure_ice_rink.png -[ddf=2.0]/map/icons/finance.png -[ddf=2.0]/map/icons/amenity_doctors.png -[ddf=2.0]/map/icons/natural_beach.png -[ddf=2.0]/map/icons/amenity_biergarten.png -[ddf=2.0]/map/icons/sport_canoe.png -[ddf=2.0]/map/icons/leisure_sports_centre.png -[ddf=2.0]/map/icons/bitcoin_yes.png -[ddf=2.0]/map/icons/leisure_sports_centre2.png -[ddf=2.0]/map/icons/sport_billiard.png -[ddf=2.0]/map/icons/natural.png -[ddf=2.0]/map/icons/amenity_car_rental.png -[ddf=2.0]/map/icons/amenity_prison.png -[ddf=2.0]/map/icons/natural_peak_night_big.png -[ddf=2.0]/map/icons/geocache.png -[ddf=2.0]/map/icons/barrier.png -[ddf=2.0]/map/icons/amenity_cafe.png -[ddf=2.0]/map/icons/amenity_parking_private.png -[ddf=2.0]/map/icons/amenity_restaurant.png -[ddf=2.0]/map/icons/historic_monument.png -[ddf=2.0]/map/icons/tourism_theme_park.png -[ddf=2.0]/map/icons/amenity_fuel_lpg.png -[ddf=2.0]/map/icons/leisure_marina.png -[ddf=2.0]/map/icons/amenity_post_office.png -[ddf=2.0]/map/icons/place_capital.png -[ddf=2.0]/map/icons/shop_florist.png -[ddf=2.0]/map/icons/historic_wreck.png -[ddf=2.0]/map/icons/osmwiki.png -[ddf=2.0]/map/icons/railway_halt.png -[ddf=2.0]/map/icons/religion_sikh.png -[ddf=2.0]/map/icons/amenity_embassy.png -[ddf=2.0]/map/icons/sport_archery.png -[ddf=2.0]/map/icons/amenity_grave_yard.png -[ddf=2.0]/map/icons/shop_general.png -[ddf=2.0]/map/icons/wikipedia.png -[ddf=2.0]/map/icons/natural_swamp.png -[ddf=2.0]/map/icons/power_station_gas.png -[ddf=2.0]/map/icons/sport.png -[ddf=2.0]/map/icons/railway_tram_stop_round_big_night.png -[ddf=2.0]/map/icons/shop_car.png -[ddf=2.0]/map/icons/railway_subway_entrance_orange.png -[ddf=2.0]/map/icons/amenity_shelter.png -[ddf=2.0]/map/icons/natural_peak_framed.png -[ddf=2.0]/map/icons/power_tower2.png -[ddf=2.0]/map/icons/railway_subway_entrance_black.png -[ddf=2.0]/map/icons/shop_copyshop.png -[ddf=2.0]/map/icons/emergency_fire_hydrant.png -[ddf=2.0]/map/icons/highway_services.png -[ddf=2.0]/map/icons/historic_wayside_cross.png -[ddf=2.0]/map/icons/tourism_information.png -[ddf=2.0]/map/icons/railway_subway_station_small_purple.png -[ddf=2.0]/map/icons/natural_tree.png -[ddf=2.0]/map/icons/aeroway_aerodrome.png -[ddf=2.0]/map/icons/entrance_exit_2.png -[ddf=2.0]/map/icons/religion_buddhist.png -[ddf=2.0]/map/icons/amenity_fountain.png -[ddf=2.0]/map/icons/historic_boundary_stone.png -[ddf=2.0]/map/icons/shop_motorcycle.png -[ddf=2.0]/map/icons/amenity_community_centre.png -[ddf=2.0]/map/icons/shop_bakery.png -[ddf=2.0]/map/icons/religion_hindu.png -[ddf=2.0]/map/icons/natural_peak.png -[ddf=2.0]/map/icons/railway_tram_stop_round_small.png -[ddf=2.0]/map/icons/amenity_nightclub.png -[ddf=2.0]/map/icons/aerialway_station.png -[ddf=2.0]/map/icons/amenity_marketplace.png -[ddf=2.0]/map/icons/healthcare.png -[ddf=2.0]/map/icons/man_made_water_well.png -[ddf=2.0]/map/icons/power_transformer2.png -[ddf=2.0]/map/icons/man_made_lighthouse.png -[ddf=2.0]/map/icons/natural_tree_leafless.png -[ddf=2.0]/map/icons/amenity_pharmacy2.png -[ddf=2.0]/map/icons/historic_battlefield.png -[ddf=2.0]/map/icons/railway_subway_entrance_purple.png -[ddf=2.0]/map/icons/administrative.png -[ddf=2.0]/map/icons/shop_butcher.png -[ddf=2.0]/map/icons/man_made_windmill.png -[ddf=2.0]/map/icons/barrier_border_control.png -[ddf=2.0]/map/icons/historic_wayside_shrine.png -[ddf=2.0]/map/icons/user_defined.png -[ddf=2.0]/map/icons/religion_christian.png -[ddf=2.0]/map/icons/shop_bicycle.png -[ddf=2.0]/map/icons/highway_bus_stop_round_big.png -[ddf=2.0]/map/icons/leisure.png -[ddf=2.0]/map/icons/barrier_small_black_3.png -[ddf=2.0]/map/icons/entrance_exit.png -[ddf=2.0]/map/icons/tourism_hotel.png -[ddf=2.0]/map/icons/historic_mine.png -[ddf=2.0]/map/icons/shop_seafood.png -[ddf=2.0]/map/icons/historic_castle.png -[ddf=2.0]/map/icons/shop_baby_goods.png -[ddf=2.0]/map/icons/amenity_bicycle_rental.png -[ddf=2.0]/map/icons/place_city.png -[ddf=2.0]/map/icons/shop_outdoor.png -[ddf=2.0]/map/icons/railway_subway_entrance_lightgreen.png -[ddf=2.0]/map/icons/natural_tree_cypress.png -[ddf=2.0]/map/icons/military_danger_area.png -[ddf=2.0]/map/icons/railway_platform.png -[ddf=2.0]/map/icons/landuse_forest.png -[ddf=2.0]/map/icons/shop_confectionery.png -[ddf=2.0]/map/icons/place_town.png -[ddf=2.0]/map/icons/amenity_school.png -[ddf=2.0]/map/icons/railway_subway_station_small_orange.png -[ddf=2.0]/map/icons/sustenance.png -[ddf=2.0]/map/icons/waterway_lock_gate.png -[ddf=2.0]/map/icons/amenity_veterinary.png -[ddf=2.0]/map/icons/amenity_parking_paid.png -[ddf=2.0]/map/icons/railway_station_small.png -[ddf=2.0]/map/icons/highway_bus_stop_round_small_night.png -[ddf=2.0]/map/icons/amenity_parking.png -[ddf=2.0]/map/icons/railway_subway_entrance_blue.png -[ddf=2.0]/map/icons/amenity_dentist.png -[ddf=2.0]/map/icons/barrier_entrance.png -[ddf=2.0]/map/icons/shop_pet.png -[ddf=2.0]/map/icons/geocache_found.png -[ddf=2.0]/map/icons/barrier_small_white_1.png -[ddf=2.0]/map/icons/barrier_swing_gate.png -[ddf=2.0]/map/icons/tourism_zoo.png -[ddf=2.0]/map/icons/entertainment.png -[ddf=2.0]/map/icons/tourism_caravan_site.png -[ddf=2.0]/map/icons/amenity_public_building.png -[ddf=2.0]/map/icons/amenity_arts_centre.png -[ddf=2.0]/map/icons/shop_car_repair.png -[ddf=2.0]/map/icons/historic_ruins.png -[ddf=2.0]/map/icons/barrier_gate.png -[ddf=2.0]/map/icons/amenity_place_of_worship.png -[ddf=2.0]/map/icons/sport_skiing.png -[ddf=2.0]/map/icons/other.png -[ddf=2.0]/map/icons/amenity_taxi.png -[ddf=2.0]/map/icons/barrier_block.png -[ddf=2.0]/map/icons/highway_bus_stop_round_small.png -[ddf=2.0]/map/icons/place_capital_night.png -[ddf=2.0]/map/icons/railway_level_crossing.png -[ddf=2.0]/map/icons/shop_mobile_phone.png -[ddf=2.0]/map/icons/sport_swimming.png -[ddf=2.0]/map/icons/natural_volcano_big.png -[ddf=2.0]/map/icons/railway_subway_entrance_red.png -[ddf=2.0]/map/icons/geocache_not_found.png -[ddf=2.0]/map/icons/power_station.png -[ddf=2.0]/map/icons/railway_subway_station_small_brown.png -[ddf=2.0]/map/icons/amenity_hospital2.png -[ddf=2.0]/map/icons/place_city_night.png -[ddf=2.0]/map/icons/office.png -[ddf=2.0]/map/icons/aeroway_helipad.png -[ddf=2.0]/map/icons/natural_tree_palm.png -[ddf=2.0]/map/icons/railway_tram_stop_round_small_night.png -[ddf=2.0]/map/icons/tourism_museum.png -[ddf=2.0]/map/icons/tourism_alpine_hut.png -[ddf=2.0]/map/icons/railway_subway_entrance_2.png -[ddf=2.0]/map/icons/natural_volcano.png -[ddf=2.0]/map/icons/natural_stone.png -[ddf=2.0]/map/icons/railway_subway_entrance_green.png -[ddf=2.0]/map/icons/power_station_nuclear.png -[ddf=2.0]/map/icons/amenity_library.png -[ddf=2.0]/map/icons/shop_hardware.png -[ddf=2.0]/map/icons/railway_subway_station_small_yellow2.png -[ddf=2.0]/map/icons/aerialway_station_small.png -[ddf=2.0]/map/icons/fuel.png -[ddf=2.0]/map/icons/leisure_fishing.png -[ddf=2.0]/map/icons/sport_diving.png -[ddf=2.0]/map/icons/for_tourists.png -[ddf=2.0]/map/icons/sightseeing.png -[ddf=2.0]/map/icons/natural_peak_night.png -[ddf=2.0]/map/icons/railway_subway_station_small_gray.png -[ddf=2.0]/map/icons/entrance_yes_2.png -[ddf=2.0]/map/icons/amenity_water_well.png -[ddf=2.0]/map/icons/tourism_camp_site.png -[ddf=2.0]/map/icons/amenity_social_centre.png -[ddf=2.0]/map/icons/public_transport.png -[ddf=2.0]/map/icons/highway_crossing2.png -[ddf=2.0]/map/icons/barrier_toll_booth.png -[ddf=2.0]/map/shields/gray_gray_square_small_shield.png -[ddf=2.0]/map/shields/unc_shield6.png -[ddf=2.0]/map/shields/gray_red_round_shield.png -[ddf=2.0]/map/shields/pri_shield6.png -[ddf=2.0]/map/shields/sec_shield3.png -[ddf=2.0]/map/shields/tru_shield5.png -[ddf=2.0]/map/shields/gray_gray_round_shield.png -[ddf=2.0]/map/shields/tru_shield6.png -[ddf=2.0]/map/shields/ter_shield7.png -[ddf=2.0]/map/shields/tru_shield3.png -[ddf=2.0]/map/shields/mot_shield3.png -[ddf=2.0]/map/shields/mot_shield8.png -[ddf=2.0]/map/shields/sec_shield6.png -[ddf=2.0]/map/shields/unc_shield4.png -[ddf=2.0]/map/shields/white_green_round_shield.png -[ddf=2.0]/map/shields/white_red_round_shield.png -[ddf=2.0]/map/shields/mot_shield2.png -[ddf=2.0]/map/shields/ter_shield2.png -[ddf=2.0]/map/shields/mot_shield7.png -[ddf=2.0]/map/shields/mot_shield1.png -[ddf=2.0]/map/shields/unc_shield3.png -[ddf=2.0]/map/shields/pri_shield4.png -[ddf=2.0]/map/shields/mot_shield4.png -[ddf=2.0]/map/shields/ter_shield6.png -[ddf=2.0]/map/shields/tru_shield1.png -[ddf=2.0]/map/shields/gray_green_square_shield.png -[ddf=2.0]/map/shields/pri_shield5.png -[ddf=2.0]/map/shields/sec_shield7.png -[ddf=2.0]/map/shields/white_round_small_shield.png -[ddf=2.0]/map/shields/unc_shield7.png -[ddf=2.0]/map/shields/sec_shield5.png -[ddf=2.0]/map/shields/pri_shield3.png -[ddf=2.0]/map/shields/white_black_round_shield.png -[ddf=2.0]/map/shields/gray_red_square_shield.png -[ddf=2.0]/map/shields/ter_shield8.png -[ddf=2.0]/map/shields/pri_shield7.png -[ddf=2.0]/map/shields/ter_shield3.png -[ddf=2.0]/map/shields/unc_shield8.png -[ddf=2.0]/map/shields/unc_shield5.png -[ddf=2.0]/map/shields/unc_shield2.png -[ddf=2.0]/map/shields/sec_shield2.png -[ddf=2.0]/map/shields/gray_gray_square_shield.png -[ddf=2.0]/map/shields/sec_shield4.png -[ddf=2.0]/map/shields/mot_shield5.png -[ddf=2.0]/map/shields/ter_shield4.png -[ddf=2.0]/map/shields/unc_shield1.png -[ddf=2.0]/map/shields/white_red_square_shield.png -[ddf=2.0]/map/shields/mot_shield6.png -[ddf=2.0]/map/shields/sec_shield1.png -[ddf=2.0]/map/shields/ter_shield5.png -[ddf=2.0]/map/shields/pri_shield8.png -[ddf=2.0]/map/shields/white_blue_round_shield.png -[ddf=2.0]/map/shields/tru_shield7.png -[ddf=2.0]/map/shields/white_blue_square_shield.png -[ddf=2.0]/map/shields/ter_shield1.png -[ddf=2.0]/map/shields/sec_shield8.png -[ddf=2.0]/map/shields/pri_shield2.png -[ddf=2.0]/map/shields/white_gray_square_shield.png -[ddf=2.0]/map/shields/white_green_square_shield.png -[ddf=2.0]/map/shields/white_gray_square_small_shield.png -[ddf=2.0]/map/shields/pri_shield1.png -[ddf=2.0]/map/shields/gray_blue_round_shield.png -[ddf=2.0]/map/shields/gray_blue_square_shield.png -[ddf=2.0]/map/shields/tru_shield8.png -[ddf=2.0]/map/shields/tru_shield4.png -[ddf=2.0]/map/shields/gray_brown_square_shield.png -[ddf=2.0]/map/shields/darkgray_round_small_shield.png -[ddf=2.0]/map/shields/tru_shield2.png -[ddf=2.0]/map/shields/black_round_small_shield.png -[ddf=2.0]/map/shields/white_gray_round_shield.png -[ddf=2.0]/map/shields/white_brown_square_shield.png -[ddf=2.0]/map/shields/gray_green_round_shield.png -[ddf=1.0]/map/shaders/osmc_black_bg_yellow_bar.png -[ddf=1.0]/map/shaders/osmc_red_bg.png -[ddf=1.0]/map/shaders/osmc_black_bg_blue_bar.png -[ddf=1.0]/map/shaders/nr21.png -[ddf=1.0]/map/shaders/osmc_white_bg_black_circle.png -[ddf=1.0]/map/shaders/wood_needleleaved.png -[ddf=1.0]/map/shaders/osmc_yellow_bg_green_bar.png -[ddf=1.0]/map/shaders/danger_night.png -[ddf=1.0]/map/shaders/osmc_red_bg_black_bar.png -[ddf=1.0]/map/shaders/osmc_yellow_bg_black_circle.png -[ddf=1.0]/map/shaders/osmc_yellow_bg_blue_bar.png -[ddf=1.0]/map/shaders/cemetery_small.png -[ddf=1.0]/map/shaders/osmc_white_bg_red_circle.png -[ddf=1.0]/map/shaders/orchard2.png -[ddf=1.0]/map/shaders/osmc_white_green_backslash.png -[ddf=1.0]/map/shaders/arrow.png -[ddf=1.0]/map/shaders/osmc_black_bg.png -[ddf=1.0]/map/shaders/osmc_yellow_bg_white_circle.png -[ddf=1.0]/map/shaders/osmc_white_red_bar.png -[ddf=1.0]/map/shaders/cable_car.png -[ddf=1.0]/map/shaders/osmc_black_bg_yellow_circle.png -[ddf=1.0]/map/shaders/vineyard.png -[ddf=1.0]/map/shaders/osmc_yellow_bg_red_bar.png -[ddf=1.0]/map/shaders/osmc_green_bg_black_bar.png -[ddf=1.0]/map/shaders/osmc_green_bg_blue_bar.png -[ddf=1.0]/map/shaders/osmc_blue_bg_black_circle.png -[ddf=1.0]/map/shaders/osmc_blue_bg_green_circle.png -[ddf=1.0]/map/shaders/orchard.png -[ddf=1.0]/map/shaders/orchard_olive.png -[ddf=1.0]/map/shaders/forest_broadleaved.png -[ddf=1.0]/map/shaders/osmc_blue_bg_yellow_bar.png -[ddf=1.0]/map/shaders/forest.png -[ddf=1.0]/map/shaders/paving_stones_green_night.png -[ddf=1.0]/map/shaders/quarry3.png -[ddf=1.0]/map/shaders/osmc_yellow_bg.png -[ddf=1.0]/map/shaders/glacier2night.png -[ddf=1.0]/map/shaders/osmc__yellow_diamond1.png -[ddf=1.0]/map/shaders/mud.png -[ddf=1.0]/map/shaders/osmc_yellow_diamond.png -[ddf=1.0]/map/shaders/scree.png -[ddf=1.0]/map/shaders/quarry3night.png -[ddf=1.0]/map/shaders/osmc_green_bg_white_bar.png -[ddf=1.0]/map/shaders/osmc_white_bg.png -[ddf=1.0]/map/shaders/osmc_white_bg_green_circle.png -[ddf=1.0]/map/shaders/nr2.png -[ddf=1.0]/map/shaders/osmc_blue_bg_black_bar.png -[ddf=1.0]/map/shaders/wood_needleleaved2.png -[ddf=1.0]/map/shaders/reef.png -[ddf=1.0]/map/shaders/forest1.png -[ddf=1.0]/map/shaders/osmc_blue_bg_red_circle.png -[ddf=1.0]/map/shaders/fell_night.png -[ddf=1.0]/map/shaders/osmc_red_bg_yellow_bar.png -[ddf=1.0]/map/shaders/beach2.png -[ddf=1.0]/map/shaders/orchard_oil_palms.png -[ddf=1.0]/map/shaders/osmc_red_bg_green_bar.png -[ddf=1.0]/map/shaders/osmc_green_bg_yellow_bar.png -[ddf=1.0]/map/shaders/osmc_yellow_bg_black_bar.png -[ddf=1.0]/map/shaders/osmc_yellow_bg_white_bar.png -[ddf=1.0]/map/shaders/osmc_yellow_bg_red_circle.png -[ddf=1.0]/map/shaders/nr2_night.png -[ddf=1.0]/map/shaders/osmc_white_bg_blue_bar.png -[ddf=1.0]/map/shaders/osmc__yellow_diamond.png -[ddf=1.0]/map/shaders/orchard_banana.png -[ddf=1.0]/map/shaders/osmc_blue_bg.png -[ddf=1.0]/map/shaders/marsh.png -[ddf=1.0]/map/shaders/vineyard1.png -[ddf=1.0]/map/shaders/osmc_black_bg_white_circle.png -[ddf=1.0]/map/shaders/paving_stones_green.png -[ddf=1.0]/map/shaders/osmc_white_yellow_bar.png -[ddf=1.0]/map/shaders/wood_mixed.png -[ddf=1.0]/map/shaders/quarry2.png -[ddf=1.0]/map/shaders/cemetery.png -[ddf=1.0]/map/shaders/orchard_apple.png -[ddf=1.0]/map/shaders/wood_mixed2.png -[ddf=1.0]/map/shaders/osmc_black_bg_blue_circle.png -[ddf=1.0]/map/shaders/beach2night.png -[ddf=1.0]/map/shaders/osmc_green_bg.png -[ddf=1.0]/map/shaders/cemetery_muslim.png -[ddf=1.0]/map/shaders/grave_yard.png -[ddf=1.0]/map/shaders/nr1.png -[ddf=1.0]/map/shaders/osmc_blue_bg_green_bar.png -[ddf=1.0]/map/shaders/osmc_red_bg_white_circle.png -[ddf=1.0]/map/shaders/osmc_blue_bg_white_bar.png -[ddf=1.0]/map/shaders/osmc_red_bg_green_circle.png -[ddf=1.0]/map/shaders/orchard_orange.png -[ddf=1.0]/map/shaders/osmc_green_bg_black_circle.png -[ddf=1.0]/map/shaders/osmc_red_bg_blue_circle.png -[ddf=1.0]/map/shaders/osmc_white_green_bar.png -[ddf=1.0]/map/shaders/glacier.png -[ddf=1.0]/map/shaders/paving_stones.png -[ddf=1.0]/map/shaders/osmc_green_bg_blue_circle.png -[ddf=1.0]/map/shaders/osmc_red_bg_blue_bar.png -[ddf=1.0]/map/shaders/nr.png -[ddf=1.0]/map/shaders/osmc_black_bg_red_bar.png -[ddf=1.0]/map/shaders/osmc_blue_bg_red_bar.png -[ddf=1.0]/map/shaders/scree_night.png -[ddf=1.0]/map/shaders/chair_lift.png -[ddf=1.0]/map/shaders/cemetery_jewish.png -[ddf=1.0]/map/shaders/osmc_white_bg_green_bar.png -[ddf=1.0]/map/shaders/osmc_white_black_bar.png -[ddf=1.0]/map/shaders/osmc_yellow_diamond1.png -[ddf=1.0]/map/shaders/danger1.png -[ddf=1.0]/map/shaders/cemetery_christian.png -[ddf=1.0]/map/shaders/paving_stones_night.png -[ddf=1.0]/map/shaders/osmc_white_bg_yellow_bar.png -[ddf=1.0]/map/shaders/osmc_white_bg_yellow_circle.png -[ddf=1.0]/map/shaders/osmc_white_blue_bar.png -[ddf=1.0]/map/shaders/osmc_red_white_bar.png -[ddf=1.0]/map/shaders/orchard_almond.png -[ddf=1.0]/map/shaders/osmc_black_bg_green_circle.png -[ddf=1.0]/map/shaders/osmc_black_bg_red_circle.png -[ddf=1.0]/map/shaders/osmc_red_bg_yellow_circle.png -[ddf=1.0]/map/shaders/osmc_blue_bg_white_circle.png -[ddf=1.0]/map/shaders/osmc_black_bg_white_bar.png -[ddf=1.0]/map/shaders/vineyard2.png -[ddf=1.0]/map/shaders/forest_mixed.png -[ddf=1.0]/map/shaders/osmc_green_bg_yellow_circle.png -[ddf=1.0]/map/shaders/osmc_green_bg_white_circle.png -[ddf=1.0]/map/shaders/osmc_blue_bg_yellow_circle.png -[ddf=1.0]/map/shaders/osmc_black_bg_green_bar.png -[ddf=1.0]/map/shaders/zoo.png -[ddf=1.0]/map/shaders/osmc_red_bg_white_bar.png -[ddf=1.0]/map/shaders/glacier2.png -[ddf=1.0]/map/shaders/osmc_yellow_bg_green_circle.png -[ddf=1.0]/map/shaders/danger.png -[ddf=1.0]/map/shaders/wood_broadleaved.png -[ddf=1.0]/map/shaders/vineyard2_small.png -[ddf=1.0]/map/shaders/osmc_yellow_bg_blue_circle.png -[ddf=1.0]/map/shaders/osmc_white_bg_blue_circle.png -[ddf=1.0]/map/shaders/osmc_green_bg_red_circle.png -[ddf=1.0]/map/shaders/wood_broadleaved2.png -[ddf=1.0]/map/shaders/zoo1.png -[ddf=1.0]/map/shaders/beach.png -[ddf=1.0]/map/shaders/fell.png -[ddf=1.0]/map/shaders/osmc_green_bg_red_bar.png -[ddf=1.0]/map/shaders/forest_needleleaved.png -[ddf=1.0]/map/shaders/osmc_white_bg_black_bar.png -[ddf=1.0]/map/shaders/scrub.png -[ddf=1.0]/map/shaders/bare_rock.png -[ddf=1.0]/map/shaders/osmc_white_bg_red_bar.png -[ddf=1.0]/map/shaders/osmc_red_bg_black_circle.png -[ddf=1.0]/map/icons/railway_subway_station_small_blue.png -[ddf=1.0]/map/icons/shop_boutique.png -[ddf=1.0]/map/icons/shop_tobacco.png -[ddf=1.0]/map/icons/tourism_viewpoint.png -[ddf=1.0]/map/icons/historic_archaeological_site.png -[ddf=1.0]/map/icons/tower_type_communication.png -[ddf=1.0]/map/icons/railway_subway_entrance_gray.png -[ddf=1.0]/map/icons/sport_baseball.png -[ddf=1.0]/map/icons/amenity_bus_station2.png -[ddf=1.0]/map/icons/sport_tennis.png -[ddf=1.0]/map/icons/barrier_small_black_1.png -[ddf=1.0]/map/icons/natural_saddle.png -[ddf=1.0]/map/icons/education.png -[ddf=1.0]/map/icons/sport_gymnastics.png -[ddf=1.0]/map/icons/place_town_night.png -[ddf=1.0]/map/icons/sport_skating.png -[ddf=1.0]/map/icons/historic_memorial.png -[ddf=1.0]/map/icons/natural_peak_framed_big.png -[ddf=1.0]/map/icons/tower_type_communication2.png -[ddf=1.0]/map/icons/man_made_chimney.png -[ddf=1.0]/map/icons/shop_computer.png -[ddf=1.0]/map/icons/restaurants.png -[ddf=1.0]/map/icons/amenity_hospital.png -[ddf=1.0]/map/icons/food_shop.png -[ddf=1.0]/map/icons/religion_shinto.png -[ddf=1.0]/map/icons/amenity_recycling.png -[ddf=1.0]/map/icons/barrier_small_white_4.png -[ddf=1.0]/map/icons/seamark.png -[ddf=1.0]/map/icons/natural_spring.png -[ddf=1.0]/map/icons/amenity_vending_machine.png -[ddf=1.0]/map/icons/railway_subway_station_small_lightgreen.png -[ddf=1.0]/map/icons/shop_doityourself.png -[ddf=1.0]/map/icons/shop_electronics.png -[ddf=1.0]/map/icons/amenity_pharmacy.png -[ddf=1.0]/map/icons/amenity_townhall.png -[ddf=1.0]/map/icons/railway_subway_station_small_black.png -[ddf=1.0]/map/icons/railway_subway_station_small_default.png -[ddf=1.0]/map/icons/highway_traffic_signals.png -[ddf=1.0]/map/icons/railway_tram_stop_round_big.png -[ddf=1.0]/map/icons/tourism_chalet.png -[ddf=1.0]/map/icons/amenity_bicycle_parking.png -[ddf=1.0]/map/icons/waterway_waterfall.png -[ddf=1.0]/map/icons/shop_hearing_aids.png -[ddf=1.0]/map/icons/leisure_playground.png -[ddf=1.0]/map/icons/amenity_bus_station.png -[ddf=1.0]/map/icons/shop_gift.png -[ddf=1.0]/map/icons/shop.png -[ddf=1.0]/map/icons/name_finder.png -[ddf=1.0]/map/icons/power_station_solar.png -[ddf=1.0]/map/icons/shop_musical_instrument.png -[ddf=1.0]/map/icons/leisure_stadium.png -[ddf=1.0]/map/icons/barrier_chain.png -[ddf=1.0]/map/icons/amenity_monastery.png -[ddf=1.0]/map/icons/shop_department_store.png -[ddf=1.0]/map/icons/railway_subway_station_small_lightblue.png -[ddf=1.0]/map/icons/natural_beach2.png -[ddf=1.0]/map/icons/barrier_small_red_4.png -[ddf=1.0]/map/icons/amenity_toilets.png -[ddf=1.0]/map/icons/man_made_water_tower.png -[ddf=1.0]/map/icons/shop_car_parts.png -[ddf=1.0]/map/icons/amenity_bank.png -[ddf=1.0]/map/icons/amenity_boat_sharing.png -[ddf=1.0]/map/icons/historic_fort.png -[ddf=1.0]/map/icons/amenity_police.png -[ddf=1.0]/map/icons/shop_mall.png -[ddf=1.0]/map/icons/emergency.png -[ddf=1.0]/map/icons/barrier_sally_port.png -[ddf=1.0]/map/icons/railway_subway_entrance.png -[ddf=1.0]/map/icons/railway_subway.png -[ddf=1.0]/map/icons/religion_jewish.png -[ddf=1.0]/map/icons/power_station_wind.png -[ddf=1.0]/map/icons/shop_jewelry.png -[ddf=1.0]/map/icons/amenity_casino.png -[ddf=1.0]/map/icons/office_government.png -[ddf=1.0]/map/icons/barrier_small_black_4.png -[ddf=1.0]/map/icons/landuse.png -[ddf=1.0]/map/icons/amenity_fast_food.png -[ddf=1.0]/map/icons/parking.png -[ddf=1.0]/map/icons/railway_subway_station_small_yellow.png -[ddf=1.0]/map/icons/sport_golf.png -[ddf=1.0]/map/icons/amenity_fire_station.png -[ddf=1.0]/map/icons/power_station_water2.png -[ddf=1.0]/map/icons/building_entrance.png -[ddf=1.0]/map/icons/religion_taoist.png -[ddf=1.0]/map/icons/natural_volcano_framed_big.png -[ddf=1.0]/map/icons/aeroway_airport.png -[ddf=1.0]/map/icons/amenity_fuel.png -[ddf=1.0]/map/icons/shop_hairdresser.png -[ddf=1.0]/map/icons/amenity_ice_cream.png -[ddf=1.0]/map/icons/landuse_cemetery.png -[ddf=1.0]/map/icons/historic.png -[ddf=1.0]/map/icons/amenity_food_court.png -[ddf=1.0]/map/icons/shop_garden_centre.png -[ddf=1.0]/map/icons/barrier_small_black_2.png -[ddf=1.0]/map/icons/railway_subway_entrance_lightblue.png -[ddf=1.0]/map/icons/railway_subway_station_small_red.png -[ddf=1.0]/map/icons/barrier_small_red_2.png -[ddf=1.0]/map/icons/amenity_cinema.png -[ddf=1.0]/map/icons/man_made_mineshaft.png -[ddf=1.0]/map/icons/amenity_post_box.png -[ddf=1.0]/map/icons/amenity_drinking_water.png -[ddf=1.0]/map/icons/barrier_bollard.png -[ddf=1.0]/map/icons/highway_bus_stop_small.png -[ddf=1.0]/map/icons/natural_glacier.png -[ddf=1.0]/map/icons/natural_tree_needleleaved.png -[ddf=1.0]/map/icons/shop_alcohol.png -[ddf=1.0]/map/icons/sport_stadium.png -[ddf=1.0]/map/icons/religion_muslim.png -[ddf=1.0]/map/icons/shop_optician.png -[ddf=1.0]/map/icons/natural_cave_entrance.png -[ddf=1.0]/map/icons/barrier_lift_gate.png -[ddf=1.0]/map/icons/amenity_telephone.png -[ddf=1.0]/map/icons/landuse_grass.png -[ddf=1.0]/map/icons/shop_kiosk.png -[ddf=1.0]/map/icons/emergency_phone.png -[ddf=1.0]/map/icons/tourism_guest_house.png -[ddf=1.0]/map/icons/natural_tree_broadleaved.png -[ddf=1.0]/map/icons/tourism_picnic_site.png -[ddf=1.0]/map/icons/sport_scuba_diving.png -[ddf=1.0]/map/icons/amenity_bench.png -[ddf=1.0]/map/icons/highway_bus_stop_round_big_night.png -[ddf=1.0]/map/icons/amenity_atm.png -[ddf=1.0]/map/icons/amenity_stripclub.png -[ddf=1.0]/map/icons/entrance_yes.png -[ddf=1.0]/map/icons/highway_mini_roundabout.png -[ddf=1.0]/map/icons/amenity_car_sharing.png -[ddf=1.0]/map/icons/shop_dairy.png -[ddf=1.0]/map/icons/highway_speed_camera.png -[ddf=1.0]/map/icons/shop_video.png -[ddf=1.0]/map/icons/power_tower.png -[ddf=1.0]/map/icons/highway_ford.png -[ddf=1.0]/map/icons/public_transport_platform.png -[ddf=1.0]/map/icons/barrier_small_red_3.png -[ddf=1.0]/map/icons/highway_bus_stop.png -[ddf=1.0]/map/icons/military.png -[ddf=1.0]/map/icons/amenity_pub.png -[ddf=1.0]/map/icons/tourism.png -[ddf=1.0]/map/icons/shop_laundry.png -[ddf=1.0]/map/icons/barrier_small_red_1.png -[ddf=1.0]/map/icons/amenity_bureau_de_change.png -[ddf=1.0]/map/icons/barrier_small_white_2.png -[ddf=1.0]/map/icons/shop_toys.png -[ddf=1.0]/map/icons/tourism_hostel.png -[ddf=1.0]/map/icons/amenity_university.png -[ddf=1.0]/map/icons/transportation.png -[ddf=1.0]/map/icons/aeroway_gate.png -[ddf=1.0]/map/icons/highway_gate.png -[ddf=1.0]/map/icons/barrier_small_white_3.png -[ddf=1.0]/map/icons/power_station_coal.png -[ddf=1.0]/map/icons/shop_fashion.png -[ddf=1.0]/map/icons/entrance_main.png -[ddf=1.0]/map/icons/traffic_calming_bump.png -[ddf=1.0]/map/icons/railway_station.png -[ddf=1.0]/map/icons/railway_subway_entrance_brown.png -[ddf=1.0]/map/icons/sport_horse_racing.png -[ddf=1.0]/map/icons/highway_noexit.png -[ddf=1.0]/map/icons/shop_convenience.png -[ddf=1.0]/map/icons/barrier_kissing_gate.png -[ddf=1.0]/map/icons/accomodation.png -[ddf=1.0]/map/icons/railway_subway_entrance_yellow.png -[ddf=1.0]/map/icons/amenity_courthouse.png -[ddf=1.0]/map/icons/shop_supermarket.png -[ddf=1.0]/map/icons/car_aid.png -[ddf=1.0]/map/icons/railway_subway_station_small_black2.png -[ddf=1.0]/map/icons/null.png -[ddf=1.0]/map/icons/natural_spring2.png -[ddf=1.0]/map/icons/railway_tram_stop.png -[ddf=1.0]/map/icons/railway_subway_station_small_green.png -[ddf=1.0]/map/icons/shop_clothes.png -[ddf=1.0]/map/icons/amenity_bar.png -[ddf=1.0]/map/icons/natural_scrub.png -[ddf=1.0]/map/icons/tourism_motel.png -[ddf=1.0]/map/icons/leisure_bird_hide.png -[ddf=1.0]/map/icons/leisure_water_park.png -[ddf=1.0]/map/icons/highway_milestone.png -[ddf=1.0]/map/icons/sport_soccer.png -[ddf=1.0]/map/icons/natural_volcano_framed.png -[ddf=1.0]/map/icons/amenity_theatre.png -[ddf=1.0]/map/icons/leisure_slipway.png -[ddf=1.0]/map/icons/man_made.png -[ddf=1.0]/map/icons/amenity_college.png -[ddf=1.0]/map/icons/amenity_post_office2.png -[ddf=1.0]/map/icons/shop_greengrocer.png -[ddf=1.0]/map/icons/sport_shooting.png -[ddf=1.0]/map/icons/amenity_kindergarten.png -[ddf=1.0]/map/icons/leisure_ice_rink.png -[ddf=1.0]/map/icons/finance.png -[ddf=1.0]/map/icons/amenity_doctors.png -[ddf=1.0]/map/icons/natural_beach.png -[ddf=1.0]/map/icons/amenity_biergarten.png -[ddf=1.0]/map/icons/sport_canoe.png -[ddf=1.0]/map/icons/leisure_sports_centre.png -[ddf=1.0]/map/icons/bitcoin_yes.png -[ddf=1.0]/map/icons/leisure_sports_centre2.png -[ddf=1.0]/map/icons/sport_billiard.png -[ddf=1.0]/map/icons/natural.png -[ddf=1.0]/map/icons/amenity_car_rental.png -[ddf=1.0]/map/icons/amenity_prison.png -[ddf=1.0]/map/icons/natural_peak_night_big.png -[ddf=1.0]/map/icons/geocache.png -[ddf=1.0]/map/icons/barrier.png -[ddf=1.0]/map/icons/amenity_cafe.png -[ddf=1.0]/map/icons/amenity_parking_private.png -[ddf=1.0]/map/icons/amenity_restaurant.png -[ddf=1.0]/map/icons/historic_monument.png -[ddf=1.0]/map/icons/tourism_theme_park.png -[ddf=1.0]/map/icons/amenity_fuel_lpg.png -[ddf=1.0]/map/icons/leisure_marina.png -[ddf=1.0]/map/icons/amenity_post_office.png -[ddf=1.0]/map/icons/place_capital.png -[ddf=1.0]/map/icons/shop_florist.png -[ddf=1.0]/map/icons/historic_wreck.png -[ddf=1.0]/map/icons/osmwiki.png -[ddf=1.0]/map/icons/railway_halt.png -[ddf=1.0]/map/icons/religion_sikh.png -[ddf=1.0]/map/icons/amenity_embassy.png -[ddf=1.0]/map/icons/sport_archery.png -[ddf=1.0]/map/icons/amenity_grave_yard.png -[ddf=1.0]/map/icons/shop_general.png -[ddf=1.0]/map/icons/wikipedia.png -[ddf=1.0]/map/icons/natural_swamp.png -[ddf=1.0]/map/icons/power_station_gas.png -[ddf=1.0]/map/icons/sport.png -[ddf=1.0]/map/icons/railway_tram_stop_round_big_night.png -[ddf=1.0]/map/icons/shop_car.png -[ddf=1.0]/map/icons/railway_subway_entrance_orange.png -[ddf=1.0]/map/icons/amenity_shelter.png -[ddf=1.0]/map/icons/natural_peak_framed.png -[ddf=1.0]/map/icons/power_tower2.png -[ddf=1.0]/map/icons/railway_subway_entrance_black.png -[ddf=1.0]/map/icons/shop_copyshop.png -[ddf=1.0]/map/icons/emergency_fire_hydrant.png -[ddf=1.0]/map/icons/highway_services.png -[ddf=1.0]/map/icons/historic_wayside_cross.png -[ddf=1.0]/map/icons/tourism_information.png -[ddf=1.0]/map/icons/railway_subway_station_small_purple.png -[ddf=1.0]/map/icons/natural_tree.png -[ddf=1.0]/map/icons/aeroway_aerodrome.png -[ddf=1.0]/map/icons/entrance_exit_2.png -[ddf=1.0]/map/icons/religion_buddhist.png -[ddf=1.0]/map/icons/amenity_fountain.png -[ddf=1.0]/map/icons/historic_boundary_stone.png -[ddf=1.0]/map/icons/shop_motorcycle.png -[ddf=1.0]/map/icons/amenity_community_centre.png -[ddf=1.0]/map/icons/shop_bakery.png -[ddf=1.0]/map/icons/religion_hindu.png -[ddf=1.0]/map/icons/natural_peak.png -[ddf=1.0]/map/icons/railway_tram_stop_round_small.png -[ddf=1.0]/map/icons/amenity_nightclub.png -[ddf=1.0]/map/icons/aerialway_station.png -[ddf=1.0]/map/icons/amenity_marketplace.png -[ddf=1.0]/map/icons/healthcare.png -[ddf=1.0]/map/icons/man_made_water_well.png -[ddf=1.0]/map/icons/power_transformer2.png -[ddf=1.0]/map/icons/man_made_lighthouse.png -[ddf=1.0]/map/icons/natural_tree_leafless.png -[ddf=1.0]/map/icons/amenity_pharmacy2.png -[ddf=1.0]/map/icons/historic_battlefield.png -[ddf=1.0]/map/icons/railway_subway_entrance_purple.png -[ddf=1.0]/map/icons/administrative.png -[ddf=1.0]/map/icons/shop_butcher.png -[ddf=1.0]/map/icons/man_made_windmill.png -[ddf=1.0]/map/icons/barrier_border_control.png -[ddf=1.0]/map/icons/historic_wayside_shrine.png -[ddf=1.0]/map/icons/user_defined.png -[ddf=1.0]/map/icons/religion_christian.png -[ddf=1.0]/map/icons/shop_bicycle.png -[ddf=1.0]/map/icons/highway_bus_stop_round_big.png -[ddf=1.0]/map/icons/leisure.png -[ddf=1.0]/map/icons/barrier_small_black_3.png -[ddf=1.0]/map/icons/entrance_exit.png -[ddf=1.0]/map/icons/tourism_hotel.png -[ddf=1.0]/map/icons/historic_mine.png -[ddf=1.0]/map/icons/shop_seafood.png -[ddf=1.0]/map/icons/historic_castle.png -[ddf=1.0]/map/icons/shop_baby_goods.png -[ddf=1.0]/map/icons/amenity_bicycle_rental.png -[ddf=1.0]/map/icons/place_city.png -[ddf=1.0]/map/icons/shop_outdoor.png -[ddf=1.0]/map/icons/railway_subway_entrance_lightgreen.png -[ddf=1.0]/map/icons/natural_tree_cypress.png -[ddf=1.0]/map/icons/military_danger_area.png -[ddf=1.0]/map/icons/railway_platform.png -[ddf=1.0]/map/icons/landuse_forest.png -[ddf=1.0]/map/icons/shop_confectionery.png -[ddf=1.0]/map/icons/place_town.png -[ddf=1.0]/map/icons/amenity_school.png -[ddf=1.0]/map/icons/railway_subway_station_small_orange.png -[ddf=1.0]/map/icons/sustenance.png -[ddf=1.0]/map/icons/waterway_lock_gate.png -[ddf=1.0]/map/icons/amenity_veterinary.png -[ddf=1.0]/map/icons/amenity_parking_paid.png -[ddf=1.0]/map/icons/railway_station_small.png -[ddf=1.0]/map/icons/highway_bus_stop_round_small_night.png -[ddf=1.0]/map/icons/amenity_parking.png -[ddf=1.0]/map/icons/railway_subway_entrance_blue.png -[ddf=1.0]/map/icons/amenity_dentist.png -[ddf=1.0]/map/icons/barrier_entrance.png -[ddf=1.0]/map/icons/shop_pet.png -[ddf=1.0]/map/icons/geocache_found.png -[ddf=1.0]/map/icons/barrier_small_white_1.png -[ddf=1.0]/map/icons/barrier_swing_gate.png -[ddf=1.0]/map/icons/tourism_zoo.png -[ddf=1.0]/map/icons/entertainment.png -[ddf=1.0]/map/icons/tourism_caravan_site.png -[ddf=1.0]/map/icons/amenity_public_building.png -[ddf=1.0]/map/icons/amenity_arts_centre.png -[ddf=1.0]/map/icons/shop_car_repair.png -[ddf=1.0]/map/icons/historic_ruins.png -[ddf=1.0]/map/icons/barrier_gate.png -[ddf=1.0]/map/icons/amenity_place_of_worship.png -[ddf=1.0]/map/icons/sport_skiing.png -[ddf=1.0]/map/icons/other.png -[ddf=1.0]/map/icons/amenity_taxi.png -[ddf=1.0]/map/icons/barrier_block.png -[ddf=1.0]/map/icons/highway_bus_stop_round_small.png -[ddf=1.0]/map/icons/place_capital_night.png -[ddf=1.0]/map/icons/railway_level_crossing.png -[ddf=1.0]/map/icons/shop_mobile_phone.png -[ddf=1.0]/map/icons/sport_swimming.png -[ddf=1.0]/map/icons/natural_volcano_big.png -[ddf=1.0]/map/icons/railway_subway_entrance_red.png -[ddf=1.0]/map/icons/geocache_not_found.png -[ddf=1.0]/map/icons/power_station.png -[ddf=1.0]/map/icons/railway_subway_station_small_brown.png -[ddf=1.0]/map/icons/amenity_hospital2.png -[ddf=1.0]/map/icons/place_city_night.png -[ddf=1.0]/map/icons/office.png -[ddf=1.0]/map/icons/aeroway_helipad.png -[ddf=1.0]/map/icons/natural_tree_palm.png -[ddf=1.0]/map/icons/railway_tram_stop_round_small_night.png -[ddf=1.0]/map/icons/tourism_museum.png -[ddf=1.0]/map/icons/tourism_alpine_hut.png -[ddf=1.0]/map/icons/railway_subway_entrance_2.png -[ddf=1.0]/map/icons/natural_volcano.png -[ddf=1.0]/map/icons/natural_stone.png -[ddf=1.0]/map/icons/railway_subway_entrance_green.png -[ddf=1.0]/map/icons/power_station_nuclear.png -[ddf=1.0]/map/icons/amenity_library.png -[ddf=1.0]/map/icons/shop_hardware.png -[ddf=1.0]/map/icons/railway_subway_station_small_yellow2.png -[ddf=1.0]/map/icons/aerialway_station_small.png -[ddf=1.0]/map/icons/fuel.png -[ddf=1.0]/map/icons/leisure_fishing.png -[ddf=1.0]/map/icons/sport_diving.png -[ddf=1.0]/map/icons/for_tourists.png -[ddf=1.0]/map/icons/sightseeing.png -[ddf=1.0]/map/icons/natural_peak_night.png -[ddf=1.0]/map/icons/railway_subway_station_small_gray.png -[ddf=1.0]/map/icons/entrance_yes_2.png -[ddf=1.0]/map/icons/amenity_water_well.png -[ddf=1.0]/map/icons/tourism_camp_site.png -[ddf=1.0]/map/icons/amenity_social_centre.png -[ddf=1.0]/map/icons/public_transport.png -[ddf=1.0]/map/icons/highway_crossing2.png -[ddf=1.0]/map/icons/barrier_toll_booth.png -[ddf=1.0]/map/shields/gray_gray_square_small_shield.png -[ddf=1.0]/map/shields/unc_shield6.png -[ddf=1.0]/map/shields/gray_red_round_shield.png -[ddf=1.0]/map/shields/pri_shield6.png -[ddf=1.0]/map/shields/sec_shield3.png -[ddf=1.0]/map/shields/tru_shield5.png -[ddf=1.0]/map/shields/gray_gray_round_shield.png -[ddf=1.0]/map/shields/tru_shield6.png -[ddf=1.0]/map/shields/ter_shield7.png -[ddf=1.0]/map/shields/tru_shield3.png -[ddf=1.0]/map/shields/mot_shield3.png -[ddf=1.0]/map/shields/mot_shield8.png -[ddf=1.0]/map/shields/sec_shield6.png -[ddf=1.0]/map/shields/unc_shield4.png -[ddf=1.0]/map/shields/white_green_round_shield.png -[ddf=1.0]/map/shields/white_red_round_shield.png -[ddf=1.0]/map/shields/mot_shield2.png -[ddf=1.0]/map/shields/ter_shield2.png -[ddf=1.0]/map/shields/mot_shield7.png -[ddf=1.0]/map/shields/mot_shield1.png -[ddf=1.0]/map/shields/unc_shield3.png -[ddf=1.0]/map/shields/pri_shield4.png -[ddf=1.0]/map/shields/mot_shield4.png -[ddf=1.0]/map/shields/ter_shield6.png -[ddf=1.0]/map/shields/tru_shield1.png -[ddf=1.0]/map/shields/gray_green_square_shield.png -[ddf=1.0]/map/shields/pri_shield5.png -[ddf=1.0]/map/shields/sec_shield7.png -[ddf=1.0]/map/shields/white_round_small_shield.png -[ddf=1.0]/map/shields/unc_shield7.png -[ddf=1.0]/map/shields/sec_shield5.png -[ddf=1.0]/map/shields/pri_shield3.png -[ddf=1.0]/map/shields/white_black_round_shield.png -[ddf=1.0]/map/shields/gray_red_square_shield.png -[ddf=1.0]/map/shields/ter_shield8.png -[ddf=1.0]/map/shields/pri_shield7.png -[ddf=1.0]/map/shields/ter_shield3.png -[ddf=1.0]/map/shields/unc_shield8.png -[ddf=1.0]/map/shields/unc_shield5.png -[ddf=1.0]/map/shields/unc_shield2.png -[ddf=1.0]/map/shields/sec_shield2.png -[ddf=1.0]/map/shields/gray_gray_square_shield.png -[ddf=1.0]/map/shields/sec_shield4.png -[ddf=1.0]/map/shields/mot_shield5.png -[ddf=1.0]/map/shields/ter_shield4.png -[ddf=1.0]/map/shields/unc_shield1.png -[ddf=1.0]/map/shields/white_red_square_shield.png -[ddf=1.0]/map/shields/mot_shield6.png -[ddf=1.0]/map/shields/sec_shield1.png -[ddf=1.0]/map/shields/ter_shield5.png -[ddf=1.0]/map/shields/pri_shield8.png -[ddf=1.0]/map/shields/white_blue_round_shield.png -[ddf=1.0]/map/shields/tru_shield7.png -[ddf=1.0]/map/shields/white_blue_square_shield.png -[ddf=1.0]/map/shields/ter_shield1.png -[ddf=1.0]/map/shields/sec_shield8.png -[ddf=1.0]/map/shields/pri_shield2.png -[ddf=1.0]/map/shields/white_gray_square_shield.png -[ddf=1.0]/map/shields/white_green_square_shield.png -[ddf=1.0]/map/shields/white_gray_square_small_shield.png -[ddf=1.0]/map/shields/pri_shield1.png -[ddf=1.0]/map/shields/gray_blue_round_shield.png -[ddf=1.0]/map/shields/gray_blue_square_shield.png -[ddf=1.0]/map/shields/tru_shield8.png -[ddf=1.0]/map/shields/tru_shield4.png -[ddf=1.0]/map/shields/gray_brown_square_shield.png -[ddf=1.0]/map/shields/darkgray_round_small_shield.png -[ddf=1.0]/map/shields/tru_shield2.png -[ddf=1.0]/map/shields/black_round_small_shield.png -[ddf=1.0]/map/shields/white_gray_round_shield.png -[ddf=1.0]/map/shields/white_brown_square_shield.png -[ddf=1.0]/map/shields/gray_green_round_shield.png -misc/icu4c/icu-data-l.dat -routing/routing.xml -map/fonts/DroidSansFallback.ttf -map/fonts/MTLmr3m.ttf -map/fonts/NotoNaskh/NotoNaskhArabic-Regular.ttf -map/fonts/NotoNaskh/NotoNaskhArabic-Bold.ttf -map/fonts/Tinos/Tinos-Bold.ttf -map/fonts/Tinos/Tinos-BoldItalic.ttf -map/fonts/Tinos/Tinos-Regular.ttf -map/fonts/Tinos/Tinos-Italic.ttf -map/fonts/OpenSans/OpenSans-SemiboldItalic.ttf -map/fonts/OpenSans/OpenSans-Regular.ttf -map/fonts/OpenSans/OpenSans-Italic.ttf -map/fonts/OpenSans/OpenSans-Semibold.ttf -map/fonts/NotoKufi/NotoKufiArabic-Regular.ttf -map/fonts/NotoKufi/NotoKufiArabic-Bold.ttf -map/fonts/NotoSans-extra/NotoSansMongolian-Regular.ttf -map/fonts/NotoSans-extra/NotoSansBrahmi-Regular.ttf -map/fonts/NotoSans-extra/NotoSansLydian-Regular.ttf -map/fonts/NotoSans-extra/NotoSansOgham-Regular.ttf -map/fonts/NotoSans-extra/NotoSansCanadianAboriginal-Regular.ttf -map/fonts/NotoSans-extra/NotoSansPhoenician-Regular.ttf -map/fonts/NotoSans-extra/NotoSansJavanese-Regular.ttf -map/fonts/NotoSans-extra/NotoSansKaithi-Regular.ttf -map/fonts/NotoSans-extra/NotoSansTaiLe-Regular.ttf -map/fonts/NotoSans-extra/NotoSansLycian-Regular.ttf -map/fonts/NotoSans-extra/NotoSansSundanese-Regular.ttf -map/fonts/NotoSans-extra/NotoSansRunic-Regular.ttf -map/fonts/NotoSans-extra/NotoSansInscriptionalPahlavi-Regular.ttf -map/fonts/NotoSans-extra/NotoSansSyriacEastern-Regular.ttf -map/fonts/NotoSans-extra/NotoSansGlagolitic-Regular.ttf -map/fonts/NotoSans-extra/NotoSansInscriptionalParthian-Regular.ttf -map/fonts/NotoSans-extra/NotoSansTaiTham-Regular.ttf -map/fonts/NotoSans-extra/NotoSansAvestan-Regular.ttf -map/fonts/NotoSans-extra/NotoSansSyriacEstrangela-Regular.ttf -map/fonts/NotoSans-extra/NotoSansBuhid-Regular.ttf -map/fonts/NotoSans-extra/NotoSansCarian-Regular.ttf -map/fonts/NotoSans-extra/NotoSansSamaritan-Regular.ttf -map/fonts/NotoSans-extra/NotoSansBatak-Regular.ttf -map/fonts/NotoSans-extra/NotoSansLisu-Regular.ttf -map/fonts/NotoSans-extra/NotoSansTifinagh-Regular.ttf -map/fonts/NotoSans-extra/NotoSansCypriot-Regular.ttf -map/fonts/NotoSans-extra/NotoSansDeseret-Regular.ttf -map/fonts/NotoSans-extra/NotoSansSaurashtra-Regular.ttf -map/fonts/NotoSans-extra/NotoSansLinearB-Regular.ttf -map/fonts/NotoSans-extra/NotoSansBuginese-Regular.ttf -map/fonts/NotoSans-extra/NotoSansRejang-Regular.ttf -map/fonts/NotoSans-extra/NotoSansGothic-Regular.ttf -map/fonts/NotoSans-extra/NotoSansBalinese-Regular.ttf -map/fonts/NotoSans-extra/NotoSansImperialAramaic-Regular.ttf -map/fonts/NotoSans-extra/NotoSansSinhala-Regular.ttf -map/fonts/NotoSans-extra/NotoSansTagalog-Regular.ttf -map/fonts/NotoSans-extra/NotoSansKharoshthi-Regular.ttf -map/fonts/NotoSans-extra/NotoSansVai-Regular.ttf -map/fonts/NotoSans-extra/NotoSansOldSouthArabian-Regular.ttf -map/fonts/NotoSans-extra/NotoSansMeeteiMayek-Regular.ttf -map/fonts/NotoSans-extra/NotoSansLimbu-Regular.ttf -map/fonts/NotoSans-extra/NotoSansOlChiki-Regular.ttf -map/fonts/NotoSans-extra/NotoSansPhagsPa-Regular.ttf -map/fonts/NotoSans-extra/NotoSansKayahLi-Regular.ttf -map/fonts/NotoSans-extra/NotoSansOldItalic-Regular.ttf -map/fonts/NotoSans-extra/NotoSansMandaic-Regular.ttf -map/fonts/NotoSans-extra/NotoSansHanunoo-Regular.ttf -map/fonts/NotoSans-extra/NotoSansSylotiNagri-Regular.ttf -map/fonts/NotoSans-extra/NotoSansSinhala-Bold.ttf -map/fonts/NotoSans-extra/NotoSansCuneiform-Regular.ttf -map/fonts/NotoSans-extra/NotoSansCoptic-Regular.ttf -map/fonts/NotoSans-extra/NotoSansSymbols-Regular.ttf -map/fonts/NotoSans-extra/NotoSansYi-Regular.ttf -map/fonts/NotoSans-extra/NotoSansShavian-Regular.ttf -map/fonts/NotoSans-extra/NotoSansMyanmar-Bold.ttf -map/fonts/NotoSans-extra/NotoSansTaiViet-Regular.ttf -map/fonts/NotoSans-extra/NotoSansTagbanwa-Regular.ttf -map/fonts/NotoSans-extra/NotoSansBamum-Regular.ttf -map/fonts/NotoSans-extra/NotoSansOldPersian-Regular.ttf -map/fonts/NotoSans-extra/NotoSansMyanmar-Regular.ttf -map/fonts/NotoSans-extra/NotoSansOsmanya-Regular.ttf -map/fonts/NotoSans-extra/NotoSansEgyptianHieroglyphs-Regular.ttf -map/fonts/NotoSans-extra/NotoSansOldTurkic-Regular.ttf -map/fonts/NotoSans-extra/NotoSansCherokee-Regular.ttf -map/fonts/NotoSans-extra/NotoSansUgaritic-Regular.ttf -map/fonts/NotoSans-extra/NotoSansNKo-Regular.ttf -map/fonts/NotoSans-extra/NotoSansLepcha-Regular.ttf -map/fonts/NotoSans-extra/NotoSansNewTaiLue-Regular.ttf -map/fonts/NotoSans-extra/NotoSansSyriacWestern-Regular.ttf -map/fonts/NotoSans/NotoSansMalayalam-Regular.ttf -map/fonts/NotoSans/NotoSansCham-Bold.ttf -map/fonts/NotoSans/NotoSansKannada-Regular.ttf -map/fonts/NotoSans/NotoSansThai-Regular.ttf -map/fonts/NotoSans/NotoSansGeorgian-Bold.ttf -map/fonts/NotoSans/NotoSansGurmukhi-Regular.ttf -map/fonts/NotoSans/NotoSansHebrew-Regular.ttf -map/fonts/NotoSans/NotoSansEthiopic-Regular.ttf -map/fonts/NotoSans/NotoSansHebrew-Bold.ttf -map/fonts/NotoSans/NotoSansGujarati-Regular.ttf -map/fonts/NotoSans/NotoSansKhmer-Regular.ttf -map/fonts/NotoSans/NotoSansGurmukhi-Bold.ttf -map/fonts/NotoSans/NotoSansTelugu-Regular.ttf -map/fonts/NotoSans/NotoSansDevanagari-Regular.ttf -map/fonts/NotoSans/NotoSansGujarati-Bold.ttf -map/fonts/NotoSans/NotoSansLao-Regular.ttf -map/fonts/NotoSans/NotoSansLao-Bold.ttf -map/fonts/NotoSans/NotoSansTelugu-Bold.ttf -map/fonts/NotoSans/NotoSansBengali-Bold.ttf -map/fonts/NotoSans/NotoSansArmenian-Regular.ttf -map/fonts/NotoSans/NotoSansTamil-Regular.ttf -map/fonts/NotoSans/NotoSansDevanagari-Bold.ttf -map/fonts/NotoSans/NotoSansEthiopic-Bold.ttf -map/fonts/NotoSans/NotoSansThai-Bold.ttf -map/fonts/NotoSans/NotoSansGeorgian-Regular.ttf -map/fonts/NotoSans/NotoSansArmenian-Bold.ttf -map/fonts/NotoSans/NotoSansBengali-Regular.ttf -map/fonts/NotoSans/NotoSansKhmer-Bold.ttf -map/fonts/NotoSans/NotoSansMalayalam-Bold.ttf -map/fonts/NotoSans/NotoSansKannada-Bold.ttf -map/fonts/NotoSans/NotoSansTamil-Bold.ttf -map/fonts/NotoSans/NotoSansCham-Regular.ttf -map/styles/default.map_styles_presets.xml -map/styles/default.render.xml -map/stubs/favorite_location_pin_icon.png -map/stubs/processing_tile.png -map/stubs/unavailable_tile.png \ No newline at end of file From d71cf2b6a4826ac12f62bd3ab65dddc7f93ce0f4 Mon Sep 17 00:00:00 2001 From: Denis Date: Wed, 1 Oct 2014 14:09:54 +0300 Subject: [PATCH 10/14] Jni moved to different directory --- .../osmand/core => JNI/src}/jni/AlphaChannelData.java | 2 +- {OsmAnd/src/net/osmand/core => JNI/src}/jni/AreaD.java | 2 +- {OsmAnd/src/net/osmand/core => JNI/src}/jni/AreaF.java | 2 +- {OsmAnd/src/net/osmand/core => JNI/src}/jni/AreaI.java | 2 +- .../src}/jni/AtlasMapRendererConfiguration.java | 4 ++-- .../core => JNI/src}/jni/BinaryMapDataProvider.java | 2 +- .../osmand/core => JNI/src}/jni/BinaryMapDataTile.java | 2 +- .../src}/jni/BinaryMapPrimitivesProvider.java | 2 +- .../core => JNI/src}/jni/BinaryMapPrimitivesTile.java | 2 +- .../src}/jni/BinaryMapRasterBitmapTileProvider.java | 2 +- .../BinaryMapRasterBitmapTileProvider_Software.java | 2 +- .../core => JNI/src}/jni/BinaryMapRasterizedTile.java | 2 +- .../src}/jni/BinaryMapStaticSymbolsProvider.java | 2 +- .../src}/jni/BinaryMapStaticSymbolsTile.java | 2 +- .../src/net/osmand/core => JNI/src}/jni/BoolPtr.java | 2 +- .../src/net/osmand/core => JNI/src}/jni/ColorARGB.java | 2 +- .../src/net/osmand/core => JNI/src}/jni/ColorRGB.java | 2 +- .../src}/jni/CoreResourcesEmbeddedBundle.java | 2 +- .../osmand/core => JNI/src}/jni/DefaultLogSink.java | 2 +- .../src/net/osmand/core => JNI/src}/jni/DoublePtr.java | 2 +- {OsmAnd/src/net/osmand/core => JNI/src}/jni/Edge.java | 2 +- .../osmand/core => JNI/src}/jni/ElevationDataTile.java | 2 +- .../net/osmand/core => JNI/src}/jni/FColorARGB.java | 2 +- .../src/net/osmand/core => JNI/src}/jni/FColorRGB.java | 2 +- .../src/net/osmand/core => JNI/src}/jni/FloatPtr.java | 2 +- .../core => JNI/src}/jni/ICoreResourcesProvider.java | 2 +- .../src/net/osmand/core => JNI/src}/jni/ILogSink.java | 2 +- .../osmand/core => JNI/src}/jni/IMapDataProvider.java | 2 +- .../src}/jni/IMapElevationDataProvider.java | 2 +- .../core => JNI/src}/jni/IMapKeyedDataProvider.java | 2 +- .../core => JNI/src}/jni/IMapKeyedSymbolsProvider.java | 2 +- .../src}/jni/IMapRasterBitmapTileProvider.java | 2 +- .../net/osmand/core => JNI/src}/jni/IMapRenderer.java | 2 +- .../core => JNI/src}/jni/IMapStylesCollection.java | 2 +- .../src}/jni/IMapStylesPresetsCollection.java | 2 +- .../core => JNI/src}/jni/IMapTiledDataProvider.java | 2 +- .../core => JNI/src}/jni/IMapTiledSymbolsProvider.java | 2 +- .../osmand/core => JNI/src}/jni/IObfsCollection.java | 2 +- .../net/osmand/core => JNI/src}/jni/IObservable.java | 2 +- .../core => JNI/src}/jni/IOnlineTileSources.java | 2 +- .../src/net/osmand/core => JNI/src}/jni/IntPtr.java | 2 +- .../core => JNI/src}/jni/KeyedMapSymbolsData.java | 2 +- .../net/osmand/core => JNI/src}/jni/LanguageId.java | 2 +- .../src/net/osmand/core => JNI/src}/jni/LatLon.java | 2 +- .../osmand/core => JNI/src}/jni/LogSeverityLevel.java | 2 +- .../src/net/osmand/core => JNI/src}/jni/Logger.java | 2 +- .../src/net/osmand/core => JNI/src}/jni/MapData.java | 2 +- .../osmand/core => JNI/src}/jni/MapFoundationType.java | 2 +- .../net/osmand/core => JNI/src}/jni/MapKeyedData.java | 2 +- .../src}/jni/MapPresentationEnvironment.java | 2 +- .../osmand/core => JNI/src}/jni/MapRendererClass.java | 2 +- .../core => JNI/src}/jni/MapRendererConfiguration.java | 2 +- .../core => JNI/src}/jni/MapRendererDebugSettings.java | 2 +- .../core => JNI/src}/jni/MapRendererSetupOptions.java | 2 +- .../osmand/core => JNI/src}/jni/MapRendererState.java | 2 +- .../core => JNI/src}/jni/MapRendererStateChange.java | 2 +- .../core => JNI/src}/jni/MapRendererStateChanges.java | 2 +- .../src}/jni/MapStyleBuiltinValueDefinitions.java | 2 +- .../core => JNI/src}/jni/MapStyleConstantValue.java | 2 +- .../osmand/core => JNI/src}/jni/MapStylePreset.java | 2 +- .../core => JNI/src}/jni/MapStyleRulesetType.java | 2 +- .../core => JNI/src}/jni/MapStyleValueDataType.java | 2 +- .../core => JNI/src}/jni/MapStyleValueDefinition.java | 2 +- .../core => JNI/src}/jni/MapStylesCollection.java | 2 +- .../src}/jni/MapStylesPresetsCollection.java | 2 +- .../src/net/osmand/core => JNI/src}/jni/MapSymbol.java | 2 +- .../osmand/core => JNI/src}/jni/MapSymbolsGroup.java | 2 +- .../net/osmand/core => JNI/src}/jni/MapTiledData.java | 2 +- {OsmAnd/src/net/osmand/core => JNI/src}/jni/OOBBD.java | 2 +- {OsmAnd/src/net/osmand/core => JNI/src}/jni/OOBBF.java | 2 +- {OsmAnd/src/net/osmand/core => JNI/src}/jni/OOBBI.java | 2 +- .../core => JNI/src}/jni/ObfAddressBlockType.java | 2 +- .../osmand/core => JNI/src}/jni/ObfDataInterface.java | 2 +- .../src/net/osmand/core => JNI/src}/jni/ObfFile.java | 2 +- .../src/net/osmand/core => JNI/src}/jni/ObfInfo.java | 2 +- .../core => JNI/src}/jni/ObfMapSectionDataBlockId.java | 2 +- .../src}/jni/ObfRoutingSectionDataBlockId.java | 2 +- .../osmand/core => JNI/src}/jni/ObfsCollection.java | 2 +- .../src}/jni/OnlineRasterMapTileProvider.java | 2 +- .../osmand/core => JNI/src}/jni/OnlineTileSources.java | 2 +- .../net/osmand/core => JNI/src}/jni/OsmAndCore.java | 2 +- .../core => JNI/src}/jni/OsmAndCoreConstants.java | 2 +- .../net/osmand/core => JNI/src}/jni/OsmAndCoreJNI.java | 2 +- .../src/net/osmand/core => JNI/src}/jni/PointD.java | 2 +- .../src/net/osmand/core => JNI/src}/jni/PointF.java | 2 +- .../src/net/osmand/core => JNI/src}/jni/PointI.java | 2 +- .../net/osmand/core => JNI/src}/jni/Primitiviser.java | 2 +- .../osmand/core => JNI/src}/jni/QIODeviceLogSink.java | 2 +- .../net/osmand/core => JNI/src}/jni/QStringList.java | 2 +- .../src/net/osmand/core => JNI/src}/jni/Quadrant.java | 2 +- .../osmand/core => JNI/src}/jni/RasterBitmapTile.java | 2 +- .../osmand/core => JNI/src}/jni/RasterMapLayerId.java | 2 +- .../osmand/core => JNI/src}/jni/ResolvedMapStyle.java | 2 +- .../osmand/core => JNI/src}/jni/ResourcesManager.java | 2 +- .../osmand/core => JNI/src}/jni/RoutingDataLevel.java | 2 +- ...naryMapDataProvider_Metrics__Metric_obtainData.java | 2 +- ...pPrimitivesProvider_Metrics__Metric_obtainData.java | 2 +- ...rBitmapTileProvider_Metrics__Metric_obtainData.java | 2 +- .../jni/SWIGTYPE_p_FilterMapObjectsByIdFunction.java | 2 +- .../src}/jni/SWIGTYPE_p_FilterRoadsByIdFunction.java | 2 +- .../jni/SWIGTYPE_p_IOnPathMapSymbol__PinPoint.java | 2 +- .../src}/jni/SWIGTYPE_p_MapFoundationType.java | 2 +- .../src}/jni/SWIGTYPE_p_MapStyleEvaluationResult.java | 2 +- ...WIGTYPE_p_ObfMapSectionReader__DataBlocksCache.java | 2 +- ...RoutingSectionReader_Metrics__Metric_loadRoads.java | 2 +- ...YPE_p_ObfRoutingSectionReader__DataBlocksCache.java | 2 +- ...YPE_p_ObfRoutingSectionReader__VisitorFunction.java | 2 +- ...apRendererStateChange_unsigned_int_t__BitmaskT.java | 2 +- ..._IntersectionProcessingModeFlag_unsigned_int_t.java | 2 +- ...bolsGroup__PresentationModeFlag_unsigned_int_t.java | 2 +- ..._p_OsmAnd__IMapRenderer__FramePreparedObserver.java | 2 +- ...PE_p_OsmAnd__IMapRenderer__StateChangeObserver.java | 2 +- .../src}/jni/SWIGTYPE_p_OsmAnd__IQueryController.java | 2 +- ...ndererSetupOptions__FrameUpdateRequestCallback.java | 2 +- ...pRendererSetupOptions__GpuWorkerThreadEpilogue.java | 2 +- ...pRendererSetupOptions__GpuWorkerThreadPrologue.java | 2 +- .../src}/jni/SWIGTYPE_p_OsmAnd__MapStyleEvaluator.java | 2 +- ...apSectionReader_Metrics__Metric_loadMapObjects.java | 2 +- ..._OsmAnd__IMapRenderer__FramePreparedObserver_t.java | 2 +- ...OsmAnd__IMapRenderer__IFramePreparedObserver_t.java | 2 +- ...d__IMapRenderer__IFramePreparedObserver_t__Tag.java | 2 +- ...T_OsmAnd__IMapRenderer__IStateChangeObserver_t.java | 2 +- ...And__IMapRenderer__IStateChangeObserver_t__Tag.java | 2 +- ...sT_OsmAnd__IMapRenderer__StateChangeObserver_t.java | 2 +- ...nd__ResourcesManager__ILocalResourcesChanged_t.java | 2 +- ...esourcesManager__ILocalResourcesChanged_t__Tag.java | 2 +- ...OsmAnd__ResourcesManager__IRepositoryUpdated_t.java | 2 +- ...d__ResourcesManager__IRepositoryUpdated_t__Tag.java | 2 +- ...And__ResourcesManager__LocalResourcesChanged_t.java | 2 +- ..._OsmAnd__ResourcesManager__RepositoryUpdated_t.java | 2 +- .../jni/SWIGTYPE_p_OsmAnd__PointT_long_long_t.java | 2 +- ...smAnd__ResourcesManager__LocalResourcesChanged.java | 2 +- ..._p_OsmAnd__ResourcesManager__RepositoryUpdated.java | 2 +- ...YPE_p_Primitiviser_Metrics__Metric_primitivise.java | 2 +- .../core => JNI/src}/jni/SWIGTYPE_p_QByteArray.java | 2 +- .../osmand/core => JNI/src}/jni/SWIGTYPE_p_QDir.java | 2 +- .../core => JNI/src}/jni/SWIGTYPE_p_QFileInfo.java | 2 +- .../core => JNI/src}/jni/SWIGTYPE_p_QFileInfoList.java | 2 +- ..._ptrT_OsmAnd__ResolvedMapStyle__Rule_const_t_t.java | 2 +- .../src}/jni/SWIGTYPE_p_QHashT_QString_QString_t.java | 2 +- ...T_OsmAnd__IOnlineTileSources__Source_const_t_t.java | 2 +- ...d__ResourcesManager__BuiltinResource_const_t_t.java | 2 +- ...And__ResourcesManager__LocalResource_const_t_t.java | 2 +- ...sourcesManager__ResourceInRepository_const_t_t.java | 2 +- ...E_p_QHashT_int_OsmAnd__MapStyleConstantValue_t.java | 2 +- ..._int_OsmAnd__ResolvedMapStyle__ResolvedValue_t.java | 2 +- ...sGroup__AdditionalSymbolInstanceParameters_t_t.java | 2 +- ...T_OsmAnd__Primitiviser__SymbolsGroup_const_t_t.java | 2 +- .../core => JNI/src}/jni/SWIGTYPE_p_QIODevice.java | 2 +- ...GTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t.java | 2 +- ...PE_p_QListT_std__shared_ptrT_ObfFile_const_t_t.java | 2 +- ..._ptrT_ObfMapSectionReader__DataBlock_const_t_t.java | 2 +- ...T_ObfRoutingSectionReader__DataBlock_const_t_t.java | 2 +- ...__shared_ptrT_OsmAnd__MapStylePreset_const_t_t.java | 2 +- ...T_std__shared_ptrT_OsmAnd__MapSymbol_const_t_t.java | 2 +- ..._QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t.java | 2 +- ...smAnd__MapSymbolsGroup__AdditionalInstance_t_t.java | 2 +- ...T_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t.java | 2 +- ..._ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.java | 2 +- ...std__shared_ptrT_OsmAnd__Model__Road_const_t_t.java | 2 +- ..._shared_ptrT_OsmAnd__ObfAddressSectionInfo_t_t.java | 2 +- ...stT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t.java | 2 +- ...std__shared_ptrT_OsmAnd__ObfMapSectionInfo_t_t.java | 2 +- ...std__shared_ptrT_OsmAnd__ObfPoiSectionInfo_t_t.java | 2 +- ...T_std__shared_ptrT_OsmAnd__ObfReader_const_t_t.java | 2 +- ..._shared_ptrT_OsmAnd__ObfRoutingSectionInfo_t_t.java | 2 +- ...hared_ptrT_OsmAnd__ObfTransportSectionInfo_t_t.java | 2 +- ...ptrT_OsmAnd__Primitiviser__Primitive_const_t_t.java | 2 +- ...smAnd__Primitiviser__PrimitivesGroup_const_t_t.java | 2 +- ...ed_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t.java | 2 +- ...ed_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t.java | 2 +- ...ared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t.java | 2 +- .../src}/jni/SWIGTYPE_p_QListT_void_const_p_t.java | 2 +- .../src}/jni/SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t.java | 2 +- .../src}/jni/SWIGTYPE_p_QSetT_QString_t.java | 2 +- .../core => JNI/src}/jni/SWIGTYPE_p_QSetT_int_t.java | 2 +- ..._p_QSetT_std__shared_ptrT_OsmAnd__ILogSink_t_t.java | 2 +- ..._std__shared_ptrT_OsmAnd__IMapDataProvider_t_t.java | 2 +- .../core => JNI/src}/jni/SWIGTYPE_p_QStringList.java | 2 +- .../osmand/core => JNI/src}/jni/SWIGTYPE_p_QUrl.java | 2 +- ...SWIGTYPE_p_QVectorT_OsmAnd__PointT_int32_t_t_t.java | 2 +- .../src}/jni/SWIGTYPE_p_RoutingDataLevel.java | 2 +- ..._OsmAnd__Primitiviser__PrimitivesGroup_const_t.java | 2 +- ...ong_OsmAnd__Primitiviser__SymbolsGroup_const_t.java | 2 +- ..._p_WebClient__RequestProgressCallbackSignature.java | 2 +- .../osmand/core => JNI/src}/jni/SWIGTYPE_p_bool.java | 2 +- .../osmand/core => JNI/src}/jni/SWIGTYPE_p_double.java | 2 +- .../osmand/core => JNI/src}/jni/SWIGTYPE_p_float.java | 2 +- .../osmand/core => JNI/src}/jni/SWIGTYPE_p_int.java | 2 +- ...d__arrayT_float_OsmAnd__RasterMapLayersCount_t.java | 2 +- ...pTileProvider_t_OsmAnd__RasterMapLayersCount_t.java | 2 +- ...unctionT_void_fOsmAnd__PointT_int_t_const_RF_t.java | 2 +- ...ed_ptrT_OsmAnd__Model__BinaryMapObject_const_t.java | 2 +- ..._shared_ptrT_OsmAnd__ObfMapSectionInfo_const_t.java | 2 +- ...rT_OsmAnd__ResolvedMapStyle__Attribute_const_t.java | 2 +- ...rT_OsmAnd__ResolvedMapStyle__Parameter_const_t.java | 2 +- ...ared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t.java | 2 +- ...shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t.java | 2 +- ..._std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t.java | 2 +- .../jni/SWIGTYPE_p_std__shared_ptrT_QIODevice_t.java | 2 +- .../SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t.java | 2 +- .../jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_t.java | 2 +- ...ak_ptrT_ObfMapSectionReader__DataBlocksCache_t.java | 2 +- ...YPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t.java | 2 +- ..._OsmAnd__Primitiviser__PrimitivesGroup_const_t.java | 2 +- .../core => JNI/src}/jni/SWIGTYPE_p_unsigned_char.java | 2 +- .../core => JNI/src}/jni/SWIGTYPE_p_unsigned_int.java | 2 +- .../osmand/core => JNI/src}/jni/SWIGTYPE_p_void.java | 2 +- .../net/osmand/core => JNI/src}/jni/SwigUtilities.java | 2 +- .../net/osmand/core => JNI/src}/jni/TagValueId.java | 2 +- .../core => JNI/src}/jni/TextureFilteringQuality.java | 2 +- .../src/net/osmand/core => JNI/src}/jni/TileId.java | 2 +- .../core => JNI/src}/jni/TiledMapSymbolsData.java | 2 +- .../src/net/osmand/core => JNI/src}/jni/UIntPtr.java | 2 +- .../src/net/osmand/core => JNI/src}/jni/Utilities.java | 2 +- .../src/net/osmand/core => JNI/src}/jni/ZoomLevel.java | 2 +- .../core/android/CoreResourcesFromAndroidAssets.java | 10 +++++----- ...oreResourcesFromAndroid_LegacyOsmAndCompatible.java | 2 +- OsmAnd/src/net/osmand/core/android/GLActivity.java | 5 ++--- 219 files changed, 225 insertions(+), 226 deletions(-) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/AlphaChannelData.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/AreaD.java (99%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/AreaF.java (99%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/AreaI.java (99%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/AtlasMapRendererConfiguration.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/BinaryMapDataProvider.java (99%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/BinaryMapDataTile.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/BinaryMapPrimitivesProvider.java (99%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/BinaryMapPrimitivesTile.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/BinaryMapRasterBitmapTileProvider.java (99%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/BinaryMapRasterBitmapTileProvider_Software.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/BinaryMapRasterizedTile.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/BinaryMapStaticSymbolsProvider.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/BinaryMapStaticSymbolsTile.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/BoolPtr.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/ColorARGB.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/ColorRGB.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/CoreResourcesEmbeddedBundle.java (99%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/DefaultLogSink.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/DoublePtr.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/Edge.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/ElevationDataTile.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/FColorARGB.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/FColorRGB.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/FloatPtr.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/ICoreResourcesProvider.java (99%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/ILogSink.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/IMapDataProvider.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/IMapElevationDataProvider.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/IMapKeyedDataProvider.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/IMapKeyedSymbolsProvider.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/IMapRasterBitmapTileProvider.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/IMapRenderer.java (99%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/IMapStylesCollection.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/IMapStylesPresetsCollection.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/IMapTiledDataProvider.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/IMapTiledSymbolsProvider.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/IObfsCollection.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/IObservable.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/IOnlineTileSources.java (99%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/IntPtr.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/KeyedMapSymbolsData.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/LanguageId.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/LatLon.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/LogSeverityLevel.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/Logger.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/MapData.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/MapFoundationType.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/MapKeyedData.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/MapPresentationEnvironment.java (99%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/MapRendererClass.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/MapRendererConfiguration.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/MapRendererDebugSettings.java (99%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/MapRendererSetupOptions.java (99%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/MapRendererState.java (99%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/MapRendererStateChange.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/MapRendererStateChanges.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/MapStyleBuiltinValueDefinitions.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/MapStyleConstantValue.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/MapStylePreset.java (99%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/MapStyleRulesetType.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/MapStyleValueDataType.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/MapStyleValueDefinition.java (99%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/MapStylesCollection.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/MapStylesPresetsCollection.java (99%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/MapSymbol.java (99%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/MapSymbolsGroup.java (99%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/MapTiledData.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/OOBBD.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/OOBBF.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/OOBBI.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/ObfAddressBlockType.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/ObfDataInterface.java (99%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/ObfFile.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/ObfInfo.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/ObfMapSectionDataBlockId.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/ObfRoutingSectionDataBlockId.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/ObfsCollection.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/OnlineRasterMapTileProvider.java (99%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/OnlineTileSources.java (99%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/OsmAndCore.java (99%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/OsmAndCoreConstants.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/OsmAndCoreJNI.java (99%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/PointD.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/PointF.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/PointI.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/Primitiviser.java (99%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/QIODeviceLogSink.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/QStringList.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/Quadrant.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/RasterBitmapTile.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/RasterMapLayerId.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/ResolvedMapStyle.java (99%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/ResourcesManager.java (99%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/RoutingDataLevel.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_BinaryMapDataProvider_Metrics__Metric_obtainData.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_BinaryMapPrimitivesProvider_Metrics__Metric_obtainData.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_BinaryMapRasterBitmapTileProvider_Metrics__Metric_obtainData.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_FilterMapObjectsByIdFunction.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_FilterRoadsByIdFunction.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_IOnPathMapSymbol__PinPoint.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_MapFoundationType.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_MapStyleEvaluationResult.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_ObfRoutingSectionReader_Metrics__Metric_loadRoads.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__IntersectionProcessingModeFlag_unsigned_int_t.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__PresentationModeFlag_unsigned_int_t.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__FramePreparedObserver.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__StateChangeObserver.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_OsmAnd__IQueryController.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_OsmAnd__MapStyleEvaluator.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_OsmAnd__ObfMapSectionReader_Metrics__Metric_loadMapObjects.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__FramePreparedObserver_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t__Tag.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t__Tag.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__StateChangeObserver_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t__Tag.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t__Tag.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__LocalResourcesChanged_t.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__RepositoryUpdated_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_OsmAnd__PointT_long_long_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__LocalResourcesChanged.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__RepositoryUpdated.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_Primitiviser_Metrics__Metric_primitivise.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QByteArray.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QDir.java (95%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QFileInfo.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QFileInfoList.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QHashT_OsmAnd__TagValueId_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Rule_const_t_t.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QHashT_QString_QString_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__IOnlineTileSources__Source_const_t_t.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__BuiltinResource_const_t_t.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__LocalResource_const_t_t.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__ResourceInRepository_const_t_t.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QHashT_int_OsmAnd__MapStyleConstantValue_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QHashT_int_OsmAnd__ResolvedMapStyle__ResolvedValue_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapSymbol_t_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalSymbolInstanceParameters_t_t.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_std__shared_ptrT_OsmAnd__Primitiviser__SymbolsGroup_const_t_t.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QIODevice.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfFile_const_t_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_const_t_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalInstance_t_t.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfAddressSectionInfo_t_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_t_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfPoiSectionInfo_t_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfReader_const_t_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfRoutingSectionInfo_t_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfTransportSectionInfo_t_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t_t.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QListT_void_const_p_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QSetT_QString_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QSetT_int_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__ILogSink_t_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__IMapDataProvider_t_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QStringList.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QUrl.java (95%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_QVectorT_OsmAnd__PointT_int32_t_t_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_RoutingDataLevel.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__SymbolsGroup_const_t.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_WebClient__RequestProgressCallbackSignature.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_bool.java (95%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_double.java (95%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_float.java (95%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_int.java (95%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_std__arrayT_float_OsmAnd__RasterMapLayersCount_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_std__arrayT_std__shared_ptrT_OsmAnd__IMapRasterBitmapTileProvider_t_OsmAnd__RasterMapLayersCount_t.java (97%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_std__functionT_void_fOsmAnd__PointT_int_t_const_RF_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_const_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Attribute_const_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Parameter_const_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_std__shared_ptrT_QIODevice_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_std__weak_ptrT_ObfMapSectionReader__DataBlocksCache_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_unsigned_char.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_unsigned_int.java (96%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SWIGTYPE_p_void.java (95%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/SwigUtilities.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/TagValueId.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/TextureFilteringQuality.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/TileId.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/TiledMapSymbolsData.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/UIntPtr.java (98%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/Utilities.java (99%) rename {OsmAnd/src/net/osmand/core => JNI/src}/jni/ZoomLevel.java (98%) diff --git a/OsmAnd/src/net/osmand/core/jni/AlphaChannelData.java b/JNI/src/jni/AlphaChannelData.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/AlphaChannelData.java rename to JNI/src/jni/AlphaChannelData.java index e8a11e9fac..2dab17bec1 100644 --- a/OsmAnd/src/net/osmand/core/jni/AlphaChannelData.java +++ b/JNI/src/jni/AlphaChannelData.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public enum AlphaChannelData { Present, diff --git a/OsmAnd/src/net/osmand/core/jni/AreaD.java b/JNI/src/jni/AreaD.java similarity index 99% rename from OsmAnd/src/net/osmand/core/jni/AreaD.java rename to JNI/src/jni/AreaD.java index 45f2daba7d..e5527cd69b 100644 --- a/OsmAnd/src/net/osmand/core/jni/AreaD.java +++ b/JNI/src/jni/AreaD.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class AreaD { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/AreaF.java b/JNI/src/jni/AreaF.java similarity index 99% rename from OsmAnd/src/net/osmand/core/jni/AreaF.java rename to JNI/src/jni/AreaF.java index 569a5fe9a2..c6e05efa11 100644 --- a/OsmAnd/src/net/osmand/core/jni/AreaF.java +++ b/JNI/src/jni/AreaF.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class AreaF { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/AreaI.java b/JNI/src/jni/AreaI.java similarity index 99% rename from OsmAnd/src/net/osmand/core/jni/AreaI.java rename to JNI/src/jni/AreaI.java index 2c8d468f01..bf266789b5 100644 --- a/OsmAnd/src/net/osmand/core/jni/AreaI.java +++ b/JNI/src/jni/AreaI.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class AreaI { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/AtlasMapRendererConfiguration.java b/JNI/src/jni/AtlasMapRendererConfiguration.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/AtlasMapRendererConfiguration.java rename to JNI/src/jni/AtlasMapRendererConfiguration.java index 5c4e1ecd1f..ac2a06b472 100644 --- a/OsmAnd/src/net/osmand/core/jni/AtlasMapRendererConfiguration.java +++ b/JNI/src/jni/AtlasMapRendererConfiguration.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class AtlasMapRendererConfiguration extends MapRendererConfiguration { private long swigCPtr; @@ -50,7 +50,7 @@ public class AtlasMapRendererConfiguration extends MapRendererConfiguration { } public void copyTo(MapRendererConfiguration other) { - OsmAndCoreJNI.AtlasMapRendererConfiguration_copyTo(swigCPtr, this, MapRendererConfiguration.getCPtr(other), other); + OsmAndCoreJNI.AtlasMapRendererConfiguration_copyTo(swigCPtr, this, getCPtr(other), other); } public MapRendererConfiguration createCopy() { diff --git a/OsmAnd/src/net/osmand/core/jni/BinaryMapDataProvider.java b/JNI/src/jni/BinaryMapDataProvider.java similarity index 99% rename from OsmAnd/src/net/osmand/core/jni/BinaryMapDataProvider.java rename to JNI/src/jni/BinaryMapDataProvider.java index 285407dabf..1d6272f5ba 100644 --- a/OsmAnd/src/net/osmand/core/jni/BinaryMapDataProvider.java +++ b/JNI/src/jni/BinaryMapDataProvider.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class BinaryMapDataProvider extends IMapTiledDataProvider { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/BinaryMapDataTile.java b/JNI/src/jni/BinaryMapDataTile.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/BinaryMapDataTile.java rename to JNI/src/jni/BinaryMapDataTile.java index 4210153a41..7d20c491bf 100644 --- a/OsmAnd/src/net/osmand/core/jni/BinaryMapDataTile.java +++ b/JNI/src/jni/BinaryMapDataTile.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class BinaryMapDataTile extends MapTiledData { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/BinaryMapPrimitivesProvider.java b/JNI/src/jni/BinaryMapPrimitivesProvider.java similarity index 99% rename from OsmAnd/src/net/osmand/core/jni/BinaryMapPrimitivesProvider.java rename to JNI/src/jni/BinaryMapPrimitivesProvider.java index f1cbf11fe7..058a3f4051 100644 --- a/OsmAnd/src/net/osmand/core/jni/BinaryMapPrimitivesProvider.java +++ b/JNI/src/jni/BinaryMapPrimitivesProvider.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class BinaryMapPrimitivesProvider extends IMapTiledDataProvider { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/BinaryMapPrimitivesTile.java b/JNI/src/jni/BinaryMapPrimitivesTile.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/BinaryMapPrimitivesTile.java rename to JNI/src/jni/BinaryMapPrimitivesTile.java index d6f84311c4..e60207770c 100644 --- a/OsmAnd/src/net/osmand/core/jni/BinaryMapPrimitivesTile.java +++ b/JNI/src/jni/BinaryMapPrimitivesTile.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class BinaryMapPrimitivesTile extends MapTiledData { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/BinaryMapRasterBitmapTileProvider.java b/JNI/src/jni/BinaryMapRasterBitmapTileProvider.java similarity index 99% rename from OsmAnd/src/net/osmand/core/jni/BinaryMapRasterBitmapTileProvider.java rename to JNI/src/jni/BinaryMapRasterBitmapTileProvider.java index e3586f7d0e..c075871b78 100644 --- a/OsmAnd/src/net/osmand/core/jni/BinaryMapRasterBitmapTileProvider.java +++ b/JNI/src/jni/BinaryMapRasterBitmapTileProvider.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class BinaryMapRasterBitmapTileProvider extends IMapRasterBitmapTileProvider { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/BinaryMapRasterBitmapTileProvider_Software.java b/JNI/src/jni/BinaryMapRasterBitmapTileProvider_Software.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/BinaryMapRasterBitmapTileProvider_Software.java rename to JNI/src/jni/BinaryMapRasterBitmapTileProvider_Software.java index 7c176c8953..923bf186d0 100644 --- a/OsmAnd/src/net/osmand/core/jni/BinaryMapRasterBitmapTileProvider_Software.java +++ b/JNI/src/jni/BinaryMapRasterBitmapTileProvider_Software.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class BinaryMapRasterBitmapTileProvider_Software extends BinaryMapRasterBitmapTileProvider { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/BinaryMapRasterizedTile.java b/JNI/src/jni/BinaryMapRasterizedTile.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/BinaryMapRasterizedTile.java rename to JNI/src/jni/BinaryMapRasterizedTile.java index 3955a13940..1d7c931d1f 100644 --- a/OsmAnd/src/net/osmand/core/jni/BinaryMapRasterizedTile.java +++ b/JNI/src/jni/BinaryMapRasterizedTile.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class BinaryMapRasterizedTile extends RasterBitmapTile { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/BinaryMapStaticSymbolsProvider.java b/JNI/src/jni/BinaryMapStaticSymbolsProvider.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/BinaryMapStaticSymbolsProvider.java rename to JNI/src/jni/BinaryMapStaticSymbolsProvider.java index df275dc0ea..09d139b33b 100644 --- a/OsmAnd/src/net/osmand/core/jni/BinaryMapStaticSymbolsProvider.java +++ b/JNI/src/jni/BinaryMapStaticSymbolsProvider.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class BinaryMapStaticSymbolsProvider extends IMapTiledSymbolsProvider { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/BinaryMapStaticSymbolsTile.java b/JNI/src/jni/BinaryMapStaticSymbolsTile.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/BinaryMapStaticSymbolsTile.java rename to JNI/src/jni/BinaryMapStaticSymbolsTile.java index e9d6debf03..bf529ce325 100644 --- a/OsmAnd/src/net/osmand/core/jni/BinaryMapStaticSymbolsTile.java +++ b/JNI/src/jni/BinaryMapStaticSymbolsTile.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class BinaryMapStaticSymbolsTile extends TiledMapSymbolsData { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/BoolPtr.java b/JNI/src/jni/BoolPtr.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/BoolPtr.java rename to JNI/src/jni/BoolPtr.java index 897480b9f8..cd6c7fb3c7 100644 --- a/OsmAnd/src/net/osmand/core/jni/BoolPtr.java +++ b/JNI/src/jni/BoolPtr.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class BoolPtr { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/ColorARGB.java b/JNI/src/jni/ColorARGB.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/ColorARGB.java rename to JNI/src/jni/ColorARGB.java index de4936fe25..67d936d473 100644 --- a/OsmAnd/src/net/osmand/core/jni/ColorARGB.java +++ b/JNI/src/jni/ColorARGB.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class ColorARGB { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/ColorRGB.java b/JNI/src/jni/ColorRGB.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/ColorRGB.java rename to JNI/src/jni/ColorRGB.java index aad85d8aad..e21f9e84e5 100644 --- a/OsmAnd/src/net/osmand/core/jni/ColorRGB.java +++ b/JNI/src/jni/ColorRGB.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class ColorRGB { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/CoreResourcesEmbeddedBundle.java b/JNI/src/jni/CoreResourcesEmbeddedBundle.java similarity index 99% rename from OsmAnd/src/net/osmand/core/jni/CoreResourcesEmbeddedBundle.java rename to JNI/src/jni/CoreResourcesEmbeddedBundle.java index 4fa77fb4a1..1b2cff5448 100644 --- a/OsmAnd/src/net/osmand/core/jni/CoreResourcesEmbeddedBundle.java +++ b/JNI/src/jni/CoreResourcesEmbeddedBundle.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class CoreResourcesEmbeddedBundle extends ICoreResourcesProvider { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/DefaultLogSink.java b/JNI/src/jni/DefaultLogSink.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/DefaultLogSink.java rename to JNI/src/jni/DefaultLogSink.java index 5fd02b898c..313bcaa140 100644 --- a/OsmAnd/src/net/osmand/core/jni/DefaultLogSink.java +++ b/JNI/src/jni/DefaultLogSink.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class DefaultLogSink extends ILogSink { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/DoublePtr.java b/JNI/src/jni/DoublePtr.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/DoublePtr.java rename to JNI/src/jni/DoublePtr.java index f1cd59d3f9..f6b2d626bd 100644 --- a/OsmAnd/src/net/osmand/core/jni/DoublePtr.java +++ b/JNI/src/jni/DoublePtr.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class DoublePtr { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/Edge.java b/JNI/src/jni/Edge.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/Edge.java rename to JNI/src/jni/Edge.java index 78b9dfa149..e7fe6a93ef 100644 --- a/OsmAnd/src/net/osmand/core/jni/Edge.java +++ b/JNI/src/jni/Edge.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public enum Edge { Invalid(OsmAndCoreJNI.Edge_Invalid_get()), diff --git a/OsmAnd/src/net/osmand/core/jni/ElevationDataTile.java b/JNI/src/jni/ElevationDataTile.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/ElevationDataTile.java rename to JNI/src/jni/ElevationDataTile.java index 62fa568624..3f3cb29b2b 100644 --- a/OsmAnd/src/net/osmand/core/jni/ElevationDataTile.java +++ b/JNI/src/jni/ElevationDataTile.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class ElevationDataTile extends MapTiledData { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/FColorARGB.java b/JNI/src/jni/FColorARGB.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/FColorARGB.java rename to JNI/src/jni/FColorARGB.java index 0cddac9068..84427f2b31 100644 --- a/OsmAnd/src/net/osmand/core/jni/FColorARGB.java +++ b/JNI/src/jni/FColorARGB.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class FColorARGB { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/FColorRGB.java b/JNI/src/jni/FColorRGB.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/FColorRGB.java rename to JNI/src/jni/FColorRGB.java index cb6825e9d2..923014b7aa 100644 --- a/OsmAnd/src/net/osmand/core/jni/FColorRGB.java +++ b/JNI/src/jni/FColorRGB.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class FColorRGB { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/FloatPtr.java b/JNI/src/jni/FloatPtr.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/FloatPtr.java rename to JNI/src/jni/FloatPtr.java index 9cfcfacd7e..a9e50e0064 100644 --- a/OsmAnd/src/net/osmand/core/jni/FloatPtr.java +++ b/JNI/src/jni/FloatPtr.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class FloatPtr { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/ICoreResourcesProvider.java b/JNI/src/jni/ICoreResourcesProvider.java similarity index 99% rename from OsmAnd/src/net/osmand/core/jni/ICoreResourcesProvider.java rename to JNI/src/jni/ICoreResourcesProvider.java index 4d9e88c3b4..1968510b23 100644 --- a/OsmAnd/src/net/osmand/core/jni/ICoreResourcesProvider.java +++ b/JNI/src/jni/ICoreResourcesProvider.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class ICoreResourcesProvider { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/ILogSink.java b/JNI/src/jni/ILogSink.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/ILogSink.java rename to JNI/src/jni/ILogSink.java index e0127c837f..1226343750 100644 --- a/OsmAnd/src/net/osmand/core/jni/ILogSink.java +++ b/JNI/src/jni/ILogSink.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class ILogSink { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/IMapDataProvider.java b/JNI/src/jni/IMapDataProvider.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/IMapDataProvider.java rename to JNI/src/jni/IMapDataProvider.java index c236bdf4b4..3eebd9ceaf 100644 --- a/OsmAnd/src/net/osmand/core/jni/IMapDataProvider.java +++ b/JNI/src/jni/IMapDataProvider.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class IMapDataProvider { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/IMapElevationDataProvider.java b/JNI/src/jni/IMapElevationDataProvider.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/IMapElevationDataProvider.java rename to JNI/src/jni/IMapElevationDataProvider.java index 4a6fdcc67f..95b399db40 100644 --- a/OsmAnd/src/net/osmand/core/jni/IMapElevationDataProvider.java +++ b/JNI/src/jni/IMapElevationDataProvider.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class IMapElevationDataProvider extends IMapTiledDataProvider { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/IMapKeyedDataProvider.java b/JNI/src/jni/IMapKeyedDataProvider.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/IMapKeyedDataProvider.java rename to JNI/src/jni/IMapKeyedDataProvider.java index 38a644130c..954b6af3e9 100644 --- a/OsmAnd/src/net/osmand/core/jni/IMapKeyedDataProvider.java +++ b/JNI/src/jni/IMapKeyedDataProvider.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class IMapKeyedDataProvider extends IMapDataProvider { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/IMapKeyedSymbolsProvider.java b/JNI/src/jni/IMapKeyedSymbolsProvider.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/IMapKeyedSymbolsProvider.java rename to JNI/src/jni/IMapKeyedSymbolsProvider.java index c29425c537..ba3a0d9221 100644 --- a/OsmAnd/src/net/osmand/core/jni/IMapKeyedSymbolsProvider.java +++ b/JNI/src/jni/IMapKeyedSymbolsProvider.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class IMapKeyedSymbolsProvider extends IMapKeyedDataProvider { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/IMapRasterBitmapTileProvider.java b/JNI/src/jni/IMapRasterBitmapTileProvider.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/IMapRasterBitmapTileProvider.java rename to JNI/src/jni/IMapRasterBitmapTileProvider.java index 1b10fbe06a..f463003332 100644 --- a/OsmAnd/src/net/osmand/core/jni/IMapRasterBitmapTileProvider.java +++ b/JNI/src/jni/IMapRasterBitmapTileProvider.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class IMapRasterBitmapTileProvider extends IMapTiledDataProvider { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/IMapRenderer.java b/JNI/src/jni/IMapRenderer.java similarity index 99% rename from OsmAnd/src/net/osmand/core/jni/IMapRenderer.java rename to JNI/src/jni/IMapRenderer.java index bd9d9a0568..7f859b390a 100644 --- a/OsmAnd/src/net/osmand/core/jni/IMapRenderer.java +++ b/JNI/src/jni/IMapRenderer.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class IMapRenderer { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/IMapStylesCollection.java b/JNI/src/jni/IMapStylesCollection.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/IMapStylesCollection.java rename to JNI/src/jni/IMapStylesCollection.java index e161ed39ff..9dcdbf576a 100644 --- a/OsmAnd/src/net/osmand/core/jni/IMapStylesCollection.java +++ b/JNI/src/jni/IMapStylesCollection.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class IMapStylesCollection { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/IMapStylesPresetsCollection.java b/JNI/src/jni/IMapStylesPresetsCollection.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/IMapStylesPresetsCollection.java rename to JNI/src/jni/IMapStylesPresetsCollection.java index 9c44d08424..e1b15c638e 100644 --- a/OsmAnd/src/net/osmand/core/jni/IMapStylesPresetsCollection.java +++ b/JNI/src/jni/IMapStylesPresetsCollection.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class IMapStylesPresetsCollection { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/IMapTiledDataProvider.java b/JNI/src/jni/IMapTiledDataProvider.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/IMapTiledDataProvider.java rename to JNI/src/jni/IMapTiledDataProvider.java index 9232ad5b2e..5510455efe 100644 --- a/OsmAnd/src/net/osmand/core/jni/IMapTiledDataProvider.java +++ b/JNI/src/jni/IMapTiledDataProvider.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class IMapTiledDataProvider extends IMapDataProvider { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/IMapTiledSymbolsProvider.java b/JNI/src/jni/IMapTiledSymbolsProvider.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/IMapTiledSymbolsProvider.java rename to JNI/src/jni/IMapTiledSymbolsProvider.java index f5d5c63ad6..98a14f4cae 100644 --- a/OsmAnd/src/net/osmand/core/jni/IMapTiledSymbolsProvider.java +++ b/JNI/src/jni/IMapTiledSymbolsProvider.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class IMapTiledSymbolsProvider extends IMapTiledDataProvider { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/IObfsCollection.java b/JNI/src/jni/IObfsCollection.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/IObfsCollection.java rename to JNI/src/jni/IObfsCollection.java index 3d22bf7e88..2dda8f0a1a 100644 --- a/OsmAnd/src/net/osmand/core/jni/IObfsCollection.java +++ b/JNI/src/jni/IObfsCollection.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class IObfsCollection { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/IObservable.java b/JNI/src/jni/IObservable.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/IObservable.java rename to JNI/src/jni/IObservable.java index d3d7b04016..c1acf1319c 100644 --- a/OsmAnd/src/net/osmand/core/jni/IObservable.java +++ b/JNI/src/jni/IObservable.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class IObservable { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/IOnlineTileSources.java b/JNI/src/jni/IOnlineTileSources.java similarity index 99% rename from OsmAnd/src/net/osmand/core/jni/IOnlineTileSources.java rename to JNI/src/jni/IOnlineTileSources.java index 4ef074910b..38f3e00499 100644 --- a/OsmAnd/src/net/osmand/core/jni/IOnlineTileSources.java +++ b/JNI/src/jni/IOnlineTileSources.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class IOnlineTileSources { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/IntPtr.java b/JNI/src/jni/IntPtr.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/IntPtr.java rename to JNI/src/jni/IntPtr.java index fa771ca2b8..608bf827dd 100644 --- a/OsmAnd/src/net/osmand/core/jni/IntPtr.java +++ b/JNI/src/jni/IntPtr.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class IntPtr { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/KeyedMapSymbolsData.java b/JNI/src/jni/KeyedMapSymbolsData.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/KeyedMapSymbolsData.java rename to JNI/src/jni/KeyedMapSymbolsData.java index 419b6a9dff..7d098384ee 100644 --- a/OsmAnd/src/net/osmand/core/jni/KeyedMapSymbolsData.java +++ b/JNI/src/jni/KeyedMapSymbolsData.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class KeyedMapSymbolsData extends MapKeyedData { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/LanguageId.java b/JNI/src/jni/LanguageId.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/LanguageId.java rename to JNI/src/jni/LanguageId.java index a840216174..463e58adb2 100644 --- a/OsmAnd/src/net/osmand/core/jni/LanguageId.java +++ b/JNI/src/jni/LanguageId.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public enum LanguageId { Invariant(OsmAndCoreJNI.LanguageId_Invariant_get()), diff --git a/OsmAnd/src/net/osmand/core/jni/LatLon.java b/JNI/src/jni/LatLon.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/LatLon.java rename to JNI/src/jni/LatLon.java index 1456adeb79..68fb35c338 100644 --- a/OsmAnd/src/net/osmand/core/jni/LatLon.java +++ b/JNI/src/jni/LatLon.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class LatLon { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/LogSeverityLevel.java b/JNI/src/jni/LogSeverityLevel.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/LogSeverityLevel.java rename to JNI/src/jni/LogSeverityLevel.java index 7585922dbc..c0d4fc5e68 100644 --- a/OsmAnd/src/net/osmand/core/jni/LogSeverityLevel.java +++ b/JNI/src/jni/LogSeverityLevel.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public enum LogSeverityLevel { Error(OsmAndCoreJNI.LogSeverityLevel_Error_get()), diff --git a/OsmAnd/src/net/osmand/core/jni/Logger.java b/JNI/src/jni/Logger.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/Logger.java rename to JNI/src/jni/Logger.java index 1e68da375c..dff052c0e5 100644 --- a/OsmAnd/src/net/osmand/core/jni/Logger.java +++ b/JNI/src/jni/Logger.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class Logger { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/MapData.java b/JNI/src/jni/MapData.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/MapData.java rename to JNI/src/jni/MapData.java index 6567b32156..8d775b3fd0 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapData.java +++ b/JNI/src/jni/MapData.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class MapData { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/MapFoundationType.java b/JNI/src/jni/MapFoundationType.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/MapFoundationType.java rename to JNI/src/jni/MapFoundationType.java index 0f66289117..84ee2ca8bb 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapFoundationType.java +++ b/JNI/src/jni/MapFoundationType.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public enum MapFoundationType { Undefined(OsmAndCoreJNI.MapFoundationType_Undefined_get()), diff --git a/OsmAnd/src/net/osmand/core/jni/MapKeyedData.java b/JNI/src/jni/MapKeyedData.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/MapKeyedData.java rename to JNI/src/jni/MapKeyedData.java index 635ca8effc..5bb784591c 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapKeyedData.java +++ b/JNI/src/jni/MapKeyedData.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class MapKeyedData extends MapData { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/MapPresentationEnvironment.java b/JNI/src/jni/MapPresentationEnvironment.java similarity index 99% rename from OsmAnd/src/net/osmand/core/jni/MapPresentationEnvironment.java rename to JNI/src/jni/MapPresentationEnvironment.java index fd18f6491f..3fd369b23d 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapPresentationEnvironment.java +++ b/JNI/src/jni/MapPresentationEnvironment.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class MapPresentationEnvironment { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/MapRendererClass.java b/JNI/src/jni/MapRendererClass.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/MapRendererClass.java rename to JNI/src/jni/MapRendererClass.java index 365d2f5448..a54dc009c5 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapRendererClass.java +++ b/JNI/src/jni/MapRendererClass.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public enum MapRendererClass { AtlasMapRenderer_OpenGL2plus, diff --git a/OsmAnd/src/net/osmand/core/jni/MapRendererConfiguration.java b/JNI/src/jni/MapRendererConfiguration.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/MapRendererConfiguration.java rename to JNI/src/jni/MapRendererConfiguration.java index d77aed03cd..f25fa4edb3 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapRendererConfiguration.java +++ b/JNI/src/jni/MapRendererConfiguration.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class MapRendererConfiguration { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/MapRendererDebugSettings.java b/JNI/src/jni/MapRendererDebugSettings.java similarity index 99% rename from OsmAnd/src/net/osmand/core/jni/MapRendererDebugSettings.java rename to JNI/src/jni/MapRendererDebugSettings.java index 14a89fe027..c36739d72a 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapRendererDebugSettings.java +++ b/JNI/src/jni/MapRendererDebugSettings.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class MapRendererDebugSettings { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/MapRendererSetupOptions.java b/JNI/src/jni/MapRendererSetupOptions.java similarity index 99% rename from OsmAnd/src/net/osmand/core/jni/MapRendererSetupOptions.java rename to JNI/src/jni/MapRendererSetupOptions.java index 4aeafcb61f..e0106434c0 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapRendererSetupOptions.java +++ b/JNI/src/jni/MapRendererSetupOptions.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class MapRendererSetupOptions { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/MapRendererState.java b/JNI/src/jni/MapRendererState.java similarity index 99% rename from OsmAnd/src/net/osmand/core/jni/MapRendererState.java rename to JNI/src/jni/MapRendererState.java index 37405bd2a2..b1b878804f 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapRendererState.java +++ b/JNI/src/jni/MapRendererState.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class MapRendererState { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/MapRendererStateChange.java b/JNI/src/jni/MapRendererStateChange.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/MapRendererStateChange.java rename to JNI/src/jni/MapRendererStateChange.java index 5d30213be7..11e0d8b9e1 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapRendererStateChange.java +++ b/JNI/src/jni/MapRendererStateChange.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public enum MapRendererStateChange { RasterLayers_Providers(OsmAndCoreJNI.MapRendererStateChange_RasterLayers_Providers_get()), diff --git a/OsmAnd/src/net/osmand/core/jni/MapRendererStateChanges.java b/JNI/src/jni/MapRendererStateChanges.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/MapRendererStateChanges.java rename to JNI/src/jni/MapRendererStateChanges.java index 691d2bbb88..e571d27428 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapRendererStateChanges.java +++ b/JNI/src/jni/MapRendererStateChanges.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class MapRendererStateChanges { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/MapStyleBuiltinValueDefinitions.java b/JNI/src/jni/MapStyleBuiltinValueDefinitions.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/MapStyleBuiltinValueDefinitions.java rename to JNI/src/jni/MapStyleBuiltinValueDefinitions.java index 0d49aeb908..7e8b442968 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapStyleBuiltinValueDefinitions.java +++ b/JNI/src/jni/MapStyleBuiltinValueDefinitions.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class MapStyleBuiltinValueDefinitions { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/MapStyleConstantValue.java b/JNI/src/jni/MapStyleConstantValue.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/MapStyleConstantValue.java rename to JNI/src/jni/MapStyleConstantValue.java index 70a29a4d29..80bf1fca66 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapStyleConstantValue.java +++ b/JNI/src/jni/MapStyleConstantValue.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class MapStyleConstantValue { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/MapStylePreset.java b/JNI/src/jni/MapStylePreset.java similarity index 99% rename from OsmAnd/src/net/osmand/core/jni/MapStylePreset.java rename to JNI/src/jni/MapStylePreset.java index 5d7f711c97..80f0bf3208 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapStylePreset.java +++ b/JNI/src/jni/MapStylePreset.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class MapStylePreset { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/MapStyleRulesetType.java b/JNI/src/jni/MapStyleRulesetType.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/MapStyleRulesetType.java rename to JNI/src/jni/MapStyleRulesetType.java index 8f0941b321..21a7840884 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapStyleRulesetType.java +++ b/JNI/src/jni/MapStyleRulesetType.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public enum MapStyleRulesetType { Invalid(OsmAndCoreJNI.MapStyleRulesetType_Invalid_get()), diff --git a/OsmAnd/src/net/osmand/core/jni/MapStyleValueDataType.java b/JNI/src/jni/MapStyleValueDataType.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/MapStyleValueDataType.java rename to JNI/src/jni/MapStyleValueDataType.java index 9712d2d144..43442c7e27 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapStyleValueDataType.java +++ b/JNI/src/jni/MapStyleValueDataType.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public enum MapStyleValueDataType { Boolean, diff --git a/OsmAnd/src/net/osmand/core/jni/MapStyleValueDefinition.java b/JNI/src/jni/MapStyleValueDefinition.java similarity index 99% rename from OsmAnd/src/net/osmand/core/jni/MapStyleValueDefinition.java rename to JNI/src/jni/MapStyleValueDefinition.java index 9999f16de5..96f0a8d1f1 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapStyleValueDefinition.java +++ b/JNI/src/jni/MapStyleValueDefinition.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class MapStyleValueDefinition { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/MapStylesCollection.java b/JNI/src/jni/MapStylesCollection.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/MapStylesCollection.java rename to JNI/src/jni/MapStylesCollection.java index c30839a348..f013a8ba51 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapStylesCollection.java +++ b/JNI/src/jni/MapStylesCollection.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class MapStylesCollection extends IMapStylesCollection { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/MapStylesPresetsCollection.java b/JNI/src/jni/MapStylesPresetsCollection.java similarity index 99% rename from OsmAnd/src/net/osmand/core/jni/MapStylesPresetsCollection.java rename to JNI/src/jni/MapStylesPresetsCollection.java index 718daa0731..2fb16b3cbe 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapStylesPresetsCollection.java +++ b/JNI/src/jni/MapStylesPresetsCollection.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class MapStylesPresetsCollection extends IMapStylesPresetsCollection { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/MapSymbol.java b/JNI/src/jni/MapSymbol.java similarity index 99% rename from OsmAnd/src/net/osmand/core/jni/MapSymbol.java rename to JNI/src/jni/MapSymbol.java index 2f4b46d54e..f8ed6c5577 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapSymbol.java +++ b/JNI/src/jni/MapSymbol.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class MapSymbol { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/MapSymbolsGroup.java b/JNI/src/jni/MapSymbolsGroup.java similarity index 99% rename from OsmAnd/src/net/osmand/core/jni/MapSymbolsGroup.java rename to JNI/src/jni/MapSymbolsGroup.java index 408659e68b..60136a49d5 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapSymbolsGroup.java +++ b/JNI/src/jni/MapSymbolsGroup.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class MapSymbolsGroup { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/MapTiledData.java b/JNI/src/jni/MapTiledData.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/MapTiledData.java rename to JNI/src/jni/MapTiledData.java index d521a9f702..c716c9dbe4 100644 --- a/OsmAnd/src/net/osmand/core/jni/MapTiledData.java +++ b/JNI/src/jni/MapTiledData.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class MapTiledData extends MapData { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/OOBBD.java b/JNI/src/jni/OOBBD.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/OOBBD.java rename to JNI/src/jni/OOBBD.java index aaf5fd2081..7aec5436dc 100644 --- a/OsmAnd/src/net/osmand/core/jni/OOBBD.java +++ b/JNI/src/jni/OOBBD.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class OOBBD { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/OOBBF.java b/JNI/src/jni/OOBBF.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/OOBBF.java rename to JNI/src/jni/OOBBF.java index bd3eaa570c..6b9b3dc215 100644 --- a/OsmAnd/src/net/osmand/core/jni/OOBBF.java +++ b/JNI/src/jni/OOBBF.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class OOBBF { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/OOBBI.java b/JNI/src/jni/OOBBI.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/OOBBI.java rename to JNI/src/jni/OOBBI.java index d66e3e7699..e753474fc8 100644 --- a/OsmAnd/src/net/osmand/core/jni/OOBBI.java +++ b/JNI/src/jni/OOBBI.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class OOBBI { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/ObfAddressBlockType.java b/JNI/src/jni/ObfAddressBlockType.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/ObfAddressBlockType.java rename to JNI/src/jni/ObfAddressBlockType.java index d3d97b2580..c29d6fd5fa 100644 --- a/OsmAnd/src/net/osmand/core/jni/ObfAddressBlockType.java +++ b/JNI/src/jni/ObfAddressBlockType.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public enum ObfAddressBlockType { CitiesOrTowns(OsmAndCoreJNI.ObfAddressBlockType_CitiesOrTowns_get()), diff --git a/OsmAnd/src/net/osmand/core/jni/ObfDataInterface.java b/JNI/src/jni/ObfDataInterface.java similarity index 99% rename from OsmAnd/src/net/osmand/core/jni/ObfDataInterface.java rename to JNI/src/jni/ObfDataInterface.java index 447cfe4b07..4ec7d2bdd7 100644 --- a/OsmAnd/src/net/osmand/core/jni/ObfDataInterface.java +++ b/JNI/src/jni/ObfDataInterface.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class ObfDataInterface { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/ObfFile.java b/JNI/src/jni/ObfFile.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/ObfFile.java rename to JNI/src/jni/ObfFile.java index 5fda99528a..404743be40 100644 --- a/OsmAnd/src/net/osmand/core/jni/ObfFile.java +++ b/JNI/src/jni/ObfFile.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class ObfFile { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/ObfInfo.java b/JNI/src/jni/ObfInfo.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/ObfInfo.java rename to JNI/src/jni/ObfInfo.java index 576a6e62ae..d908bfd46a 100644 --- a/OsmAnd/src/net/osmand/core/jni/ObfInfo.java +++ b/JNI/src/jni/ObfInfo.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class ObfInfo { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/ObfMapSectionDataBlockId.java b/JNI/src/jni/ObfMapSectionDataBlockId.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/ObfMapSectionDataBlockId.java rename to JNI/src/jni/ObfMapSectionDataBlockId.java index 6f0c05b98a..1a29881e9e 100644 --- a/OsmAnd/src/net/osmand/core/jni/ObfMapSectionDataBlockId.java +++ b/JNI/src/jni/ObfMapSectionDataBlockId.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class ObfMapSectionDataBlockId { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/ObfRoutingSectionDataBlockId.java b/JNI/src/jni/ObfRoutingSectionDataBlockId.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/ObfRoutingSectionDataBlockId.java rename to JNI/src/jni/ObfRoutingSectionDataBlockId.java index 0e75a595a5..2894391694 100644 --- a/OsmAnd/src/net/osmand/core/jni/ObfRoutingSectionDataBlockId.java +++ b/JNI/src/jni/ObfRoutingSectionDataBlockId.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class ObfRoutingSectionDataBlockId { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/ObfsCollection.java b/JNI/src/jni/ObfsCollection.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/ObfsCollection.java rename to JNI/src/jni/ObfsCollection.java index 584b0ae20c..2e59af75ef 100644 --- a/OsmAnd/src/net/osmand/core/jni/ObfsCollection.java +++ b/JNI/src/jni/ObfsCollection.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class ObfsCollection extends IObfsCollection { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/OnlineRasterMapTileProvider.java b/JNI/src/jni/OnlineRasterMapTileProvider.java similarity index 99% rename from OsmAnd/src/net/osmand/core/jni/OnlineRasterMapTileProvider.java rename to JNI/src/jni/OnlineRasterMapTileProvider.java index 0a34139888..d21e6633ba 100644 --- a/OsmAnd/src/net/osmand/core/jni/OnlineRasterMapTileProvider.java +++ b/JNI/src/jni/OnlineRasterMapTileProvider.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class OnlineRasterMapTileProvider extends IMapRasterBitmapTileProvider { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/OnlineTileSources.java b/JNI/src/jni/OnlineTileSources.java similarity index 99% rename from OsmAnd/src/net/osmand/core/jni/OnlineTileSources.java rename to JNI/src/jni/OnlineTileSources.java index 5ae525cff4..060d0c5ca6 100644 --- a/OsmAnd/src/net/osmand/core/jni/OnlineTileSources.java +++ b/JNI/src/jni/OnlineTileSources.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class OnlineTileSources extends IOnlineTileSources { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/OsmAndCore.java b/JNI/src/jni/OsmAndCore.java similarity index 99% rename from OsmAnd/src/net/osmand/core/jni/OsmAndCore.java rename to JNI/src/jni/OsmAndCore.java index 4ecc8a7245..9851d55f1e 100644 --- a/OsmAnd/src/net/osmand/core/jni/OsmAndCore.java +++ b/JNI/src/jni/OsmAndCore.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class OsmAndCore implements OsmAndCoreConstants { public static boolean InitializeCore(ICoreResourcesProvider coreResourcesProvider) { diff --git a/OsmAnd/src/net/osmand/core/jni/OsmAndCoreConstants.java b/JNI/src/jni/OsmAndCoreConstants.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/OsmAndCoreConstants.java rename to JNI/src/jni/OsmAndCoreConstants.java index 4051c2b106..f3bdc6c305 100644 --- a/OsmAnd/src/net/osmand/core/jni/OsmAndCoreConstants.java +++ b/JNI/src/jni/OsmAndCoreConstants.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public interface OsmAndCoreConstants { public final static int OSMAND_DEBUG = OsmAndCoreJNI.OSMAND_DEBUG_get(); diff --git a/OsmAnd/src/net/osmand/core/jni/OsmAndCoreJNI.java b/JNI/src/jni/OsmAndCoreJNI.java similarity index 99% rename from OsmAnd/src/net/osmand/core/jni/OsmAndCoreJNI.java rename to JNI/src/jni/OsmAndCoreJNI.java index ab8f3617d5..55c5654fcb 100644 --- a/OsmAnd/src/net/osmand/core/jni/OsmAndCoreJNI.java +++ b/JNI/src/jni/OsmAndCoreJNI.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class OsmAndCoreJNI { public final static native long new_BoolPtr(); diff --git a/OsmAnd/src/net/osmand/core/jni/PointD.java b/JNI/src/jni/PointD.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/PointD.java rename to JNI/src/jni/PointD.java index 81754b93a0..d505b348ef 100644 --- a/OsmAnd/src/net/osmand/core/jni/PointD.java +++ b/JNI/src/jni/PointD.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class PointD { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/PointF.java b/JNI/src/jni/PointF.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/PointF.java rename to JNI/src/jni/PointF.java index 1de2b701fd..ac9a2fb93d 100644 --- a/OsmAnd/src/net/osmand/core/jni/PointF.java +++ b/JNI/src/jni/PointF.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class PointF { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/PointI.java b/JNI/src/jni/PointI.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/PointI.java rename to JNI/src/jni/PointI.java index dee565e5f3..c85b3e8bd1 100644 --- a/OsmAnd/src/net/osmand/core/jni/PointI.java +++ b/JNI/src/jni/PointI.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class PointI { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/Primitiviser.java b/JNI/src/jni/Primitiviser.java similarity index 99% rename from OsmAnd/src/net/osmand/core/jni/Primitiviser.java rename to JNI/src/jni/Primitiviser.java index a59049a606..b96545da40 100644 --- a/OsmAnd/src/net/osmand/core/jni/Primitiviser.java +++ b/JNI/src/jni/Primitiviser.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class Primitiviser { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/QIODeviceLogSink.java b/JNI/src/jni/QIODeviceLogSink.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/QIODeviceLogSink.java rename to JNI/src/jni/QIODeviceLogSink.java index 73d7f7d800..077f57dd33 100644 --- a/OsmAnd/src/net/osmand/core/jni/QIODeviceLogSink.java +++ b/JNI/src/jni/QIODeviceLogSink.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class QIODeviceLogSink extends ILogSink { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/QStringList.java b/JNI/src/jni/QStringList.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/QStringList.java rename to JNI/src/jni/QStringList.java index 6288c563de..7573f830c6 100644 --- a/OsmAnd/src/net/osmand/core/jni/QStringList.java +++ b/JNI/src/jni/QStringList.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class QStringList { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/Quadrant.java b/JNI/src/jni/Quadrant.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/Quadrant.java rename to JNI/src/jni/Quadrant.java index 908d1b71de..6912f5c9b5 100644 --- a/OsmAnd/src/net/osmand/core/jni/Quadrant.java +++ b/JNI/src/jni/Quadrant.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public enum Quadrant { NE(OsmAndCoreJNI.Quadrant_NE_get()), diff --git a/OsmAnd/src/net/osmand/core/jni/RasterBitmapTile.java b/JNI/src/jni/RasterBitmapTile.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/RasterBitmapTile.java rename to JNI/src/jni/RasterBitmapTile.java index a705af18d7..77d8c1653c 100644 --- a/OsmAnd/src/net/osmand/core/jni/RasterBitmapTile.java +++ b/JNI/src/jni/RasterBitmapTile.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class RasterBitmapTile extends MapTiledData { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/RasterMapLayerId.java b/JNI/src/jni/RasterMapLayerId.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/RasterMapLayerId.java rename to JNI/src/jni/RasterMapLayerId.java index 8e9f7c32e6..976b604ed5 100644 --- a/OsmAnd/src/net/osmand/core/jni/RasterMapLayerId.java +++ b/JNI/src/jni/RasterMapLayerId.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public enum RasterMapLayerId { Invalid(OsmAndCoreJNI.RasterMapLayerId_Invalid_get()), diff --git a/OsmAnd/src/net/osmand/core/jni/ResolvedMapStyle.java b/JNI/src/jni/ResolvedMapStyle.java similarity index 99% rename from OsmAnd/src/net/osmand/core/jni/ResolvedMapStyle.java rename to JNI/src/jni/ResolvedMapStyle.java index c5b2fce392..fed1068de3 100644 --- a/OsmAnd/src/net/osmand/core/jni/ResolvedMapStyle.java +++ b/JNI/src/jni/ResolvedMapStyle.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class ResolvedMapStyle { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/ResourcesManager.java b/JNI/src/jni/ResourcesManager.java similarity index 99% rename from OsmAnd/src/net/osmand/core/jni/ResourcesManager.java rename to JNI/src/jni/ResourcesManager.java index 59084dd22c..454207ff41 100644 --- a/OsmAnd/src/net/osmand/core/jni/ResourcesManager.java +++ b/JNI/src/jni/ResourcesManager.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class ResourcesManager { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/RoutingDataLevel.java b/JNI/src/jni/RoutingDataLevel.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/RoutingDataLevel.java rename to JNI/src/jni/RoutingDataLevel.java index 7256a63d21..6bd0c3da22 100644 --- a/OsmAnd/src/net/osmand/core/jni/RoutingDataLevel.java +++ b/JNI/src/jni/RoutingDataLevel.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public enum RoutingDataLevel { Basemap, diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapDataProvider_Metrics__Metric_obtainData.java b/JNI/src/jni/SWIGTYPE_p_BinaryMapDataProvider_Metrics__Metric_obtainData.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapDataProvider_Metrics__Metric_obtainData.java rename to JNI/src/jni/SWIGTYPE_p_BinaryMapDataProvider_Metrics__Metric_obtainData.java index ea330851bb..f97721648a 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapDataProvider_Metrics__Metric_obtainData.java +++ b/JNI/src/jni/SWIGTYPE_p_BinaryMapDataProvider_Metrics__Metric_obtainData.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_BinaryMapDataProvider_Metrics__Metric_obtainData { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapPrimitivesProvider_Metrics__Metric_obtainData.java b/JNI/src/jni/SWIGTYPE_p_BinaryMapPrimitivesProvider_Metrics__Metric_obtainData.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapPrimitivesProvider_Metrics__Metric_obtainData.java rename to JNI/src/jni/SWIGTYPE_p_BinaryMapPrimitivesProvider_Metrics__Metric_obtainData.java index 8bf4c18211..9142a16516 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapPrimitivesProvider_Metrics__Metric_obtainData.java +++ b/JNI/src/jni/SWIGTYPE_p_BinaryMapPrimitivesProvider_Metrics__Metric_obtainData.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_BinaryMapPrimitivesProvider_Metrics__Metric_obtainData { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapRasterBitmapTileProvider_Metrics__Metric_obtainData.java b/JNI/src/jni/SWIGTYPE_p_BinaryMapRasterBitmapTileProvider_Metrics__Metric_obtainData.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapRasterBitmapTileProvider_Metrics__Metric_obtainData.java rename to JNI/src/jni/SWIGTYPE_p_BinaryMapRasterBitmapTileProvider_Metrics__Metric_obtainData.java index be22bdac64..157c627e7f 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapRasterBitmapTileProvider_Metrics__Metric_obtainData.java +++ b/JNI/src/jni/SWIGTYPE_p_BinaryMapRasterBitmapTileProvider_Metrics__Metric_obtainData.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_BinaryMapRasterBitmapTileProvider_Metrics__Metric_obtainData { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_FilterMapObjectsByIdFunction.java b/JNI/src/jni/SWIGTYPE_p_FilterMapObjectsByIdFunction.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_FilterMapObjectsByIdFunction.java rename to JNI/src/jni/SWIGTYPE_p_FilterMapObjectsByIdFunction.java index 0ceed6a101..998d0cbcb0 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_FilterMapObjectsByIdFunction.java +++ b/JNI/src/jni/SWIGTYPE_p_FilterMapObjectsByIdFunction.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_FilterMapObjectsByIdFunction { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_FilterRoadsByIdFunction.java b/JNI/src/jni/SWIGTYPE_p_FilterRoadsByIdFunction.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_FilterRoadsByIdFunction.java rename to JNI/src/jni/SWIGTYPE_p_FilterRoadsByIdFunction.java index 59e672076b..63ec919a52 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_FilterRoadsByIdFunction.java +++ b/JNI/src/jni/SWIGTYPE_p_FilterRoadsByIdFunction.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_FilterRoadsByIdFunction { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_IOnPathMapSymbol__PinPoint.java b/JNI/src/jni/SWIGTYPE_p_IOnPathMapSymbol__PinPoint.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_IOnPathMapSymbol__PinPoint.java rename to JNI/src/jni/SWIGTYPE_p_IOnPathMapSymbol__PinPoint.java index 3e3e70bbc8..c552078219 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_IOnPathMapSymbol__PinPoint.java +++ b/JNI/src/jni/SWIGTYPE_p_IOnPathMapSymbol__PinPoint.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_IOnPathMapSymbol__PinPoint { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_MapFoundationType.java b/JNI/src/jni/SWIGTYPE_p_MapFoundationType.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_MapFoundationType.java rename to JNI/src/jni/SWIGTYPE_p_MapFoundationType.java index 8c19f17710..efc3306e91 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_MapFoundationType.java +++ b/JNI/src/jni/SWIGTYPE_p_MapFoundationType.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_MapFoundationType { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_MapStyleEvaluationResult.java b/JNI/src/jni/SWIGTYPE_p_MapStyleEvaluationResult.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_MapStyleEvaluationResult.java rename to JNI/src/jni/SWIGTYPE_p_MapStyleEvaluationResult.java index d4f899400f..a7d3e85ca2 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_MapStyleEvaluationResult.java +++ b/JNI/src/jni/SWIGTYPE_p_MapStyleEvaluationResult.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_MapStyleEvaluationResult { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache.java b/JNI/src/jni/SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache.java rename to JNI/src/jni/SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache.java index fbf253f0e9..ec09d9fb2d 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache.java +++ b/JNI/src/jni/SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader_Metrics__Metric_loadRoads.java b/JNI/src/jni/SWIGTYPE_p_ObfRoutingSectionReader_Metrics__Metric_loadRoads.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader_Metrics__Metric_loadRoads.java rename to JNI/src/jni/SWIGTYPE_p_ObfRoutingSectionReader_Metrics__Metric_loadRoads.java index a20bc22497..319e0c7c7e 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader_Metrics__Metric_loadRoads.java +++ b/JNI/src/jni/SWIGTYPE_p_ObfRoutingSectionReader_Metrics__Metric_loadRoads.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_ObfRoutingSectionReader_Metrics__Metric_loadRoads { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache.java b/JNI/src/jni/SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache.java rename to JNI/src/jni/SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache.java index 046ecc04f6..c8b6d0ab89 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache.java +++ b/JNI/src/jni/SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction.java b/JNI/src/jni/SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction.java rename to JNI/src/jni/SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction.java index 75c7e58963..f286903143 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction.java +++ b/JNI/src/jni/SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT.java b/JNI/src/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT.java rename to JNI/src/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT.java index 4b72f67b6e..ec7b5ab499 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT.java +++ b/JNI/src/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__IntersectionProcessingModeFlag_unsigned_int_t.java b/JNI/src/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__IntersectionProcessingModeFlag_unsigned_int_t.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__IntersectionProcessingModeFlag_unsigned_int_t.java rename to JNI/src/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__IntersectionProcessingModeFlag_unsigned_int_t.java index 7ecc3da9b2..30774c865e 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__IntersectionProcessingModeFlag_unsigned_int_t.java +++ b/JNI/src/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__IntersectionProcessingModeFlag_unsigned_int_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__IntersectionProcessingModeFlag_unsigned_int_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__PresentationModeFlag_unsigned_int_t.java b/JNI/src/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__PresentationModeFlag_unsigned_int_t.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__PresentationModeFlag_unsigned_int_t.java rename to JNI/src/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__PresentationModeFlag_unsigned_int_t.java index f0fa3d00f1..7545b30f7a 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__PresentationModeFlag_unsigned_int_t.java +++ b/JNI/src/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__PresentationModeFlag_unsigned_int_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__PresentationModeFlag_unsigned_int_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__FramePreparedObserver.java b/JNI/src/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__FramePreparedObserver.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__FramePreparedObserver.java rename to JNI/src/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__FramePreparedObserver.java index c0f96f6ca9..e84749bd10 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__FramePreparedObserver.java +++ b/JNI/src/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__FramePreparedObserver.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_OsmAnd__IMapRenderer__FramePreparedObserver { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__StateChangeObserver.java b/JNI/src/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__StateChangeObserver.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__StateChangeObserver.java rename to JNI/src/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__StateChangeObserver.java index ca13188795..1f38acaa9d 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__StateChangeObserver.java +++ b/JNI/src/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__StateChangeObserver.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_OsmAnd__IMapRenderer__StateChangeObserver { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IQueryController.java b/JNI/src/jni/SWIGTYPE_p_OsmAnd__IQueryController.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IQueryController.java rename to JNI/src/jni/SWIGTYPE_p_OsmAnd__IQueryController.java index a148649ae1..8c1bc6c3ee 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IQueryController.java +++ b/JNI/src/jni/SWIGTYPE_p_OsmAnd__IQueryController.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_OsmAnd__IQueryController { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback.java b/JNI/src/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback.java rename to JNI/src/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback.java index 46e77b509c..8a522a4261 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback.java +++ b/JNI/src/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue.java b/JNI/src/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue.java rename to JNI/src/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue.java index 56a59ad225..8a1e369664 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue.java +++ b/JNI/src/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue.java b/JNI/src/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue.java rename to JNI/src/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue.java index 40b5bbfac2..80cd81f849 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue.java +++ b/JNI/src/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapStyleEvaluator.java b/JNI/src/jni/SWIGTYPE_p_OsmAnd__MapStyleEvaluator.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapStyleEvaluator.java rename to JNI/src/jni/SWIGTYPE_p_OsmAnd__MapStyleEvaluator.java index fd7f68eee6..b065f85ce4 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapStyleEvaluator.java +++ b/JNI/src/jni/SWIGTYPE_p_OsmAnd__MapStyleEvaluator.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_OsmAnd__MapStyleEvaluator { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObfMapSectionReader_Metrics__Metric_loadMapObjects.java b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObfMapSectionReader_Metrics__Metric_loadMapObjects.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObfMapSectionReader_Metrics__Metric_loadMapObjects.java rename to JNI/src/jni/SWIGTYPE_p_OsmAnd__ObfMapSectionReader_Metrics__Metric_loadMapObjects.java index 3d290c9375..de5448a5cb 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObfMapSectionReader_Metrics__Metric_loadMapObjects.java +++ b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObfMapSectionReader_Metrics__Metric_loadMapObjects.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_OsmAnd__ObfMapSectionReader_Metrics__Metric_loadMapObjects { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__FramePreparedObserver_t.java b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__FramePreparedObserver_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__FramePreparedObserver_t.java rename to JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__FramePreparedObserver_t.java index 36fa8599cd..9611cb5daa 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__FramePreparedObserver_t.java +++ b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__FramePreparedObserver_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__FramePreparedObserver_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t.java b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t.java rename to JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t.java index d3cd440a8d..2e3f116efa 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t.java +++ b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t__Tag.java b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t__Tag.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t__Tag.java rename to JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t__Tag.java index 3750d3471b..1f71ab6ae2 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t__Tag.java +++ b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t__Tag.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t__Tag { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t.java b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t.java rename to JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t.java index bd54a3052e..689ba215da 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t.java +++ b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t__Tag.java b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t__Tag.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t__Tag.java rename to JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t__Tag.java index 6c981c0a17..956dd3a8ce 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t__Tag.java +++ b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t__Tag.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t__Tag { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__StateChangeObserver_t.java b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__StateChangeObserver_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__StateChangeObserver_t.java rename to JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__StateChangeObserver_t.java index 6faf58a04f..78feec5f91 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__StateChangeObserver_t.java +++ b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__StateChangeObserver_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__StateChangeObserver_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t.java b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t.java rename to JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t.java index 1202e11788..481874efae 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t.java +++ b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t__Tag.java b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t__Tag.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t__Tag.java rename to JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t__Tag.java index 3cc278961c..7a7f604a7a 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t__Tag.java +++ b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t__Tag.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t__Tag { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t.java b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t.java rename to JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t.java index c6c9b6479a..6cc37369f4 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t.java +++ b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t__Tag.java b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t__Tag.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t__Tag.java rename to JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t__Tag.java index 209bd1f7f4..341b1e6028 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t__Tag.java +++ b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t__Tag.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t__Tag { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__LocalResourcesChanged_t.java b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__LocalResourcesChanged_t.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__LocalResourcesChanged_t.java rename to JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__LocalResourcesChanged_t.java index a6f1a56a1b..673b4dbc20 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__LocalResourcesChanged_t.java +++ b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__LocalResourcesChanged_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__LocalResourcesChanged_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__RepositoryUpdated_t.java b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__RepositoryUpdated_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__RepositoryUpdated_t.java rename to JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__RepositoryUpdated_t.java index d8575743bd..01ee04c0a0 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__RepositoryUpdated_t.java +++ b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__RepositoryUpdated_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__RepositoryUpdated_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__PointT_long_long_t.java b/JNI/src/jni/SWIGTYPE_p_OsmAnd__PointT_long_long_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__PointT_long_long_t.java rename to JNI/src/jni/SWIGTYPE_p_OsmAnd__PointT_long_long_t.java index c5dd056248..e0a2edda2d 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__PointT_long_long_t.java +++ b/JNI/src/jni/SWIGTYPE_p_OsmAnd__PointT_long_long_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_OsmAnd__PointT_long_long_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__LocalResourcesChanged.java b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__LocalResourcesChanged.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__LocalResourcesChanged.java rename to JNI/src/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__LocalResourcesChanged.java index b45660f9a5..44889b7bbd 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__LocalResourcesChanged.java +++ b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__LocalResourcesChanged.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_OsmAnd__ResourcesManager__LocalResourcesChanged { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__RepositoryUpdated.java b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__RepositoryUpdated.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__RepositoryUpdated.java rename to JNI/src/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__RepositoryUpdated.java index 5059ab69c5..cc8231e1dc 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__RepositoryUpdated.java +++ b/JNI/src/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__RepositoryUpdated.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_OsmAnd__ResourcesManager__RepositoryUpdated { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_Primitiviser_Metrics__Metric_primitivise.java b/JNI/src/jni/SWIGTYPE_p_Primitiviser_Metrics__Metric_primitivise.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_Primitiviser_Metrics__Metric_primitivise.java rename to JNI/src/jni/SWIGTYPE_p_Primitiviser_Metrics__Metric_primitivise.java index ed3fd0a0c1..6098d61b03 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_Primitiviser_Metrics__Metric_primitivise.java +++ b/JNI/src/jni/SWIGTYPE_p_Primitiviser_Metrics__Metric_primitivise.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_Primitiviser_Metrics__Metric_primitivise { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QByteArray.java b/JNI/src/jni/SWIGTYPE_p_QByteArray.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QByteArray.java rename to JNI/src/jni/SWIGTYPE_p_QByteArray.java index 28d552c601..d44d2dde87 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QByteArray.java +++ b/JNI/src/jni/SWIGTYPE_p_QByteArray.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QByteArray { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QDir.java b/JNI/src/jni/SWIGTYPE_p_QDir.java similarity index 95% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QDir.java rename to JNI/src/jni/SWIGTYPE_p_QDir.java index 25cbcefb38..2f2b0d5394 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QDir.java +++ b/JNI/src/jni/SWIGTYPE_p_QDir.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QDir { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QFileInfo.java b/JNI/src/jni/SWIGTYPE_p_QFileInfo.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QFileInfo.java rename to JNI/src/jni/SWIGTYPE_p_QFileInfo.java index 3968af23d5..d78e588b0f 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QFileInfo.java +++ b/JNI/src/jni/SWIGTYPE_p_QFileInfo.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QFileInfo { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QFileInfoList.java b/JNI/src/jni/SWIGTYPE_p_QFileInfoList.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QFileInfoList.java rename to JNI/src/jni/SWIGTYPE_p_QFileInfoList.java index 8f8d655d35..62fee04fce 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QFileInfoList.java +++ b/JNI/src/jni/SWIGTYPE_p_QFileInfoList.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QFileInfoList { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_OsmAnd__TagValueId_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Rule_const_t_t.java b/JNI/src/jni/SWIGTYPE_p_QHashT_OsmAnd__TagValueId_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Rule_const_t_t.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_OsmAnd__TagValueId_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Rule_const_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QHashT_OsmAnd__TagValueId_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Rule_const_t_t.java index 940ff65657..98206f9cc6 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_OsmAnd__TagValueId_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Rule_const_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QHashT_OsmAnd__TagValueId_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Rule_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QHashT_OsmAnd__TagValueId_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Rule_const_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_QString_t.java b/JNI/src/jni/SWIGTYPE_p_QHashT_QString_QString_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_QString_t.java rename to JNI/src/jni/SWIGTYPE_p_QHashT_QString_QString_t.java index 61d749d4f8..d401659cab 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_QString_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QHashT_QString_QString_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QHashT_QString_QString_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__IOnlineTileSources__Source_const_t_t.java b/JNI/src/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__IOnlineTileSources__Source_const_t_t.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__IOnlineTileSources__Source_const_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__IOnlineTileSources__Source_const_t_t.java index fc0e4cb11d..956624e708 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__IOnlineTileSources__Source_const_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__IOnlineTileSources__Source_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__IOnlineTileSources__Source_const_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__BuiltinResource_const_t_t.java b/JNI/src/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__BuiltinResource_const_t_t.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__BuiltinResource_const_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__BuiltinResource_const_t_t.java index 8d2079eb01..1ed7534f43 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__BuiltinResource_const_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__BuiltinResource_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__BuiltinResource_const_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__LocalResource_const_t_t.java b/JNI/src/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__LocalResource_const_t_t.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__LocalResource_const_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__LocalResource_const_t_t.java index e21ebe6670..570c76db92 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__LocalResource_const_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__LocalResource_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__LocalResource_const_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__ResourceInRepository_const_t_t.java b/JNI/src/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__ResourceInRepository_const_t_t.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__ResourceInRepository_const_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__ResourceInRepository_const_t_t.java index 925179207b..9a7167d355 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__ResourceInRepository_const_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__ResourceInRepository_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__ResourceInRepository_const_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_int_OsmAnd__MapStyleConstantValue_t.java b/JNI/src/jni/SWIGTYPE_p_QHashT_int_OsmAnd__MapStyleConstantValue_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_int_OsmAnd__MapStyleConstantValue_t.java rename to JNI/src/jni/SWIGTYPE_p_QHashT_int_OsmAnd__MapStyleConstantValue_t.java index e549e6a382..19d3b28848 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_int_OsmAnd__MapStyleConstantValue_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QHashT_int_OsmAnd__MapStyleConstantValue_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QHashT_int_OsmAnd__MapStyleConstantValue_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_int_OsmAnd__ResolvedMapStyle__ResolvedValue_t.java b/JNI/src/jni/SWIGTYPE_p_QHashT_int_OsmAnd__ResolvedMapStyle__ResolvedValue_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_int_OsmAnd__ResolvedMapStyle__ResolvedValue_t.java rename to JNI/src/jni/SWIGTYPE_p_QHashT_int_OsmAnd__ResolvedMapStyle__ResolvedValue_t.java index 88831b7e25..128a35e539 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_int_OsmAnd__ResolvedMapStyle__ResolvedValue_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QHashT_int_OsmAnd__ResolvedMapStyle__ResolvedValue_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QHashT_int_OsmAnd__ResolvedMapStyle__ResolvedValue_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapSymbol_t_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalSymbolInstanceParameters_t_t.java b/JNI/src/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapSymbol_t_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalSymbolInstanceParameters_t_t.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapSymbol_t_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalSymbolInstanceParameters_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapSymbol_t_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalSymbolInstanceParameters_t_t.java index b2f5d5c1dc..a8abce5e8a 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapSymbol_t_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalSymbolInstanceParameters_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapSymbol_t_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalSymbolInstanceParameters_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapSymbol_t_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalSymbolInstanceParameters_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_std__shared_ptrT_OsmAnd__Primitiviser__SymbolsGroup_const_t_t.java b/JNI/src/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_std__shared_ptrT_OsmAnd__Primitiviser__SymbolsGroup_const_t_t.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_std__shared_ptrT_OsmAnd__Primitiviser__SymbolsGroup_const_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_std__shared_ptrT_OsmAnd__Primitiviser__SymbolsGroup_const_t_t.java index 08ae03dd21..7314ffb56b 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_std__shared_ptrT_OsmAnd__Primitiviser__SymbolsGroup_const_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_std__shared_ptrT_OsmAnd__Primitiviser__SymbolsGroup_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_std__shared_ptrT_OsmAnd__Primitiviser__SymbolsGroup_const_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QIODevice.java b/JNI/src/jni/SWIGTYPE_p_QIODevice.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QIODevice.java rename to JNI/src/jni/SWIGTYPE_p_QIODevice.java index f3e1e7250e..c698c2f992 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QIODevice.java +++ b/JNI/src/jni/SWIGTYPE_p_QIODevice.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QIODevice { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t.java b/JNI/src/jni/SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t.java rename to JNI/src/jni/SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t.java index 8192943559..e17d29a56a 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfFile_const_t_t.java b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfFile_const_t_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfFile_const_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfFile_const_t_t.java index d3aa18bf2e..c0b1a28a36 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfFile_const_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfFile_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_ObfFile_const_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t.java b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t.java index 76fc8490ac..2e565878c1 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t.java b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t.java index a43f7e7aa9..8ccbc67082 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t.java b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t.java index 5dfed2bd6d..4a6eee4d06 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_const_t_t.java b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_const_t_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_const_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_const_t_t.java index 0e2d70d7ac..79dec79fbe 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_const_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_const_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t.java b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t.java index 306846daaa..4b30bec551 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalInstance_t_t.java b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalInstance_t_t.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalInstance_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalInstance_t_t.java index bc3ae30df3..b9d5119cdb 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalInstance_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalInstance_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalInstance_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t.java b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t.java index 0fc8dd64e0..418bbc5df0 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.java b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.java index b60f39dc53..b3caea8d7b 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t.java b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t.java index 294e7ef0e7..e34b7aef0f 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfAddressSectionInfo_t_t.java b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfAddressSectionInfo_t_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfAddressSectionInfo_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfAddressSectionInfo_t_t.java index 16b87a7688..7ce1d02354 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfAddressSectionInfo_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfAddressSectionInfo_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfAddressSectionInfo_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t.java b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t.java index 43c705693d..ed9c224e59 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_t_t.java b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_t_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_t_t.java index f8733e7e01..57b774d71c 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfPoiSectionInfo_t_t.java b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfPoiSectionInfo_t_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfPoiSectionInfo_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfPoiSectionInfo_t_t.java index a52cfa5461..be494fb9e8 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfPoiSectionInfo_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfPoiSectionInfo_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfPoiSectionInfo_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfReader_const_t_t.java b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfReader_const_t_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfReader_const_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfReader_const_t_t.java index 20aa237386..89e671ab91 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfReader_const_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfReader_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfReader_const_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfRoutingSectionInfo_t_t.java b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfRoutingSectionInfo_t_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfRoutingSectionInfo_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfRoutingSectionInfo_t_t.java index 28b0eeb3fb..e073d8dd08 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfRoutingSectionInfo_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfRoutingSectionInfo_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfRoutingSectionInfo_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfTransportSectionInfo_t_t.java b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfTransportSectionInfo_t_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfTransportSectionInfo_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfTransportSectionInfo_t_t.java index 6b051d0a63..527c2b663c 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfTransportSectionInfo_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfTransportSectionInfo_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfTransportSectionInfo_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t.java b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t.java index 93093decc9..23c7cf3561 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t_t.java b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t_t.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t_t.java index db64ce7205..e2e06aca8e 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t.java b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t.java index 2c94c81f95..962f9fdbcc 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t.java b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t.java index 70d4ea0a96..a63dd3ad56 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t.java b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t.java index 3540b2d2b6..d19b70b34c 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_void_const_p_t.java b/JNI/src/jni/SWIGTYPE_p_QListT_void_const_p_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_void_const_p_t.java rename to JNI/src/jni/SWIGTYPE_p_QListT_void_const_p_t.java index 9b6ac4edb6..2a8575f8cc 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QListT_void_const_p_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QListT_void_const_p_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QListT_void_const_p_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t.java b/JNI/src/jni/SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t.java rename to JNI/src/jni/SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t.java index 8922fc707e..4dd200ecfd 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_QString_t.java b/JNI/src/jni/SWIGTYPE_p_QSetT_QString_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_QString_t.java rename to JNI/src/jni/SWIGTYPE_p_QSetT_QString_t.java index bb01087b32..afa338a258 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_QString_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QSetT_QString_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QSetT_QString_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_int_t.java b/JNI/src/jni/SWIGTYPE_p_QSetT_int_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_int_t.java rename to JNI/src/jni/SWIGTYPE_p_QSetT_int_t.java index fcc04c314d..0fa8ffd3ce 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_int_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QSetT_int_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QSetT_int_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__ILogSink_t_t.java b/JNI/src/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__ILogSink_t_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__ILogSink_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__ILogSink_t_t.java index 7d4b80c475..06c21aadf7 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__ILogSink_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__ILogSink_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__ILogSink_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__IMapDataProvider_t_t.java b/JNI/src/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__IMapDataProvider_t_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__IMapDataProvider_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__IMapDataProvider_t_t.java index 23caeb7185..3467f4320f 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__IMapDataProvider_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__IMapDataProvider_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__IMapDataProvider_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QStringList.java b/JNI/src/jni/SWIGTYPE_p_QStringList.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QStringList.java rename to JNI/src/jni/SWIGTYPE_p_QStringList.java index 8c3ea4236c..e7b202fd08 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QStringList.java +++ b/JNI/src/jni/SWIGTYPE_p_QStringList.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QStringList { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QUrl.java b/JNI/src/jni/SWIGTYPE_p_QUrl.java similarity index 95% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QUrl.java rename to JNI/src/jni/SWIGTYPE_p_QUrl.java index 63dfb708b0..4fa47d8701 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QUrl.java +++ b/JNI/src/jni/SWIGTYPE_p_QUrl.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QUrl { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QVectorT_OsmAnd__PointT_int32_t_t_t.java b/JNI/src/jni/SWIGTYPE_p_QVectorT_OsmAnd__PointT_int32_t_t_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QVectorT_OsmAnd__PointT_int32_t_t_t.java rename to JNI/src/jni/SWIGTYPE_p_QVectorT_OsmAnd__PointT_int32_t_t_t.java index c684ad9ed9..ab702882aa 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_QVectorT_OsmAnd__PointT_int32_t_t_t.java +++ b/JNI/src/jni/SWIGTYPE_p_QVectorT_OsmAnd__PointT_int32_t_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_QVectorT_OsmAnd__PointT_int32_t_t_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_RoutingDataLevel.java b/JNI/src/jni/SWIGTYPE_p_RoutingDataLevel.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_RoutingDataLevel.java rename to JNI/src/jni/SWIGTYPE_p_RoutingDataLevel.java index 1815140f7d..4631a7a831 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_RoutingDataLevel.java +++ b/JNI/src/jni/SWIGTYPE_p_RoutingDataLevel.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_RoutingDataLevel { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java b/JNI/src/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java rename to JNI/src/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java index dd6a313ebe..67353a66d7 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java +++ b/JNI/src/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__PrimitivesGroup_const_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__SymbolsGroup_const_t.java b/JNI/src/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__SymbolsGroup_const_t.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__SymbolsGroup_const_t.java rename to JNI/src/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__SymbolsGroup_const_t.java index 3f8559022e..0beb1994d1 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__SymbolsGroup_const_t.java +++ b/JNI/src/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__SymbolsGroup_const_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__SymbolsGroup_const_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_WebClient__RequestProgressCallbackSignature.java b/JNI/src/jni/SWIGTYPE_p_WebClient__RequestProgressCallbackSignature.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_WebClient__RequestProgressCallbackSignature.java rename to JNI/src/jni/SWIGTYPE_p_WebClient__RequestProgressCallbackSignature.java index 8a3cb02d60..d496306e06 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_WebClient__RequestProgressCallbackSignature.java +++ b/JNI/src/jni/SWIGTYPE_p_WebClient__RequestProgressCallbackSignature.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_WebClient__RequestProgressCallbackSignature { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_bool.java b/JNI/src/jni/SWIGTYPE_p_bool.java similarity index 95% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_bool.java rename to JNI/src/jni/SWIGTYPE_p_bool.java index 2827affb3b..4411854594 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_bool.java +++ b/JNI/src/jni/SWIGTYPE_p_bool.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_bool { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_double.java b/JNI/src/jni/SWIGTYPE_p_double.java similarity index 95% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_double.java rename to JNI/src/jni/SWIGTYPE_p_double.java index 68a9877e20..c8bcb7b219 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_double.java +++ b/JNI/src/jni/SWIGTYPE_p_double.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_double { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_float.java b/JNI/src/jni/SWIGTYPE_p_float.java similarity index 95% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_float.java rename to JNI/src/jni/SWIGTYPE_p_float.java index 7a74938abd..ea49ae2408 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_float.java +++ b/JNI/src/jni/SWIGTYPE_p_float.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_float { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_int.java b/JNI/src/jni/SWIGTYPE_p_int.java similarity index 95% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_int.java rename to JNI/src/jni/SWIGTYPE_p_int.java index 603738eca8..a202d63c08 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_int.java +++ b/JNI/src/jni/SWIGTYPE_p_int.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_int { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__arrayT_float_OsmAnd__RasterMapLayersCount_t.java b/JNI/src/jni/SWIGTYPE_p_std__arrayT_float_OsmAnd__RasterMapLayersCount_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__arrayT_float_OsmAnd__RasterMapLayersCount_t.java rename to JNI/src/jni/SWIGTYPE_p_std__arrayT_float_OsmAnd__RasterMapLayersCount_t.java index c4265dcc2e..0817b0b994 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__arrayT_float_OsmAnd__RasterMapLayersCount_t.java +++ b/JNI/src/jni/SWIGTYPE_p_std__arrayT_float_OsmAnd__RasterMapLayersCount_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_std__arrayT_float_OsmAnd__RasterMapLayersCount_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__arrayT_std__shared_ptrT_OsmAnd__IMapRasterBitmapTileProvider_t_OsmAnd__RasterMapLayersCount_t.java b/JNI/src/jni/SWIGTYPE_p_std__arrayT_std__shared_ptrT_OsmAnd__IMapRasterBitmapTileProvider_t_OsmAnd__RasterMapLayersCount_t.java similarity index 97% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__arrayT_std__shared_ptrT_OsmAnd__IMapRasterBitmapTileProvider_t_OsmAnd__RasterMapLayersCount_t.java rename to JNI/src/jni/SWIGTYPE_p_std__arrayT_std__shared_ptrT_OsmAnd__IMapRasterBitmapTileProvider_t_OsmAnd__RasterMapLayersCount_t.java index 708d1ac238..3ed3595c5a 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__arrayT_std__shared_ptrT_OsmAnd__IMapRasterBitmapTileProvider_t_OsmAnd__RasterMapLayersCount_t.java +++ b/JNI/src/jni/SWIGTYPE_p_std__arrayT_std__shared_ptrT_OsmAnd__IMapRasterBitmapTileProvider_t_OsmAnd__RasterMapLayersCount_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_std__arrayT_std__shared_ptrT_OsmAnd__IMapRasterBitmapTileProvider_t_OsmAnd__RasterMapLayersCount_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__functionT_void_fOsmAnd__PointT_int_t_const_RF_t.java b/JNI/src/jni/SWIGTYPE_p_std__functionT_void_fOsmAnd__PointT_int_t_const_RF_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__functionT_void_fOsmAnd__PointT_int_t_const_RF_t.java rename to JNI/src/jni/SWIGTYPE_p_std__functionT_void_fOsmAnd__PointT_int_t_const_RF_t.java index 15b13aba75..d923588190 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__functionT_void_fOsmAnd__PointT_int_t_const_RF_t.java +++ b/JNI/src/jni/SWIGTYPE_p_std__functionT_void_fOsmAnd__PointT_int_t_const_RF_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_std__functionT_void_fOsmAnd__PointT_int_t_const_RF_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t.java b/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t.java rename to JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t.java index 51f7b1d0ee..a64b1dffc8 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t.java +++ b/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_const_t.java b/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_const_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_const_t.java rename to JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_const_t.java index 91528cf59b..ad95abb158 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_const_t.java +++ b/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_const_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_const_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Attribute_const_t.java b/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Attribute_const_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Attribute_const_t.java rename to JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Attribute_const_t.java index 86735a89e8..c6a3727fd4 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Attribute_const_t.java +++ b/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Attribute_const_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Attribute_const_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Parameter_const_t.java b/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Parameter_const_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Parameter_const_t.java rename to JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Parameter_const_t.java index d5d7d68b49..21eaa368f5 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Parameter_const_t.java +++ b/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Parameter_const_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Parameter_const_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t.java b/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t.java rename to JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t.java index dcb6bac59e..7660924e0c 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t.java +++ b/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t.java b/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t.java rename to JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t.java index bdbec5dbb8..4b99efbe3a 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t.java +++ b/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t.java b/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t.java rename to JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t.java index 95f48466e4..3051fd6ce0 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t.java +++ b/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_QIODevice_t.java b/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_QIODevice_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_QIODevice_t.java rename to JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_QIODevice_t.java index fa26b2d748..712bf1ed16 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_QIODevice_t.java +++ b/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_QIODevice_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_std__shared_ptrT_QIODevice_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t.java b/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t.java rename to JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t.java index 3ca55a1c7b..8e7d66e7af 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t.java +++ b/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_t.java b/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_t.java rename to JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_t.java index a686625c32..8fe81b6cf8 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_t.java +++ b/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_std__shared_ptrT_SkBitmap_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_ObfMapSectionReader__DataBlocksCache_t.java b/JNI/src/jni/SWIGTYPE_p_std__weak_ptrT_ObfMapSectionReader__DataBlocksCache_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_ObfMapSectionReader__DataBlocksCache_t.java rename to JNI/src/jni/SWIGTYPE_p_std__weak_ptrT_ObfMapSectionReader__DataBlocksCache_t.java index 1b201b4e2b..1673752f85 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_ObfMapSectionReader__DataBlocksCache_t.java +++ b/JNI/src/jni/SWIGTYPE_p_std__weak_ptrT_ObfMapSectionReader__DataBlocksCache_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_std__weak_ptrT_ObfMapSectionReader__DataBlocksCache_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t.java b/JNI/src/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t.java rename to JNI/src/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t.java index 38d55a3831..8ef66d5136 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t.java +++ b/JNI/src/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java b/JNI/src/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java rename to JNI/src/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java index 6ec585d6a2..83711dd450 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java +++ b/JNI/src/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_std__weak_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_unsigned_char.java b/JNI/src/jni/SWIGTYPE_p_unsigned_char.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_unsigned_char.java rename to JNI/src/jni/SWIGTYPE_p_unsigned_char.java index 93706ed18f..76cb6c51cb 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_unsigned_char.java +++ b/JNI/src/jni/SWIGTYPE_p_unsigned_char.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_unsigned_char { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_unsigned_int.java b/JNI/src/jni/SWIGTYPE_p_unsigned_int.java similarity index 96% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_unsigned_int.java rename to JNI/src/jni/SWIGTYPE_p_unsigned_int.java index 41fe28c648..ffecc32569 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_unsigned_int.java +++ b/JNI/src/jni/SWIGTYPE_p_unsigned_int.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_unsigned_int { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_void.java b/JNI/src/jni/SWIGTYPE_p_void.java similarity index 95% rename from OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_void.java rename to JNI/src/jni/SWIGTYPE_p_void.java index 8b05759df8..c8ea0abe20 100644 --- a/OsmAnd/src/net/osmand/core/jni/SWIGTYPE_p_void.java +++ b/JNI/src/jni/SWIGTYPE_p_void.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SWIGTYPE_p_void { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/SwigUtilities.java b/JNI/src/jni/SwigUtilities.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/SwigUtilities.java rename to JNI/src/jni/SwigUtilities.java index c733b1908c..e52d56aee0 100644 --- a/OsmAnd/src/net/osmand/core/jni/SwigUtilities.java +++ b/JNI/src/jni/SwigUtilities.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class SwigUtilities { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/TagValueId.java b/JNI/src/jni/TagValueId.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/TagValueId.java rename to JNI/src/jni/TagValueId.java index 06ecd96021..42e901c5c2 100644 --- a/OsmAnd/src/net/osmand/core/jni/TagValueId.java +++ b/JNI/src/jni/TagValueId.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class TagValueId { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/TextureFilteringQuality.java b/JNI/src/jni/TextureFilteringQuality.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/TextureFilteringQuality.java rename to JNI/src/jni/TextureFilteringQuality.java index b46eec4a2d..1dcaf3fedb 100644 --- a/OsmAnd/src/net/osmand/core/jni/TextureFilteringQuality.java +++ b/JNI/src/jni/TextureFilteringQuality.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public enum TextureFilteringQuality { Normal, diff --git a/OsmAnd/src/net/osmand/core/jni/TileId.java b/JNI/src/jni/TileId.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/TileId.java rename to JNI/src/jni/TileId.java index 8cea3abf36..8d96d71adf 100644 --- a/OsmAnd/src/net/osmand/core/jni/TileId.java +++ b/JNI/src/jni/TileId.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class TileId { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/TiledMapSymbolsData.java b/JNI/src/jni/TiledMapSymbolsData.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/TiledMapSymbolsData.java rename to JNI/src/jni/TiledMapSymbolsData.java index 5d94ba832a..2a076020fe 100644 --- a/OsmAnd/src/net/osmand/core/jni/TiledMapSymbolsData.java +++ b/JNI/src/jni/TiledMapSymbolsData.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class TiledMapSymbolsData extends MapTiledData { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/UIntPtr.java b/JNI/src/jni/UIntPtr.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/UIntPtr.java rename to JNI/src/jni/UIntPtr.java index 0764daa95f..3e37582837 100644 --- a/OsmAnd/src/net/osmand/core/jni/UIntPtr.java +++ b/JNI/src/jni/UIntPtr.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class UIntPtr { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/Utilities.java b/JNI/src/jni/Utilities.java similarity index 99% rename from OsmAnd/src/net/osmand/core/jni/Utilities.java rename to JNI/src/jni/Utilities.java index 1a0317afd6..bf2732ca1d 100644 --- a/OsmAnd/src/net/osmand/core/jni/Utilities.java +++ b/JNI/src/jni/Utilities.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public class Utilities { private long swigCPtr; diff --git a/OsmAnd/src/net/osmand/core/jni/ZoomLevel.java b/JNI/src/jni/ZoomLevel.java similarity index 98% rename from OsmAnd/src/net/osmand/core/jni/ZoomLevel.java rename to JNI/src/jni/ZoomLevel.java index 43171ce4b7..1d2acbc7d1 100644 --- a/OsmAnd/src/net/osmand/core/jni/ZoomLevel.java +++ b/JNI/src/jni/ZoomLevel.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package net.osmand.core.jni; +package jni; public enum ZoomLevel { ZoomLevel0(OsmAndCoreJNI.ZoomLevel0_get()), diff --git a/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroidAssets.java b/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroidAssets.java index bd41b7fcb1..02c6cd8192 100644 --- a/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroidAssets.java +++ b/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroidAssets.java @@ -13,11 +13,11 @@ import java.util.TreeMap; import java.util.regex.Matcher; import java.util.regex.Pattern; -import net.osmand.core.jni.BoolPtr; -import net.osmand.core.jni.ICoreResourcesProvider; -import net.osmand.core.jni.SWIGTYPE_p_QByteArray; -import net.osmand.core.jni.SWIGTYPE_p_bool; -import net.osmand.core.jni.SwigUtilities; +import jni.BoolPtr; +import jni.ICoreResourcesProvider; +import jni.SWIGTYPE_p_QByteArray; +import jni.SWIGTYPE_p_bool; +import jni.SwigUtilities; import net.osmand.plus.OsmandApplication; import android.content.Context; import android.content.pm.PackageInfo; diff --git a/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroid_LegacyOsmAndCompatible.java b/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroid_LegacyOsmAndCompatible.java index 260ceed941..46ba0e5709 100644 --- a/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroid_LegacyOsmAndCompatible.java +++ b/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroid_LegacyOsmAndCompatible.java @@ -4,7 +4,7 @@ import android.content.Context; import android.content.res.AssetManager; import android.content.res.Resources; -import net.osmand.core.jni.*; +import jni.*; // This class provides reverse mapping from 'embed-resources.list' to scheme used by current (legacy in future) OsmAnd for Android public class CoreResourcesFromAndroid_LegacyOsmAndCompatible extends ICoreResourcesProvider { diff --git a/OsmAnd/src/net/osmand/core/android/GLActivity.java b/OsmAnd/src/net/osmand/core/android/GLActivity.java index 93d1505063..b1ce93781f 100644 --- a/OsmAnd/src/net/osmand/core/android/GLActivity.java +++ b/OsmAnd/src/net/osmand/core/android/GLActivity.java @@ -7,8 +7,7 @@ import javax.microedition.khronos.egl.EGLDisplay; import javax.microedition.khronos.egl.EGLSurface; import javax.microedition.khronos.opengles.GL10; -import net.osmand.core.android.CoreResourcesFromAndroidAssets; -import net.osmand.core.jni.*; +import jni.*; import net.osmand.data.LatLon; import net.osmand.data.QuadPoint; import net.osmand.data.RotatedTileBox; @@ -246,7 +245,7 @@ public class GLActivity extends Activity { _mapRenderer.setAzimuth(0.0f); _mapRenderer.setElevationAngle(90); _mapRenderer.setTarget(new PointI(currentViewport.getCenter31X(), currentViewport.getCenter31Y())); - _mapRenderer.setZoom(currentViewport.getZoom() + currentViewport.getZoomScale()); + _mapRenderer.setZoom((float)currentViewport.getZoom() + (float)currentViewport.getZoomScale()); } private GLSurfaceView _glSurfaceView; From 8438211d0fe13d1b0d673b6c15521153af20edd8 Mon Sep 17 00:00:00 2001 From: Denis Date: Wed, 1 Oct 2014 14:44:45 +0300 Subject: [PATCH 11/14] Refactored structure of view controller --- .../osmand/plus/activities/MapActivity.java | 13 +- .../osmand/plus/views/OsmandMapTileView.java | 6 +- ...ontroller.java => JavaViewController.java} | 193 +++++------------- .../controllers/MapViewBaseController.java | 102 +++++++++ .../controllers/NativeViewController.java | 147 +++++++++++++ 5 files changed, 312 insertions(+), 149 deletions(-) rename OsmAnd/src/net/osmand/plus/views/controllers/{MapViewController.java => JavaViewController.java} (50%) create mode 100644 OsmAnd/src/net/osmand/plus/views/controllers/MapViewBaseController.java create mode 100644 OsmAnd/src/net/osmand/plus/views/controllers/NativeViewController.java diff --git a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java index e69691ad56..7d8d2fcef9 100644 --- a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java +++ b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java @@ -40,10 +40,11 @@ import net.osmand.plus.render.RendererRegistry; import net.osmand.plus.resources.ResourceManager; import net.osmand.plus.routing.RoutingHelper; import net.osmand.plus.routing.RoutingHelper.RouteCalculationProgressCallback; -import net.osmand.plus.views.AnimateDraggingMapThread; import net.osmand.plus.views.OsmandMapLayer; import net.osmand.plus.views.OsmandMapTileView; -import net.osmand.plus.views.controllers.MapViewController; +import net.osmand.plus.views.controllers.JavaViewController; +import net.osmand.plus.views.controllers.MapViewBaseController; +import net.osmand.plus.views.controllers.NativeViewController; import net.osmand.render.RenderingRulesStorage; import net.osmand.util.Algorithms; import android.app.Dialog; @@ -100,7 +101,7 @@ public class MapActivity extends AccessibleActivity { private StateChangedListener applicationModeListener; private FrameLayout lockView; private GpxImportHelper gpxImportHelper; - private MapViewController mapViewController; + private MapViewBaseController mapViewController; private Notification getNotification() { @@ -135,13 +136,13 @@ public class MapActivity extends AccessibleActivity { if (settings.USE_NATIVE_RENDER.get()){ setContentView(R.layout.activity_gl); - mapViewController = new MapViewController((GLSurfaceView) findViewById(R.id.glSurfaceView), this); + mapViewController = new NativeViewController((GLSurfaceView) findViewById(R.id.glSurfaceView), this); } else { setContentView(R.layout.main); - mapViewController = new MapViewController((OsmandMapTileView) findViewById(R.id.MapView), this); + mapViewController = new JavaViewController((OsmandMapTileView) findViewById(R.id.MapView), this); } - mapViewController.setTrackBallDelegate(new MapViewController.OnTrackBallListener(){ + mapViewController.setTrackBallDelegate(new JavaViewController.OnTrackBallListener(){ @Override public boolean onTrackBallEvent(MotionEvent e) { showAndHideMapPosition(); diff --git a/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java b/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java index ffc7df1de9..adf8a9176d 100644 --- a/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java +++ b/OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java @@ -26,7 +26,7 @@ import net.osmand.plus.R; import net.osmand.plus.helpers.SimpleTwoFingerTapDetector; import net.osmand.plus.views.MultiTouchSupport.MultiTouchZoomListener; import net.osmand.plus.views.OsmandMapLayer.DrawSettings; -import net.osmand.plus.views.controllers.MapViewController; +import net.osmand.plus.views.controllers.JavaViewController; import net.osmand.util.MapUtils; import org.apache.commons.logging.Log; @@ -109,7 +109,7 @@ public class OsmandMapTileView extends SurfaceView implements IMapDownloaderCall private OnClickListener onClickListener; - private MapViewController.OnTrackBallListener trackBallDelegate; + private JavaViewController.OnTrackBallListener trackBallDelegate; private AccessibilityActionsProvider accessibilityActions; @@ -745,7 +745,7 @@ public class OsmandMapTileView extends SurfaceView implements IMapDownloaderCall return super.onTrackballEvent(event); } - public void setTrackBallDelegate(MapViewController.OnTrackBallListener trackBallDelegate) { + public void setTrackBallDelegate(JavaViewController.OnTrackBallListener trackBallDelegate) { this.trackBallDelegate = trackBallDelegate; } diff --git a/OsmAnd/src/net/osmand/plus/views/controllers/MapViewController.java b/OsmAnd/src/net/osmand/plus/views/controllers/JavaViewController.java similarity index 50% rename from OsmAnd/src/net/osmand/plus/views/controllers/MapViewController.java rename to OsmAnd/src/net/osmand/plus/views/controllers/JavaViewController.java index bf498dd2af..191b4217e2 100644 --- a/OsmAnd/src/net/osmand/plus/views/controllers/MapViewController.java +++ b/OsmAnd/src/net/osmand/plus/views/controllers/JavaViewController.java @@ -23,188 +23,122 @@ import java.util.List; /** * Created by Натали on 29.09.2014. */ -public class MapViewController { +public class JavaViewController extends MapViewBaseController { private GLSurfaceView glSurfaceView; private OsmandMapTileView mapTileView; private OsmandSettings settings; private MapActivity mapActivity; - private boolean isNative = false; private static final int SHOW_POSITION_MSG_ID = OsmAndConstants.UI_HANDLER_MAP_VIEW + 1; - - public void setAccessibilityActions(MapAccessibilityActions accessibilityActions) { - if (isNative){ - - } else { - mapTileView.setAccessibilityActions(accessibilityActions); - } - } - + @Override public void refreshMap(boolean b) { - if (isNative){ - - } else { - mapTileView.refreshMap(b); - } + mapTileView.refreshMap(b); } - public void createLayers(MapActivityLayers mapLayers) { - if (isNative) { + @Override + public void setAccessibilityActions(MapAccessibilityActions accessibilityActions) { + mapTileView.setAccessibilityActions(accessibilityActions); + } - } else { - mapLayers.createLayers(mapTileView); - } + @Override + public void createLayers(MapActivityLayers mapLayers) { + mapLayers.createLayers(mapTileView); } public void setLatLon(double latitude, double longitude) { - if (isNative){ - - } else { - mapTileView.setLatLon(latitude, longitude); - } + mapTileView.setLatLon(latitude, longitude); } + @Override public void setIntZoom(int i) { - if (isNative) { - - } else { - mapTileView.setIntZoom(i); - } + mapTileView.setIntZoom(i); } + @Override public void addView(FrameLayout view) { - if (isNative) { - - } else { - ((FrameLayout)mapTileView.getParent()).addView(view); - } + ((FrameLayout) mapTileView.getParent()).addView(view); } + @Override public void setTrackingUtilities(MapViewTrackingUtilities mapViewTrackingUtilities) { - if (isNative) { + mapViewTrackingUtilities.setMapView(mapTileView); - } else { - mapViewTrackingUtilities.setMapView(mapTileView); - } } + @Override public void tileDownloaded(MapTileDownloader.DownloadRequest request) { - if (isNative) { - - } else { - mapTileView.tileDownloaded(request); - } + mapTileView.tileDownloaded(request); } + @Override public ViewParent getParentView() { - if (isNative) { - return glSurfaceView.getParent(); - } else { - return mapTileView.getParent(); - } + return mapTileView.getParent(); } + @Override public List getLayers() { - if (isNative) { - - } else { - return mapTileView.getLayers(); - } - return null; + return mapTileView.getLayers(); } + @Override public double getLatitude() { - if (isNative){ - - } else { - return mapTileView.getLatitude(); - } - return 0; + return mapTileView.getLatitude(); } + @Override public double getLongitude() { - if (isNative){ + return mapTileView.getLongitude(); - } else { - return mapTileView.getLongitude(); - } - return 0; } + @Override public void startMoving(double latitude, double longitude, int mapZoomToShow, boolean b) { - if (isNative){ - - } else { - mapTileView.getAnimatedDraggingThread().startMoving(latitude, longitude, - settings.getMapZoomToShow(), true); - } - + mapTileView.getAnimatedDraggingThread().startMoving(latitude, longitude, + settings.getMapZoomToShow(), true); } + @Override public int getZoom() { - if (isNative) { - - } else { - return mapTileView.getZoom(); - } - return 0; + return mapTileView.getZoom(); } + @Override public void startZooming(int newZoom, boolean changeLocation) { - if (isNative){ - - } else { - mapTileView.getAnimatedDraggingThread().startZooming(newZoom, changeLocation); - } + mapTileView.getAnimatedDraggingThread().startZooming(newZoom, changeLocation); } + @Override public boolean isZooming() { - if (isNative){ - - } else { - return mapTileView.isZooming(); - } - return false; + return mapTileView.isZooming(); } + @Override public RotatedTileBox getCurrentRotatedTileBox() { - if (isNative) { + return mapTileView.getCurrentRotatedTileBox(); - } else { - return mapTileView.getCurrentRotatedTileBox(); - } - return null; } + @Override public void onPause() { - if (isNative) { - - } else { - AnimateDraggingMapThread animatedThread = mapTileView.getAnimatedDraggingThread(); - if(animatedThread.isAnimating() && animatedThread.getTargetIntZoom() != 0){ - settings.setMapLocationToShow(animatedThread.getTargetLatitude(), animatedThread.getTargetLongitude(), - animatedThread.getTargetIntZoom()); - } + AnimateDraggingMapThread animatedThread = mapTileView.getAnimatedDraggingThread(); + if (animatedThread.isAnimating() && animatedThread.getTargetIntZoom() != 0) { + settings.setMapLocationToShow(animatedThread.getTargetLatitude(), animatedThread.getTargetLongitude(), + animatedThread.getTargetIntZoom()); } } + @Override public void updateLayers(MapActivityLayers mapLayers) { - if (isNative) { - - } else { - mapLayers.updateLayers(mapTileView); - } + mapLayers.updateLayers(mapTileView); } + @Override public void setComplexZoom() { - if (isNative) { - - } else { - mapTileView.setComplexZoom(mapTileView.getZoom(), mapTileView.getSettingsZoomScale()); - } + mapTileView.setComplexZoom(mapTileView.getZoom(), mapTileView.getSettingsZoomScale()); } + @Override public void showAndHideMapPosition() { mapTileView.setShowMapPosition(true); mapActivity.getMyApplication().runMessageInUIThreadAndCancelPrevious(SHOW_POSITION_MSG_ID, new Runnable() { @@ -218,41 +152,20 @@ public class MapViewController { }, 2500); } + @Override public OsmandMapTileView getMapTileView() { - if (isNative) { - - } else { - return mapTileView; - } - return null; + return mapTileView; } - - public interface OnTrackBallListener { - public boolean onTrackBallEvent(MotionEvent e); - } - - public MapViewController(GLSurfaceView surfaceView, MapActivity activity){ - this.glSurfaceView = surfaceView; - this.settings = activity.getMyApplication().getSettings(); - this.mapActivity = activity; - isNative = true; - - } - - public MapViewController(OsmandMapTileView mapTileView, MapActivity activity){ + public JavaViewController(OsmandMapTileView mapTileView, MapActivity activity) { this.mapTileView = mapTileView; this.settings = activity.getMyApplication().getSettings(); this.mapActivity = activity; - isNative = false; } + @Override public void setTrackBallDelegate(OnTrackBallListener trackBallDelegate) { - if (isNative){ - - } else { - mapTileView.setTrackBallDelegate(trackBallDelegate); - } + mapTileView.setTrackBallDelegate(trackBallDelegate); } } diff --git a/OsmAnd/src/net/osmand/plus/views/controllers/MapViewBaseController.java b/OsmAnd/src/net/osmand/plus/views/controllers/MapViewBaseController.java new file mode 100644 index 0000000000..3603aed8cb --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/views/controllers/MapViewBaseController.java @@ -0,0 +1,102 @@ +package net.osmand.plus.views.controllers; + +import android.view.MotionEvent; +import android.view.ViewParent; +import android.widget.FrameLayout; +import net.osmand.access.MapAccessibilityActions; +import net.osmand.data.RotatedTileBox; +import net.osmand.map.MapTileDownloader; +import net.osmand.plus.activities.MapActivityLayers; +import net.osmand.plus.base.MapViewTrackingUtilities; +import net.osmand.plus.views.AnimateDraggingMapThread; +import net.osmand.plus.views.OsmandMapLayer; +import net.osmand.plus.views.OsmandMapTileView; + +import java.util.List; + +/** + * Created by Denis on 01.10.2014. + */ +public abstract class MapViewBaseController { + + public void setAccessibilityActions(MapAccessibilityActions accessibilityActions) { + } + + public void refreshMap(boolean b) { + } + + public void createLayers(MapActivityLayers mapLayers) { + } + + public void setLatLon(double latitude, double longitude) { + } + + public void setIntZoom(int i) { + } + + public void addView(FrameLayout view) { + } + + public void setTrackingUtilities(MapViewTrackingUtilities mapViewTrackingUtilities) { + } + + public void tileDownloaded(MapTileDownloader.DownloadRequest request) { + } + + public ViewParent getParentView() { + return null; + } + + public List getLayers() { + return null; + } + + public double getLatitude() { + return 0; + } + + public double getLongitude() { + return 0; + } + + public void startMoving(double latitude, double longitude, int mapZoomToShow, boolean b) { + } + + public int getZoom() { + return 0; + } + + public void startZooming(int newZoom, boolean changeLocation) { + } + + public boolean isZooming() { + return false; + } + + public RotatedTileBox getCurrentRotatedTileBox() { + return null; + } + + public void onPause() { + } + + public void updateLayers(MapActivityLayers mapLayers) { + } + + public void setComplexZoom() { + } + + public void showAndHideMapPosition() { + } + + public OsmandMapTileView getMapTileView() { + return null; + } + + public void setTrackBallDelegate(OnTrackBallListener trackBallDelegate) { + } + + public interface OnTrackBallListener { + public boolean onTrackBallEvent(MotionEvent e); + } +} diff --git a/OsmAnd/src/net/osmand/plus/views/controllers/NativeViewController.java b/OsmAnd/src/net/osmand/plus/views/controllers/NativeViewController.java new file mode 100644 index 0000000000..48b94c364a --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/views/controllers/NativeViewController.java @@ -0,0 +1,147 @@ +package net.osmand.plus.views.controllers; + +import android.opengl.GLSurfaceView; +import android.view.ViewParent; +import android.widget.FrameLayout; +import net.osmand.access.MapAccessibilityActions; +import net.osmand.data.RotatedTileBox; +import net.osmand.map.MapTileDownloader; +import net.osmand.plus.OsmandSettings; +import net.osmand.plus.activities.MapActivity; +import net.osmand.plus.activities.MapActivityLayers; +import net.osmand.plus.base.MapViewTrackingUtilities; +import net.osmand.plus.views.OsmandMapLayer; +import net.osmand.plus.views.OsmandMapTileView; + +import java.util.List; + +/** + * Created by Denis on 01.10.2014. + */ +public class NativeViewController extends MapViewBaseController { + private GLSurfaceView glSurfaceView; + private OsmandSettings settings; + private MapActivity mapActivity; + + + public NativeViewController(GLSurfaceView surfaceView, MapActivity activity) { + this.glSurfaceView = surfaceView; + this.settings = activity.getMyApplication().getSettings(); + this.mapActivity = activity; + } + + @Override + public void setTrackBallDelegate(OnTrackBallListener trackBallDelegate) { + super.setTrackBallDelegate(trackBallDelegate); + } + + @Override + public void setAccessibilityActions(MapAccessibilityActions accessibilityActions) { + super.setAccessibilityActions(accessibilityActions); + } + + @Override + public void refreshMap(boolean b) { + super.refreshMap(b); + } + + @Override + public void createLayers(MapActivityLayers mapLayers) { + super.createLayers(mapLayers); + } + + @Override + public void setLatLon(double latitude, double longitude) { + super.setLatLon(latitude, longitude); + } + + @Override + public void setIntZoom(int i) { + super.setIntZoom(i); + } + + @Override + public void addView(FrameLayout view) { + super.addView(view); + } + + @Override + public void setTrackingUtilities(MapViewTrackingUtilities mapViewTrackingUtilities) { + super.setTrackingUtilities(mapViewTrackingUtilities); + } + + @Override + public void tileDownloaded(MapTileDownloader.DownloadRequest request) { + super.tileDownloaded(request); + } + + @Override + public ViewParent getParentView() { + return super.getParentView(); + } + + @Override + public List getLayers() { + return super.getLayers(); + } + + @Override + public double getLatitude() { + return super.getLatitude(); + } + + @Override + public double getLongitude() { + return super.getLongitude(); + } + + @Override + public void startMoving(double latitude, double longitude, int mapZoomToShow, boolean b) { + super.startMoving(latitude, longitude, mapZoomToShow, b); + } + + @Override + public int getZoom() { + return super.getZoom(); + } + + @Override + public void startZooming(int newZoom, boolean changeLocation) { + super.startZooming(newZoom, changeLocation); + } + + @Override + public boolean isZooming() { + return super.isZooming(); + } + + @Override + public RotatedTileBox getCurrentRotatedTileBox() { + return super.getCurrentRotatedTileBox(); + } + + @Override + public void onPause() { + super.onPause(); + } + + @Override + public void updateLayers(MapActivityLayers mapLayers) { + super.updateLayers(mapLayers); + } + + @Override + public void setComplexZoom() { + super.setComplexZoom(); + } + + @Override + public void showAndHideMapPosition() { + super.showAndHideMapPosition(); + } + + @Override + public OsmandMapTileView getMapTileView() { + return super.getMapTileView(); + } +} From c0f48ea60b6c77d4d7cadf894b10f3060c458bc8 Mon Sep 17 00:00:00 2001 From: Denis Date: Wed, 1 Oct 2014 16:14:46 +0300 Subject: [PATCH 12/14] Changeg package of jni to correct one. Transfered some code to NativeController --- .../osmand/core}/jni/AlphaChannelData.java | 2 +- JNI/src/{ => net/osmand/core}/jni/AreaD.java | 2 +- JNI/src/{ => net/osmand/core}/jni/AreaF.java | 2 +- JNI/src/{ => net/osmand/core}/jni/AreaI.java | 2 +- .../jni/AtlasMapRendererConfiguration.java | 2 +- .../core}/jni/BinaryMapDataProvider.java | 2 +- .../osmand/core}/jni/BinaryMapDataTile.java | 2 +- .../jni/BinaryMapPrimitivesProvider.java | 2 +- .../core}/jni/BinaryMapPrimitivesTile.java | 2 +- .../BinaryMapRasterBitmapTileProvider.java | 2 +- ...yMapRasterBitmapTileProvider_Software.java | 2 +- .../core}/jni/BinaryMapRasterizedTile.java | 2 +- .../jni/BinaryMapStaticSymbolsProvider.java | 2 +- .../core}/jni/BinaryMapStaticSymbolsTile.java | 2 +- .../{ => net/osmand/core}/jni/BoolPtr.java | 2 +- .../{ => net/osmand/core}/jni/ColorARGB.java | 2 +- .../{ => net/osmand/core}/jni/ColorRGB.java | 2 +- .../jni/CoreResourcesEmbeddedBundle.java | 2 +- .../osmand/core}/jni/DefaultLogSink.java | 2 +- .../{ => net/osmand/core}/jni/DoublePtr.java | 2 +- JNI/src/{ => net/osmand/core}/jni/Edge.java | 2 +- .../osmand/core}/jni/ElevationDataTile.java | 2 +- .../{ => net/osmand/core}/jni/FColorARGB.java | 2 +- .../{ => net/osmand/core}/jni/FColorRGB.java | 2 +- .../{ => net/osmand/core}/jni/FloatPtr.java | 2 +- .../core}/jni/ICoreResourcesProvider.java | 2 +- .../{ => net/osmand/core}/jni/ILogSink.java | 2 +- .../osmand/core}/jni/IMapDataProvider.java | 2 +- .../core}/jni/IMapElevationDataProvider.java | 2 +- .../core}/jni/IMapKeyedDataProvider.java | 2 +- .../core}/jni/IMapKeyedSymbolsProvider.java | 2 +- .../jni/IMapRasterBitmapTileProvider.java | 2 +- .../osmand/core}/jni/IMapRenderer.java | 2 +- .../core}/jni/IMapStylesCollection.java | 2 +- .../jni/IMapStylesPresetsCollection.java | 2 +- .../core}/jni/IMapTiledDataProvider.java | 2 +- .../core}/jni/IMapTiledSymbolsProvider.java | 2 +- .../osmand/core}/jni/IObfsCollection.java | 2 +- .../osmand/core}/jni/IObservable.java | 2 +- .../osmand/core}/jni/IOnlineTileSources.java | 2 +- JNI/src/{ => net/osmand/core}/jni/IntPtr.java | 2 +- .../osmand/core}/jni/KeyedMapSymbolsData.java | 2 +- .../{ => net/osmand/core}/jni/LanguageId.java | 2 +- JNI/src/{ => net/osmand/core}/jni/LatLon.java | 2 +- .../osmand/core}/jni/LogSeverityLevel.java | 2 +- JNI/src/{ => net/osmand/core}/jni/Logger.java | 2 +- .../{ => net/osmand/core}/jni/MapData.java | 2 +- .../osmand/core}/jni/MapFoundationType.java | 2 +- .../osmand/core}/jni/MapKeyedData.java | 2 +- .../core}/jni/MapPresentationEnvironment.java | 2 +- .../osmand/core}/jni/MapRendererClass.java | 2 +- .../core}/jni/MapRendererConfiguration.java | 2 +- .../core}/jni/MapRendererDebugSettings.java | 2 +- .../core}/jni/MapRendererSetupOptions.java | 2 +- .../osmand/core}/jni/MapRendererState.java | 2 +- .../core}/jni/MapRendererStateChange.java | 2 +- .../core}/jni/MapRendererStateChanges.java | 2 +- .../jni/MapStyleBuiltinValueDefinitions.java | 2 +- .../core}/jni/MapStyleConstantValue.java | 2 +- .../osmand/core}/jni/MapStylePreset.java | 2 +- .../osmand/core}/jni/MapStyleRulesetType.java | 2 +- .../core}/jni/MapStyleValueDataType.java | 2 +- .../core}/jni/MapStyleValueDefinition.java | 2 +- .../osmand/core}/jni/MapStylesCollection.java | 2 +- .../core}/jni/MapStylesPresetsCollection.java | 2 +- .../{ => net/osmand/core}/jni/MapSymbol.java | 2 +- .../osmand/core}/jni/MapSymbolsGroup.java | 2 +- .../osmand/core}/jni/MapTiledData.java | 2 +- JNI/src/{ => net/osmand/core}/jni/OOBBD.java | 2 +- JNI/src/{ => net/osmand/core}/jni/OOBBF.java | 2 +- JNI/src/{ => net/osmand/core}/jni/OOBBI.java | 2 +- .../osmand/core}/jni/ObfAddressBlockType.java | 2 +- .../osmand/core}/jni/ObfDataInterface.java | 2 +- .../{ => net/osmand/core}/jni/ObfFile.java | 2 +- .../{ => net/osmand/core}/jni/ObfInfo.java | 2 +- .../core}/jni/ObfMapSectionDataBlockId.java | 2 +- .../jni/ObfRoutingSectionDataBlockId.java | 2 +- .../osmand/core}/jni/ObfsCollection.java | 2 +- .../jni/OnlineRasterMapTileProvider.java | 2 +- .../osmand/core}/jni/OnlineTileSources.java | 2 +- .../{ => net/osmand/core}/jni/OsmAndCore.java | 2 +- .../osmand/core}/jni/OsmAndCoreConstants.java | 2 +- .../osmand/core}/jni/OsmAndCoreJNI.java | 2 +- JNI/src/{ => net/osmand/core}/jni/PointD.java | 2 +- JNI/src/{ => net/osmand/core}/jni/PointF.java | 2 +- JNI/src/{ => net/osmand/core}/jni/PointI.java | 2 +- .../osmand/core}/jni/Primitiviser.java | 2 +- .../osmand/core}/jni/QIODeviceLogSink.java | 2 +- .../osmand/core}/jni/QStringList.java | 2 +- .../{ => net/osmand/core}/jni/Quadrant.java | 2 +- .../osmand/core}/jni/RasterBitmapTile.java | 2 +- .../osmand/core}/jni/RasterMapLayerId.java | 2 +- .../osmand/core}/jni/ResolvedMapStyle.java | 2 +- .../osmand/core}/jni/ResourcesManager.java | 2 +- .../osmand/core}/jni/RoutingDataLevel.java | 2 +- ...taProvider_Metrics__Metric_obtainData.java | 2 +- ...esProvider_Metrics__Metric_obtainData.java | 2 +- ...leProvider_Metrics__Metric_obtainData.java | 2 +- ...IGTYPE_p_FilterMapObjectsByIdFunction.java | 2 +- .../SWIGTYPE_p_FilterRoadsByIdFunction.java | 2 +- ...SWIGTYPE_p_IOnPathMapSymbol__PinPoint.java | 2 +- .../jni/SWIGTYPE_p_MapFoundationType.java | 2 +- .../SWIGTYPE_p_MapStyleEvaluationResult.java | 2 +- ..._ObfMapSectionReader__DataBlocksCache.java | 2 +- ...ctionReader_Metrics__Metric_loadRoads.java | 2 +- ...RoutingSectionReader__DataBlocksCache.java | 2 +- ...RoutingSectionReader__VisitorFunction.java | 2 +- ...rStateChange_unsigned_int_t__BitmaskT.java | 2 +- ...tionProcessingModeFlag_unsigned_int_t.java | 2 +- ...__PresentationModeFlag_unsigned_int_t.java | 2 +- ...__IMapRenderer__FramePreparedObserver.java | 2 +- ...nd__IMapRenderer__StateChangeObserver.java | 2 +- .../SWIGTYPE_p_OsmAnd__IQueryController.java | 2 +- ...upOptions__FrameUpdateRequestCallback.java | 2 +- ...SetupOptions__GpuWorkerThreadEpilogue.java | 2 +- ...SetupOptions__GpuWorkerThreadPrologue.java | 2 +- .../SWIGTYPE_p_OsmAnd__MapStyleEvaluator.java | 2 +- ...Reader_Metrics__Metric_loadMapObjects.java | 2 +- ...IMapRenderer__FramePreparedObserver_t.java | 2 +- ...MapRenderer__IFramePreparedObserver_t.java | 2 +- ...nderer__IFramePreparedObserver_t__Tag.java | 2 +- ..._IMapRenderer__IStateChangeObserver_t.java | 2 +- ...Renderer__IStateChangeObserver_t__Tag.java | 2 +- ...__IMapRenderer__StateChangeObserver_t.java | 2 +- ...rcesManager__ILocalResourcesChanged_t.java | 2 +- ...anager__ILocalResourcesChanged_t__Tag.java | 2 +- ...esourcesManager__IRepositoryUpdated_t.java | 2 +- ...cesManager__IRepositoryUpdated_t__Tag.java | 2 +- ...urcesManager__LocalResourcesChanged_t.java | 2 +- ...ResourcesManager__RepositoryUpdated_t.java | 2 +- ...SWIGTYPE_p_OsmAnd__PointT_long_long_t.java | 2 +- ...sourcesManager__LocalResourcesChanged.java | 2 +- ...__ResourcesManager__RepositoryUpdated.java | 2 +- ...mitiviser_Metrics__Metric_primitivise.java | 2 +- .../core}/jni/SWIGTYPE_p_QByteArray.java | 2 +- .../osmand/core}/jni/SWIGTYPE_p_QDir.java | 2 +- .../core}/jni/SWIGTYPE_p_QFileInfo.java | 2 +- .../core}/jni/SWIGTYPE_p_QFileInfoList.java | 2 +- ...And__ResolvedMapStyle__Rule_const_t_t.java | 2 +- .../SWIGTYPE_p_QHashT_QString_QString_t.java | 2 +- ..._IOnlineTileSources__Source_const_t_t.java | 2 +- ...cesManager__BuiltinResource_const_t_t.java | 2 +- ...urcesManager__LocalResource_const_t_t.java | 2 +- ...nager__ResourceInRepository_const_t_t.java | 2 +- ...T_int_OsmAnd__MapStyleConstantValue_t.java | 2 +- ...nd__ResolvedMapStyle__ResolvedValue_t.java | 2 +- ...dditionalSymbolInstanceParameters_t_t.java | 2 +- ..._Primitiviser__SymbolsGroup_const_t_t.java | 2 +- .../core}/jni/SWIGTYPE_p_QIODevice.java | 2 +- ...ListT_OsmAnd__MapStyleConstantValue_t.java | 2 +- ...tT_std__shared_ptrT_ObfFile_const_t_t.java | 2 +- ...MapSectionReader__DataBlock_const_t_t.java | 2 +- ...ingSectionReader__DataBlock_const_t_t.java | 2 +- ...ptrT_OsmAnd__MapStylePreset_const_t_t.java | 2 +- ...ared_ptrT_OsmAnd__MapSymbol_const_t_t.java | 2 +- ...td__shared_ptrT_OsmAnd__MapSymbol_t_t.java | 2 +- ...pSymbolsGroup__AdditionalInstance_t_t.java | 2 +- ...ared_ptrT_OsmAnd__MapSymbolsGroup_t_t.java | 2 +- ...And__Model__BinaryMapObject_const_t_t.java | 2 +- ...ed_ptrT_OsmAnd__Model__Road_const_t_t.java | 2 +- ...trT_OsmAnd__ObfAddressSectionInfo_t_t.java | 2 +- ...shared_ptrT_OsmAnd__ObfFile_const_t_t.java | 2 +- ...ed_ptrT_OsmAnd__ObfMapSectionInfo_t_t.java | 2 +- ...ed_ptrT_OsmAnd__ObfPoiSectionInfo_t_t.java | 2 +- ...ared_ptrT_OsmAnd__ObfReader_const_t_t.java | 2 +- ...trT_OsmAnd__ObfRoutingSectionInfo_t_t.java | 2 +- ...T_OsmAnd__ObfTransportSectionInfo_t_t.java | 2 +- ...nd__Primitiviser__Primitive_const_t_t.java | 2 +- ...imitiviser__PrimitivesGroup_const_t_t.java | 2 +- ...smAnd__Primitiviser__Symbol_const_t_t.java | 2 +- ...smAnd__ResolvedMapStyle__RuleNode_t_t.java | 2 +- ..._OsmAnd__UnresolvedMapStyle_const_t_t.java | 2 +- .../jni/SWIGTYPE_p_QListT_void_const_p_t.java | 2 +- .../SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t.java | 2 +- .../core}/jni/SWIGTYPE_p_QSetT_QString_t.java | 2 +- .../core}/jni/SWIGTYPE_p_QSetT_int_t.java | 2 +- ...std__shared_ptrT_OsmAnd__ILogSink_t_t.java | 2 +- ...red_ptrT_OsmAnd__IMapDataProvider_t_t.java | 2 +- .../core}/jni/SWIGTYPE_p_QStringList.java | 2 +- .../osmand/core}/jni/SWIGTYPE_p_QUrl.java | 2 +- ...p_QVectorT_OsmAnd__PointT_int32_t_t_t.java | 2 +- .../jni/SWIGTYPE_p_RoutingDataLevel.java | 2 +- ...Primitiviser__PrimitivesGroup_const_t.java | 2 +- ...d__Primitiviser__SymbolsGroup_const_t.java | 2 +- ...ent__RequestProgressCallbackSignature.java | 2 +- .../osmand/core}/jni/SWIGTYPE_p_bool.java | 2 +- .../osmand/core}/jni/SWIGTYPE_p_double.java | 2 +- .../osmand/core}/jni/SWIGTYPE_p_float.java | 2 +- .../osmand/core}/jni/SWIGTYPE_p_int.java | 2 +- ..._float_OsmAnd__RasterMapLayersCount_t.java | 2 +- ...ider_t_OsmAnd__RasterMapLayersCount_t.java | 2 +- ...void_fOsmAnd__PointT_int_t_const_RF_t.java | 2 +- ...smAnd__Model__BinaryMapObject_const_t.java | 2 +- ...trT_OsmAnd__ObfMapSectionInfo_const_t.java | 2 +- ...__ResolvedMapStyle__Attribute_const_t.java | 2 +- ...__ResolvedMapStyle__Parameter_const_t.java | 2 +- ..._OsmAnd__ResolvedMapStyle__RuleNode_t.java | 2 +- ...rT_OsmAnd__UnresolvedMapStyle_const_t.java | 2 +- ...red_ptrT_OsmAnd__UnresolvedMapStyle_t.java | 2 +- ...IGTYPE_p_std__shared_ptrT_QIODevice_t.java | 2 +- ...E_p_std__shared_ptrT_SkBitmap_const_t.java | 2 +- ...WIGTYPE_p_std__shared_ptrT_SkBitmap_t.java | 2 +- ...bfMapSectionReader__DataBlocksCache_t.java | 2 +- ...__weak_ptrT_OsmAnd__MapSymbolsGroup_t.java | 2 +- ...Primitiviser__PrimitivesGroup_const_t.java | 2 +- .../core}/jni/SWIGTYPE_p_unsigned_char.java | 2 +- .../core}/jni/SWIGTYPE_p_unsigned_int.java | 2 +- .../osmand/core}/jni/SWIGTYPE_p_void.java | 2 +- .../osmand/core}/jni/SwigUtilities.java | 2 +- .../{ => net/osmand/core}/jni/TagValueId.java | 2 +- .../core}/jni/TextureFilteringQuality.java | 2 +- JNI/src/{ => net/osmand/core}/jni/TileId.java | 2 +- .../osmand/core}/jni/TiledMapSymbolsData.java | 2 +- .../{ => net/osmand/core}/jni/UIntPtr.java | 2 +- .../{ => net/osmand/core}/jni/Utilities.java | 2 +- .../{ => net/osmand/core}/jni/ZoomLevel.java | 2 +- OsmAnd/src/net/osmand/PlatformUtil.java | 2 +- .../CoreResourcesFromAndroidAssets.java | 14 +- ...cesFromAndroid_LegacyOsmAndCompatible.java | 7 +- .../net/osmand/core/android/GLActivity.java | 4 +- .../osmand/plus/activities/MapActivity.java | 2 + .../controllers/MapViewBaseController.java | 11 + .../views/controllers/NativeRenderer.java | 48 ++ .../controllers/NativeViewController.java | 422 ++++++++++++++++++ 224 files changed, 713 insertions(+), 229 deletions(-) rename JNI/src/{ => net/osmand/core}/jni/AlphaChannelData.java (98%) rename JNI/src/{ => net/osmand/core}/jni/AreaD.java (99%) rename JNI/src/{ => net/osmand/core}/jni/AreaF.java (99%) rename JNI/src/{ => net/osmand/core}/jni/AreaI.java (99%) rename JNI/src/{ => net/osmand/core}/jni/AtlasMapRendererConfiguration.java (99%) rename JNI/src/{ => net/osmand/core}/jni/BinaryMapDataProvider.java (99%) rename JNI/src/{ => net/osmand/core}/jni/BinaryMapDataTile.java (98%) rename JNI/src/{ => net/osmand/core}/jni/BinaryMapPrimitivesProvider.java (99%) rename JNI/src/{ => net/osmand/core}/jni/BinaryMapPrimitivesTile.java (98%) rename JNI/src/{ => net/osmand/core}/jni/BinaryMapRasterBitmapTileProvider.java (99%) rename JNI/src/{ => net/osmand/core}/jni/BinaryMapRasterBitmapTileProvider_Software.java (98%) rename JNI/src/{ => net/osmand/core}/jni/BinaryMapRasterizedTile.java (98%) rename JNI/src/{ => net/osmand/core}/jni/BinaryMapStaticSymbolsProvider.java (98%) rename JNI/src/{ => net/osmand/core}/jni/BinaryMapStaticSymbolsTile.java (97%) rename JNI/src/{ => net/osmand/core}/jni/BoolPtr.java (98%) rename JNI/src/{ => net/osmand/core}/jni/ColorARGB.java (98%) rename JNI/src/{ => net/osmand/core}/jni/ColorRGB.java (98%) rename JNI/src/{ => net/osmand/core}/jni/CoreResourcesEmbeddedBundle.java (99%) rename JNI/src/{ => net/osmand/core}/jni/DefaultLogSink.java (97%) rename JNI/src/{ => net/osmand/core}/jni/DoublePtr.java (98%) rename JNI/src/{ => net/osmand/core}/jni/Edge.java (98%) rename JNI/src/{ => net/osmand/core}/jni/ElevationDataTile.java (98%) rename JNI/src/{ => net/osmand/core}/jni/FColorARGB.java (98%) rename JNI/src/{ => net/osmand/core}/jni/FColorRGB.java (98%) rename JNI/src/{ => net/osmand/core}/jni/FloatPtr.java (98%) rename JNI/src/{ => net/osmand/core}/jni/ICoreResourcesProvider.java (99%) rename JNI/src/{ => net/osmand/core}/jni/ILogSink.java (97%) rename JNI/src/{ => net/osmand/core}/jni/IMapDataProvider.java (98%) rename JNI/src/{ => net/osmand/core}/jni/IMapElevationDataProvider.java (97%) rename JNI/src/{ => net/osmand/core}/jni/IMapKeyedDataProvider.java (98%) rename JNI/src/{ => net/osmand/core}/jni/IMapKeyedSymbolsProvider.java (97%) rename JNI/src/{ => net/osmand/core}/jni/IMapRasterBitmapTileProvider.java (97%) rename JNI/src/{ => net/osmand/core}/jni/IMapRenderer.java (99%) rename JNI/src/{ => net/osmand/core}/jni/IMapStylesCollection.java (98%) rename JNI/src/{ => net/osmand/core}/jni/IMapStylesPresetsCollection.java (98%) rename JNI/src/{ => net/osmand/core}/jni/IMapTiledDataProvider.java (98%) rename JNI/src/{ => net/osmand/core}/jni/IMapTiledSymbolsProvider.java (98%) rename JNI/src/{ => net/osmand/core}/jni/IObfsCollection.java (97%) rename JNI/src/{ => net/osmand/core}/jni/IObservable.java (97%) rename JNI/src/{ => net/osmand/core}/jni/IOnlineTileSources.java (99%) rename JNI/src/{ => net/osmand/core}/jni/IntPtr.java (98%) rename JNI/src/{ => net/osmand/core}/jni/KeyedMapSymbolsData.java (98%) rename JNI/src/{ => net/osmand/core}/jni/LanguageId.java (98%) rename JNI/src/{ => net/osmand/core}/jni/LatLon.java (98%) rename JNI/src/{ => net/osmand/core}/jni/LogSeverityLevel.java (98%) rename JNI/src/{ => net/osmand/core}/jni/Logger.java (98%) rename JNI/src/{ => net/osmand/core}/jni/MapData.java (97%) rename JNI/src/{ => net/osmand/core}/jni/MapFoundationType.java (98%) rename JNI/src/{ => net/osmand/core}/jni/MapKeyedData.java (97%) rename JNI/src/{ => net/osmand/core}/jni/MapPresentationEnvironment.java (99%) rename JNI/src/{ => net/osmand/core}/jni/MapRendererClass.java (98%) rename JNI/src/{ => net/osmand/core}/jni/MapRendererConfiguration.java (98%) rename JNI/src/{ => net/osmand/core}/jni/MapRendererDebugSettings.java (99%) rename JNI/src/{ => net/osmand/core}/jni/MapRendererSetupOptions.java (99%) rename JNI/src/{ => net/osmand/core}/jni/MapRendererState.java (99%) rename JNI/src/{ => net/osmand/core}/jni/MapRendererStateChange.java (98%) rename JNI/src/{ => net/osmand/core}/jni/MapRendererStateChanges.java (98%) rename JNI/src/{ => net/osmand/core}/jni/MapStyleBuiltinValueDefinitions.java (98%) rename JNI/src/{ => net/osmand/core}/jni/MapStyleConstantValue.java (98%) rename JNI/src/{ => net/osmand/core}/jni/MapStylePreset.java (99%) rename JNI/src/{ => net/osmand/core}/jni/MapStyleRulesetType.java (98%) rename JNI/src/{ => net/osmand/core}/jni/MapStyleValueDataType.java (98%) rename JNI/src/{ => net/osmand/core}/jni/MapStyleValueDefinition.java (99%) rename JNI/src/{ => net/osmand/core}/jni/MapStylesCollection.java (98%) rename JNI/src/{ => net/osmand/core}/jni/MapStylesPresetsCollection.java (99%) rename JNI/src/{ => net/osmand/core}/jni/MapSymbol.java (99%) rename JNI/src/{ => net/osmand/core}/jni/MapSymbolsGroup.java (99%) rename JNI/src/{ => net/osmand/core}/jni/MapTiledData.java (97%) rename JNI/src/{ => net/osmand/core}/jni/OOBBD.java (98%) rename JNI/src/{ => net/osmand/core}/jni/OOBBF.java (98%) rename JNI/src/{ => net/osmand/core}/jni/OOBBI.java (98%) rename JNI/src/{ => net/osmand/core}/jni/ObfAddressBlockType.java (98%) rename JNI/src/{ => net/osmand/core}/jni/ObfDataInterface.java (99%) rename JNI/src/{ => net/osmand/core}/jni/ObfFile.java (98%) rename JNI/src/{ => net/osmand/core}/jni/ObfInfo.java (98%) rename JNI/src/{ => net/osmand/core}/jni/ObfMapSectionDataBlockId.java (98%) rename JNI/src/{ => net/osmand/core}/jni/ObfRoutingSectionDataBlockId.java (98%) rename JNI/src/{ => net/osmand/core}/jni/ObfsCollection.java (98%) rename JNI/src/{ => net/osmand/core}/jni/OnlineRasterMapTileProvider.java (99%) rename JNI/src/{ => net/osmand/core}/jni/OnlineTileSources.java (99%) rename JNI/src/{ => net/osmand/core}/jni/OsmAndCore.java (99%) rename JNI/src/{ => net/osmand/core}/jni/OsmAndCoreConstants.java (96%) rename JNI/src/{ => net/osmand/core}/jni/OsmAndCoreJNI.java (99%) rename JNI/src/{ => net/osmand/core}/jni/PointD.java (98%) rename JNI/src/{ => net/osmand/core}/jni/PointF.java (98%) rename JNI/src/{ => net/osmand/core}/jni/PointI.java (98%) rename JNI/src/{ => net/osmand/core}/jni/Primitiviser.java (99%) rename JNI/src/{ => net/osmand/core}/jni/QIODeviceLogSink.java (98%) rename JNI/src/{ => net/osmand/core}/jni/QStringList.java (98%) rename JNI/src/{ => net/osmand/core}/jni/Quadrant.java (98%) rename JNI/src/{ => net/osmand/core}/jni/RasterBitmapTile.java (98%) rename JNI/src/{ => net/osmand/core}/jni/RasterMapLayerId.java (98%) rename JNI/src/{ => net/osmand/core}/jni/ResolvedMapStyle.java (99%) rename JNI/src/{ => net/osmand/core}/jni/ResourcesManager.java (99%) rename JNI/src/{ => net/osmand/core}/jni/RoutingDataLevel.java (98%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_BinaryMapDataProvider_Metrics__Metric_obtainData.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_BinaryMapPrimitivesProvider_Metrics__Metric_obtainData.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_BinaryMapRasterBitmapTileProvider_Metrics__Metric_obtainData.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_FilterMapObjectsByIdFunction.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_FilterRoadsByIdFunction.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_IOnPathMapSymbol__PinPoint.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_MapFoundationType.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_MapStyleEvaluationResult.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_ObfRoutingSectionReader_Metrics__Metric_loadRoads.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT.java (97%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__IntersectionProcessingModeFlag_unsigned_int_t.java (97%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__PresentationModeFlag_unsigned_int_t.java (97%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__FramePreparedObserver.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__StateChangeObserver.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_OsmAnd__IQueryController.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_OsmAnd__MapStyleEvaluator.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_OsmAnd__ObfMapSectionReader_Metrics__Metric_loadMapObjects.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__FramePreparedObserver_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t__Tag.java (97%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t__Tag.java (97%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__StateChangeObserver_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t.java (97%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t__Tag.java (97%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t__Tag.java (97%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__LocalResourcesChanged_t.java (97%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__RepositoryUpdated_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_OsmAnd__PointT_long_long_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__LocalResourcesChanged.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__RepositoryUpdated.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_Primitiviser_Metrics__Metric_primitivise.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QByteArray.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QDir.java (95%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QFileInfo.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QFileInfoList.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QHashT_OsmAnd__TagValueId_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Rule_const_t_t.java (97%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QHashT_QString_QString_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__IOnlineTileSources__Source_const_t_t.java (97%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__BuiltinResource_const_t_t.java (97%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__LocalResource_const_t_t.java (97%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__ResourceInRepository_const_t_t.java (97%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QHashT_int_OsmAnd__MapStyleConstantValue_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QHashT_int_OsmAnd__ResolvedMapStyle__ResolvedValue_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapSymbol_t_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalSymbolInstanceParameters_t_t.java (97%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_std__shared_ptrT_OsmAnd__Primitiviser__SymbolsGroup_const_t_t.java (97%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QIODevice.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfFile_const_t_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_const_t_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalInstance_t_t.java (97%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfAddressSectionInfo_t_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_t_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfPoiSectionInfo_t_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfReader_const_t_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfRoutingSectionInfo_t_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfTransportSectionInfo_t_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t_t.java (97%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QListT_void_const_p_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QSetT_QString_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QSetT_int_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__ILogSink_t_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__IMapDataProvider_t_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QStringList.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QUrl.java (95%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_QVectorT_OsmAnd__PointT_int32_t_t_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_RoutingDataLevel.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java (97%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__SymbolsGroup_const_t.java (97%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_WebClient__RequestProgressCallbackSignature.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_bool.java (95%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_double.java (95%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_float.java (95%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_int.java (95%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_std__arrayT_float_OsmAnd__RasterMapLayersCount_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_std__arrayT_std__shared_ptrT_OsmAnd__IMapRasterBitmapTileProvider_t_OsmAnd__RasterMapLayersCount_t.java (97%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_std__functionT_void_fOsmAnd__PointT_int_t_const_RF_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_const_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Attribute_const_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Parameter_const_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_std__shared_ptrT_QIODevice_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_std__weak_ptrT_ObfMapSectionReader__DataBlocksCache_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_unsigned_char.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_unsigned_int.java (96%) rename JNI/src/{ => net/osmand/core}/jni/SWIGTYPE_p_void.java (95%) rename JNI/src/{ => net/osmand/core}/jni/SwigUtilities.java (98%) rename JNI/src/{ => net/osmand/core}/jni/TagValueId.java (98%) rename JNI/src/{ => net/osmand/core}/jni/TextureFilteringQuality.java (98%) rename JNI/src/{ => net/osmand/core}/jni/TileId.java (98%) rename JNI/src/{ => net/osmand/core}/jni/TiledMapSymbolsData.java (98%) rename JNI/src/{ => net/osmand/core}/jni/UIntPtr.java (98%) rename JNI/src/{ => net/osmand/core}/jni/Utilities.java (99%) rename JNI/src/{ => net/osmand/core}/jni/ZoomLevel.java (98%) create mode 100644 OsmAnd/src/net/osmand/plus/views/controllers/NativeRenderer.java diff --git a/JNI/src/jni/AlphaChannelData.java b/JNI/src/net/osmand/core/jni/AlphaChannelData.java similarity index 98% rename from JNI/src/jni/AlphaChannelData.java rename to JNI/src/net/osmand/core/jni/AlphaChannelData.java index 2dab17bec1..e8a11e9fac 100644 --- a/JNI/src/jni/AlphaChannelData.java +++ b/JNI/src/net/osmand/core/jni/AlphaChannelData.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public enum AlphaChannelData { Present, diff --git a/JNI/src/jni/AreaD.java b/JNI/src/net/osmand/core/jni/AreaD.java similarity index 99% rename from JNI/src/jni/AreaD.java rename to JNI/src/net/osmand/core/jni/AreaD.java index e5527cd69b..45f2daba7d 100644 --- a/JNI/src/jni/AreaD.java +++ b/JNI/src/net/osmand/core/jni/AreaD.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class AreaD { private long swigCPtr; diff --git a/JNI/src/jni/AreaF.java b/JNI/src/net/osmand/core/jni/AreaF.java similarity index 99% rename from JNI/src/jni/AreaF.java rename to JNI/src/net/osmand/core/jni/AreaF.java index c6e05efa11..569a5fe9a2 100644 --- a/JNI/src/jni/AreaF.java +++ b/JNI/src/net/osmand/core/jni/AreaF.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class AreaF { private long swigCPtr; diff --git a/JNI/src/jni/AreaI.java b/JNI/src/net/osmand/core/jni/AreaI.java similarity index 99% rename from JNI/src/jni/AreaI.java rename to JNI/src/net/osmand/core/jni/AreaI.java index bf266789b5..2c8d468f01 100644 --- a/JNI/src/jni/AreaI.java +++ b/JNI/src/net/osmand/core/jni/AreaI.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class AreaI { private long swigCPtr; diff --git a/JNI/src/jni/AtlasMapRendererConfiguration.java b/JNI/src/net/osmand/core/jni/AtlasMapRendererConfiguration.java similarity index 99% rename from JNI/src/jni/AtlasMapRendererConfiguration.java rename to JNI/src/net/osmand/core/jni/AtlasMapRendererConfiguration.java index ac2a06b472..bb922392ef 100644 --- a/JNI/src/jni/AtlasMapRendererConfiguration.java +++ b/JNI/src/net/osmand/core/jni/AtlasMapRendererConfiguration.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class AtlasMapRendererConfiguration extends MapRendererConfiguration { private long swigCPtr; diff --git a/JNI/src/jni/BinaryMapDataProvider.java b/JNI/src/net/osmand/core/jni/BinaryMapDataProvider.java similarity index 99% rename from JNI/src/jni/BinaryMapDataProvider.java rename to JNI/src/net/osmand/core/jni/BinaryMapDataProvider.java index 1d6272f5ba..285407dabf 100644 --- a/JNI/src/jni/BinaryMapDataProvider.java +++ b/JNI/src/net/osmand/core/jni/BinaryMapDataProvider.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class BinaryMapDataProvider extends IMapTiledDataProvider { private long swigCPtr; diff --git a/JNI/src/jni/BinaryMapDataTile.java b/JNI/src/net/osmand/core/jni/BinaryMapDataTile.java similarity index 98% rename from JNI/src/jni/BinaryMapDataTile.java rename to JNI/src/net/osmand/core/jni/BinaryMapDataTile.java index 7d20c491bf..4210153a41 100644 --- a/JNI/src/jni/BinaryMapDataTile.java +++ b/JNI/src/net/osmand/core/jni/BinaryMapDataTile.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class BinaryMapDataTile extends MapTiledData { private long swigCPtr; diff --git a/JNI/src/jni/BinaryMapPrimitivesProvider.java b/JNI/src/net/osmand/core/jni/BinaryMapPrimitivesProvider.java similarity index 99% rename from JNI/src/jni/BinaryMapPrimitivesProvider.java rename to JNI/src/net/osmand/core/jni/BinaryMapPrimitivesProvider.java index 058a3f4051..f1cbf11fe7 100644 --- a/JNI/src/jni/BinaryMapPrimitivesProvider.java +++ b/JNI/src/net/osmand/core/jni/BinaryMapPrimitivesProvider.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class BinaryMapPrimitivesProvider extends IMapTiledDataProvider { private long swigCPtr; diff --git a/JNI/src/jni/BinaryMapPrimitivesTile.java b/JNI/src/net/osmand/core/jni/BinaryMapPrimitivesTile.java similarity index 98% rename from JNI/src/jni/BinaryMapPrimitivesTile.java rename to JNI/src/net/osmand/core/jni/BinaryMapPrimitivesTile.java index e60207770c..d6f84311c4 100644 --- a/JNI/src/jni/BinaryMapPrimitivesTile.java +++ b/JNI/src/net/osmand/core/jni/BinaryMapPrimitivesTile.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class BinaryMapPrimitivesTile extends MapTiledData { private long swigCPtr; diff --git a/JNI/src/jni/BinaryMapRasterBitmapTileProvider.java b/JNI/src/net/osmand/core/jni/BinaryMapRasterBitmapTileProvider.java similarity index 99% rename from JNI/src/jni/BinaryMapRasterBitmapTileProvider.java rename to JNI/src/net/osmand/core/jni/BinaryMapRasterBitmapTileProvider.java index c075871b78..e3586f7d0e 100644 --- a/JNI/src/jni/BinaryMapRasterBitmapTileProvider.java +++ b/JNI/src/net/osmand/core/jni/BinaryMapRasterBitmapTileProvider.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class BinaryMapRasterBitmapTileProvider extends IMapRasterBitmapTileProvider { private long swigCPtr; diff --git a/JNI/src/jni/BinaryMapRasterBitmapTileProvider_Software.java b/JNI/src/net/osmand/core/jni/BinaryMapRasterBitmapTileProvider_Software.java similarity index 98% rename from JNI/src/jni/BinaryMapRasterBitmapTileProvider_Software.java rename to JNI/src/net/osmand/core/jni/BinaryMapRasterBitmapTileProvider_Software.java index 923bf186d0..7c176c8953 100644 --- a/JNI/src/jni/BinaryMapRasterBitmapTileProvider_Software.java +++ b/JNI/src/net/osmand/core/jni/BinaryMapRasterBitmapTileProvider_Software.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class BinaryMapRasterBitmapTileProvider_Software extends BinaryMapRasterBitmapTileProvider { private long swigCPtr; diff --git a/JNI/src/jni/BinaryMapRasterizedTile.java b/JNI/src/net/osmand/core/jni/BinaryMapRasterizedTile.java similarity index 98% rename from JNI/src/jni/BinaryMapRasterizedTile.java rename to JNI/src/net/osmand/core/jni/BinaryMapRasterizedTile.java index 1d7c931d1f..3955a13940 100644 --- a/JNI/src/jni/BinaryMapRasterizedTile.java +++ b/JNI/src/net/osmand/core/jni/BinaryMapRasterizedTile.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class BinaryMapRasterizedTile extends RasterBitmapTile { private long swigCPtr; diff --git a/JNI/src/jni/BinaryMapStaticSymbolsProvider.java b/JNI/src/net/osmand/core/jni/BinaryMapStaticSymbolsProvider.java similarity index 98% rename from JNI/src/jni/BinaryMapStaticSymbolsProvider.java rename to JNI/src/net/osmand/core/jni/BinaryMapStaticSymbolsProvider.java index 09d139b33b..df275dc0ea 100644 --- a/JNI/src/jni/BinaryMapStaticSymbolsProvider.java +++ b/JNI/src/net/osmand/core/jni/BinaryMapStaticSymbolsProvider.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class BinaryMapStaticSymbolsProvider extends IMapTiledSymbolsProvider { private long swigCPtr; diff --git a/JNI/src/jni/BinaryMapStaticSymbolsTile.java b/JNI/src/net/osmand/core/jni/BinaryMapStaticSymbolsTile.java similarity index 97% rename from JNI/src/jni/BinaryMapStaticSymbolsTile.java rename to JNI/src/net/osmand/core/jni/BinaryMapStaticSymbolsTile.java index bf529ce325..e9d6debf03 100644 --- a/JNI/src/jni/BinaryMapStaticSymbolsTile.java +++ b/JNI/src/net/osmand/core/jni/BinaryMapStaticSymbolsTile.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class BinaryMapStaticSymbolsTile extends TiledMapSymbolsData { private long swigCPtr; diff --git a/JNI/src/jni/BoolPtr.java b/JNI/src/net/osmand/core/jni/BoolPtr.java similarity index 98% rename from JNI/src/jni/BoolPtr.java rename to JNI/src/net/osmand/core/jni/BoolPtr.java index cd6c7fb3c7..897480b9f8 100644 --- a/JNI/src/jni/BoolPtr.java +++ b/JNI/src/net/osmand/core/jni/BoolPtr.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class BoolPtr { private long swigCPtr; diff --git a/JNI/src/jni/ColorARGB.java b/JNI/src/net/osmand/core/jni/ColorARGB.java similarity index 98% rename from JNI/src/jni/ColorARGB.java rename to JNI/src/net/osmand/core/jni/ColorARGB.java index 67d936d473..de4936fe25 100644 --- a/JNI/src/jni/ColorARGB.java +++ b/JNI/src/net/osmand/core/jni/ColorARGB.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class ColorARGB { private long swigCPtr; diff --git a/JNI/src/jni/ColorRGB.java b/JNI/src/net/osmand/core/jni/ColorRGB.java similarity index 98% rename from JNI/src/jni/ColorRGB.java rename to JNI/src/net/osmand/core/jni/ColorRGB.java index e21f9e84e5..aad85d8aad 100644 --- a/JNI/src/jni/ColorRGB.java +++ b/JNI/src/net/osmand/core/jni/ColorRGB.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class ColorRGB { private long swigCPtr; diff --git a/JNI/src/jni/CoreResourcesEmbeddedBundle.java b/JNI/src/net/osmand/core/jni/CoreResourcesEmbeddedBundle.java similarity index 99% rename from JNI/src/jni/CoreResourcesEmbeddedBundle.java rename to JNI/src/net/osmand/core/jni/CoreResourcesEmbeddedBundle.java index 1b2cff5448..4fa77fb4a1 100644 --- a/JNI/src/jni/CoreResourcesEmbeddedBundle.java +++ b/JNI/src/net/osmand/core/jni/CoreResourcesEmbeddedBundle.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class CoreResourcesEmbeddedBundle extends ICoreResourcesProvider { private long swigCPtr; diff --git a/JNI/src/jni/DefaultLogSink.java b/JNI/src/net/osmand/core/jni/DefaultLogSink.java similarity index 97% rename from JNI/src/jni/DefaultLogSink.java rename to JNI/src/net/osmand/core/jni/DefaultLogSink.java index 313bcaa140..5fd02b898c 100644 --- a/JNI/src/jni/DefaultLogSink.java +++ b/JNI/src/net/osmand/core/jni/DefaultLogSink.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class DefaultLogSink extends ILogSink { private long swigCPtr; diff --git a/JNI/src/jni/DoublePtr.java b/JNI/src/net/osmand/core/jni/DoublePtr.java similarity index 98% rename from JNI/src/jni/DoublePtr.java rename to JNI/src/net/osmand/core/jni/DoublePtr.java index f6b2d626bd..f1cd59d3f9 100644 --- a/JNI/src/jni/DoublePtr.java +++ b/JNI/src/net/osmand/core/jni/DoublePtr.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class DoublePtr { private long swigCPtr; diff --git a/JNI/src/jni/Edge.java b/JNI/src/net/osmand/core/jni/Edge.java similarity index 98% rename from JNI/src/jni/Edge.java rename to JNI/src/net/osmand/core/jni/Edge.java index e7fe6a93ef..78b9dfa149 100644 --- a/JNI/src/jni/Edge.java +++ b/JNI/src/net/osmand/core/jni/Edge.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public enum Edge { Invalid(OsmAndCoreJNI.Edge_Invalid_get()), diff --git a/JNI/src/jni/ElevationDataTile.java b/JNI/src/net/osmand/core/jni/ElevationDataTile.java similarity index 98% rename from JNI/src/jni/ElevationDataTile.java rename to JNI/src/net/osmand/core/jni/ElevationDataTile.java index 3f3cb29b2b..62fa568624 100644 --- a/JNI/src/jni/ElevationDataTile.java +++ b/JNI/src/net/osmand/core/jni/ElevationDataTile.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class ElevationDataTile extends MapTiledData { private long swigCPtr; diff --git a/JNI/src/jni/FColorARGB.java b/JNI/src/net/osmand/core/jni/FColorARGB.java similarity index 98% rename from JNI/src/jni/FColorARGB.java rename to JNI/src/net/osmand/core/jni/FColorARGB.java index 84427f2b31..0cddac9068 100644 --- a/JNI/src/jni/FColorARGB.java +++ b/JNI/src/net/osmand/core/jni/FColorARGB.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class FColorARGB { private long swigCPtr; diff --git a/JNI/src/jni/FColorRGB.java b/JNI/src/net/osmand/core/jni/FColorRGB.java similarity index 98% rename from JNI/src/jni/FColorRGB.java rename to JNI/src/net/osmand/core/jni/FColorRGB.java index 923014b7aa..cb6825e9d2 100644 --- a/JNI/src/jni/FColorRGB.java +++ b/JNI/src/net/osmand/core/jni/FColorRGB.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class FColorRGB { private long swigCPtr; diff --git a/JNI/src/jni/FloatPtr.java b/JNI/src/net/osmand/core/jni/FloatPtr.java similarity index 98% rename from JNI/src/jni/FloatPtr.java rename to JNI/src/net/osmand/core/jni/FloatPtr.java index a9e50e0064..9cfcfacd7e 100644 --- a/JNI/src/jni/FloatPtr.java +++ b/JNI/src/net/osmand/core/jni/FloatPtr.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class FloatPtr { private long swigCPtr; diff --git a/JNI/src/jni/ICoreResourcesProvider.java b/JNI/src/net/osmand/core/jni/ICoreResourcesProvider.java similarity index 99% rename from JNI/src/jni/ICoreResourcesProvider.java rename to JNI/src/net/osmand/core/jni/ICoreResourcesProvider.java index 1968510b23..4d9e88c3b4 100644 --- a/JNI/src/jni/ICoreResourcesProvider.java +++ b/JNI/src/net/osmand/core/jni/ICoreResourcesProvider.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class ICoreResourcesProvider { private long swigCPtr; diff --git a/JNI/src/jni/ILogSink.java b/JNI/src/net/osmand/core/jni/ILogSink.java similarity index 97% rename from JNI/src/jni/ILogSink.java rename to JNI/src/net/osmand/core/jni/ILogSink.java index 1226343750..e0127c837f 100644 --- a/JNI/src/jni/ILogSink.java +++ b/JNI/src/net/osmand/core/jni/ILogSink.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class ILogSink { private long swigCPtr; diff --git a/JNI/src/jni/IMapDataProvider.java b/JNI/src/net/osmand/core/jni/IMapDataProvider.java similarity index 98% rename from JNI/src/jni/IMapDataProvider.java rename to JNI/src/net/osmand/core/jni/IMapDataProvider.java index 3eebd9ceaf..c236bdf4b4 100644 --- a/JNI/src/jni/IMapDataProvider.java +++ b/JNI/src/net/osmand/core/jni/IMapDataProvider.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class IMapDataProvider { private long swigCPtr; diff --git a/JNI/src/jni/IMapElevationDataProvider.java b/JNI/src/net/osmand/core/jni/IMapElevationDataProvider.java similarity index 97% rename from JNI/src/jni/IMapElevationDataProvider.java rename to JNI/src/net/osmand/core/jni/IMapElevationDataProvider.java index 95b399db40..4a6fdcc67f 100644 --- a/JNI/src/jni/IMapElevationDataProvider.java +++ b/JNI/src/net/osmand/core/jni/IMapElevationDataProvider.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class IMapElevationDataProvider extends IMapTiledDataProvider { private long swigCPtr; diff --git a/JNI/src/jni/IMapKeyedDataProvider.java b/JNI/src/net/osmand/core/jni/IMapKeyedDataProvider.java similarity index 98% rename from JNI/src/jni/IMapKeyedDataProvider.java rename to JNI/src/net/osmand/core/jni/IMapKeyedDataProvider.java index 954b6af3e9..38a644130c 100644 --- a/JNI/src/jni/IMapKeyedDataProvider.java +++ b/JNI/src/net/osmand/core/jni/IMapKeyedDataProvider.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class IMapKeyedDataProvider extends IMapDataProvider { private long swigCPtr; diff --git a/JNI/src/jni/IMapKeyedSymbolsProvider.java b/JNI/src/net/osmand/core/jni/IMapKeyedSymbolsProvider.java similarity index 97% rename from JNI/src/jni/IMapKeyedSymbolsProvider.java rename to JNI/src/net/osmand/core/jni/IMapKeyedSymbolsProvider.java index ba3a0d9221..c29425c537 100644 --- a/JNI/src/jni/IMapKeyedSymbolsProvider.java +++ b/JNI/src/net/osmand/core/jni/IMapKeyedSymbolsProvider.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class IMapKeyedSymbolsProvider extends IMapKeyedDataProvider { private long swigCPtr; diff --git a/JNI/src/jni/IMapRasterBitmapTileProvider.java b/JNI/src/net/osmand/core/jni/IMapRasterBitmapTileProvider.java similarity index 97% rename from JNI/src/jni/IMapRasterBitmapTileProvider.java rename to JNI/src/net/osmand/core/jni/IMapRasterBitmapTileProvider.java index f463003332..1b10fbe06a 100644 --- a/JNI/src/jni/IMapRasterBitmapTileProvider.java +++ b/JNI/src/net/osmand/core/jni/IMapRasterBitmapTileProvider.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class IMapRasterBitmapTileProvider extends IMapTiledDataProvider { private long swigCPtr; diff --git a/JNI/src/jni/IMapRenderer.java b/JNI/src/net/osmand/core/jni/IMapRenderer.java similarity index 99% rename from JNI/src/jni/IMapRenderer.java rename to JNI/src/net/osmand/core/jni/IMapRenderer.java index 7f859b390a..bd9d9a0568 100644 --- a/JNI/src/jni/IMapRenderer.java +++ b/JNI/src/net/osmand/core/jni/IMapRenderer.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class IMapRenderer { private long swigCPtr; diff --git a/JNI/src/jni/IMapStylesCollection.java b/JNI/src/net/osmand/core/jni/IMapStylesCollection.java similarity index 98% rename from JNI/src/jni/IMapStylesCollection.java rename to JNI/src/net/osmand/core/jni/IMapStylesCollection.java index 9dcdbf576a..e161ed39ff 100644 --- a/JNI/src/jni/IMapStylesCollection.java +++ b/JNI/src/net/osmand/core/jni/IMapStylesCollection.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class IMapStylesCollection { private long swigCPtr; diff --git a/JNI/src/jni/IMapStylesPresetsCollection.java b/JNI/src/net/osmand/core/jni/IMapStylesPresetsCollection.java similarity index 98% rename from JNI/src/jni/IMapStylesPresetsCollection.java rename to JNI/src/net/osmand/core/jni/IMapStylesPresetsCollection.java index e1b15c638e..9c44d08424 100644 --- a/JNI/src/jni/IMapStylesPresetsCollection.java +++ b/JNI/src/net/osmand/core/jni/IMapStylesPresetsCollection.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class IMapStylesPresetsCollection { private long swigCPtr; diff --git a/JNI/src/jni/IMapTiledDataProvider.java b/JNI/src/net/osmand/core/jni/IMapTiledDataProvider.java similarity index 98% rename from JNI/src/jni/IMapTiledDataProvider.java rename to JNI/src/net/osmand/core/jni/IMapTiledDataProvider.java index 5510455efe..9232ad5b2e 100644 --- a/JNI/src/jni/IMapTiledDataProvider.java +++ b/JNI/src/net/osmand/core/jni/IMapTiledDataProvider.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class IMapTiledDataProvider extends IMapDataProvider { private long swigCPtr; diff --git a/JNI/src/jni/IMapTiledSymbolsProvider.java b/JNI/src/net/osmand/core/jni/IMapTiledSymbolsProvider.java similarity index 98% rename from JNI/src/jni/IMapTiledSymbolsProvider.java rename to JNI/src/net/osmand/core/jni/IMapTiledSymbolsProvider.java index 98a14f4cae..f5d5c63ad6 100644 --- a/JNI/src/jni/IMapTiledSymbolsProvider.java +++ b/JNI/src/net/osmand/core/jni/IMapTiledSymbolsProvider.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class IMapTiledSymbolsProvider extends IMapTiledDataProvider { private long swigCPtr; diff --git a/JNI/src/jni/IObfsCollection.java b/JNI/src/net/osmand/core/jni/IObfsCollection.java similarity index 97% rename from JNI/src/jni/IObfsCollection.java rename to JNI/src/net/osmand/core/jni/IObfsCollection.java index 2dda8f0a1a..3d22bf7e88 100644 --- a/JNI/src/jni/IObfsCollection.java +++ b/JNI/src/net/osmand/core/jni/IObfsCollection.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class IObfsCollection { private long swigCPtr; diff --git a/JNI/src/jni/IObservable.java b/JNI/src/net/osmand/core/jni/IObservable.java similarity index 97% rename from JNI/src/jni/IObservable.java rename to JNI/src/net/osmand/core/jni/IObservable.java index c1acf1319c..d3d7b04016 100644 --- a/JNI/src/jni/IObservable.java +++ b/JNI/src/net/osmand/core/jni/IObservable.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class IObservable { private long swigCPtr; diff --git a/JNI/src/jni/IOnlineTileSources.java b/JNI/src/net/osmand/core/jni/IOnlineTileSources.java similarity index 99% rename from JNI/src/jni/IOnlineTileSources.java rename to JNI/src/net/osmand/core/jni/IOnlineTileSources.java index 38f3e00499..4ef074910b 100644 --- a/JNI/src/jni/IOnlineTileSources.java +++ b/JNI/src/net/osmand/core/jni/IOnlineTileSources.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class IOnlineTileSources { private long swigCPtr; diff --git a/JNI/src/jni/IntPtr.java b/JNI/src/net/osmand/core/jni/IntPtr.java similarity index 98% rename from JNI/src/jni/IntPtr.java rename to JNI/src/net/osmand/core/jni/IntPtr.java index 608bf827dd..fa771ca2b8 100644 --- a/JNI/src/jni/IntPtr.java +++ b/JNI/src/net/osmand/core/jni/IntPtr.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class IntPtr { private long swigCPtr; diff --git a/JNI/src/jni/KeyedMapSymbolsData.java b/JNI/src/net/osmand/core/jni/KeyedMapSymbolsData.java similarity index 98% rename from JNI/src/jni/KeyedMapSymbolsData.java rename to JNI/src/net/osmand/core/jni/KeyedMapSymbolsData.java index 7d098384ee..419b6a9dff 100644 --- a/JNI/src/jni/KeyedMapSymbolsData.java +++ b/JNI/src/net/osmand/core/jni/KeyedMapSymbolsData.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class KeyedMapSymbolsData extends MapKeyedData { private long swigCPtr; diff --git a/JNI/src/jni/LanguageId.java b/JNI/src/net/osmand/core/jni/LanguageId.java similarity index 98% rename from JNI/src/jni/LanguageId.java rename to JNI/src/net/osmand/core/jni/LanguageId.java index 463e58adb2..a840216174 100644 --- a/JNI/src/jni/LanguageId.java +++ b/JNI/src/net/osmand/core/jni/LanguageId.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public enum LanguageId { Invariant(OsmAndCoreJNI.LanguageId_Invariant_get()), diff --git a/JNI/src/jni/LatLon.java b/JNI/src/net/osmand/core/jni/LatLon.java similarity index 98% rename from JNI/src/jni/LatLon.java rename to JNI/src/net/osmand/core/jni/LatLon.java index 68fb35c338..1456adeb79 100644 --- a/JNI/src/jni/LatLon.java +++ b/JNI/src/net/osmand/core/jni/LatLon.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class LatLon { private long swigCPtr; diff --git a/JNI/src/jni/LogSeverityLevel.java b/JNI/src/net/osmand/core/jni/LogSeverityLevel.java similarity index 98% rename from JNI/src/jni/LogSeverityLevel.java rename to JNI/src/net/osmand/core/jni/LogSeverityLevel.java index c0d4fc5e68..7585922dbc 100644 --- a/JNI/src/jni/LogSeverityLevel.java +++ b/JNI/src/net/osmand/core/jni/LogSeverityLevel.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public enum LogSeverityLevel { Error(OsmAndCoreJNI.LogSeverityLevel_Error_get()), diff --git a/JNI/src/jni/Logger.java b/JNI/src/net/osmand/core/jni/Logger.java similarity index 98% rename from JNI/src/jni/Logger.java rename to JNI/src/net/osmand/core/jni/Logger.java index dff052c0e5..1e68da375c 100644 --- a/JNI/src/jni/Logger.java +++ b/JNI/src/net/osmand/core/jni/Logger.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class Logger { private long swigCPtr; diff --git a/JNI/src/jni/MapData.java b/JNI/src/net/osmand/core/jni/MapData.java similarity index 97% rename from JNI/src/jni/MapData.java rename to JNI/src/net/osmand/core/jni/MapData.java index 8d775b3fd0..6567b32156 100644 --- a/JNI/src/jni/MapData.java +++ b/JNI/src/net/osmand/core/jni/MapData.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class MapData { private long swigCPtr; diff --git a/JNI/src/jni/MapFoundationType.java b/JNI/src/net/osmand/core/jni/MapFoundationType.java similarity index 98% rename from JNI/src/jni/MapFoundationType.java rename to JNI/src/net/osmand/core/jni/MapFoundationType.java index 84ee2ca8bb..0f66289117 100644 --- a/JNI/src/jni/MapFoundationType.java +++ b/JNI/src/net/osmand/core/jni/MapFoundationType.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public enum MapFoundationType { Undefined(OsmAndCoreJNI.MapFoundationType_Undefined_get()), diff --git a/JNI/src/jni/MapKeyedData.java b/JNI/src/net/osmand/core/jni/MapKeyedData.java similarity index 97% rename from JNI/src/jni/MapKeyedData.java rename to JNI/src/net/osmand/core/jni/MapKeyedData.java index 5bb784591c..635ca8effc 100644 --- a/JNI/src/jni/MapKeyedData.java +++ b/JNI/src/net/osmand/core/jni/MapKeyedData.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class MapKeyedData extends MapData { private long swigCPtr; diff --git a/JNI/src/jni/MapPresentationEnvironment.java b/JNI/src/net/osmand/core/jni/MapPresentationEnvironment.java similarity index 99% rename from JNI/src/jni/MapPresentationEnvironment.java rename to JNI/src/net/osmand/core/jni/MapPresentationEnvironment.java index 3fd369b23d..fd18f6491f 100644 --- a/JNI/src/jni/MapPresentationEnvironment.java +++ b/JNI/src/net/osmand/core/jni/MapPresentationEnvironment.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class MapPresentationEnvironment { private long swigCPtr; diff --git a/JNI/src/jni/MapRendererClass.java b/JNI/src/net/osmand/core/jni/MapRendererClass.java similarity index 98% rename from JNI/src/jni/MapRendererClass.java rename to JNI/src/net/osmand/core/jni/MapRendererClass.java index a54dc009c5..365d2f5448 100644 --- a/JNI/src/jni/MapRendererClass.java +++ b/JNI/src/net/osmand/core/jni/MapRendererClass.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public enum MapRendererClass { AtlasMapRenderer_OpenGL2plus, diff --git a/JNI/src/jni/MapRendererConfiguration.java b/JNI/src/net/osmand/core/jni/MapRendererConfiguration.java similarity index 98% rename from JNI/src/jni/MapRendererConfiguration.java rename to JNI/src/net/osmand/core/jni/MapRendererConfiguration.java index f25fa4edb3..d77aed03cd 100644 --- a/JNI/src/jni/MapRendererConfiguration.java +++ b/JNI/src/net/osmand/core/jni/MapRendererConfiguration.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class MapRendererConfiguration { private long swigCPtr; diff --git a/JNI/src/jni/MapRendererDebugSettings.java b/JNI/src/net/osmand/core/jni/MapRendererDebugSettings.java similarity index 99% rename from JNI/src/jni/MapRendererDebugSettings.java rename to JNI/src/net/osmand/core/jni/MapRendererDebugSettings.java index c36739d72a..14a89fe027 100644 --- a/JNI/src/jni/MapRendererDebugSettings.java +++ b/JNI/src/net/osmand/core/jni/MapRendererDebugSettings.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class MapRendererDebugSettings { private long swigCPtr; diff --git a/JNI/src/jni/MapRendererSetupOptions.java b/JNI/src/net/osmand/core/jni/MapRendererSetupOptions.java similarity index 99% rename from JNI/src/jni/MapRendererSetupOptions.java rename to JNI/src/net/osmand/core/jni/MapRendererSetupOptions.java index e0106434c0..4aeafcb61f 100644 --- a/JNI/src/jni/MapRendererSetupOptions.java +++ b/JNI/src/net/osmand/core/jni/MapRendererSetupOptions.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class MapRendererSetupOptions { private long swigCPtr; diff --git a/JNI/src/jni/MapRendererState.java b/JNI/src/net/osmand/core/jni/MapRendererState.java similarity index 99% rename from JNI/src/jni/MapRendererState.java rename to JNI/src/net/osmand/core/jni/MapRendererState.java index b1b878804f..37405bd2a2 100644 --- a/JNI/src/jni/MapRendererState.java +++ b/JNI/src/net/osmand/core/jni/MapRendererState.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class MapRendererState { private long swigCPtr; diff --git a/JNI/src/jni/MapRendererStateChange.java b/JNI/src/net/osmand/core/jni/MapRendererStateChange.java similarity index 98% rename from JNI/src/jni/MapRendererStateChange.java rename to JNI/src/net/osmand/core/jni/MapRendererStateChange.java index 11e0d8b9e1..5d30213be7 100644 --- a/JNI/src/jni/MapRendererStateChange.java +++ b/JNI/src/net/osmand/core/jni/MapRendererStateChange.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public enum MapRendererStateChange { RasterLayers_Providers(OsmAndCoreJNI.MapRendererStateChange_RasterLayers_Providers_get()), diff --git a/JNI/src/jni/MapRendererStateChanges.java b/JNI/src/net/osmand/core/jni/MapRendererStateChanges.java similarity index 98% rename from JNI/src/jni/MapRendererStateChanges.java rename to JNI/src/net/osmand/core/jni/MapRendererStateChanges.java index e571d27428..691d2bbb88 100644 --- a/JNI/src/jni/MapRendererStateChanges.java +++ b/JNI/src/net/osmand/core/jni/MapRendererStateChanges.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class MapRendererStateChanges { private long swigCPtr; diff --git a/JNI/src/jni/MapStyleBuiltinValueDefinitions.java b/JNI/src/net/osmand/core/jni/MapStyleBuiltinValueDefinitions.java similarity index 98% rename from JNI/src/jni/MapStyleBuiltinValueDefinitions.java rename to JNI/src/net/osmand/core/jni/MapStyleBuiltinValueDefinitions.java index 7e8b442968..0d49aeb908 100644 --- a/JNI/src/jni/MapStyleBuiltinValueDefinitions.java +++ b/JNI/src/net/osmand/core/jni/MapStyleBuiltinValueDefinitions.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class MapStyleBuiltinValueDefinitions { private long swigCPtr; diff --git a/JNI/src/jni/MapStyleConstantValue.java b/JNI/src/net/osmand/core/jni/MapStyleConstantValue.java similarity index 98% rename from JNI/src/jni/MapStyleConstantValue.java rename to JNI/src/net/osmand/core/jni/MapStyleConstantValue.java index 80bf1fca66..70a29a4d29 100644 --- a/JNI/src/jni/MapStyleConstantValue.java +++ b/JNI/src/net/osmand/core/jni/MapStyleConstantValue.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class MapStyleConstantValue { private long swigCPtr; diff --git a/JNI/src/jni/MapStylePreset.java b/JNI/src/net/osmand/core/jni/MapStylePreset.java similarity index 99% rename from JNI/src/jni/MapStylePreset.java rename to JNI/src/net/osmand/core/jni/MapStylePreset.java index 80f0bf3208..5d7f711c97 100644 --- a/JNI/src/jni/MapStylePreset.java +++ b/JNI/src/net/osmand/core/jni/MapStylePreset.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class MapStylePreset { private long swigCPtr; diff --git a/JNI/src/jni/MapStyleRulesetType.java b/JNI/src/net/osmand/core/jni/MapStyleRulesetType.java similarity index 98% rename from JNI/src/jni/MapStyleRulesetType.java rename to JNI/src/net/osmand/core/jni/MapStyleRulesetType.java index 21a7840884..8f0941b321 100644 --- a/JNI/src/jni/MapStyleRulesetType.java +++ b/JNI/src/net/osmand/core/jni/MapStyleRulesetType.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public enum MapStyleRulesetType { Invalid(OsmAndCoreJNI.MapStyleRulesetType_Invalid_get()), diff --git a/JNI/src/jni/MapStyleValueDataType.java b/JNI/src/net/osmand/core/jni/MapStyleValueDataType.java similarity index 98% rename from JNI/src/jni/MapStyleValueDataType.java rename to JNI/src/net/osmand/core/jni/MapStyleValueDataType.java index 43442c7e27..9712d2d144 100644 --- a/JNI/src/jni/MapStyleValueDataType.java +++ b/JNI/src/net/osmand/core/jni/MapStyleValueDataType.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public enum MapStyleValueDataType { Boolean, diff --git a/JNI/src/jni/MapStyleValueDefinition.java b/JNI/src/net/osmand/core/jni/MapStyleValueDefinition.java similarity index 99% rename from JNI/src/jni/MapStyleValueDefinition.java rename to JNI/src/net/osmand/core/jni/MapStyleValueDefinition.java index 96f0a8d1f1..9999f16de5 100644 --- a/JNI/src/jni/MapStyleValueDefinition.java +++ b/JNI/src/net/osmand/core/jni/MapStyleValueDefinition.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class MapStyleValueDefinition { private long swigCPtr; diff --git a/JNI/src/jni/MapStylesCollection.java b/JNI/src/net/osmand/core/jni/MapStylesCollection.java similarity index 98% rename from JNI/src/jni/MapStylesCollection.java rename to JNI/src/net/osmand/core/jni/MapStylesCollection.java index f013a8ba51..c30839a348 100644 --- a/JNI/src/jni/MapStylesCollection.java +++ b/JNI/src/net/osmand/core/jni/MapStylesCollection.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class MapStylesCollection extends IMapStylesCollection { private long swigCPtr; diff --git a/JNI/src/jni/MapStylesPresetsCollection.java b/JNI/src/net/osmand/core/jni/MapStylesPresetsCollection.java similarity index 99% rename from JNI/src/jni/MapStylesPresetsCollection.java rename to JNI/src/net/osmand/core/jni/MapStylesPresetsCollection.java index 2fb16b3cbe..718daa0731 100644 --- a/JNI/src/jni/MapStylesPresetsCollection.java +++ b/JNI/src/net/osmand/core/jni/MapStylesPresetsCollection.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class MapStylesPresetsCollection extends IMapStylesPresetsCollection { private long swigCPtr; diff --git a/JNI/src/jni/MapSymbol.java b/JNI/src/net/osmand/core/jni/MapSymbol.java similarity index 99% rename from JNI/src/jni/MapSymbol.java rename to JNI/src/net/osmand/core/jni/MapSymbol.java index f8ed6c5577..2f4b46d54e 100644 --- a/JNI/src/jni/MapSymbol.java +++ b/JNI/src/net/osmand/core/jni/MapSymbol.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class MapSymbol { private long swigCPtr; diff --git a/JNI/src/jni/MapSymbolsGroup.java b/JNI/src/net/osmand/core/jni/MapSymbolsGroup.java similarity index 99% rename from JNI/src/jni/MapSymbolsGroup.java rename to JNI/src/net/osmand/core/jni/MapSymbolsGroup.java index 60136a49d5..408659e68b 100644 --- a/JNI/src/jni/MapSymbolsGroup.java +++ b/JNI/src/net/osmand/core/jni/MapSymbolsGroup.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class MapSymbolsGroup { private long swigCPtr; diff --git a/JNI/src/jni/MapTiledData.java b/JNI/src/net/osmand/core/jni/MapTiledData.java similarity index 97% rename from JNI/src/jni/MapTiledData.java rename to JNI/src/net/osmand/core/jni/MapTiledData.java index c716c9dbe4..d521a9f702 100644 --- a/JNI/src/jni/MapTiledData.java +++ b/JNI/src/net/osmand/core/jni/MapTiledData.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class MapTiledData extends MapData { private long swigCPtr; diff --git a/JNI/src/jni/OOBBD.java b/JNI/src/net/osmand/core/jni/OOBBD.java similarity index 98% rename from JNI/src/jni/OOBBD.java rename to JNI/src/net/osmand/core/jni/OOBBD.java index 7aec5436dc..aaf5fd2081 100644 --- a/JNI/src/jni/OOBBD.java +++ b/JNI/src/net/osmand/core/jni/OOBBD.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class OOBBD { private long swigCPtr; diff --git a/JNI/src/jni/OOBBF.java b/JNI/src/net/osmand/core/jni/OOBBF.java similarity index 98% rename from JNI/src/jni/OOBBF.java rename to JNI/src/net/osmand/core/jni/OOBBF.java index 6b9b3dc215..bd3eaa570c 100644 --- a/JNI/src/jni/OOBBF.java +++ b/JNI/src/net/osmand/core/jni/OOBBF.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class OOBBF { private long swigCPtr; diff --git a/JNI/src/jni/OOBBI.java b/JNI/src/net/osmand/core/jni/OOBBI.java similarity index 98% rename from JNI/src/jni/OOBBI.java rename to JNI/src/net/osmand/core/jni/OOBBI.java index e753474fc8..d66e3e7699 100644 --- a/JNI/src/jni/OOBBI.java +++ b/JNI/src/net/osmand/core/jni/OOBBI.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class OOBBI { private long swigCPtr; diff --git a/JNI/src/jni/ObfAddressBlockType.java b/JNI/src/net/osmand/core/jni/ObfAddressBlockType.java similarity index 98% rename from JNI/src/jni/ObfAddressBlockType.java rename to JNI/src/net/osmand/core/jni/ObfAddressBlockType.java index c29d6fd5fa..d3d97b2580 100644 --- a/JNI/src/jni/ObfAddressBlockType.java +++ b/JNI/src/net/osmand/core/jni/ObfAddressBlockType.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public enum ObfAddressBlockType { CitiesOrTowns(OsmAndCoreJNI.ObfAddressBlockType_CitiesOrTowns_get()), diff --git a/JNI/src/jni/ObfDataInterface.java b/JNI/src/net/osmand/core/jni/ObfDataInterface.java similarity index 99% rename from JNI/src/jni/ObfDataInterface.java rename to JNI/src/net/osmand/core/jni/ObfDataInterface.java index 4ec7d2bdd7..447cfe4b07 100644 --- a/JNI/src/jni/ObfDataInterface.java +++ b/JNI/src/net/osmand/core/jni/ObfDataInterface.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class ObfDataInterface { private long swigCPtr; diff --git a/JNI/src/jni/ObfFile.java b/JNI/src/net/osmand/core/jni/ObfFile.java similarity index 98% rename from JNI/src/jni/ObfFile.java rename to JNI/src/net/osmand/core/jni/ObfFile.java index 404743be40..5fda99528a 100644 --- a/JNI/src/jni/ObfFile.java +++ b/JNI/src/net/osmand/core/jni/ObfFile.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class ObfFile { private long swigCPtr; diff --git a/JNI/src/jni/ObfInfo.java b/JNI/src/net/osmand/core/jni/ObfInfo.java similarity index 98% rename from JNI/src/jni/ObfInfo.java rename to JNI/src/net/osmand/core/jni/ObfInfo.java index d908bfd46a..576a6e62ae 100644 --- a/JNI/src/jni/ObfInfo.java +++ b/JNI/src/net/osmand/core/jni/ObfInfo.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class ObfInfo { private long swigCPtr; diff --git a/JNI/src/jni/ObfMapSectionDataBlockId.java b/JNI/src/net/osmand/core/jni/ObfMapSectionDataBlockId.java similarity index 98% rename from JNI/src/jni/ObfMapSectionDataBlockId.java rename to JNI/src/net/osmand/core/jni/ObfMapSectionDataBlockId.java index 1a29881e9e..6f0c05b98a 100644 --- a/JNI/src/jni/ObfMapSectionDataBlockId.java +++ b/JNI/src/net/osmand/core/jni/ObfMapSectionDataBlockId.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class ObfMapSectionDataBlockId { private long swigCPtr; diff --git a/JNI/src/jni/ObfRoutingSectionDataBlockId.java b/JNI/src/net/osmand/core/jni/ObfRoutingSectionDataBlockId.java similarity index 98% rename from JNI/src/jni/ObfRoutingSectionDataBlockId.java rename to JNI/src/net/osmand/core/jni/ObfRoutingSectionDataBlockId.java index 2894391694..0e75a595a5 100644 --- a/JNI/src/jni/ObfRoutingSectionDataBlockId.java +++ b/JNI/src/net/osmand/core/jni/ObfRoutingSectionDataBlockId.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class ObfRoutingSectionDataBlockId { private long swigCPtr; diff --git a/JNI/src/jni/ObfsCollection.java b/JNI/src/net/osmand/core/jni/ObfsCollection.java similarity index 98% rename from JNI/src/jni/ObfsCollection.java rename to JNI/src/net/osmand/core/jni/ObfsCollection.java index 2e59af75ef..584b0ae20c 100644 --- a/JNI/src/jni/ObfsCollection.java +++ b/JNI/src/net/osmand/core/jni/ObfsCollection.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class ObfsCollection extends IObfsCollection { private long swigCPtr; diff --git a/JNI/src/jni/OnlineRasterMapTileProvider.java b/JNI/src/net/osmand/core/jni/OnlineRasterMapTileProvider.java similarity index 99% rename from JNI/src/jni/OnlineRasterMapTileProvider.java rename to JNI/src/net/osmand/core/jni/OnlineRasterMapTileProvider.java index d21e6633ba..0a34139888 100644 --- a/JNI/src/jni/OnlineRasterMapTileProvider.java +++ b/JNI/src/net/osmand/core/jni/OnlineRasterMapTileProvider.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class OnlineRasterMapTileProvider extends IMapRasterBitmapTileProvider { private long swigCPtr; diff --git a/JNI/src/jni/OnlineTileSources.java b/JNI/src/net/osmand/core/jni/OnlineTileSources.java similarity index 99% rename from JNI/src/jni/OnlineTileSources.java rename to JNI/src/net/osmand/core/jni/OnlineTileSources.java index 060d0c5ca6..5ae525cff4 100644 --- a/JNI/src/jni/OnlineTileSources.java +++ b/JNI/src/net/osmand/core/jni/OnlineTileSources.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class OnlineTileSources extends IOnlineTileSources { private long swigCPtr; diff --git a/JNI/src/jni/OsmAndCore.java b/JNI/src/net/osmand/core/jni/OsmAndCore.java similarity index 99% rename from JNI/src/jni/OsmAndCore.java rename to JNI/src/net/osmand/core/jni/OsmAndCore.java index 9851d55f1e..4ecc8a7245 100644 --- a/JNI/src/jni/OsmAndCore.java +++ b/JNI/src/net/osmand/core/jni/OsmAndCore.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class OsmAndCore implements OsmAndCoreConstants { public static boolean InitializeCore(ICoreResourcesProvider coreResourcesProvider) { diff --git a/JNI/src/jni/OsmAndCoreConstants.java b/JNI/src/net/osmand/core/jni/OsmAndCoreConstants.java similarity index 96% rename from JNI/src/jni/OsmAndCoreConstants.java rename to JNI/src/net/osmand/core/jni/OsmAndCoreConstants.java index f3bdc6c305..4051c2b106 100644 --- a/JNI/src/jni/OsmAndCoreConstants.java +++ b/JNI/src/net/osmand/core/jni/OsmAndCoreConstants.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public interface OsmAndCoreConstants { public final static int OSMAND_DEBUG = OsmAndCoreJNI.OSMAND_DEBUG_get(); diff --git a/JNI/src/jni/OsmAndCoreJNI.java b/JNI/src/net/osmand/core/jni/OsmAndCoreJNI.java similarity index 99% rename from JNI/src/jni/OsmAndCoreJNI.java rename to JNI/src/net/osmand/core/jni/OsmAndCoreJNI.java index 55c5654fcb..ab8f3617d5 100644 --- a/JNI/src/jni/OsmAndCoreJNI.java +++ b/JNI/src/net/osmand/core/jni/OsmAndCoreJNI.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class OsmAndCoreJNI { public final static native long new_BoolPtr(); diff --git a/JNI/src/jni/PointD.java b/JNI/src/net/osmand/core/jni/PointD.java similarity index 98% rename from JNI/src/jni/PointD.java rename to JNI/src/net/osmand/core/jni/PointD.java index d505b348ef..81754b93a0 100644 --- a/JNI/src/jni/PointD.java +++ b/JNI/src/net/osmand/core/jni/PointD.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class PointD { private long swigCPtr; diff --git a/JNI/src/jni/PointF.java b/JNI/src/net/osmand/core/jni/PointF.java similarity index 98% rename from JNI/src/jni/PointF.java rename to JNI/src/net/osmand/core/jni/PointF.java index ac9a2fb93d..1de2b701fd 100644 --- a/JNI/src/jni/PointF.java +++ b/JNI/src/net/osmand/core/jni/PointF.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class PointF { private long swigCPtr; diff --git a/JNI/src/jni/PointI.java b/JNI/src/net/osmand/core/jni/PointI.java similarity index 98% rename from JNI/src/jni/PointI.java rename to JNI/src/net/osmand/core/jni/PointI.java index c85b3e8bd1..dee565e5f3 100644 --- a/JNI/src/jni/PointI.java +++ b/JNI/src/net/osmand/core/jni/PointI.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class PointI { private long swigCPtr; diff --git a/JNI/src/jni/Primitiviser.java b/JNI/src/net/osmand/core/jni/Primitiviser.java similarity index 99% rename from JNI/src/jni/Primitiviser.java rename to JNI/src/net/osmand/core/jni/Primitiviser.java index b96545da40..a59049a606 100644 --- a/JNI/src/jni/Primitiviser.java +++ b/JNI/src/net/osmand/core/jni/Primitiviser.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class Primitiviser { private long swigCPtr; diff --git a/JNI/src/jni/QIODeviceLogSink.java b/JNI/src/net/osmand/core/jni/QIODeviceLogSink.java similarity index 98% rename from JNI/src/jni/QIODeviceLogSink.java rename to JNI/src/net/osmand/core/jni/QIODeviceLogSink.java index 077f57dd33..73d7f7d800 100644 --- a/JNI/src/jni/QIODeviceLogSink.java +++ b/JNI/src/net/osmand/core/jni/QIODeviceLogSink.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class QIODeviceLogSink extends ILogSink { private long swigCPtr; diff --git a/JNI/src/jni/QStringList.java b/JNI/src/net/osmand/core/jni/QStringList.java similarity index 98% rename from JNI/src/jni/QStringList.java rename to JNI/src/net/osmand/core/jni/QStringList.java index 7573f830c6..6288c563de 100644 --- a/JNI/src/jni/QStringList.java +++ b/JNI/src/net/osmand/core/jni/QStringList.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class QStringList { private long swigCPtr; diff --git a/JNI/src/jni/Quadrant.java b/JNI/src/net/osmand/core/jni/Quadrant.java similarity index 98% rename from JNI/src/jni/Quadrant.java rename to JNI/src/net/osmand/core/jni/Quadrant.java index 6912f5c9b5..908d1b71de 100644 --- a/JNI/src/jni/Quadrant.java +++ b/JNI/src/net/osmand/core/jni/Quadrant.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public enum Quadrant { NE(OsmAndCoreJNI.Quadrant_NE_get()), diff --git a/JNI/src/jni/RasterBitmapTile.java b/JNI/src/net/osmand/core/jni/RasterBitmapTile.java similarity index 98% rename from JNI/src/jni/RasterBitmapTile.java rename to JNI/src/net/osmand/core/jni/RasterBitmapTile.java index 77d8c1653c..a705af18d7 100644 --- a/JNI/src/jni/RasterBitmapTile.java +++ b/JNI/src/net/osmand/core/jni/RasterBitmapTile.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class RasterBitmapTile extends MapTiledData { private long swigCPtr; diff --git a/JNI/src/jni/RasterMapLayerId.java b/JNI/src/net/osmand/core/jni/RasterMapLayerId.java similarity index 98% rename from JNI/src/jni/RasterMapLayerId.java rename to JNI/src/net/osmand/core/jni/RasterMapLayerId.java index 976b604ed5..8e9f7c32e6 100644 --- a/JNI/src/jni/RasterMapLayerId.java +++ b/JNI/src/net/osmand/core/jni/RasterMapLayerId.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public enum RasterMapLayerId { Invalid(OsmAndCoreJNI.RasterMapLayerId_Invalid_get()), diff --git a/JNI/src/jni/ResolvedMapStyle.java b/JNI/src/net/osmand/core/jni/ResolvedMapStyle.java similarity index 99% rename from JNI/src/jni/ResolvedMapStyle.java rename to JNI/src/net/osmand/core/jni/ResolvedMapStyle.java index fed1068de3..c5b2fce392 100644 --- a/JNI/src/jni/ResolvedMapStyle.java +++ b/JNI/src/net/osmand/core/jni/ResolvedMapStyle.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class ResolvedMapStyle { private long swigCPtr; diff --git a/JNI/src/jni/ResourcesManager.java b/JNI/src/net/osmand/core/jni/ResourcesManager.java similarity index 99% rename from JNI/src/jni/ResourcesManager.java rename to JNI/src/net/osmand/core/jni/ResourcesManager.java index 454207ff41..59084dd22c 100644 --- a/JNI/src/jni/ResourcesManager.java +++ b/JNI/src/net/osmand/core/jni/ResourcesManager.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class ResourcesManager { private long swigCPtr; diff --git a/JNI/src/jni/RoutingDataLevel.java b/JNI/src/net/osmand/core/jni/RoutingDataLevel.java similarity index 98% rename from JNI/src/jni/RoutingDataLevel.java rename to JNI/src/net/osmand/core/jni/RoutingDataLevel.java index 6bd0c3da22..7256a63d21 100644 --- a/JNI/src/jni/RoutingDataLevel.java +++ b/JNI/src/net/osmand/core/jni/RoutingDataLevel.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public enum RoutingDataLevel { Basemap, diff --git a/JNI/src/jni/SWIGTYPE_p_BinaryMapDataProvider_Metrics__Metric_obtainData.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapDataProvider_Metrics__Metric_obtainData.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_BinaryMapDataProvider_Metrics__Metric_obtainData.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapDataProvider_Metrics__Metric_obtainData.java index f97721648a..ea330851bb 100644 --- a/JNI/src/jni/SWIGTYPE_p_BinaryMapDataProvider_Metrics__Metric_obtainData.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapDataProvider_Metrics__Metric_obtainData.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_BinaryMapDataProvider_Metrics__Metric_obtainData { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_BinaryMapPrimitivesProvider_Metrics__Metric_obtainData.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapPrimitivesProvider_Metrics__Metric_obtainData.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_BinaryMapPrimitivesProvider_Metrics__Metric_obtainData.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapPrimitivesProvider_Metrics__Metric_obtainData.java index 9142a16516..8bf4c18211 100644 --- a/JNI/src/jni/SWIGTYPE_p_BinaryMapPrimitivesProvider_Metrics__Metric_obtainData.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapPrimitivesProvider_Metrics__Metric_obtainData.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_BinaryMapPrimitivesProvider_Metrics__Metric_obtainData { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_BinaryMapRasterBitmapTileProvider_Metrics__Metric_obtainData.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapRasterBitmapTileProvider_Metrics__Metric_obtainData.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_BinaryMapRasterBitmapTileProvider_Metrics__Metric_obtainData.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapRasterBitmapTileProvider_Metrics__Metric_obtainData.java index 157c627e7f..be22bdac64 100644 --- a/JNI/src/jni/SWIGTYPE_p_BinaryMapRasterBitmapTileProvider_Metrics__Metric_obtainData.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_BinaryMapRasterBitmapTileProvider_Metrics__Metric_obtainData.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_BinaryMapRasterBitmapTileProvider_Metrics__Metric_obtainData { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_FilterMapObjectsByIdFunction.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_FilterMapObjectsByIdFunction.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_FilterMapObjectsByIdFunction.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_FilterMapObjectsByIdFunction.java index 998d0cbcb0..0ceed6a101 100644 --- a/JNI/src/jni/SWIGTYPE_p_FilterMapObjectsByIdFunction.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_FilterMapObjectsByIdFunction.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_FilterMapObjectsByIdFunction { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_FilterRoadsByIdFunction.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_FilterRoadsByIdFunction.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_FilterRoadsByIdFunction.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_FilterRoadsByIdFunction.java index 63ec919a52..59e672076b 100644 --- a/JNI/src/jni/SWIGTYPE_p_FilterRoadsByIdFunction.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_FilterRoadsByIdFunction.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_FilterRoadsByIdFunction { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_IOnPathMapSymbol__PinPoint.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_IOnPathMapSymbol__PinPoint.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_IOnPathMapSymbol__PinPoint.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_IOnPathMapSymbol__PinPoint.java index c552078219..3e3e70bbc8 100644 --- a/JNI/src/jni/SWIGTYPE_p_IOnPathMapSymbol__PinPoint.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_IOnPathMapSymbol__PinPoint.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_IOnPathMapSymbol__PinPoint { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_MapFoundationType.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_MapFoundationType.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_MapFoundationType.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_MapFoundationType.java index efc3306e91..8c19f17710 100644 --- a/JNI/src/jni/SWIGTYPE_p_MapFoundationType.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_MapFoundationType.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_MapFoundationType { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_MapStyleEvaluationResult.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_MapStyleEvaluationResult.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_MapStyleEvaluationResult.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_MapStyleEvaluationResult.java index a7d3e85ca2..d4f899400f 100644 --- a/JNI/src/jni/SWIGTYPE_p_MapStyleEvaluationResult.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_MapStyleEvaluationResult.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_MapStyleEvaluationResult { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache.java index ec09d9fb2d..fbf253f0e9 100644 --- a/JNI/src/jni/SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_ObfMapSectionReader__DataBlocksCache { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_ObfRoutingSectionReader_Metrics__Metric_loadRoads.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader_Metrics__Metric_loadRoads.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_ObfRoutingSectionReader_Metrics__Metric_loadRoads.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader_Metrics__Metric_loadRoads.java index 319e0c7c7e..a20bc22497 100644 --- a/JNI/src/jni/SWIGTYPE_p_ObfRoutingSectionReader_Metrics__Metric_loadRoads.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader_Metrics__Metric_loadRoads.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_ObfRoutingSectionReader_Metrics__Metric_loadRoads { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache.java index c8b6d0ab89..046ecc04f6 100644 --- a/JNI/src/jni/SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_ObfRoutingSectionReader__DataBlocksCache { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction.java index f286903143..75c7e58963 100644 --- a/JNI/src/jni/SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_ObfRoutingSectionReader__VisitorFunction { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT.java similarity index 97% rename from JNI/src/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT.java index ec7b5ab499..4b72f67b6e 100644 --- a/JNI/src/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapRendererStateChange_unsigned_int_t__BitmaskT { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__IntersectionProcessingModeFlag_unsigned_int_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__IntersectionProcessingModeFlag_unsigned_int_t.java similarity index 97% rename from JNI/src/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__IntersectionProcessingModeFlag_unsigned_int_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__IntersectionProcessingModeFlag_unsigned_int_t.java index 30774c865e..7ecc3da9b2 100644 --- a/JNI/src/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__IntersectionProcessingModeFlag_unsigned_int_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__IntersectionProcessingModeFlag_unsigned_int_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__IntersectionProcessingModeFlag_unsigned_int_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__PresentationModeFlag_unsigned_int_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__PresentationModeFlag_unsigned_int_t.java similarity index 97% rename from JNI/src/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__PresentationModeFlag_unsigned_int_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__PresentationModeFlag_unsigned_int_t.java index 7545b30f7a..f0fa3d00f1 100644 --- a/JNI/src/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__PresentationModeFlag_unsigned_int_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__PresentationModeFlag_unsigned_int_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_OsmAnd__BitmaskT_OsmAnd__MapSymbolsGroup__PresentationModeFlag_unsigned_int_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__FramePreparedObserver.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__FramePreparedObserver.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__FramePreparedObserver.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__FramePreparedObserver.java index e84749bd10..c0f96f6ca9 100644 --- a/JNI/src/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__FramePreparedObserver.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__FramePreparedObserver.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_OsmAnd__IMapRenderer__FramePreparedObserver { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__StateChangeObserver.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__StateChangeObserver.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__StateChangeObserver.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__StateChangeObserver.java index 1f38acaa9d..ca13188795 100644 --- a/JNI/src/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__StateChangeObserver.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IMapRenderer__StateChangeObserver.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_OsmAnd__IMapRenderer__StateChangeObserver { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_OsmAnd__IQueryController.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IQueryController.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_OsmAnd__IQueryController.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IQueryController.java index 8c1bc6c3ee..a148649ae1 100644 --- a/JNI/src/jni/SWIGTYPE_p_OsmAnd__IQueryController.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__IQueryController.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_OsmAnd__IQueryController { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback.java index 8a522a4261..46e77b509c 100644 --- a/JNI/src/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__FrameUpdateRequestCallback { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue.java index 8a1e369664..56a59ad225 100644 --- a/JNI/src/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadEpilogue { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue.java index 80cd81f849..40b5bbfac2 100644 --- a/JNI/src/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_OsmAnd__MapRendererSetupOptions__GpuWorkerThreadPrologue { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_OsmAnd__MapStyleEvaluator.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapStyleEvaluator.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_OsmAnd__MapStyleEvaluator.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapStyleEvaluator.java index b065f85ce4..fd7f68eee6 100644 --- a/JNI/src/jni/SWIGTYPE_p_OsmAnd__MapStyleEvaluator.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__MapStyleEvaluator.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_OsmAnd__MapStyleEvaluator { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObfMapSectionReader_Metrics__Metric_loadMapObjects.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObfMapSectionReader_Metrics__Metric_loadMapObjects.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_OsmAnd__ObfMapSectionReader_Metrics__Metric_loadMapObjects.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObfMapSectionReader_Metrics__Metric_loadMapObjects.java index de5448a5cb..3d290c9375 100644 --- a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObfMapSectionReader_Metrics__Metric_loadMapObjects.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObfMapSectionReader_Metrics__Metric_loadMapObjects.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_OsmAnd__ObfMapSectionReader_Metrics__Metric_loadMapObjects { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__FramePreparedObserver_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__FramePreparedObserver_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__FramePreparedObserver_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__FramePreparedObserver_t.java index 9611cb5daa..36fa8599cd 100644 --- a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__FramePreparedObserver_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__FramePreparedObserver_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__FramePreparedObserver_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t.java index 2e3f116efa..d3cd440a8d 100644 --- a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t__Tag.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t__Tag.java similarity index 97% rename from JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t__Tag.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t__Tag.java index 1f71ab6ae2..3750d3471b 100644 --- a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t__Tag.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t__Tag.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IFramePreparedObserver_t__Tag { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t.java index 689ba215da..bd54a3052e 100644 --- a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t__Tag.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t__Tag.java similarity index 97% rename from JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t__Tag.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t__Tag.java index 956dd3a8ce..6c981c0a17 100644 --- a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t__Tag.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t__Tag.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__IStateChangeObserver_t__Tag { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__StateChangeObserver_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__StateChangeObserver_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__StateChangeObserver_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__StateChangeObserver_t.java index 78feec5f91..6faf58a04f 100644 --- a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__StateChangeObserver_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__StateChangeObserver_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__IMapRenderer__StateChangeObserver_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t.java similarity index 97% rename from JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t.java index 481874efae..1202e11788 100644 --- a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t__Tag.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t__Tag.java similarity index 97% rename from JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t__Tag.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t__Tag.java index 7a7f604a7a..3cc278961c 100644 --- a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t__Tag.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t__Tag.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__ILocalResourcesChanged_t__Tag { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t.java index 6cc37369f4..c6c9b6479a 100644 --- a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t__Tag.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t__Tag.java similarity index 97% rename from JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t__Tag.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t__Tag.java index 341b1e6028..209bd1f7f4 100644 --- a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t__Tag.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t__Tag.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__IRepositoryUpdated_t__Tag { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__LocalResourcesChanged_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__LocalResourcesChanged_t.java similarity index 97% rename from JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__LocalResourcesChanged_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__LocalResourcesChanged_t.java index 673b4dbc20..a6f1a56a1b 100644 --- a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__LocalResourcesChanged_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__LocalResourcesChanged_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__LocalResourcesChanged_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__RepositoryUpdated_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__RepositoryUpdated_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__RepositoryUpdated_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__RepositoryUpdated_t.java index 01ee04c0a0..d8575743bd 100644 --- a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__RepositoryUpdated_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__RepositoryUpdated_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_OsmAnd__ObservableAsT_OsmAnd__ResourcesManager__RepositoryUpdated_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_OsmAnd__PointT_long_long_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__PointT_long_long_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_OsmAnd__PointT_long_long_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__PointT_long_long_t.java index e0a2edda2d..c5dd056248 100644 --- a/JNI/src/jni/SWIGTYPE_p_OsmAnd__PointT_long_long_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__PointT_long_long_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_OsmAnd__PointT_long_long_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__LocalResourcesChanged.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__LocalResourcesChanged.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__LocalResourcesChanged.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__LocalResourcesChanged.java index 44889b7bbd..b45660f9a5 100644 --- a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__LocalResourcesChanged.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__LocalResourcesChanged.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_OsmAnd__ResourcesManager__LocalResourcesChanged { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__RepositoryUpdated.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__RepositoryUpdated.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__RepositoryUpdated.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__RepositoryUpdated.java index cc8231e1dc..5059ab69c5 100644 --- a/JNI/src/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__RepositoryUpdated.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_OsmAnd__ResourcesManager__RepositoryUpdated.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_OsmAnd__ResourcesManager__RepositoryUpdated { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_Primitiviser_Metrics__Metric_primitivise.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_Primitiviser_Metrics__Metric_primitivise.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_Primitiviser_Metrics__Metric_primitivise.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_Primitiviser_Metrics__Metric_primitivise.java index 6098d61b03..ed3fd0a0c1 100644 --- a/JNI/src/jni/SWIGTYPE_p_Primitiviser_Metrics__Metric_primitivise.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_Primitiviser_Metrics__Metric_primitivise.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_Primitiviser_Metrics__Metric_primitivise { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QByteArray.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QByteArray.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QByteArray.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QByteArray.java index d44d2dde87..28d552c601 100644 --- a/JNI/src/jni/SWIGTYPE_p_QByteArray.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QByteArray.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QByteArray { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QDir.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QDir.java similarity index 95% rename from JNI/src/jni/SWIGTYPE_p_QDir.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QDir.java index 2f2b0d5394..25cbcefb38 100644 --- a/JNI/src/jni/SWIGTYPE_p_QDir.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QDir.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QDir { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QFileInfo.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QFileInfo.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QFileInfo.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QFileInfo.java index d78e588b0f..3968af23d5 100644 --- a/JNI/src/jni/SWIGTYPE_p_QFileInfo.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QFileInfo.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QFileInfo { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QFileInfoList.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QFileInfoList.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QFileInfoList.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QFileInfoList.java index 62fee04fce..8f8d655d35 100644 --- a/JNI/src/jni/SWIGTYPE_p_QFileInfoList.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QFileInfoList.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QFileInfoList { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QHashT_OsmAnd__TagValueId_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Rule_const_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_OsmAnd__TagValueId_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Rule_const_t_t.java similarity index 97% rename from JNI/src/jni/SWIGTYPE_p_QHashT_OsmAnd__TagValueId_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Rule_const_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_OsmAnd__TagValueId_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Rule_const_t_t.java index 98206f9cc6..940ff65657 100644 --- a/JNI/src/jni/SWIGTYPE_p_QHashT_OsmAnd__TagValueId_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Rule_const_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_OsmAnd__TagValueId_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Rule_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QHashT_OsmAnd__TagValueId_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Rule_const_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QHashT_QString_QString_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_QString_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QHashT_QString_QString_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_QString_t.java index d401659cab..61d749d4f8 100644 --- a/JNI/src/jni/SWIGTYPE_p_QHashT_QString_QString_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_QString_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QHashT_QString_QString_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__IOnlineTileSources__Source_const_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__IOnlineTileSources__Source_const_t_t.java similarity index 97% rename from JNI/src/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__IOnlineTileSources__Source_const_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__IOnlineTileSources__Source_const_t_t.java index 956624e708..fc0e4cb11d 100644 --- a/JNI/src/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__IOnlineTileSources__Source_const_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__IOnlineTileSources__Source_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__IOnlineTileSources__Source_const_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__BuiltinResource_const_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__BuiltinResource_const_t_t.java similarity index 97% rename from JNI/src/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__BuiltinResource_const_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__BuiltinResource_const_t_t.java index 1ed7534f43..8d2079eb01 100644 --- a/JNI/src/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__BuiltinResource_const_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__BuiltinResource_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__BuiltinResource_const_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__LocalResource_const_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__LocalResource_const_t_t.java similarity index 97% rename from JNI/src/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__LocalResource_const_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__LocalResource_const_t_t.java index 570c76db92..e21ebe6670 100644 --- a/JNI/src/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__LocalResource_const_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__LocalResource_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__LocalResource_const_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__ResourceInRepository_const_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__ResourceInRepository_const_t_t.java similarity index 97% rename from JNI/src/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__ResourceInRepository_const_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__ResourceInRepository_const_t_t.java index 9a7167d355..925179207b 100644 --- a/JNI/src/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__ResourceInRepository_const_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__ResourceInRepository_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QHashT_QString_std__shared_ptrT_OsmAnd__ResourcesManager__ResourceInRepository_const_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QHashT_int_OsmAnd__MapStyleConstantValue_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_int_OsmAnd__MapStyleConstantValue_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QHashT_int_OsmAnd__MapStyleConstantValue_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_int_OsmAnd__MapStyleConstantValue_t.java index 19d3b28848..e549e6a382 100644 --- a/JNI/src/jni/SWIGTYPE_p_QHashT_int_OsmAnd__MapStyleConstantValue_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_int_OsmAnd__MapStyleConstantValue_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QHashT_int_OsmAnd__MapStyleConstantValue_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QHashT_int_OsmAnd__ResolvedMapStyle__ResolvedValue_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_int_OsmAnd__ResolvedMapStyle__ResolvedValue_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QHashT_int_OsmAnd__ResolvedMapStyle__ResolvedValue_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_int_OsmAnd__ResolvedMapStyle__ResolvedValue_t.java index 128a35e539..88831b7e25 100644 --- a/JNI/src/jni/SWIGTYPE_p_QHashT_int_OsmAnd__ResolvedMapStyle__ResolvedValue_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_int_OsmAnd__ResolvedMapStyle__ResolvedValue_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QHashT_int_OsmAnd__ResolvedMapStyle__ResolvedValue_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapSymbol_t_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalSymbolInstanceParameters_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapSymbol_t_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalSymbolInstanceParameters_t_t.java similarity index 97% rename from JNI/src/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapSymbol_t_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalSymbolInstanceParameters_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapSymbol_t_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalSymbolInstanceParameters_t_t.java index a8abce5e8a..b2f5d5c1dc 100644 --- a/JNI/src/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapSymbol_t_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalSymbolInstanceParameters_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapSymbol_t_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalSymbolInstanceParameters_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__MapSymbol_t_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalSymbolInstanceParameters_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_std__shared_ptrT_OsmAnd__Primitiviser__SymbolsGroup_const_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_std__shared_ptrT_OsmAnd__Primitiviser__SymbolsGroup_const_t_t.java similarity index 97% rename from JNI/src/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_std__shared_ptrT_OsmAnd__Primitiviser__SymbolsGroup_const_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_std__shared_ptrT_OsmAnd__Primitiviser__SymbolsGroup_const_t_t.java index 7314ffb56b..08ae03dd21 100644 --- a/JNI/src/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_std__shared_ptrT_OsmAnd__Primitiviser__SymbolsGroup_const_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_std__shared_ptrT_OsmAnd__Primitiviser__SymbolsGroup_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QHashT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_std__shared_ptrT_OsmAnd__Primitiviser__SymbolsGroup_const_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QIODevice.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QIODevice.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QIODevice.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QIODevice.java index c698c2f992..f3e1e7250e 100644 --- a/JNI/src/jni/SWIGTYPE_p_QIODevice.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QIODevice.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QIODevice { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t.java index e17d29a56a..8192943559 100644 --- a/JNI/src/jni/SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QListT_OsmAnd__MapStyleConstantValue_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfFile_const_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfFile_const_t_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfFile_const_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfFile_const_t_t.java index c0b1a28a36..d3aa18bf2e 100644 --- a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfFile_const_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfFile_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_ObfFile_const_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t.java index 2e565878c1..76fc8490ac 100644 --- a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_ObfMapSectionReader__DataBlock_const_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t.java index 8ccbc67082..a43f7e7aa9 100644 --- a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_ObfRoutingSectionReader__DataBlock_const_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t.java index 4a6eee4d06..5dfed2bd6d 100644 --- a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapStylePreset_const_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_const_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_const_t_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_const_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_const_t_t.java index 79dec79fbe..0e2d70d7ac 100644 --- a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_const_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_const_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t.java index 4b30bec551..306846daaa 100644 --- a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbol_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalInstance_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalInstance_t_t.java similarity index 97% rename from JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalInstance_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalInstance_t_t.java index b9d5119cdb..bc3ae30df3 100644 --- a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalInstance_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalInstance_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup__AdditionalInstance_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t.java index 418bbc5df0..0fc8dd64e0 100644 --- a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__MapSymbolsGroup_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.java index b3caea8d7b..b60f39dc53 100644 --- a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t.java index e34b7aef0f..294e7ef0e7 100644 --- a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Model__Road_const_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfAddressSectionInfo_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfAddressSectionInfo_t_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfAddressSectionInfo_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfAddressSectionInfo_t_t.java index 7ce1d02354..16b87a7688 100644 --- a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfAddressSectionInfo_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfAddressSectionInfo_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfAddressSectionInfo_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t.java index ed9c224e59..43c705693d 100644 --- a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfFile_const_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_t_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_t_t.java index 57b774d71c..f8733e7e01 100644 --- a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfPoiSectionInfo_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfPoiSectionInfo_t_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfPoiSectionInfo_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfPoiSectionInfo_t_t.java index be494fb9e8..a52cfa5461 100644 --- a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfPoiSectionInfo_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfPoiSectionInfo_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfPoiSectionInfo_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfReader_const_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfReader_const_t_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfReader_const_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfReader_const_t_t.java index 89e671ab91..20aa237386 100644 --- a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfReader_const_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfReader_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfReader_const_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfRoutingSectionInfo_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfRoutingSectionInfo_t_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfRoutingSectionInfo_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfRoutingSectionInfo_t_t.java index e073d8dd08..28b0eeb3fb 100644 --- a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfRoutingSectionInfo_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfRoutingSectionInfo_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfRoutingSectionInfo_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfTransportSectionInfo_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfTransportSectionInfo_t_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfTransportSectionInfo_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfTransportSectionInfo_t_t.java index 527c2b663c..6b051d0a63 100644 --- a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfTransportSectionInfo_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfTransportSectionInfo_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ObfTransportSectionInfo_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t.java index 23c7cf3561..93093decc9 100644 --- a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Primitive_const_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t_t.java similarity index 97% rename from JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t_t.java index e2e06aca8e..db64ce7205 100644 --- a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t.java index 962f9fdbcc..2c94c81f95 100644 --- a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__Primitiviser__Symbol_const_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t.java index a63dd3ad56..70d4ea0a96 100644 --- a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t.java index d19b70b34c..3540b2d2b6 100644 --- a/JNI/src/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QListT_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QListT_void_const_p_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_void_const_p_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QListT_void_const_p_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_void_const_p_t.java index 2a8575f8cc..9b6ac4edb6 100644 --- a/JNI/src/jni/SWIGTYPE_p_QListT_void_const_p_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QListT_void_const_p_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QListT_void_const_p_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t.java index 4dd200ecfd..8922fc707e 100644 --- a/JNI/src/jni/SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QSetT_OsmAnd__ZoomLevel_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QSetT_QString_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_QString_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QSetT_QString_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_QString_t.java index afa338a258..bb01087b32 100644 --- a/JNI/src/jni/SWIGTYPE_p_QSetT_QString_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_QString_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QSetT_QString_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QSetT_int_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_int_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QSetT_int_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_int_t.java index 0fa8ffd3ce..fcc04c314d 100644 --- a/JNI/src/jni/SWIGTYPE_p_QSetT_int_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_int_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QSetT_int_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__ILogSink_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__ILogSink_t_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__ILogSink_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__ILogSink_t_t.java index 06c21aadf7..7d4b80c475 100644 --- a/JNI/src/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__ILogSink_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__ILogSink_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__ILogSink_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__IMapDataProvider_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__IMapDataProvider_t_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__IMapDataProvider_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__IMapDataProvider_t_t.java index 3467f4320f..23caeb7185 100644 --- a/JNI/src/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__IMapDataProvider_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__IMapDataProvider_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QSetT_std__shared_ptrT_OsmAnd__IMapDataProvider_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QStringList.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QStringList.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QStringList.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QStringList.java index e7b202fd08..8c3ea4236c 100644 --- a/JNI/src/jni/SWIGTYPE_p_QStringList.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QStringList.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QStringList { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QUrl.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QUrl.java similarity index 95% rename from JNI/src/jni/SWIGTYPE_p_QUrl.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QUrl.java index 4fa47d8701..63dfb708b0 100644 --- a/JNI/src/jni/SWIGTYPE_p_QUrl.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QUrl.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QUrl { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_QVectorT_OsmAnd__PointT_int32_t_t_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QVectorT_OsmAnd__PointT_int32_t_t_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_QVectorT_OsmAnd__PointT_int32_t_t_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_QVectorT_OsmAnd__PointT_int32_t_t_t.java index ab702882aa..c684ad9ed9 100644 --- a/JNI/src/jni/SWIGTYPE_p_QVectorT_OsmAnd__PointT_int32_t_t_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_QVectorT_OsmAnd__PointT_int32_t_t_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_QVectorT_OsmAnd__PointT_int32_t_t_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_RoutingDataLevel.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_RoutingDataLevel.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_RoutingDataLevel.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_RoutingDataLevel.java index 4631a7a831..1815140f7d 100644 --- a/JNI/src/jni/SWIGTYPE_p_RoutingDataLevel.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_RoutingDataLevel.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_RoutingDataLevel { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java similarity index 97% rename from JNI/src/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java index 67353a66d7..dd6a313ebe 100644 --- a/JNI/src/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__PrimitivesGroup_const_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__SymbolsGroup_const_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__SymbolsGroup_const_t.java similarity index 97% rename from JNI/src/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__SymbolsGroup_const_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__SymbolsGroup_const_t.java index 0beb1994d1..3f8559022e 100644 --- a/JNI/src/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__SymbolsGroup_const_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__SymbolsGroup_const_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_SharedResourcesContainerT_unsigned_long_long_OsmAnd__Primitiviser__SymbolsGroup_const_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_WebClient__RequestProgressCallbackSignature.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_WebClient__RequestProgressCallbackSignature.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_WebClient__RequestProgressCallbackSignature.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_WebClient__RequestProgressCallbackSignature.java index d496306e06..8a3cb02d60 100644 --- a/JNI/src/jni/SWIGTYPE_p_WebClient__RequestProgressCallbackSignature.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_WebClient__RequestProgressCallbackSignature.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_WebClient__RequestProgressCallbackSignature { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_bool.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_bool.java similarity index 95% rename from JNI/src/jni/SWIGTYPE_p_bool.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_bool.java index 4411854594..2827affb3b 100644 --- a/JNI/src/jni/SWIGTYPE_p_bool.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_bool.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_bool { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_double.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_double.java similarity index 95% rename from JNI/src/jni/SWIGTYPE_p_double.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_double.java index c8bcb7b219..68a9877e20 100644 --- a/JNI/src/jni/SWIGTYPE_p_double.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_double.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_double { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_float.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_float.java similarity index 95% rename from JNI/src/jni/SWIGTYPE_p_float.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_float.java index ea49ae2408..7a74938abd 100644 --- a/JNI/src/jni/SWIGTYPE_p_float.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_float.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_float { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_int.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_int.java similarity index 95% rename from JNI/src/jni/SWIGTYPE_p_int.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_int.java index a202d63c08..603738eca8 100644 --- a/JNI/src/jni/SWIGTYPE_p_int.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_int.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_int { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_std__arrayT_float_OsmAnd__RasterMapLayersCount_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__arrayT_float_OsmAnd__RasterMapLayersCount_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_std__arrayT_float_OsmAnd__RasterMapLayersCount_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__arrayT_float_OsmAnd__RasterMapLayersCount_t.java index 0817b0b994..c4265dcc2e 100644 --- a/JNI/src/jni/SWIGTYPE_p_std__arrayT_float_OsmAnd__RasterMapLayersCount_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__arrayT_float_OsmAnd__RasterMapLayersCount_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_std__arrayT_float_OsmAnd__RasterMapLayersCount_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_std__arrayT_std__shared_ptrT_OsmAnd__IMapRasterBitmapTileProvider_t_OsmAnd__RasterMapLayersCount_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__arrayT_std__shared_ptrT_OsmAnd__IMapRasterBitmapTileProvider_t_OsmAnd__RasterMapLayersCount_t.java similarity index 97% rename from JNI/src/jni/SWIGTYPE_p_std__arrayT_std__shared_ptrT_OsmAnd__IMapRasterBitmapTileProvider_t_OsmAnd__RasterMapLayersCount_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__arrayT_std__shared_ptrT_OsmAnd__IMapRasterBitmapTileProvider_t_OsmAnd__RasterMapLayersCount_t.java index 3ed3595c5a..708d1ac238 100644 --- a/JNI/src/jni/SWIGTYPE_p_std__arrayT_std__shared_ptrT_OsmAnd__IMapRasterBitmapTileProvider_t_OsmAnd__RasterMapLayersCount_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__arrayT_std__shared_ptrT_OsmAnd__IMapRasterBitmapTileProvider_t_OsmAnd__RasterMapLayersCount_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_std__arrayT_std__shared_ptrT_OsmAnd__IMapRasterBitmapTileProvider_t_OsmAnd__RasterMapLayersCount_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_std__functionT_void_fOsmAnd__PointT_int_t_const_RF_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__functionT_void_fOsmAnd__PointT_int_t_const_RF_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_std__functionT_void_fOsmAnd__PointT_int_t_const_RF_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__functionT_void_fOsmAnd__PointT_int_t_const_RF_t.java index d923588190..15b13aba75 100644 --- a/JNI/src/jni/SWIGTYPE_p_std__functionT_void_fOsmAnd__PointT_int_t_const_RF_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__functionT_void_fOsmAnd__PointT_int_t_const_RF_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_std__functionT_void_fOsmAnd__PointT_int_t_const_RF_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t.java index a64b1dffc8..51f7b1d0ee 100644 --- a/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_std__shared_ptrT_OsmAnd__Model__BinaryMapObject_const_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_const_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_const_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_const_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_const_t.java index ad95abb158..91528cf59b 100644 --- a/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_const_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_const_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_std__shared_ptrT_OsmAnd__ObfMapSectionInfo_const_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Attribute_const_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Attribute_const_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Attribute_const_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Attribute_const_t.java index c6a3727fd4..86735a89e8 100644 --- a/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Attribute_const_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Attribute_const_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Attribute_const_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Parameter_const_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Parameter_const_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Parameter_const_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Parameter_const_t.java index 21eaa368f5..d5d7d68b49 100644 --- a/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Parameter_const_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Parameter_const_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__Parameter_const_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t.java index 7660924e0c..dcb6bac59e 100644 --- a/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_std__shared_ptrT_OsmAnd__ResolvedMapStyle__RuleNode_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t.java index 4b99efbe3a..bdbec5dbb8 100644 --- a/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_const_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t.java index 3051fd6ce0..95f48466e4 100644 --- a/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_std__shared_ptrT_OsmAnd__UnresolvedMapStyle_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_QIODevice_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_QIODevice_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_QIODevice_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_QIODevice_t.java index 712bf1ed16..fa26b2d748 100644 --- a/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_QIODevice_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_QIODevice_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_std__shared_ptrT_QIODevice_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t.java index 8e7d66e7af..3ca55a1c7b 100644 --- a/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_std__shared_ptrT_SkBitmap_const_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_t.java index 8fe81b6cf8..a686625c32 100644 --- a/JNI/src/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__shared_ptrT_SkBitmap_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_std__shared_ptrT_SkBitmap_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_std__weak_ptrT_ObfMapSectionReader__DataBlocksCache_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_ObfMapSectionReader__DataBlocksCache_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_std__weak_ptrT_ObfMapSectionReader__DataBlocksCache_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_ObfMapSectionReader__DataBlocksCache_t.java index 1673752f85..1b201b4e2b 100644 --- a/JNI/src/jni/SWIGTYPE_p_std__weak_ptrT_ObfMapSectionReader__DataBlocksCache_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_ObfMapSectionReader__DataBlocksCache_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_std__weak_ptrT_ObfMapSectionReader__DataBlocksCache_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t.java index 8ef66d5136..38d55a3831 100644 --- a/JNI/src/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_std__weak_ptrT_OsmAnd__MapSymbolsGroup_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java index 83711dd450..6ec585d6a2 100644 --- a/JNI/src/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_std__weak_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_std__weak_ptrT_OsmAnd__Primitiviser__PrimitivesGroup_const_t { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_unsigned_char.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_unsigned_char.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_unsigned_char.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_unsigned_char.java index 76cb6c51cb..93706ed18f 100644 --- a/JNI/src/jni/SWIGTYPE_p_unsigned_char.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_unsigned_char.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_unsigned_char { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_unsigned_int.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_unsigned_int.java similarity index 96% rename from JNI/src/jni/SWIGTYPE_p_unsigned_int.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_unsigned_int.java index ffecc32569..41fe28c648 100644 --- a/JNI/src/jni/SWIGTYPE_p_unsigned_int.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_unsigned_int.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_unsigned_int { private long swigCPtr; diff --git a/JNI/src/jni/SWIGTYPE_p_void.java b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_void.java similarity index 95% rename from JNI/src/jni/SWIGTYPE_p_void.java rename to JNI/src/net/osmand/core/jni/SWIGTYPE_p_void.java index c8ea0abe20..8b05759df8 100644 --- a/JNI/src/jni/SWIGTYPE_p_void.java +++ b/JNI/src/net/osmand/core/jni/SWIGTYPE_p_void.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SWIGTYPE_p_void { private long swigCPtr; diff --git a/JNI/src/jni/SwigUtilities.java b/JNI/src/net/osmand/core/jni/SwigUtilities.java similarity index 98% rename from JNI/src/jni/SwigUtilities.java rename to JNI/src/net/osmand/core/jni/SwigUtilities.java index e52d56aee0..c733b1908c 100644 --- a/JNI/src/jni/SwigUtilities.java +++ b/JNI/src/net/osmand/core/jni/SwigUtilities.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class SwigUtilities { private long swigCPtr; diff --git a/JNI/src/jni/TagValueId.java b/JNI/src/net/osmand/core/jni/TagValueId.java similarity index 98% rename from JNI/src/jni/TagValueId.java rename to JNI/src/net/osmand/core/jni/TagValueId.java index 42e901c5c2..06ecd96021 100644 --- a/JNI/src/jni/TagValueId.java +++ b/JNI/src/net/osmand/core/jni/TagValueId.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class TagValueId { private long swigCPtr; diff --git a/JNI/src/jni/TextureFilteringQuality.java b/JNI/src/net/osmand/core/jni/TextureFilteringQuality.java similarity index 98% rename from JNI/src/jni/TextureFilteringQuality.java rename to JNI/src/net/osmand/core/jni/TextureFilteringQuality.java index 1dcaf3fedb..b46eec4a2d 100644 --- a/JNI/src/jni/TextureFilteringQuality.java +++ b/JNI/src/net/osmand/core/jni/TextureFilteringQuality.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public enum TextureFilteringQuality { Normal, diff --git a/JNI/src/jni/TileId.java b/JNI/src/net/osmand/core/jni/TileId.java similarity index 98% rename from JNI/src/jni/TileId.java rename to JNI/src/net/osmand/core/jni/TileId.java index 8d96d71adf..8cea3abf36 100644 --- a/JNI/src/jni/TileId.java +++ b/JNI/src/net/osmand/core/jni/TileId.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class TileId { private long swigCPtr; diff --git a/JNI/src/jni/TiledMapSymbolsData.java b/JNI/src/net/osmand/core/jni/TiledMapSymbolsData.java similarity index 98% rename from JNI/src/jni/TiledMapSymbolsData.java rename to JNI/src/net/osmand/core/jni/TiledMapSymbolsData.java index 2a076020fe..5d94ba832a 100644 --- a/JNI/src/jni/TiledMapSymbolsData.java +++ b/JNI/src/net/osmand/core/jni/TiledMapSymbolsData.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class TiledMapSymbolsData extends MapTiledData { private long swigCPtr; diff --git a/JNI/src/jni/UIntPtr.java b/JNI/src/net/osmand/core/jni/UIntPtr.java similarity index 98% rename from JNI/src/jni/UIntPtr.java rename to JNI/src/net/osmand/core/jni/UIntPtr.java index 3e37582837..0764daa95f 100644 --- a/JNI/src/jni/UIntPtr.java +++ b/JNI/src/net/osmand/core/jni/UIntPtr.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class UIntPtr { private long swigCPtr; diff --git a/JNI/src/jni/Utilities.java b/JNI/src/net/osmand/core/jni/Utilities.java similarity index 99% rename from JNI/src/jni/Utilities.java rename to JNI/src/net/osmand/core/jni/Utilities.java index bf2732ca1d..1a0317afd6 100644 --- a/JNI/src/jni/Utilities.java +++ b/JNI/src/net/osmand/core/jni/Utilities.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public class Utilities { private long swigCPtr; diff --git a/JNI/src/jni/ZoomLevel.java b/JNI/src/net/osmand/core/jni/ZoomLevel.java similarity index 98% rename from JNI/src/jni/ZoomLevel.java rename to JNI/src/net/osmand/core/jni/ZoomLevel.java index 1d2acbc7d1..43171ce4b7 100644 --- a/JNI/src/jni/ZoomLevel.java +++ b/JNI/src/net/osmand/core/jni/ZoomLevel.java @@ -6,7 +6,7 @@ * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ -package jni; +package net.osmand.core.jni; public enum ZoomLevel { ZoomLevel0(OsmAndCoreJNI.ZoomLevel0_get()), diff --git a/OsmAnd/src/net/osmand/PlatformUtil.java b/OsmAnd/src/net/osmand/PlatformUtil.java index 68cecdec45..385ea068a1 100644 --- a/OsmAnd/src/net/osmand/PlatformUtil.java +++ b/OsmAnd/src/net/osmand/PlatformUtil.java @@ -91,7 +91,7 @@ public class PlatformUtil { @Override public boolean isDebugEnabled() { // For debur purposes always true -// return android.util.Log.isLoggable(TAG, android.util.Log.DEBUG); +// return android.util.Log.isLoggable(NATIVE_TAG, android.util.Log.DEBUG); return true; } diff --git a/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroidAssets.java b/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroidAssets.java index 02c6cd8192..74a5676001 100644 --- a/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroidAssets.java +++ b/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroidAssets.java @@ -13,11 +13,11 @@ import java.util.TreeMap; import java.util.regex.Matcher; import java.util.regex.Pattern; -import jni.BoolPtr; -import jni.ICoreResourcesProvider; -import jni.SWIGTYPE_p_QByteArray; -import jni.SWIGTYPE_p_bool; -import jni.SwigUtilities; +import net.osmand.core.jni.BoolPtr; +import net.osmand.core.jni.ICoreResourcesProvider; +import net.osmand.core.jni.SWIGTYPE_p_QByteArray; +import net.osmand.core.jni.SWIGTYPE_p_bool; +import net.osmand.core.jni.SwigUtilities; import net.osmand.plus.OsmandApplication; import android.content.Context; import android.content.pm.PackageInfo; @@ -85,11 +85,11 @@ public class CoreResourcesFromAndroidAssets extends ICoreResourcesProvider { // offset = resourceFd.getStartOffset(); // resourceFd.close(); // } catch (IOException e) { -// Log.e(TAG, "Failed to locate '" + resourceInBundle + "'", e); +// Log.e(NATIVE_TAG, "Failed to locate '" + resourceInBundle + "'", e); // continue; // } // if (declaredSize != size) { -// Log.e(TAG, "Declared size does not match size for '" + resourceInBundle + "'"); +// Log.e(NATIVE_TAG, "Declared size does not match size for '" + resourceInBundle + "'"); // continue; // } final ResourceData resourceData = new ResourceData(); diff --git a/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroid_LegacyOsmAndCompatible.java b/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroid_LegacyOsmAndCompatible.java index 46ba0e5709..3ad8986ee5 100644 --- a/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroid_LegacyOsmAndCompatible.java +++ b/OsmAnd/src/net/osmand/core/android/CoreResourcesFromAndroid_LegacyOsmAndCompatible.java @@ -1,10 +1,11 @@ package net.osmand.core.android; import android.content.Context; -import android.content.res.AssetManager; -import android.content.res.Resources; -import jni.*; +import net.osmand.core.jni.ICoreResourcesProvider; +import net.osmand.core.jni.SWIGTYPE_p_QByteArray; +import net.osmand.core.jni.SWIGTYPE_p_bool; +import net.osmand.core.jni.SwigUtilities; // This class provides reverse mapping from 'embed-resources.list' to scheme used by current (legacy in future) OsmAnd for Android public class CoreResourcesFromAndroid_LegacyOsmAndCompatible extends ICoreResourcesProvider { diff --git a/OsmAnd/src/net/osmand/core/android/GLActivity.java b/OsmAnd/src/net/osmand/core/android/GLActivity.java index b1ce93781f..e58b7c8dd5 100644 --- a/OsmAnd/src/net/osmand/core/android/GLActivity.java +++ b/OsmAnd/src/net/osmand/core/android/GLActivity.java @@ -7,7 +7,7 @@ import javax.microedition.khronos.egl.EGLDisplay; import javax.microedition.khronos.egl.EGLSurface; import javax.microedition.khronos.opengles.GL10; -import jni.*; +import net.osmand.core.jni.*; import net.osmand.data.LatLon; import net.osmand.data.QuadPoint; import net.osmand.data.RotatedTileBox; @@ -333,7 +333,7 @@ public class GLActivity extends Activity { } } - private class GpuWorkerThreadPrologue extends MapRendererSetupOptions.IGpuWorkerThreadPrologue { + public class GpuWorkerThreadPrologue extends MapRendererSetupOptions.IGpuWorkerThreadPrologue { public GpuWorkerThreadPrologue(EGL10 egl, EGLDisplay eglDisplay, EGLContext context, EGLSurface surface) { _egl = egl; _eglDisplay = eglDisplay; diff --git a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java index 7d8d2fcef9..9317205615 100644 --- a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java +++ b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java @@ -263,6 +263,7 @@ public class MapActivity extends AccessibleActivity { @Override protected void onResume() { super.onResume(); + mapViewController.resume(); cancelNotification(); //fixing bug with action bar appearing on android 2.3.3 if (getSupportActionBar() != null){ @@ -529,6 +530,7 @@ public class MapActivity extends AccessibleActivity { @Override protected void onDestroy() { super.onDestroy(); + mapViewController.destroy(); FailSafeFuntions.quitRouteRestoreDialog(); OsmandPlugin.onMapActivityDestroy(this); mapViewTrackingUtilities.setMapView(null); diff --git a/OsmAnd/src/net/osmand/plus/views/controllers/MapViewBaseController.java b/OsmAnd/src/net/osmand/plus/views/controllers/MapViewBaseController.java index 3603aed8cb..64cdb93925 100644 --- a/OsmAnd/src/net/osmand/plus/views/controllers/MapViewBaseController.java +++ b/OsmAnd/src/net/osmand/plus/views/controllers/MapViewBaseController.java @@ -99,4 +99,15 @@ public abstract class MapViewBaseController { public interface OnTrackBallListener { public boolean onTrackBallEvent(MotionEvent e); } + + public boolean onTouchEvent(MotionEvent event) { + return false; + } + + public void resume(){ + } + + public void destroy(){ + + } } diff --git a/OsmAnd/src/net/osmand/plus/views/controllers/NativeRenderer.java b/OsmAnd/src/net/osmand/plus/views/controllers/NativeRenderer.java new file mode 100644 index 0000000000..db62e08440 --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/views/controllers/NativeRenderer.java @@ -0,0 +1,48 @@ +package net.osmand.plus.views.controllers; + +import android.opengl.GLSurfaceView; +import android.util.Log; +import net.osmand.core.jni.AreaI; +import net.osmand.core.jni.IMapRenderer; +import net.osmand.core.jni.PointI; + +import javax.microedition.khronos.egl.EGLConfig; +import javax.microedition.khronos.opengles.GL10; + +/** + * Created by Denis on 01.10.2014. + */ +public class NativeRenderer implements GLSurfaceView.Renderer { + private IMapRenderer mapRenderer; + + + public NativeRenderer(IMapRenderer mapRenderer){ + this.mapRenderer = mapRenderer; + } + + public void onSurfaceCreated(GL10 gl, EGLConfig config) { + Log.i(NativeViewController.NATIVE_TAG, "onSurfaceCreated"); + if (mapRenderer.isRenderingInitialized()) + mapRenderer.releaseRendering(); + } + + public void onSurfaceChanged(GL10 gl, int width, int height) { + Log.i(NativeViewController.NATIVE_TAG, "onSurfaceChanged"); + mapRenderer.setViewport(new AreaI(0, 0, height, width)); + mapRenderer.setWindowSize(new PointI(width, height)); + + if (!mapRenderer.isRenderingInitialized()) + { + if (!mapRenderer.initializeRendering()) + Log.e(NativeViewController.NATIVE_TAG, "Failed to initialize rendering"); + } + } + + public void onDrawFrame(GL10 gl) { + mapRenderer.update(); + + if (mapRenderer.prepareFrame()) + mapRenderer.renderFrame(); + } +} + diff --git a/OsmAnd/src/net/osmand/plus/views/controllers/NativeViewController.java b/OsmAnd/src/net/osmand/plus/views/controllers/NativeViewController.java index 48b94c364a..a028267508 100644 --- a/OsmAnd/src/net/osmand/plus/views/controllers/NativeViewController.java +++ b/OsmAnd/src/net/osmand/plus/views/controllers/NativeViewController.java @@ -1,18 +1,33 @@ package net.osmand.plus.views.controllers; +import android.content.Context; +import android.opengl.EGL14; import android.opengl.GLSurfaceView; +import android.os.Environment; +import android.util.DisplayMetrics; +import android.util.Log; +import android.view.GestureDetector; +import android.view.MotionEvent; import android.view.ViewParent; +import android.view.WindowManager; import android.widget.FrameLayout; import net.osmand.access.MapAccessibilityActions; +import net.osmand.core.android.CoreResourcesFromAndroidAssets; +import net.osmand.core.jni.*; +import net.osmand.data.LatLon; +import net.osmand.data.QuadPoint; import net.osmand.data.RotatedTileBox; import net.osmand.map.MapTileDownloader; import net.osmand.plus.OsmandSettings; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.activities.MapActivityLayers; import net.osmand.plus.base.MapViewTrackingUtilities; +import net.osmand.plus.helpers.SimpleTwoFingerTapDetector; import net.osmand.plus.views.OsmandMapLayer; import net.osmand.plus.views.OsmandMapTileView; +import javax.microedition.khronos.egl.*; +import java.io.File; import java.util.List; /** @@ -22,12 +37,351 @@ public class NativeViewController extends MapViewBaseController { private GLSurfaceView glSurfaceView; private OsmandSettings settings; private MapActivity mapActivity; + private float displayDensityFactor; + private int referenceTileSize; + private int rasterTileSize; + private IMapStylesCollection mapStylesCollection; + private ResolvedMapStyle mapStyle; + private ObfsCollection obfsCollection; + private MapPresentationEnvironment mapPresentationEnvironment; + private Primitiviser primitiviser; + private BinaryMapDataProvider binaryMapDataProvider; + private BinaryMapPrimitivesProvider binaryMapPrimitivesProvider; + private BinaryMapStaticSymbolsProvider binaryMapStaticSymbolsProvider; + private BinaryMapRasterBitmapTileProvider binaryMapRasterBitmapTileProvider; + private OnlineRasterMapTileProvider onlineMapRasterBitmapTileProvider; + private IMapRenderer mapRenderer; + private GpuWorkerThreadPrologue gpuWorkerThreadPrologue; + private GpuWorkerThreadEpilogue gpuWorkerThreadEpilogue; + private RenderRequestCallback renderRequestCallback; + private QIODeviceLogSink fileLogSink; + private RotatedTileBox currentViewport = null; + + private boolean offlineMap = true; + + private GestureDetector gestureDetector; + + public static final String NATIVE_TAG = "NativeRender"; + private CoreResourcesFromAndroidAssets coreResources; + + SimpleTwoFingerTapDetector twoFingerTapDetector = new SimpleTwoFingerTapDetector() { + @Override + public void onTwoFingerTap() { + currentViewport.setZoom(currentViewport.getZoom() - 1); + updateView(); + } + }; public NativeViewController(GLSurfaceView surfaceView, MapActivity activity) { this.glSurfaceView = surfaceView; this.settings = activity.getMyApplication().getSettings(); this.mapActivity = activity; + setupView(); + } + + private void setupView() { + WindowManager mgr = (WindowManager)mapActivity.getSystemService(Context.WINDOW_SERVICE); + DisplayMetrics dm = new DisplayMetrics(); + mgr.getDefaultDisplay().getMetrics(dm); + currentViewport = new RotatedTileBox.RotatedTileBoxBuilder(). + setLocation(settings.getLastKnownMapLocation().getLatitude(), + settings.getLastKnownMapLocation().getLongitude()).setZoomAndScale(settings.getLastKnownMapZoom(), 0). + setPixelDimensions(dm.widthPixels, dm.heightPixels).build(); + currentViewport.setDensity(dm.density); + + + + gestureDetector = new GestureDetector(mapActivity, new GestureDetector.OnGestureListener() { + + @Override + public boolean onSingleTapUp(MotionEvent e) { + return false; + } + + @Override + public void onShowPress(MotionEvent e) { + } + + @Override + public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { + final QuadPoint cp = currentViewport.getCenterPixelPoint(); + final LatLon latlon = currentViewport.getLatLonFromPixel(cp.x + distanceX, cp.y + distanceY); + currentViewport.setLatLonCenter(latlon.getLatitude(), latlon.getLongitude()); + updateView(); + return false; + } + + @Override + public void onLongPress(MotionEvent e) { + } + + @Override + public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { + return false; + } + + @Override + public boolean onDown(MotionEvent e) { + return false; + } + }); + gestureDetector.setOnDoubleTapListener(new GestureDetector.OnDoubleTapListener() { + @Override + public boolean onSingleTapConfirmed(MotionEvent e) { + return false; + } + + @Override + public boolean onDoubleTapEvent(MotionEvent e) { + return false; + } + + @Override + public boolean onDoubleTap(MotionEvent e) { + currentViewport.setZoom(currentViewport.getZoom() + 1); + updateView(); + return true; + } + }); + + // Get device display density factor + DisplayMetrics displayMetrics = new DisplayMetrics(); + mapActivity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); + displayDensityFactor = displayMetrics.densityDpi / 160.0f; + referenceTileSize = (int)(256 * displayDensityFactor); + rasterTileSize = Integer.highestOneBit(referenceTileSize - 1) * 2; + Log.i(NATIVE_TAG, "displayDensityFactor = " + displayDensityFactor); + Log.i(NATIVE_TAG, "referenceTileSize = " + referenceTileSize); + Log.i(NATIVE_TAG, "rasterTileSize = " + rasterTileSize); + + Log.i(NATIVE_TAG, "Initializing core..."); + coreResources = CoreResourcesFromAndroidAssets.loadFromCurrentApplication(mapActivity); + OsmAndCore.InitializeCore(coreResources); + + File directory =mapActivity.getMyApplication().getAppPath(""); + fileLogSink = QIODeviceLogSink.createFileLogSink(directory.getAbsolutePath() + "osmandcore.log"); + Logger.get().addLogSink(fileLogSink); + + Log.i(NATIVE_TAG, "Going to resolve default embedded style..."); + mapStylesCollection = new MapStylesCollection(); + mapStyle = mapStylesCollection.getResolvedStyleByName("default"); + if (mapStyle == null) + { + Log.e(NATIVE_TAG, "Failed to resolve style 'default'"); + System.exit(0); + } + + Log.i(NATIVE_TAG, "Going to prepare OBFs collection"); + obfsCollection = new ObfsCollection(); + + Log.i(NATIVE_TAG, "Will load OBFs from " + Environment.getExternalStorageDirectory() + "/osmand"); + + Log.i(NATIVE_TAG, "Will load OBFs from " + directory.getAbsolutePath()); + obfsCollection.addDirectory(directory.getAbsolutePath(), false); + + Log.i(NATIVE_TAG, "Going to prepare all resources for renderer"); + mapPresentationEnvironment = new MapPresentationEnvironment( + mapStyle, + displayDensityFactor, + "en"); //TODO: here should be current locale + //mapPresentationEnvironment->setSettings(configuration.styleSettings); + primitiviser = new Primitiviser( + mapPresentationEnvironment); + binaryMapDataProvider = new BinaryMapDataProvider( + obfsCollection); + binaryMapPrimitivesProvider = new BinaryMapPrimitivesProvider( + binaryMapDataProvider, + primitiviser, + rasterTileSize); + binaryMapStaticSymbolsProvider = new BinaryMapStaticSymbolsProvider( + binaryMapPrimitivesProvider, + rasterTileSize); + binaryMapRasterBitmapTileProvider = new BinaryMapRasterBitmapTileProvider_Software( + binaryMapPrimitivesProvider); + + onlineMapRasterBitmapTileProvider = OnlineTileSources.getBuiltIn().createProviderFor("Mapnik (OsmAnd)"); + + Log.i(NATIVE_TAG, "Going to create renderer"); + mapRenderer = OsmAndCore.createMapRenderer(MapRendererClass.AtlasMapRenderer_OpenGLES2); + if (mapRenderer == null) + { + Log.e(NATIVE_TAG, "Failed to create map renderer 'AtlasMapRenderer_OpenGLES2'"); + System.exit(0); + } + + AtlasMapRendererConfiguration atlasRendererConfiguration = AtlasMapRendererConfiguration.Casts.upcastFrom(mapRenderer.getConfiguration()); + atlasRendererConfiguration.setReferenceTileSizeOnScreenInPixels(referenceTileSize); + mapRenderer.setConfiguration(AtlasMapRendererConfiguration.Casts.downcastTo_MapRendererConfiguration(atlasRendererConfiguration)); + + mapRenderer.addSymbolProvider(binaryMapStaticSymbolsProvider); + updateView(); + /* + IMapRasterBitmapTileProvider mapnik = OnlineTileSources.getBuiltIn().createProviderFor("Mapnik (OsmAnd)"); + if (mapnik == null) + Log.e(NATIVE_TAG, "Failed to create mapnik"); + */ + if (offlineMap){ + mapRenderer.setRasterLayerProvider(RasterMapLayerId.BaseLayer, binaryMapRasterBitmapTileProvider); + } else { + mapRenderer.setRasterLayerProvider(RasterMapLayerId.BaseLayer, onlineMapRasterBitmapTileProvider); + } + + //TODO:_glSurfaceView.setPreserveEGLContextOnPause(true); + glSurfaceView.setEGLContextClientVersion(2); + glSurfaceView.setEGLContextFactory(new EGLContextFactory()); + glSurfaceView.setRenderer(new NativeRenderer(mapRenderer)); + glSurfaceView.setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY); + } + + protected void updateView() { + mapRenderer.setAzimuth(0.0f); + mapRenderer.setElevationAngle(90); + mapRenderer.setTarget(new PointI(currentViewport.getCenter31X(), currentViewport.getCenter31Y())); + mapRenderer.setZoom((float)currentViewport.getZoom() + (float)currentViewport.getZoomScale()); + } + + private class EGLContextFactory implements GLSurfaceView.EGLContextFactory { + private EGLContext _gpuWorkerContext; + private EGLSurface _gpuWorkerFakeSurface; + + public EGLContext createContext(EGL10 egl, EGLDisplay display, EGLConfig eglConfig) { + final String eglExtensions = egl.eglQueryString(display, EGL10.EGL_EXTENSIONS); + Log.i(NATIVE_TAG, "EGL extensions: " + eglExtensions); + final String eglVersion = egl.eglQueryString(display, EGL10.EGL_VERSION); + Log.i(NATIVE_TAG, "EGL version: " + eglVersion); + + Log.i(NATIVE_TAG, "Creating main context..."); + final int[] contextAttribList = { + EGL14.EGL_CONTEXT_CLIENT_VERSION, 2, + EGL10.EGL_NONE }; + + EGLContext mainContext = null; + try { + mainContext = egl.eglCreateContext(display, eglConfig, EGL10.EGL_NO_CONTEXT, contextAttribList); + } catch (Exception e) { + Log.e(NATIVE_TAG, "Failed to create main context", e); + } + if (mainContext == null || mainContext == EGL10.EGL_NO_CONTEXT) { + Log.e(NATIVE_TAG, "Failed to create main context: " + egl.eglGetError()); + mainContext = null; + System.exit(0); + } + + Log.i(NATIVE_TAG, "Creating GPU worker context..."); + try { + _gpuWorkerContext = egl.eglCreateContext( + display, + eglConfig, + mainContext, + contextAttribList); + } catch (Exception e) { + Log.e(NATIVE_TAG, "Failed to create GPU worker context", e); + } + if (_gpuWorkerContext == null || _gpuWorkerContext == EGL10.EGL_NO_CONTEXT) + { + Log.e(NATIVE_TAG, "Failed to create GPU worker context: " + egl.eglGetError()); + _gpuWorkerContext = null; + } + + if (_gpuWorkerContext != null) + { + Log.i(NATIVE_TAG, "Creating GPU worker fake surface..."); + try { + final int[] surfaceAttribList = { + EGL10.EGL_WIDTH, 1, + EGL10.EGL_HEIGHT, 1, + EGL10.EGL_NONE }; + _gpuWorkerFakeSurface = egl.eglCreatePbufferSurface(display, eglConfig, surfaceAttribList); + } catch (Exception e) { + Log.e(NATIVE_TAG, "Failed to create GPU worker fake surface", e); + } + if (_gpuWorkerFakeSurface == null || _gpuWorkerFakeSurface == EGL10.EGL_NO_SURFACE) + { + Log.e(NATIVE_TAG, "Failed to create GPU worker fake surface: " + egl.eglGetError()); + _gpuWorkerFakeSurface = null; + } + } + + MapRendererSetupOptions rendererSetupOptions = new MapRendererSetupOptions(); + if (_gpuWorkerContext != null && _gpuWorkerFakeSurface != null) { + rendererSetupOptions.setGpuWorkerThreadEnabled(true); + gpuWorkerThreadPrologue = new GpuWorkerThreadPrologue(egl, display, _gpuWorkerContext, _gpuWorkerFakeSurface); + rendererSetupOptions.setGpuWorkerThreadPrologue(gpuWorkerThreadPrologue.getBinding()); + gpuWorkerThreadEpilogue = new GpuWorkerThreadEpilogue(egl); + rendererSetupOptions.setGpuWorkerThreadEpilogue(gpuWorkerThreadEpilogue.getBinding()); + } else { + rendererSetupOptions.setGpuWorkerThreadEnabled(false); + } + renderRequestCallback = new RenderRequestCallback(); + rendererSetupOptions.setFrameUpdateRequestCallback(renderRequestCallback.getBinding()); + mapRenderer.setup(rendererSetupOptions); + + return mainContext; + } + + public void destroyContext(EGL10 egl, EGLDisplay display, EGLContext context) { + egl.eglDestroyContext(display, context); + + if (_gpuWorkerContext != null) { + egl.eglDestroyContext(display, _gpuWorkerContext); + _gpuWorkerContext = null; + } + + if (_gpuWorkerFakeSurface != null) { + egl.eglDestroySurface(display, _gpuWorkerFakeSurface); + _gpuWorkerFakeSurface = null; + } + } + } + + private class GpuWorkerThreadEpilogue extends MapRendererSetupOptions.IGpuWorkerThreadEpilogue { + public GpuWorkerThreadEpilogue(EGL10 egl) { + _egl = egl; + } + + private final EGL10 _egl; + + @Override + public void method(IMapRenderer mapRenderer) { + try { + if (!_egl.eglWaitGL()) + Log.e(NATIVE_TAG, "Failed to wait for GPU worker context: " + _egl.eglGetError()); + } catch (Exception e) { + Log.e(NATIVE_TAG, "Failed to wait for GPU worker context", e); + } + } + } + + private class GpuWorkerThreadPrologue extends MapRendererSetupOptions.IGpuWorkerThreadPrologue { + public GpuWorkerThreadPrologue(EGL10 egl, EGLDisplay eglDisplay, EGLContext context, EGLSurface surface) { + _egl = egl; + _eglDisplay = eglDisplay; + _context = context; + _eglSurface = surface; + } + + private final EGL10 _egl; + private final EGLDisplay _eglDisplay; + private final EGLContext _context; + private final EGLSurface _eglSurface; + + @Override + public void method(IMapRenderer mapRenderer) { + try { + if (!_egl.eglMakeCurrent(_eglDisplay, _eglSurface, _eglSurface, _context)) + Log.e(NATIVE_TAG, "Failed to set GPU worker context active: " + _egl.eglGetError()); + } catch (Exception e) { + Log.e(NATIVE_TAG, "Failed to set GPU worker context active", e); + } + } + } + + private class RenderRequestCallback extends MapRendererSetupOptions.IFrameUpdateRequestCallback { + @Override + public void method(IMapRenderer mapRenderer) { + glSurfaceView.requestRender(); + } } @Override @@ -144,4 +498,72 @@ public class NativeViewController extends MapViewBaseController { public OsmandMapTileView getMapTileView() { return super.getMapTileView(); } + + @Override + public boolean onTouchEvent(MotionEvent event) { + if (twoFingerTapDetector.onTouchEvent(event)) { + return true; + } + return gestureDetector.onTouchEvent(event); + } + + @Override + public void resume() { + glSurfaceView.onResume(); + } + + @Override + public void destroy() { + if (mapStylesCollection != null) { + mapStylesCollection.delete(); + mapStylesCollection = null; + } + + if (mapStyle != null) { + mapStyle.delete(); + mapStyle = null; + } + + if (obfsCollection != null) { + obfsCollection.delete(); + obfsCollection = null; + } + + if (mapPresentationEnvironment != null) { + mapPresentationEnvironment.delete(); + mapPresentationEnvironment = null; + } + + if (primitiviser != null) { + primitiviser.delete(); + primitiviser = null; + } + + if (binaryMapDataProvider != null) { + binaryMapDataProvider.delete(); + binaryMapDataProvider = null; + } + + if (binaryMapPrimitivesProvider != null) { + binaryMapPrimitivesProvider.delete(); + binaryMapPrimitivesProvider = null; + } + + if (binaryMapStaticSymbolsProvider != null) { + binaryMapStaticSymbolsProvider.delete(); + binaryMapStaticSymbolsProvider = null; + } + + if (binaryMapRasterBitmapTileProvider != null) { + binaryMapRasterBitmapTileProvider.delete(); + binaryMapRasterBitmapTileProvider = null; + } + + if (mapRenderer != null) { + mapRenderer.delete(); + mapRenderer = null; + } + + OsmAndCore.ReleaseCore(); + } } From 3c6be6e1d15ed6632de6719a028b2623efd99e03 Mon Sep 17 00:00:00 2001 From: Denis Date: Wed, 1 Oct 2014 17:52:34 +0300 Subject: [PATCH 13/14] Added protection for loading native libraries multiple times --- OsmAnd/res/layout/activity_gl.xml | 4 ++-- OsmAnd/src/net/osmand/plus/OsmandSettings.java | 2 ++ .../net/osmand/plus/activities/MapActivity.java | 14 ++++++++++---- .../views/controllers/MapViewBaseController.java | 2 +- .../views/controllers/NativeViewController.java | 16 +++++++++++++--- 5 files changed, 28 insertions(+), 10 deletions(-) diff --git a/OsmAnd/res/layout/activity_gl.xml b/OsmAnd/res/layout/activity_gl.xml index 784bde7a71..67de7a8869 100644 --- a/OsmAnd/res/layout/activity_gl.xml +++ b/OsmAnd/res/layout/activity_gl.xml @@ -1,4 +1,4 @@ - - \ No newline at end of file + \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/plus/OsmandSettings.java b/OsmAnd/src/net/osmand/plus/OsmandSettings.java index 4c11d8fc57..69661133b9 100644 --- a/OsmAnd/src/net/osmand/plus/OsmandSettings.java +++ b/OsmAnd/src/net/osmand/plus/OsmandSettings.java @@ -701,6 +701,8 @@ public class OsmandSettings { public final OsmandPreference USE_KALMAN_FILTER_FOR_COMPASS = new BooleanPreference("use_kalman_filter_compass", true).makeGlobal().cache(); public final OsmandPreference USE_NATIVE_RENDER = new BooleanPreference("use_native_render", false).makeGlobal().cache(); + + public final OsmandPreference CPP_RENDER_FAILED = new BooleanPreference("cpp_render_failed", false).makeGlobal().cache(); public final CommonPreference TEXT_SCALE = new FloatPreference("text_scale", 1f).makeProfile().cache(); { diff --git a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java index 9317205615..6db9236c3d 100644 --- a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java +++ b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java @@ -134,9 +134,15 @@ public class MapActivity extends AccessibleActivity { app.checkApplicationIsBeingInitialized(this, startProgressDialog); parseLaunchIntentLocation(); - if (settings.USE_NATIVE_RENDER.get()){ + //defending user from multiple failures of loading native renderer + //if app fails - user will need to manually set USE_NATIVE_RENDER again + if (settings.USE_NATIVE_RENDER.get() && !settings.CPP_RENDER_FAILED.get()){ + settings.CPP_RENDER_FAILED.set(true); + settings.USE_NATIVE_RENDER.set(false); setContentView(R.layout.activity_gl); mapViewController = new NativeViewController((GLSurfaceView) findViewById(R.id.glSurfaceView), this); + settings.CPP_RENDER_FAILED.set(false); + settings.USE_NATIVE_RENDER.set(true); } else { setContentView(R.layout.main); mapViewController = new JavaViewController((OsmandMapTileView) findViewById(R.id.MapView), this); @@ -605,10 +611,10 @@ public class MapActivity extends AccessibleActivity { @Override public void stateChanged(Boolean change) { - getMapView().refreshMap(true); + mapViewController.refreshMap(true); } }); - getMapView().refreshMap(true); + mapViewController.refreshMap(true); } @@ -719,7 +725,7 @@ public class MapActivity extends AccessibleActivity { } public void refreshMap() { - getMapView().refreshMap(); + mapViewController.refreshMap(false); } public View getLayout() { diff --git a/OsmAnd/src/net/osmand/plus/views/controllers/MapViewBaseController.java b/OsmAnd/src/net/osmand/plus/views/controllers/MapViewBaseController.java index 64cdb93925..67996c34ae 100644 --- a/OsmAnd/src/net/osmand/plus/views/controllers/MapViewBaseController.java +++ b/OsmAnd/src/net/osmand/plus/views/controllers/MapViewBaseController.java @@ -108,6 +108,6 @@ public abstract class MapViewBaseController { } public void destroy(){ - } + } diff --git a/OsmAnd/src/net/osmand/plus/views/controllers/NativeViewController.java b/OsmAnd/src/net/osmand/plus/views/controllers/NativeViewController.java index a028267508..b897f7373d 100644 --- a/OsmAnd/src/net/osmand/plus/views/controllers/NativeViewController.java +++ b/OsmAnd/src/net/osmand/plus/views/controllers/NativeViewController.java @@ -23,6 +23,7 @@ import net.osmand.plus.activities.MapActivity; import net.osmand.plus.activities.MapActivityLayers; import net.osmand.plus.base.MapViewTrackingUtilities; import net.osmand.plus.helpers.SimpleTwoFingerTapDetector; +import net.osmand.plus.render.NativeOsmandLibrary; import net.osmand.plus.views.OsmandMapLayer; import net.osmand.plus.views.OsmandMapTileView; @@ -34,6 +35,15 @@ import java.util.List; * Created by Denis on 01.10.2014. */ public class NativeViewController extends MapViewBaseController { + + static { + NativeOsmandLibrary.loadLibrary("gnustl_shared"); + NativeOsmandLibrary.loadLibrary("Qt5Core"); + NativeOsmandLibrary.loadLibrary("Qt5Network"); + NativeOsmandLibrary.loadLibrary("Qt5Sql"); + NativeOsmandLibrary.loadLibrary("OsmAndCoreWithJNI"); + } + private GLSurfaceView glSurfaceView; private OsmandSettings settings; private MapActivity mapActivity; @@ -156,7 +166,7 @@ public class NativeViewController extends MapViewBaseController { Log.i(NATIVE_TAG, "rasterTileSize = " + rasterTileSize); Log.i(NATIVE_TAG, "Initializing core..."); - coreResources = CoreResourcesFromAndroidAssets.loadFromCurrentApplication(mapActivity); + coreResources = CoreResourcesFromAndroidAssets.loadFromCurrentApplication(mapActivity.getMyApplication()); OsmAndCore.InitializeCore(coreResources); File directory =mapActivity.getMyApplication().getAppPath(""); @@ -396,7 +406,7 @@ public class NativeViewController extends MapViewBaseController { @Override public void refreshMap(boolean b) { - super.refreshMap(b); + updateView(); } @Override @@ -431,7 +441,7 @@ public class NativeViewController extends MapViewBaseController { @Override public ViewParent getParentView() { - return super.getParentView(); + return glSurfaceView.getParent(); } @Override From 3118940c0e5e282e0329575d402b5b85682af7a2 Mon Sep 17 00:00:00 2001 From: Denis Date: Wed, 1 Oct 2014 18:17:13 +0300 Subject: [PATCH 14/14] Stable native maprended added. No controls. No zoom. No move, but at least it shows map --- .../osmand/plus/activities/MapActivity.java | 4 +- .../plus/activities/MapActivityLayers.java | 71 ++++++++++++++++++- .../controllers/NativeViewController.java | 2 +- 3 files changed, 74 insertions(+), 3 deletions(-) diff --git a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java index 6db9236c3d..f9c34ddd02 100644 --- a/OsmAnd/src/net/osmand/plus/activities/MapActivity.java +++ b/OsmAnd/src/net/osmand/plus/activities/MapActivity.java @@ -303,8 +303,10 @@ public class MapActivity extends AccessibleActivity { poiFilter = new PoiFilter(null, app); } + mapLayers.getPoiMapLayer().setFilter(poiFilter); + // if destination point was changed try to recalculate route TargetPointsHelper targets = app.getTargetPointsHelper(); RoutingHelper routingHelper = app.getRoutingHelper(); @@ -600,7 +602,7 @@ public class MapActivity extends AccessibleActivity { } mapViewTrackingUtilities.updateSettings(); app.getRoutingHelper().setAppMode(settings.getApplicationMode()); - if (mapLayers.getMapInfoLayer() != null) { + if (mapLayers.getMapInfoLayer() != null && !settings.USE_NATIVE_RENDER.get()) { mapLayers.getMapInfoLayer().recreateControls(); } diff --git a/OsmAnd/src/net/osmand/plus/activities/MapActivityLayers.java b/OsmAnd/src/net/osmand/plus/activities/MapActivityLayers.java index ff24a0274e..cf4f953713 100644 --- a/OsmAnd/src/net/osmand/plus/activities/MapActivityLayers.java +++ b/OsmAnd/src/net/osmand/plus/activities/MapActivityLayers.java @@ -6,6 +6,7 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map.Entry; +import android.opengl.GLSurfaceView; import android.widget.*; import net.osmand.CallbackWithObject; import net.osmand.ResultMatcher; @@ -155,7 +156,75 @@ public class MapActivityLayers { OsmandPlugin.createLayers(mapView, activity); app.getAppCustomization().createLayers(mapView, activity); } - + + public void createLayers(GLSurfaceView glSurfaceView){ + //TODO implement adding layers + OsmandApplication app = (OsmandApplication) getApplication(); + RoutingHelper routingHelper = app.getRoutingHelper(); + // first create to make accessible + mapTextLayer = new MapTextLayer(); + // 5.95 all labels +// mapView.addLayer(mapTextLayer, 5.95f); + // mapView.addLayer(underlayLayer, -0.5f); + mapTileLayer = new MapTileLayer(true); +// mapView.addLayer(mapTileLayer, 0.0f); +// mapView.setMainLayer(mapTileLayer); + + // 0.5 layer + mapVectorLayer = new MapVectorLayer(mapTileLayer); +// mapView.addLayer(mapVectorLayer, 0.5f); + + downloadedRegionsLayer = new DownloadedRegionsLayer(); +// mapView.addLayer(downloadedRegionsLayer, 0.5f); + + // 0.9 gpx layer + gpxLayer = new GPXLayer(); +// mapView.addLayer(gpxLayer, 0.9f); + + // 1. route layer + routeLayer = new RouteLayer(routingHelper); +// mapView.addLayer(routeLayer, 1); + + // 2. osm bugs layer + // 3. poi layer + poiMapLayer = new POIMapLayer(activity); + // 4. favorites layer + favoritesLayer = new FavoritesLayer(); + // 5. transport layer + transportStopsLayer = new TransportStopsLayer(); + // 5.5 transport info layer + transportInfoLayer = new TransportInfoLayer(TransportRouteHelper.getInstance()); +// mapView.addLayer(transportInfoLayer, 5.5f); + // 5.95 all text labels + // 6. point location layer + locationLayer = new PointLocationLayer(MapActivity.getMapViewTrackingUtilities()); +// mapView.addLayer(locationLayer, 6); + // 7. point navigation layer + navigationLayer = new PointNavigationLayer(activity); +// mapView.addLayer(navigationLayer, 7); + // 8. context menu layer + contextMenuLayer = new ContextMenuLayer(activity); +// mapView.addLayer(contextMenuLayer, 8); + // 9. map info layer + mapInfoLayer = new MapInfoLayer(activity, routeLayer); +// mapView.addLayer(mapInfoLayer, 9); + // 11. route info layer + mapControlsLayer = new MapControlsLayer(activity); +// mapView.addLayer(mapControlsLayer, 11); + + app.getSettings().MAP_TRANSPARENCY.addListener(new StateChangedListener() { + @Override + public void stateChanged(Integer change) { + mapTileLayer.setAlpha(change); + mapVectorLayer.setAlpha(change); +// mapView.refreshMap(); + } + }); + +// OsmandPlugin.createLayers(mapView, activity); +// app.getAppCustomization().createLayers(mapView, activity); + } + public void updateLayers(OsmandMapTileView mapView){ OsmandSettings settings = getApplication().getSettings(); diff --git a/OsmAnd/src/net/osmand/plus/views/controllers/NativeViewController.java b/OsmAnd/src/net/osmand/plus/views/controllers/NativeViewController.java index b897f7373d..d08026427e 100644 --- a/OsmAnd/src/net/osmand/plus/views/controllers/NativeViewController.java +++ b/OsmAnd/src/net/osmand/plus/views/controllers/NativeViewController.java @@ -411,7 +411,7 @@ public class NativeViewController extends MapViewBaseController { @Override public void createLayers(MapActivityLayers mapLayers) { - super.createLayers(mapLayers); + mapLayers.createLayers(glSurfaceView); } @Override