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

📄 toolkit.h

📁 linux下建立JAVA虚拟机的源码KAFFE
💻 H
📖 第 1 页 / 共 2 页
字号:
/** * toolkit.h -  * * Copyright (c) 1998 *      Transvirtual Technologies, Inc.  All rights reserved. * * Copyright (c) 2002, 2003, 2004, 2005 *	Kaffe.org contributors, see ChangeLog for details.  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 <jni.h>#include <native.h>#include "gtypes.h"#include "gc.h"#include "thread.h"#include "debug.h"#include <fcntl.h>#include <stdarg.h>/** * image handling structures */typedef struct _AlphaImage {       /* storage for full alpha channel images */  unsigned char *buf;  int           width, height;} AlphaImage;typedef struct _Image {    QPixmap          *qpm;  QPixmap	   *qpmScaled;  QImage	   *qImg;  QImage 	   *qImg_AlphaMask;  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;           /** * Kaffe uses its own structure instead of directly storing handles from window * system to enable attach and query attributes (owners, states, flags..) to  * particular 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 {  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;  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 */typedef struct {  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,  Image* img, int frameNo);

⌨️ 快捷键说明

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