亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? img.c

?? kaffe Java 解釋器語言,源碼,Java的子集系統(tǒng),開放源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* generic (ImageProducer) based image construction */voidJava_java_awt_Toolkit_imgSetIdxPels ( JNIEnv* env, jclass clazz, Image * img,		jint x, jint y, jint w, jint h,		jintArray clrMap, jbyteArray idxPels, jint trans,		jint off, jint scan){  register int    row, col;  unsigned long   pix;  jint            rgb;  jboolean        isCopy;  jint            *clr = (*env)->GetIntArrayElements( env, clrMap, &isCopy);  jbyte           *pel = (*env)->GetByteArrayElements( env, idxPels, &isCopy);  unsigned char   *idx = (unsigned char*)(pel + off);  int             maxCol = x + w;  int             maxRow = y + h;  unsigned char   curPel;  if ( (trans >= 0) && !img->xMask )	createXMaskImage( X, img);  for ( row = y; row < maxRow; row++) {    for ( col = x; col < maxCol; col++) {      curPel = idx[col + row * scan];      rgb = clr[curPel];      pix = pixelValue( X, rgb);      if ( trans >= 0 ) {		if ( curPel == trans ){		  pix = 0;		  XPutPixel( img->xMask, col, row, 0);		}      }      XPutPixel( img->xImg, col, row, pix);    }  }  (*env)->ReleaseIntArrayElements( env, clrMap, clr, JNI_ABORT);  (*env)->ReleaseByteArrayElements( env, idxPels, pel, JNI_ABORT);}voidJava_java_awt_Toolkit_imgSetRGBPels ( JNIEnv* env, jclass clazz, Image * img,									  jint x, jint y, jint w, jint h,									  jintArray rgbPels, jint off, jint scan){  register int    row, col;  unsigned long   pix = 0;  jboolean        isCopy;  jint            *rgbs = (*env)->GetIntArrayElements( env, rgbPels, &isCopy);  jint            *rgb = rgbs + off;  int             maxCol = x + w;  int             maxRow = y + h;  jint		  val;  for ( row = y; row < maxRow; row++) {    for ( col = x; col < maxCol; col++) {	  val = rgb[col + row * scan];	  if ( (val & 0xff000000) == 0xff000000 ) {		pix = pixelValue( X, val);		XPutPixel( img->xImg, col, row, pix);	  }	  else {		/*		 * No way to tell for now if this will be a reduced (on/off) or a		 * full alpha channel. We have to be prepared for the "worst", and reduce		 * later		 */		if ( !img->alpha )		  createAlphaImage( X, img);		PutAlpha( img->alpha, col, row, (val >> 24));		XPutPixel( img->xImg, col, row, pix);		/*		if ( !img->xMask )		  createXMaskImage( X, img);		XPutPixel( img->xMask, col, row, 0);		XPutPixel( img->xImg, col, row, 0);		*/	  }    }  }  (*env)->ReleaseIntArrayElements( env, rgbPels, rgbs, JNI_ABORT);}voidJava_java_awt_Toolkit_imgComplete( JNIEnv* env, jclass clazz, Image * img, jint status ){  /*   * Check for alpha channel reduction. Note that full alpha images aren't created   * with Shm (by policy), so you might loose the Shm speed factor. This method is just   * called for external (generic) production, since our own prod facilities usually   * know better if and how to do alpha support   */  if ( img->alpha &&  !needsFullAlpha( X, img, 0.0) )	reduceAlpha( X, img, 128);}voidJava_java_awt_Toolkit_imgFreeImage( JNIEnv* env, jclass clazz, Image * img){  Image *next, *first = img;  /* we have to be aware of image rings (GIF movies), iterate */  do {	if ( img->pix ){	  XFreePixmap( X->dsp, img->pix);	  img->pix = 0;	}	/*	 * note that XDestroyImage automatically frees any non-NULL data pointer	 * (since we explicitly allocated the data, we better free it explicitly, too)	 * malloc, free might be resolved	 */	if ( img->xImg ){	  if ( img->shmiImg ) {		DBG( AWT_IMG, printf( "free Shm: %p %p %p (%dx%d)\n", img, img->xImg, img->shmiImg,						img->width, img->height));		destroyShmXImage( X, img, False);	  }	  else {		DBG( AWT_IMG, printf( "free: %p %p (%dx%d)\n", img, img->xImg, img->width, img->height));		AWT_FREE( img->xImg->data);		img->xImg->data = 0;		XDestroyImage( img->xImg);	  }	  img->xImg = 0;	}	if ( img->xMask ){	  if ( img->shmiMask ) {		DBG( AWT_IMG, printf( "free Shm mask: %p %p %p (%dx%d)\n", img, img->xMask, img->shmiMask,						img->width, img->height));		destroyShmXImage( X, img, True);	  }	  else {		DBG( AWT_IMG, printf( "free mask: %p %p (%dx%d)\n", img, img->xMask, img->width, img->height));		AWT_FREE( img->xMask->data);		img->xMask->data = 0;		XDestroyImage( img->xMask);	  }	  img->xMask = 0;	}	if ( img->alpha ) {	  AWT_FREE( img->alpha->buf);	  AWT_FREE( img->alpha);	  img->alpha = 0;	}	next = img->next;	AWT_FREE( img);	img = next;  } while ( (img != 0) && (img != first) );}void*Java_java_awt_Toolkit_imgCreateScaledImage ( JNIEnv* env, jclass clazz,											 Image* img, int width, int height ){  int depth;  Image *scaledImg = createImage( width, height);  if ( img->xImg ) {	createXImage( X, scaledImg);	if ( img->xMask )	  createXMaskImage( X, scaledImg);	initScaledImage ( X, scaledImg, img,					  0, 0, width-1, height-1,					  0, 0, img->width-1, img->height-1);  }  else if ( img->pix ) {	depth = DefaultDepth(  X->dsp, DefaultScreen( X->dsp));	scaledImg->pix  = XCreatePixmap( X->dsp, X->root, width, height, depth);  }  return scaledImg;}voidJava_java_awt_Toolkit_imgProduceImage ( JNIEnv* env, jclass clazz, jobject producer, Image* img ){  int            i, j;  int            r, g, b;  unsigned long  pix;  jclass         prodClazz, modelClazz;  jmethodID      modelCtor, setDim, setCM, setHints, setPix, imgCompl;  jobject        model;  jintArray      pelArray;  jint           *pels;  jboolean       isCopy;  prodClazz  = (*env)->GetObjectClass( env, producer);  modelClazz = (*env)->FindClass( env, "kaffe/awt/JavaColorModel");  modelCtor = (*env)->GetStaticMethodID( env, modelClazz, "getSingleton", "()Lkaffe/awt/JavaColorModel;");  setDim    = (*env)->GetMethodID( env, prodClazz, "setDimensions", "(II)V");  setCM     = (*env)->GetMethodID( env, prodClazz, "setColorModel", "(Ljava/awt/image/ColorModel;)V");  setHints  = (*env)->GetMethodID( env, prodClazz, "setHints", "(I)V");  setPix    = (*env)->GetMethodID( env, prodClazz, "setPixels", "(IIIILjava/awt/image/ColorModel;[III)V");  imgCompl  = (*env)->GetMethodID( env, prodClazz, "imageComplete", "(I)V");  model     = (*env)->CallStaticObjectMethod( env, modelClazz, modelCtor);  /* for JDK compat, the pixel buffer has to be large enough to hold the *complete* image */  pelArray  = (*env)->NewIntArray( env, img->width * img->height);  pels = (*env)->GetIntArrayElements( env, pelArray, &isCopy);  (*env)->CallVoidMethod( env, producer, setDim, img->width, img->height);  (*env)->CallVoidMethod( env, producer, setCM, model);  (*env)->CallVoidMethod( env, producer, setHints, 6); /* TOPDOWNLEFTRIGHT | COMPLETESCANLINES */  if ( img->pix && !img->xImg ) {	img->xImg = XGetImage( X->dsp, img->pix, 0, 0, img->width, img->height, 0xffffffff, ZPixmap);  }  if ( img->xImg ) {	for ( j=0; j<img->height; j++ ) {	  for ( i=0; i<img->width; i++ ) {		if ( (img->xMask == 0) || XGetPixel( img->xMask, i, j) ) {		  pix = XGetPixel( img->xImg, i, j);		  rgbValues( X, pix, &r, &g, &b);		  pels[j*img->width+i] = (0xff000000 | (r << 16) | (g << 8) | b);		}		else {		  pels[j*img->width+i] = 0;		}	  }	}  }  if ( img->pix && img->xImg ) {	XDestroyImage( img->xImg);	img->xImg = 0;  }  if ( isCopy ) {    (*env)->ReleaseIntArrayElements( env, pelArray, pels, JNI_COMMIT);  }  (*env)->CallVoidMethod( env, producer, setPix, 0, 0, img->width, img->height, model, pelArray, 0, img->width);  (*env)->CallVoidMethod( env, producer, imgCompl, 3); /* 3 = STATICIMAGEDONE */}/************************************************************************************ * native format production dispatcher routines (GIF, jpeg, png, ..) */#define SIG_LENGTH 4#define SIG_GIF    1#define SIG_JPEG   2#define SIG_PNG    3Image *unknownImage = 0;  /* fill in some default image here */static int imageFormat ( unsigned char* sig ) {  if ( (sig[0] == 'G') && (sig[1] == 'I') && (sig[2] == 'F') )	return SIG_GIF;  if ( (sig[0] == 0xff) && (sig[1] == 0xd8) && (sig[2] == 0xff) && (sig[3] == 0xe0) )	return SIG_JPEG;  if ( (sig[0] == 0x89) && (sig[1] == 'P') && (sig[2] == 'N') && (sig[3] == 'G') )	return SIG_PNG;  return 0;}void*Java_java_awt_Toolkit_imgCreateFromFile ( JNIEnv* env, jclass clazz, jstring fileName ){  Image *img = 0;  int   infile;  char  *fn = java2CString( env, X, fileName);  unsigned char  sig[SIG_LENGTH];  if (!X->colorMode)	initColorMapping( env, clazz, X );  if ( (infile = AWT_OPEN( fn)) >= 0 ) {	if ( AWT_READ( infile, sig, sizeof(sig)) == sizeof(sig) ) {	  AWT_REWIND( infile);  /* some native converters can't skip the signature read */	  switch ( imageFormat( sig) ) {	  case SIG_GIF:		img = readGifFile( infile);		break;	  case SIG_JPEG:		img = readJpegFile( infile);		break;	  case SIG_PNG:		img = readPngFile( infile);		break;	  default:		img = unknownImage;	  }	}	AWT_CLOSE( infile);  }  return img;}void*Java_java_awt_Toolkit_imgCreateFromData ( JNIEnv* env, jclass clazz,										  jbyteArray jbuffer, jint off, jint len ){  Image *img = 0;  jboolean isCopy;  jint   length = (*env)->GetArrayLength( env, jbuffer);  jbyte  *jb = (*env)->GetByteArrayElements( env, jbuffer, &isCopy);  unsigned char *buf = (unsigned char*) jb + off;  /* in case of a buffer overrun, we probably have a JPEG read error, anyway */  if ( (off + len) <= length ) {	switch ( imageFormat( buf) ) {	case SIG_GIF:	  img = readGifData( buf, len);	  break;	case SIG_JPEG:	  img = readJpegData( buf, len);	  break;	case SIG_PNG:	  img = readPngData( buf, len);	  break;	default:	  img = unknownImage;	}  }  (*env)->ReleaseByteArrayElements( env, jbuffer, jb, JNI_ABORT);  return img;  }void*Java_java_awt_Toolkit_imgSetFrame ( JNIEnv* env, jclass clazz, Image* img, int frameNo ){  Image *imgCur = img;  if ( !img->next )	return img;  while ( img->frame != frameNo ) {	img = img->next;	if ( img == imgCur ) {		break;	}  }  return img;}/************************************************************************************ * field access */jintJava_java_awt_Toolkit_imgGetWidth ( JNIEnv* env, jclass clazz, Image* img){  return img->width;}jintJava_java_awt_Toolkit_imgGetHeight ( JNIEnv* env, jclass clazz, Image* img){  return img->height;}jbooleanJava_java_awt_Toolkit_imgIsMultiFrame ( JNIEnv* env, jclass clazz, Image* img){  return (img->next != 0);}jintJava_java_awt_Toolkit_imgGetLatency ( JNIEnv* env, jclass clazz, Image* img){  return img->latency;}void*Java_java_awt_Toolkit_imgGetNextFrame ( JNIEnv* env, jclass clazz, Image* img ){  return img->next;   /* next in the ring */}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线精品视频一区二区| 中文av一区二区| 精品一区二区三区在线观看国产| 欧美成人a视频| 国产一区二区免费看| 国产人成亚洲第一网站在线播放| 成人高清av在线| 亚洲免费视频中文字幕| 欧美色图片你懂的| 日本欧美大码aⅴ在线播放| 精品91自产拍在线观看一区| 国产成人综合视频| 亚洲品质自拍视频| 在线播放中文一区| 国产麻豆午夜三级精品| 自拍偷拍国产精品| 在线观看91av| 国产白丝精品91爽爽久久| 国产精品国产自产拍高清av王其| 日本高清不卡视频| 免费久久精品视频| 中文字幕成人网| 欧美日韩一区二区三区视频| 精品一区二区三区香蕉蜜桃| 亚洲欧洲性图库| 欧美一区二区人人喊爽| 国产成人a级片| 亚洲丶国产丶欧美一区二区三区| 日韩欧美一级精品久久| 成人免费三级在线| 偷拍一区二区三区| 国产片一区二区三区| 欧美影院午夜播放| 国产一区二区主播在线| 一区二区三区四区亚洲| 欧美mv日韩mv国产网站| 色综合久久99| 激情国产一区二区| 亚洲综合区在线| 久久精品欧美一区二区三区不卡| 欧洲生活片亚洲生活在线观看| 久久av中文字幕片| 亚洲精品视频自拍| 久久九九影视网| 欧美日韩不卡视频| av在线免费不卡| 久久国产综合精品| 夜夜嗨av一区二区三区四季av| xfplay精品久久| 欧美日韩免费电影| 不卡区在线中文字幕| 麻豆91在线看| 一级特黄大欧美久久久| 国产色综合久久| 91精品欧美久久久久久动漫| av电影在线观看一区| 久久av中文字幕片| 亚洲网友自拍偷拍| 国产精品久久久一区麻豆最新章节| 91麻豆精品国产91久久久久久| 99re在线精品| 国精产品一区一区三区mba桃花 | 欧美精品一区二区蜜臀亚洲| 色94色欧美sute亚洲13| 国产毛片精品国产一区二区三区| 五月天亚洲精品| 亚洲视频在线观看三级| 久久久无码精品亚洲日韩按摩| 欧美日韩一二三| 91色九色蝌蚪| 丰满少妇久久久久久久| 裸体歌舞表演一区二区| 亚洲成人午夜电影| 亚洲黄色录像片| 国产精品久久久久三级| 久久丝袜美腿综合| 日韩一区二区不卡| 欧美日韩国产123区| 色婷婷精品久久二区二区蜜臂av | 亚洲青青青在线视频| 国产日韩欧美综合在线| 精品美女被调教视频大全网站| 欧美日韩免费电影| 在线看国产日韩| 99re亚洲国产精品| 不卡视频一二三| 国产成人免费视频网站| 国产在线日韩欧美| 久久99精品久久久久| 日韩av在线播放中文字幕| 粉嫩av一区二区三区粉嫩| 国产一区二区美女诱惑| 精品一区二区三区在线观看国产| 青椒成人免费视频| 奇米精品一区二区三区在线观看 | 中文字幕色av一区二区三区| 国产网红主播福利一区二区| 精品福利二区三区| 精品国产乱码久久久久久夜甘婷婷| 在线综合+亚洲+欧美中文字幕| 欧美日本免费一区二区三区| 欧美日韩国产另类一区| 欧美日韩一区二区三区视频| 欧美色国产精品| 欧美日本免费一区二区三区| 欧美日韩二区三区| 欧美妇女性影城| 91精品国产欧美一区二区成人 | 欧美亚洲一区二区在线| 91福利小视频| 欧美日韩一区在线| 欧美日韩国产小视频| 777奇米成人网| 91精品国产全国免费观看| 日韩欧美在线网站| 精品欧美久久久| 久久蜜桃一区二区| 欧美高清在线精品一区| 国产精品美女久久久久久久| 亚洲三级理论片| 亚洲激情av在线| 午夜精品免费在线观看| 日韩成人一区二区三区在线观看| 欧美aaaaaa午夜精品| 国产在线视视频有精品| 成人丝袜高跟foot| 91在线云播放| 欧美色偷偷大香| 日韩欧美一区二区免费| 久久久高清一区二区三区| 国产日韩高清在线| 亚洲三级在线播放| 午夜电影一区二区三区| 国产真实乱偷精品视频免| 成人午夜又粗又硬又大| 色又黄又爽网站www久久| 欧美三级日韩三级| 日韩欧美中文一区| 中文字幕欧美三区| 一区二区三区四区中文字幕| 日韩电影在线看| 国产一区二区久久| 色综合久久久久| 91精品国产欧美日韩| 久久色成人在线| 亚洲欧美乱综合| 日韩二区三区四区| 国产白丝精品91爽爽久久| 91精品福利视频| 91精品久久久久久久久99蜜臂| 久久女同互慰一区二区三区| 亚洲视频一区二区在线观看| 午夜欧美大尺度福利影院在线看 | 美女网站一区二区| 国产成人av一区| 欧洲一区二区三区免费视频| 精品捆绑美女sm三区| 国产精品国产自产拍高清av王其| 亚洲成av人**亚洲成av**| 国产一区二区三区日韩| 色吧成人激情小说| 精品99久久久久久| 亚洲码国产岛国毛片在线| 另类调教123区| 91香蕉视频mp4| 日韩丝袜情趣美女图片| 国产精品国产三级国产aⅴ无密码| 亚洲成人精品在线观看| 国产成人精品一区二区三区四区| 欧美性猛交xxxx乱大交退制版 | 美日韩黄色大片| 99re这里只有精品首页| 日韩欧美中文一区二区| 亚洲精品中文字幕乱码三区| 久久99精品国产麻豆婷婷洗澡| 91亚洲精华国产精华精华液| 精品粉嫩aⅴ一区二区三区四区| 亚洲欧美日韩中文播放 | 欧美韩日一区二区三区四区| 亚洲一级电影视频| 国产成人一区二区精品非洲| 欧美日韩情趣电影| 国产精品日日摸夜夜摸av| 日本成人在线不卡视频| 91麻豆国产香蕉久久精品| 精品国产91洋老外米糕| 亚洲国产精品久久艾草纯爱| www.激情成人| 精品黑人一区二区三区久久 | 日韩极品在线观看| 成人avav在线| 精品国产91九色蝌蚪| 天天综合日日夜夜精品| 9人人澡人人爽人人精品| 久久影院午夜论| 青娱乐精品视频在线| 在线观看一区二区视频| 国产精品护士白丝一区av| 国产美女精品在线| 日韩三级电影网址|