Ejemplo n.º 1
0
extern "C" JNIEXPORT jint JNICALL Java_net_osmand_plus_render_NativeOsmandLibrary_searchNativeObjectsForRendering(JNIEnv* ienv,
		jobject obj, jint sleft, jint sright, jint stop, jint sbottom, jint zoom,
		jobject renderingRuleSearchRequest, bool skipDuplicates, jobject objInterrupted, jstring msgNothingFound) {
	RenderingRuleSearchRequest* req = initSearchRequest(ienv, renderingRuleSearchRequest);
	jclass clObjInterrupted = ienv->GetObjectClass(objInterrupted);
	jfieldID interruptedField = getFid(ienv, clObjInterrupted, "interrupted", "Z");
	ienv->DeleteLocalRef(clObjInterrupted);

	SearchQuery q(sleft, sright, stop, sbottom, req, objInterrupted, interruptedField, ienv);
	q.zoom = zoom;

	SearchResult* res = searchObjectsForRendering(&q, req, skipDuplicates, getString(ienv, msgNothingFound));
	delete req;
	return (jint) res;
}
Ejemplo n.º 2
0
void loadJniCommon()
{
	jclass_RenderingContext = findClass("net/osmand/plus/render/OsmandRenderer$RenderingContext");
	jfield_RenderingContext_interrupted = getFid(jclass_RenderingContext, "interrupted", "Z");
	jfield_RenderingContext_leftX = getFid( jclass_RenderingContext, "leftX", "F" );
	jfield_RenderingContext_topY = getFid( jclass_RenderingContext, "topY", "F" );
	jfield_RenderingContext_width = getFid( jclass_RenderingContext, "width", "I" );
	jfield_RenderingContext_height = getFid( jclass_RenderingContext, "height", "I" );
	jfield_RenderingContext_zoom = getFid( jclass_RenderingContext, "zoom", "I" );
	jfield_RenderingContext_rotate = getFid( jclass_RenderingContext, "rotate", "F" );
	jfield_RenderingContext_tileDivisor = getFid( jclass_RenderingContext, "tileDivisor", "F" );
	jfield_RenderingContext_pointCount = getFid( jclass_RenderingContext, "pointCount", "I" );
	jfield_RenderingContext_pointInsideCount = getFid( jclass_RenderingContext, "pointInsideCount", "I" );
	jfield_RenderingContext_visible = getFid( jclass_RenderingContext, "visible", "I" );
	jfield_RenderingContext_allObjects = getFid( jclass_RenderingContext, "allObjects", "I" );
	jfield_RenderingContext_cosRotateTileSize = getFid( jclass_RenderingContext, "cosRotateTileSize", "F" );
	jfield_RenderingContext_sinRotateTileSize = getFid( jclass_RenderingContext, "sinRotateTileSize", "F" );
	jfield_RenderingContext_density = getFid( jclass_RenderingContext, "density", "F" );
	jfield_RenderingContext_highResMode = getFid( jclass_RenderingContext, "highResMode", "Z" );
	jfield_RenderingContext_mapTextSize = getFid( jclass_RenderingContext, "mapTextSize", "F" );
	jfield_RenderingContext_shadowRenderingMode = getFid( jclass_RenderingContext, "shadowRenderingMode", "I" );
	jfield_RenderingContext_shadowLevelMin = getFid( jclass_RenderingContext, "shadowLevelMin", "I" );
	jfield_RenderingContext_shadowLevelMax = getFid( jclass_RenderingContext, "shadowLevelMax", "I" );
	jfield_RenderingContext_ctx = getFid( jclass_RenderingContext, "ctx", "Landroid/content/Context;" );
	jfield_RenderingContext_textRenderingTime = getFid( jclass_RenderingContext, "textRenderingTime", "I" );
	jfield_RenderingContext_lastRenderedKey = getFid( jclass_RenderingContext, "lastRenderedKey", "I" );
	
	jclass_RenderingIcons = findClass("net/osmand/plus/render/RenderingIcons");
	jmethod_RenderingIcons_getIconRawData = getGlobalJniEnv()->GetStaticMethodID(jclass_RenderingIcons,
		"getIconRawData",
		"(Landroid/content/Context;Ljava/lang/String;)[B");
}