⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 toolkit.h

📁 java virtual machince kaffe
💻 H
📖 第 1 页 / 共 2 页
字号:
jint Java_java_awt_Toolkit_imgGetWidth ( JNIEnv* env, jclass clazz, Image* img);jint Java_java_awt_Toolkit_imgGetHeight ( JNIEnv* env, jclass clazz, Image* img);jboolean Java_java_awt_Toolkit_imgIsMultiFrame ( JNIEnv* env, jclass clazz, Image* img);jint Java_java_awt_Toolkit_imgGetLatency ( JNIEnv* env, jclass clazz, Image* img);void* Java_java_awt_Toolkit_imgGetNextFrame ( JNIEnv* env, jclass clazz, Image* img);/* Toolkit */jint Java_java_awt_Toolkit_tlkProperties ( JNIEnv* env, jclass clazz);jboolean Java_java_awt_Toolkit_tlkInit ( JNIEnv* env, jclass clazz,  jstring name);void Java_java_awt_Toolkit_tlkTerminate ( JNIEnv* env, jclass clazz);jstring Java_java_awt_Toolkit_tlkVersion ( JNIEnv* env, jclass clazz);jint Java_java_awt_Toolkit_tlkGetResolution ( JNIEnv* env, jclass clazz);jint Java_java_awt_Toolkit_tlkGetScreenHeight ( JNIEnv* env, jclass clazz);jint Java_java_awt_Toolkit_tlkGetScreenWidth ( JNIEnv* env, jclass clazz);void Java_java_awt_Toolkit_tlkSync ( JNIEnv* env, jclass clazz);void Java_java_awt_Toolkit_tlkFlush ( JNIEnv* env, jclass clazz);void Java_java_awt_Toolkit_tlkBeep ( JNIEnv* env, jclass clazz);void Java_java_awt_Toolkit_tlkDisplayBanner ( JNIEnv* env, jclass clazz,  jstring banner);/* Window */void Java_java_awt_Toolkit_wndSetTitle ( JNIEnv* env, jclass clazz, void* wnd,  jstring jTitle);void Java_java_awt_Toolkit_wndSetResizable ( JNIEnv* env, jclass clazz,  void* wnd, jboolean isResizable, int x, int y, int width, int height);void* Java_java_awt_Toolkit_wndCreateFrame ( JNIEnv* env, jclass clazz,  jstring jTitle, jint x, jint y, jint width, jint height,  jint jCursor, jint clrBack, jboolean isResizable);void* Java_java_awt_Toolkit_wndCreateWindow ( JNIEnv* env, jclass clazz,  void* owner, jint x, jint y, jint width, jint height,  jint jCursor, jint clrBack);void* Java_java_awt_Toolkit_wndCreateDialog ( JNIEnv* env, jclass clazz,  void* owner, jstring jTitle, jint x, jint y, jint width, jint height,  jint jCursor, jint clrBack, jboolean isResizable);void Java_java_awt_Toolkit_wndDestroyWindow ( JNIEnv* env, jclass clazz,  void* wnd);void Java_java_awt_Toolkit_wndRequestFocus ( JNIEnv* env, jclass clazz,  void* wnd);void Java_java_awt_Toolkit_wndSetFrameInsets ( JNIEnv* env, jclass clazz,  jint top, jint left, jint bottom, jint right);void Java_java_awt_Toolkit_wndSetDialogInsets ( JNIEnv* env, jclass clazz,  jint top, jint left, jint bottom, jint right);void Java_java_awt_Toolkit_wndSetBounds ( JNIEnv* env, jclass clazz,  void* wnd, jint x, jint y, jint width, jint height, jboolean isResizable);void Java_java_awt_Toolkit_wndRepaint ( JNIEnv* env, jclass clazz, void* wnd,  jint x, jint y, jint width, jint height);void Java_java_awt_Toolkit_wndSetIcon ( JNIEnv* env, jclass clazz, void* wnd,  void* img);void Java_java_awt_Toolkit_wndSetVisible ( JNIEnv* env, jclass clazz,  void* wnd, jboolean showIt);void Java_java_awt_Toolkit_wndToBack ( JNIEnv* env, jclass clazz, void* wnd);void Java_java_awt_Toolkit_wndToFront ( JNIEnv* env, jclass clazz, void* wnd);void Java_java_awt_Toolkit_wndSetCursor ( JNIEnv* env, jclass clazz,  void* wnd, jint jCursor);/** * global data def/decl */#ifdef MAINToolkit   XTk;Toolkit   *X = &XTk;jclass  AWTError;JNIEnv  *JniEnv;#elseextern Toolkit* X;extern jclass AWTError;extern JNIEnv* JniEnv;#endif /* MAIN */extern long StdEvents, PopupEvents;/** * heap wrapper macros */static inline void* _awt_malloc_wrapper ( size_t size ){  void *adr;  enterUnsafeRegion();  adr = malloc( size);  leaveUnsafeRegion();  DBG( AWT_MEM, printf("malloc: %ld  -> %p\n", (unsigned long) size, adr));  return adr;}static inline void* _awt_calloc_wrapper ( int n, size_t size ){  void *adr;  enterUnsafeRegion();  adr = calloc( n, size);  leaveUnsafeRegion();  DBG( AWT_MEM, printf("calloc: %ld,%ld  -> %p\n", (unsigned long) n, (unsigned long) size, adr));  return adr;}static inline void _awt_free_wrapper ( void* adr ){  DBG( AWT_MEM, printf("free: %p\n", adr));  enterUnsafeRegion();  free( adr);  leaveUnsafeRegion();}#define qqDebug(format, args...) \  do { \    qDebug("[%s:%d] ", __FILE__, __LINE__); \    qDebug(format, ## args); \  } while (0) #define AWT_MALLOC(_n) \  _awt_malloc_wrapper( _n)#define AWT_CALLOC(_n,_sz) \  _awt_calloc_wrapper( _n, _sz)#define AWT_FREE(_adr) \  _awt_free_wrapper( _adr);static inline char* java2CString ( JNIEnv *env, Toolkit* X, const jstring jstr ) {  jboolean isCopy;  register unsigned int i;  unsigned int      n = env->GetStringLength(jstr);  const jchar    *jc = env->GetStringChars(jstr, &isCopy);  if ( n >= X->nBuf ) {	if ( X->buf )	  AWT_FREE( X->buf);	X->buf = (char*)AWT_MALLOC( n+1);	X->nBuf = n+1;  }  for ( i=0; i<n; i++ ) X->buf[i] = (char) jc[i];  X->buf[i] = 0;  env->ReleaseStringChars( jstr, jc);  return X->buf;}static inline char* jchar2CString ( Toolkit* X, const jchar* jc, int len ) {  register int i;  unsigned int n = len+1;    if ( n > X->nBuf ) {	if ( X->buf )	  AWT_FREE( X->buf);	X->buf  = (char*)AWT_MALLOC( n);	X->nBuf = n;  }  for ( i=0; i<len; i++ ) X->buf[i] = (char) jc[i];  X->buf[i] = 0;  return X->buf;}static inline void* getBuffer ( Toolkit* X, unsigned int nBytes ) {  if ( nBytes > X->nBuf ) {	if ( X->buf )	  AWT_FREE( X->buf);	X->buf  = (char*)AWT_MALLOC( nBytes);	X->nBuf = nBytes;  }  return X->buf;}/** * color functions & defines */void initColorMapping ( JNIEnv* env, jclass clazz, Toolkit* X);#define JRGB(_r,_g,_b)  (_r<<16 | _g<<8 | (_b))#define JRED(_rgb)      (((_rgb) & 0xff0000) >> 16)#define JGREEN(_rgb)    (((_rgb) & 0x00ff00) >> 8)#define JBLUE(_rgb)     ((_rgb) & 0x0000ff)/** * image functions */int needsFullAlpha(Toolkit*, Image*, double);Image* createImage ( int width, int height);void createXMaskImage ( Toolkit* X, Image* img );void createXImage ( Toolkit* X, Image* img );void createAlphaImage ( Toolkit* X, Image* img );void initScaledImage ( Toolkit* X, Image *tgt, Image *src,					   int dx0, int dy0, int dx1, int dy1,					   int sx0, int sy0, int sx1, int sy1 );bool reconvertImage(Image* img);static inline voidPutAlpha ( AlphaImage* img, int col, int row, unsigned char alpha ){  img->buf[ row*img->width + col ] = alpha;}static inline intGetAlpha ( AlphaImage* img, int col, int row ){  return img->buf[ row*img->width + col];}/** * clipboard functions */jobject selectionClear ( JNIEnv* env, Toolkit* X );jobject selectionRequest ( JNIEnv* env, Toolkit* X );/** * file io wrapper macros (for image production) */#define AWT_OPEN(_file)               open(_file, 0)#define AWT_REWIND(_fd)               lseek(_fd, 0, SEEK_SET)#define AWT_SETPOS(_fd,_off)          lseek(_fd, _off, SEEK_CUR)#define AWT_READ(_fd,_buf,_count)     read(_fd,_buf,_count)#define AWT_CLOSE(_fd)                close(_fd)/** * macros to manage the source table (conversion of X windows to/from indices, which * are consistent with the AWTEvent.sources array) */#define WND_FRAME      0x01#define WND_WINDOW     0x02#define WND_DIALOG     0x04#define WND_MAPPED     0x08#define WND_DESTROYED  0x10static inline int getFreeSourceIdx ( Toolkit* X, void* wnd ) {  register int i, n;  /*   * we don't use a double hashing here because collisions are very unlikely   * (window IDs usually already are hashed, so it does not make sense to   * hash them again - we just could make it worse   */  for ( i = (unsigned long)wnd, n=0; n < X->nWindows; i++, n++ ) {	i %= X->nWindows;	if ( (long)(X->windows[i].w) <= 0 ) {	  X->srcIdx = i;	  X->lastWindow = wnd;	  return i;	}  }  return 0xffffffff;}static inline int getSourceIdx ( Toolkit* X, void* w ){  int      n;  register int i;  if ( w == X->lastWindow ){	return X->srcIdx;  }  else {	for ( i = (unsigned long) w, n=0; n < X->nWindows; i++, n++ ) {	  i %= X->nWindows;	  if ( X->windows[i].w == w ){		X->srcIdx = i;		X->lastWindow = w;		return X->srcIdx;	  }	  else if ( X->windows[i].w == 0 ){		return 0xffffffff;	  }	}	return 0xffffffff;  }}static inline int checkSource ( Toolkit* X, int idx ){  return ( (idx >= 0) && (idx < X->nWindows) && (X->windows[idx].w) );}/** * focus forwarding */#define FWD_SET    0  /* set focus forwarding */#define FWD_CLEAR  1  /* reset focus forwarding */#define FWD_REVERT 2  /* reset focus on owner */static inline void resetFocusForwarding ( Toolkit* X ){  X->fwdIdx = 0xffffffff;  X->focusFwd = 0;}/** * Macros to implement keyboard handling for owned windows (which don't ever get * the X focus). This is done by means of forwarding and generation of "artificial" * focus events (generated from clientMessages.) */#define	USE_POLLING_AWT	1END_C_DECLS#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -