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

📄 toolkit.h

📁 kaffe Java 解释器语言,源码,Java的子集系统,开放源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
/** * toolkit.h -  * * Copyright (c) 1998 *      Transvirtual Technologies, Inc.  All rights reserved. * * See the file "license.terms" for information on usage and redistribution  * of this file.  */#ifndef __toolkit_h#define __toolkit_h#ifdef __cplusplus#define HAVE_BOOL#endif#include "defs.h"BEGIN_C_DECLS#include "config.h"#include "config-std.h"#include "config-mem.h"#include "config-setjmp.h"//#include <X11/Xlib.h>//#include <X11/Xutil.h>#undef USE_XSHM_EXTENSION#define	XShmGetImage(A,B,C,D,E,F)		0#define	XShmPutImage(A,B,C,D,E,F,G,H,I,J,K)	0#define	XShmSegmentInfo				void#include <jni.h>#include <native.h>#include "../../../../kaffe/kaffevm/gtypes.h"#include "../../../../kaffe/kaffevm/gc.h"#include "../../../../kaffe/kaffevm/debug.h"#include "../../../../kaffe/kaffevm/thread.h"#define	DBG_ACTION(A,B)#define AWT_DBG(X) printf("Native AWT ---->"); X#include <fcntl.h>/******************************************************************************* * image handling structures *///struct QImage;//struct QPixmap;typedef struct _AlphaImage {       /* storage for full alpha channel images */  unsigned char *buf;  int           width, height;} AlphaImage;#define NO_SHM       0             /* we don't have MIT-Shm support in the X server */#define USE_SHM      1             /* we have support, use it */#define SUSPEND_SHM  2             /* we have support, but it ran out of space */typedef struct _Image {    QPixmap          *qpm;  QPixmap	   *qpmScaled;  QImage	   *qImg;  QImage 	   *qImg_AlphaMask;  //Pixmap           pix;            /* pixmap for screen images */  //XImage           *xImg;          /* "real" image */  //XShmSegmentInfo  *shmiImg;       /* Shm info for shared mem real image */  //XImage           *xMask;         /* mask image for reduced alpha (on/off) images */  //XShmSegmentInfo  *shmiMask;      /* Shm info for shared mem mask image */  AlphaImage       *alpha;         /* full alpha channel (for alpha != 0x00 or 0xff) */  int              trans;          /* transparent index */  int              left, top;      /* some GIF movies require drawing offsets */  int              width, height;  /* we need this in case we are a pixmap */  short            latency;        /* between image flips, for "gif-movies" */  short            frame;          /* frame number for animations */  struct _Image    *next;          /* next movie-frame */} Image;/******************************************************************************* * structure to store guessed and computed Frame/Dialog insets (titlebar, borders) */typedef struct _DecoInset {  int            left;  int            top;  int            right;  int            bottom;  char           guess;} DecoInset;           /******************************************************************************* * We use  our own structure instead of directly storing X window handles, to * enable us to attach and query attributes (owners, states, flags..) to particular * X window instances. We could do this by means of X properties, but this might * end up in costly round-trips and even more memory (than we trade for speed here). * It's a must have for our popup key/focus event forwarding (see wnd.c) */typedef struct _WindowRec {  void*          w;  unsigned       flags;  void*          owner;} WindowRec;/******************************************************************************* * this is the master AWT structure (singleton object), glueing it al together */typedef struct _Toolkit {//  Display        *dsp;//  Window         root;  char           *buf;  unsigned int   nBuf;  int            colorMode;      /* refers to CM_xx constants, not X visuals */  int            shm;  int            shmThreshold;  int            cursors[14];  DecoInset      frameInsets;  DecoInset      dialogInsets;  //XEvent         event;  char           preFetched;  char           blocking;  int            pending;  int            evtId;  fd_set         rfds;           /* used to select-check availability of X input (pthreads) */  void*          lastWindow;  int            srcIdx;  WindowRec      *windows;  int            nWindows;  void*          cbdOwner;  void*          wakeUp;  void*          focus;     /* this is the real focus, if it is in our process */  void*          focusFwd;  /* this might be a (owned) window we forward the focus to */  int            fwdIdx;    /* cached index of the focus forward window */} Toolkit;/*********************************************************************  Exported JNI Functions *********************************************************************//* Clipboard */typedef void ClipBoard;jobject Java_java_awt_Toolkit_cbdInitClipboard ( JNIEnv* env, jclass clazz );void Java_java_awt_Toolkit_cbdFreeClipboard ( JNIEnv* env, jclass clazz,  ClipBoard* cbd);jboolean Java_java_awt_Toolkit_cbdSetOwner ( JNIEnv* env, jclass clazz,  ClipBoard* cbd);jobject Java_java_awt_Toolkit_cbdGetContents ( JNIEnv* env, jclass clazz,  ClipBoard* cbd);/* Color */jint Java_java_awt_Toolkit_clrGetPixelValue ( JNIEnv* env, jclass clazz, jint rgb);void Java_java_awt_Toolkit_clrSetSystemColors ( JNIEnv* env, jclass clazz,  jintArray sysClrs);jlong Java_java_awt_Toolkit_clrBright ( JNIEnv* env, jclass clazz, jint rgb);jlong Java_java_awt_Toolkit_clrDark ( JNIEnv* env, jclass clazz, jint rgb);jobject Java_java_awt_Toolkit_clrGetColorModel ( JNIEnv* env, jclass clazz);/* Event */jobject Java_java_awt_Toolkit_evtInit ( JNIEnv* env, jclass clazz);jobject Java_java_awt_Toolkit_evtGetNextEvent ( JNIEnv* env, jclass clazz);jobject Java_java_awt_Toolkit_evtPeekEvent ( JNIEnv* env, jclass clazz);jobject Java_java_awt_Toolkit_evtPeekEventId ( JNIEnv* env, jclass clazz,  jint id);void Java_java_awt_Toolkit_evtWakeup ( JNIEnv* env, jclass clazz);void Java_java_awt_Toolkit_evtSendWMEvent ( JNIEnv* env, jclass clazz,  jobject wmEvt);jint Java_java_awt_Toolkit_evtRegisterSource ( JNIEnv* env, jclass clazz,  void* wnd);jint Java_java_awt_Toolkit_evtUnregisterSource ( JNIEnv* env, jclass clazz,  void* wnd);/* Font */class QFont;void* Java_java_awt_Toolkit_fntInitFont ( JNIEnv* env, jclass clazz,  jstring jSpec, jint style, jint size);void Java_java_awt_Toolkit_fntFreeFont ( JNIEnv* env, jclass clazz,  QFont* fs);void* Java_java_awt_Toolkit_fntInitFontMetrics ( JNIEnv* env, jclass clazz,  void* fs);void Java_java_awt_Toolkit_fntFreeFontMetrics ( JNIEnv* env, jclass clazz,  QFont* fs);jint Java_java_awt_Toolkit_fntGetAscent ( JNIEnv* env, jclass clazz,  QFont* fs);jint Java_java_awt_Toolkit_fntGetDescent ( JNIEnv* env, jclass clazz,  QFont* fs);jint Java_java_awt_Toolkit_fntGetFixedWidth ( JNIEnv* env, jclass clazz,  QFont* fs);jint Java_java_awt_Toolkit_fntGetHeight ( JNIEnv* env, jclass clazz,  QFont* fs);jint Java_java_awt_Toolkit_fntGetLeading ( JNIEnv* env, jclass clazz,  QFont* fs);jint Java_java_awt_Toolkit_fntGetMaxAdvance ( JNIEnv* env, jclass clazz,  QFont* fs);jint Java_java_awt_Toolkit_fntGetMaxAscent ( JNIEnv* env, jclass clazz,  QFont* fs);jint Java_java_awt_Toolkit_fntGetMaxDescent ( JNIEnv* env, jclass clazz,  QFont* fs);jboolean Java_java_awt_Toolkit_fntIsWideFont ( JNIEnv* env, jclass clazz,  QFont* fs);jobject Java_java_awt_Toolkit_fntGetWidths ( JNIEnv* env, jclass clazz,  QFont* fs);jint Java_java_awt_Toolkit_fntBytesWidth ( JNIEnv* env, jclass clazz,  QFont* fs, jbyteArray jBytes, jint off, jint len);jint Java_java_awt_Toolkit_fntCharWidth ( JNIEnv* env, jclass clazz,  QFont* fs, jchar jChar);jint Java_java_awt_Toolkit_fntCharsWidth ( JNIEnv* env, jclass clazz,  QFont* fs, jcharArray jChars, jint off, jint len);jint Java_java_awt_Toolkit_fntStringWidth ( JNIEnv* env, jclass clazz,  QFont* fs, jstring jStr);/* Graphics *///struct QPainter;//struct QWidget;//class QPaintDevice;typedef struct {  //GC        gc;  //Drawable  drw;  QPaintDevice   *drw;  QPainter  *painter;  int       fg;  int       bg;  char      xor_mode;  int       xclr;  int       x0;  int       y0;} Graphics;void* Java_java_awt_Toolkit_graInitGraphics ( JNIEnv* env, jclass clazz,  Graphics* gr, jobject tgt, jint tgtType, jint xOff, jint yOff,  jint xClip, jint yClip, jint wClip, jint hClip, jobject fnt,  jint fg, jint bg, jboolean blank);void Java_java_awt_Toolkit_graFreeGraphics ( JNIEnv* env, jclass clazz,  Graphics* gr);void Java_java_awt_Toolkit_graCopyArea ( JNIEnv* env, jclass clazz,  Graphics* gr, jint x, jint y, jint width, jint height,  jint xDelta, jint yDelta);void Java_java_awt_Toolkit_graClearRect ( JNIEnv* env, jclass clazz,  Graphics* gr, jint x, jint y, jint width, jint height);void Java_java_awt_Toolkit_graDrawBytes ( JNIEnv* env, jclass clazz,  Graphics* gr, jbyteArray jBytes, jint offset, jint len, jint x, jint y);void Java_java_awt_Toolkit_graDrawChars ( JNIEnv* env, jclass clazz,  Graphics* gr, jcharArray jChars, jint offset, jint len, jint x, jint y);void Java_java_awt_Toolkit_graDrawString ( JNIEnv* env, jclass clazz,  Graphics* gr, jstring str, jint x, jint y);void Java_java_awt_Toolkit_graDrawLine ( JNIEnv* env, jclass clazz,  Graphics* gr, jint x1, jint y1, jint x2, jint y2);void Java_java_awt_Toolkit_graDrawArc ( JNIEnv* env, jclass clazz,  Graphics* gr, jint x, jint y, jint width, jint height,  jint startAngle, jint arcAngle);void Java_java_awt_Toolkit_graFillArc ( JNIEnv* env, jclass clazz,  Graphics* gr, jint x, jint y, jint width, jint height,  jint startAngle, jint arcAngle);void Java_java_awt_Toolkit_graDrawOval ( JNIEnv* env, jclass clazz,  Graphics* gr, jint x, jint y, jint width, jint height);void Java_java_awt_Toolkit_graFillOval ( JNIEnv* env, jclass clazz,  Graphics* gr, jint x, jint y, jint width, jint height);void Java_java_awt_Toolkit_graDrawPolygon ( JNIEnv* env, jclass clazz,  Graphics* gr, jintArray xPoints, jintArray yPoints, jint nPoints);void Java_java_awt_Toolkit_graDrawPolyline ( JNIEnv* env, jclass clazz,  Graphics* gr, jintArray xPoints, jintArray yPoints, jint nPoints);void Java_java_awt_Toolkit_graFillPolygon ( JNIEnv* env, jclass clazz,  Graphics* gr, jintArray xPoints, jintArray yPoints, jint nPoints);void Java_java_awt_Toolkit_graDrawRect ( JNIEnv* env, jclass clazz,  Graphics* gr, jint x, jint y, jint width, jint height);void Java_java_awt_Toolkit_graFillRect ( JNIEnv* env, jclass clazz,  Graphics* gr, jint x, jint y, jint width, jint height);void Java_java_awt_Toolkit_graDrawRoundRect( JNIEnv* env, jclass clazz,  Graphics* gr, jint x, jint y, jint width, jint height,  jint wArc, jint hArc);void Java_java_awt_Toolkit_graFillRoundRect( JNIEnv* env, jclass clazz,  Graphics* gr, jint x, jint y, jint width, jint height,  jint wArc, jint hArc);void Java_java_awt_Toolkit_graDraw3DRect( JNIEnv* env, jclass clazz,  Graphics* gr, jint x, jint y, jint width, jint height,  jboolean raised, jint rgb);void Java_java_awt_Toolkit_graFill3DRect( JNIEnv* env, jclass clazz,  Graphics* gr, jint x, jint y, jint width, jint height,  jboolean raised, jint rgb);void Java_java_awt_Toolkit_graAddClip ( JNIEnv* env, jclass clazz,  Graphics* gr, jint xClip, jint yClip, jint wClip, jint hClip);void Java_java_awt_Toolkit_graSetClip ( JNIEnv* env, jclass clazz,  Graphics* gr, jint xClip, jint yClip, jint wClip, jint hClip);void Java_java_awt_Toolkit_graSetColor ( JNIEnv* env, jclass clazz,  Graphics* gr, jint clr);void Java_java_awt_Toolkit_graSetBackColor ( JNIEnv* env, jclass clazz,  Graphics* gr, jint clr);void Java_java_awt_Toolkit_graSetFont ( JNIEnv* env, jclass clazz,  Graphics* gr, jobject fnt);void Java_java_awt_Toolkit_graSetOffset ( JNIEnv* env, jclass clazz,  Graphics* gr, jint xOff, jint yOff);void Java_java_awt_Toolkit_graSetPaintMode ( JNIEnv* env, jclass clazz,  Graphics* gr);void Java_java_awt_Toolkit_graSetXORMode ( JNIEnv* env, jclass clazz,  Graphics* gr, jint xorClr);void Java_java_awt_Toolkit_graSetVisible ( JNIEnv* env, jclass clazz,  Graphics* gr, jint isVisible);void Java_java_awt_Toolkit_graDrawImage ( JNIEnv* env, jclass clazz,  Graphics* gr, Image* img, jint srcX, jint srcY, jint dstX, jint dstY,  jint width, jint height, jint bgval);void Java_java_awt_Toolkit_graDrawImageScaled ( JNIEnv* env, jclass clazz,  Graphics* gr, Image* img, jint dx0, jint dy0, jint dx1, jint dy1,  jint sx0, jint sy0, jint sx1, jint sy1, jint bgval);  /* Image */void* Java_java_awt_Toolkit_imgCreateImage ( JNIEnv* env, jclass clazz,  jint width, jint height);void* Java_java_awt_Toolkit_imgCreateScreenImage ( JNIEnv* env, jclass clazz,  jint width, jint height);void Java_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);void Java_java_awt_Toolkit_imgSetRGBPels ( JNIEnv* env, jclass clazz,  Image * img, jint x, jint y, jint w, jint h, jintArray rgbPels, jint off,  jint scan);void Java_java_awt_Toolkit_imgComplete( JNIEnv* env, jclass clazz, Image * img,  jint status);void Java_java_awt_Toolkit_imgFreeImage( JNIEnv* env, jclass clazz, Image * img);void *Java_java_awt_Toolkit_imgCreateScaledImage ( JNIEnv* env, jclass clazz,  Image* img, int width, int height);void Java_java_awt_Toolkit_imgProduceImage ( JNIEnv* env, jclass clazz,  jobject producer, Image* img);void* Java_java_awt_Toolkit_imgCreateFromFile ( JNIEnv* env, jclass clazz,  jstring fileName);void* Java_java_awt_Toolkit_imgCreateFromData ( JNIEnv* env, jclass clazz,  jbyteArray jbuffer, jint off, jint len);void* Java_java_awt_Toolkit_imgSetFrame ( JNIEnv* env, jclass clazz,

⌨️ 快捷键说明

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