magick_MontageInfo.c
上传用户:qingzhou
上传日期:2013-04-21
资源大小:733k
文件大小:10k
- #include <jni.h>
- #include <stdlib.h>
- #include <string.h>
- #include <stdio.h>
- #include <time.h>
- #include <sys/types.h>
- #include <magick/api.h>
- #include "jmagick.h"
- #include "magick_MontageInfo.h"
- /*
- * Class: magick_MontageInfo
- * Method: init
- * Signature: (Lmagick/ImageInfo;)V
- */
- JNIEXPORT void JNICALL Java_magick_MontageInfo_init
- (JNIEnv *env, jobject self, jobject imageInfo)
- {
- ImageInfo *info;
- MontageInfo *montageInfo;
- /* Obtain the ImageInfo */
- info = (ImageInfo*) getHandle(env, imageInfo, "imageInfoHandle", NULL);
- if (info == NULL) {
- throwMagickException(env, "Unable to obtain ImageInfo handle");
- return;
- }
- /* Initialise the MontageInfo handle, allocating memory if required */
- montageInfo =
- (MontageInfo*) getHandle(env, self, "montageInfoHandle", NULL);
- if (montageInfo == NULL) {
- montageInfo = (MontageInfo*) AcquireMemory(sizeof(MontageInfo));
- if (montageInfo == NULL) {
- throwMagickException(env,
- "Unable to allocate "
- "memory for MontageInfo");
- return;
- }
- }
- GetMontageInfo(info, montageInfo);
- setHandle(env, self, "montageInfoHandle", (void*) montageInfo, NULL);
- }
- /*
- * Class: magick_MontageInfo
- * Method: destroyMontageInfo
- * Signature: ()V
- */
- JNIEXPORT void JNICALL Java_magick_MontageInfo_destroyMontageInfo
- (JNIEnv *env, jobject self)
- {
- MontageInfo *montageInfo = NULL;
- jfieldID handleFid = 0;
- montageInfo = (MontageInfo*) getHandle(env, self,
- "montageInfoHandle", &handleFid);
- if (montageInfo != NULL) {
- setHandle(env, self, "montageInfoHandle", NULL, &handleFid);
- DestroyMontageInfo(montageInfo);
- }
- }
- /*
- * Class: magick_MontageInfo
- * Method: setGeometry
- * Signature: (Ljava/lang/String;)V
- */
- setStringMethod(Java_magick_MontageInfo_setGeometry,
- geometry,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: getGeometry
- * Signature: ()Ljava/lang/String;
- */
- getStringMethod(Java_magick_MontageInfo_getGeometry,
- geometry,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: setTile
- * Signature: (Ljava/lang/String;)V
- */
- setStringMethod(Java_magick_MontageInfo_setTile,
- tile,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: getTile
- * Signature: ()Ljava/lang/String;
- */
- getStringMethod(Java_magick_MontageInfo_getTile,
- tile,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: setTitle
- * Signature: (Ljava/lang/String;)V
- */
- setStringMethod(Java_magick_MontageInfo_setTitle,
- title,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: getTitle
- * Signature: ()Ljava/lang/String;
- */
- getStringMethod(Java_magick_MontageInfo_getTitle,
- title,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: setFrame
- * Signature: (Ljava/lang/String;)V
- */
- setStringMethod(Java_magick_MontageInfo_setFrame,
- frame,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: getFrame
- * Signature: ()Ljava/lang/String;
- */
- getStringMethod(Java_magick_MontageInfo_getFrame,
- frame,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: setTexture
- * Signature: (Ljava/lang/String;)V
- */
- setStringMethod(Java_magick_MontageInfo_setTexture,
- texture,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: getTexture
- * Signature: ()Ljava/lang/String;
- */
- getStringMethod(Java_magick_MontageInfo_getTexture,
- texture,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: setFont
- * Signature: (Ljava/lang/String;)V
- */
- setStringMethod(Java_magick_MontageInfo_setFont,
- font,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: getFont
- * Signature: ()Ljava/lang/String;
- */
- getStringMethod(Java_magick_MontageInfo_getFont,
- font,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: setPointSize
- * Signature: (D)V
- */
- setDoubleMethod(Java_magick_MontageInfo_setPointSize,
- pointsize,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: getPointSize
- * Signature: ()D
- */
- getDoubleMethod(Java_magick_MontageInfo_getPointSize,
- pointsize,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: setBorderWidth
- * Signature: (I)V
- */
- setIntMethod(Java_magick_MontageInfo_setBorderWidth,
- border_width,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: getBorderWidth
- * Signature: ()I
- */
- getIntMethod(Java_magick_MontageInfo_getBorderWidth,
- border_width,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: setGravity
- * Signature: (I)V
- */
- setIntMethod(Java_magick_MontageInfo_setGravity,
- gravity,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: getGravity
- * Signature: ()I
- */
- getIntMethod(Java_magick_MontageInfo_getGravity,
- gravity,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: setShadow
- * Signature: (Z)V
- */
- setBoolMethod(Java_magick_MontageInfo_setShadow,
- shadow,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: getShadow
- * Signature: ()Z
- */
- getBoolMethod(Java_magick_MontageInfo_getShadow,
- shadow,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: setFill
- * Signature: (Lmagick/PixelPacket;)V
- */
- setPixelPacketMethod(Java_magick_MontageInfo_setFill,
- fill,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: getFill
- * Signature: ()Z
- */
- getPixelPacketMethod(Java_magick_MontageInfo_getFill,
- fill,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: setStroke
- * Signature: (Lmagick/PixelPacket;)V
- */
- setPixelPacketMethod(Java_magick_MontageInfo_setStroke,
- stroke,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: getStroke
- * Signature: ()Z
- */
- getPixelPacketMethod(Java_magick_MontageInfo_getStroke,
- stroke,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: setBackgroundColor
- * Signature: (Lmagick/PixelPacket;)V
- */
- setPixelPacketMethod(Java_magick_MontageInfo_setBackgroundColor,
- background_color,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: getBackgroundColor
- * Signature: ()Z
- */
- getPixelPacketMethod(Java_magick_MontageInfo_getBackgroundColor,
- background_color,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: setBorderColor
- * Signature: (Lmagick/PixelPacket;)V
- */
- setPixelPacketMethod(Java_magick_MontageInfo_setBorderColor,
- border_color,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: getBorderColor
- * Signature: ()Z
- */
- getPixelPacketMethod(Java_magick_MontageInfo_getBorderColor,
- border_color,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: setMatteColor
- * Signature: (Lmagick/PixelPacket;)V
- */
- setPixelPacketMethod(Java_magick_MontageInfo_setMatteColor,
- matte_color,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: getMatteColor
- * Signature: ()Z
- */
- getPixelPacketMethod(Java_magick_MontageInfo_getMatteColor,
- matte_color,
- "montageInfoHandle",
- MontageInfo)
- /*
- * Class: magick_MontageInfo
- * Method: setFileName
- * Signature: (Ljava/lang/String;)V
- */
- JNIEXPORT void JNICALL Java_magick_MontageInfo_setFileName
- (JNIEnv *env, jobject self, jstring fileName)
- {
- MontageInfo *montageInfo = NULL;
- const char *cstr = NULL;
- montageInfo = (MontageInfo*) getHandle(env, self,
- "montageInfoHandle", NULL);
- if (montageInfo == NULL) {
- throwMagickException(env, "Unable to obtain MontageInfo handle");
- return;
- }
- cstr = (*env)->GetStringUTFChars(env, fileName, 0);
- strcpy(montageInfo->filename, cstr);
- (*env)->ReleaseStringUTFChars(env, fileName, cstr);
- }
- /*
- * Class: magick_MontageInfo
- * Method: getFileName
- * Signature: ()Ljava/lang/String;
- */
- JNIEXPORT jstring JNICALL Java_magick_MontageInfo_getFileName
- (JNIEnv *env, jobject self)
- {
- MontageInfo *montageInfo = NULL;
- montageInfo =
- (MontageInfo*) getHandle(env, self, "montageInfoHandle", NULL);
- if (montageInfo == NULL) {
- throwMagickException(env, "Unable to retrieve MontageInfo handle");
- return NULL;
- }
- return (*env)->NewStringUTF(env, montageInfo->filename);
- }