📄 toolkit.h
字号:
/** * 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 + -