/* * Class: mapnik_Image * Method: getHeight * Signature: ()I */ JNIEXPORT jint JNICALL Java_mapnik_Image_getHeight (JNIEnv *env, jobject imobj) { PREAMBLE; mapnik::image_32* im=LOAD_IMAGE_POINTER(imobj); return im->height(); TRAILER(0); }
/* * Class: mapnik_Image * Method: saveToFile * Signature: (Ljava/lang/String;Ljava/lang/String;)V */ JNIEXPORT void JNICALL Java_mapnik_Image_saveToFile (JNIEnv *env, jobject imobj, jstring filenamej, jstring typej) { PREAMBLE; mapnik::image_32* im=LOAD_IMAGE_POINTER(imobj); refjavastring filename(env, filenamej); refjavastring type(env, typej); mapnik::save_to_file(*im, filename.stringz, type.stringz); TRAILER_VOID; }
/* * Class: mapnik_Image * Method: saveToMemory * Signature: (Ljava/lang/String;)[B */ JNIEXPORT jbyteArray JNICALL Java_mapnik_Image_saveToMemory (JNIEnv *env, jobject imobj, jstring typej) { PREAMBLE; mapnik::image_32* im=LOAD_IMAGE_POINTER(imobj); refjavastring type(env, typej); std::string datastring=mapnik::save_to_string(*im, type.stringz); jbyteArray ret=env->NewByteArray(datastring.size()); env->SetByteArrayRegion(ret, 0, datastring.size(), (const jbyte*)datastring.data()); return ret; TRAILER(0); }
/* * Class: mapnik_Image * Method: alloc * Signature: (Lmapnik/Image;)J */ JNIEXPORT jlong JNICALL Java_mapnik_Image_alloc__Lmapnik_Image_2 (JNIEnv *env, jclass c, jobject iobjother) { PREAMBLE; if (!iobjother) { throw_runtime_exception(env, "Image cannot be null in call to constructor"); return 0; } mapnik::image_32* other=LOAD_IMAGE_POINTER(iobjother); mapnik::image_32* im=new mapnik::image_32(*other); return FROM_POINTER(im); TRAILER(0); }
/* * Class: mapnik_Renderer * Method: renderAgg * Signature: (Lmapnik/MapDefinition;Lmapnik/Image;DII)V */ JNIEXPORT void JNICALL Java_mapnik_Renderer_renderAgg (JNIEnv *env, jclass c, jobject mapobj, jobject imobj, jdouble scale_factor, jint offset_x, jint offset_y) { PREAMBLE; if (!mapobj || !imobj || offset_x<0 || offset_y<0) { throw_runtime_exception(env, "Illegal arguments in call"); return; } mapnik::Map* map=LOAD_MAP_POINTER(mapobj); mapnik::image_32* im=LOAD_IMAGE_POINTER(imobj); mapnik::agg_renderer<mapnik::image_32> ren(*map, *im, scale_factor, offset_x, offset_y); ren.apply(); TRAILER_VOID; }