Exemple #1
0
/*
 * 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);
}
Exemple #2
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;
}
Exemple #3
0
/*
 * 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);
}
Exemple #4
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;
}