Exemple #1
0
jobject Java_java_awt_Toolkit_imgCreateFromFile (JNIEnv *env, jclass clazz UNUSED, jstring fileName)
{
	char *fname;
	s_image_t *img;
	DEBUGF("Enter");
	fname = java2CString(env, fileName);
	s_image_init(&img);
	if (s_image_img(fname, img)) {
		s_image_uninit(img);
		AWT_FREE(fname);
		return NULL;
	}
	AWT_FREE(fname);
	DEBUGF("Leave");
	return JCL_NewRawDataObject(env, img);
}
void
freeImage( Toolkit* X, Image* img) {
	Image *next, *first = img;
	
	/* we have to be aware of image rings (GIF movies), iterate */
	do {
		DeleteObject( img->bmp);
		DeleteDC( img->dc);
		img->bmp = 0;
		img->dc = 0;
		if ( img->mask) {
			DeleteObject( img->mask);
			DeleteDC( img->dcMask);
			img->mask = 0;
			img->dcMask = 0;
		}
		next = img->next;
		AWT_FREE( img);
		img = next;
	} while ( (img != 0) && (img != first) );
}