97 lines
2.4 KiB
C
97 lines
2.4 KiB
C
/*
|
|
* grTkInt.h --
|
|
*
|
|
* Internal definitions for grTk[1..5].c.
|
|
*
|
|
* NOTE: In order for the these defs to work correctly, this file
|
|
* (grXInt.h) must be included after all the Magic .h files and before
|
|
* the X .h files.
|
|
*
|
|
* Copyright 2003 Open Circuit Design, Inc., for MultiGiG Ltd.
|
|
*/
|
|
|
|
#ifndef _MAGIC__GRAPHICS__GRTKINT_H
|
|
#define _MAGIC__GRAPHICS__GRTKINT_H
|
|
|
|
#include "utils/magic.h"
|
|
|
|
/* Constants
|
|
*/
|
|
#define M_WIDTH 1023
|
|
#define M_HEIGHT 750
|
|
|
|
#define TK_BATCH_SIZE 10000
|
|
|
|
/*
|
|
* Macros for conversion between X and Magic coordinates
|
|
*/
|
|
#define grMagicToX(y) ( grCurrent.mw->w_allArea.r_ytop - (y))
|
|
#define grXToMagic(y) ( grCurrent.mw->w_allArea.r_ytop - (y))
|
|
|
|
/* Current settings for X function parameters */
|
|
typedef struct {
|
|
Tk_Font font;
|
|
Tk_Cursor cursor;
|
|
int fontSize;
|
|
int maskmod;
|
|
Tk_Window window;
|
|
Window windowid;
|
|
MagWindow *mw;
|
|
} GR_CURRENT;
|
|
|
|
typedef struct {
|
|
unsigned long basepixel;
|
|
unsigned long planes[32];
|
|
int depth;
|
|
int planeCount;
|
|
int colorCount;
|
|
int realColors;
|
|
int red_mask;
|
|
int green_mask;
|
|
int blue_mask;
|
|
} GR_DISPLAY;
|
|
|
|
extern Display *grXdpy;
|
|
extern Colormap grXcmap;
|
|
extern int grXscrn;
|
|
extern unsigned long grPixels[];
|
|
extern unsigned long grPlanes[];
|
|
extern GR_CURRENT grCurrent;
|
|
extern GR_DISPLAY grDisplay;
|
|
extern GC grGCFill, grGCText, grGCDraw, grGCCopy, grGCGlyph;
|
|
|
|
extern bool grtkGetCursorPos();
|
|
extern bool grtkGetCursorRootPos();
|
|
extern bool grtkDrawGrid();
|
|
extern void GrTkEnableTablet();
|
|
extern void GrTkDisableTablet();
|
|
extern void GrTkSetCMap();
|
|
extern void grtkPutText();
|
|
extern void grtkFontText();
|
|
extern void GrTkSetCursor();
|
|
extern int GrTkTextSize();
|
|
extern void GrTkDrawGlyph();
|
|
extern void GrTkBitBlt();
|
|
extern void NullBitBlt();
|
|
extern int GrTkReadPixel();
|
|
extern void grtkDrawLine();
|
|
extern void grtkSetLineStyle();
|
|
extern void grtkSetCharSize();
|
|
extern void grtkSetWMandC();
|
|
extern void grtkFillRect();
|
|
extern void grtkRectConvert();
|
|
extern void grtkFillPolygon();
|
|
|
|
extern void grtkDrawLines();
|
|
extern XSegment grtkLines[];
|
|
extern int grtkNbLines;
|
|
extern void grtkFillRects();
|
|
extern XRectangle grtkRects[];
|
|
extern int grtkNbRects;
|
|
|
|
#define GR_TK_FLUSH_LINES() {if (grtkNbLines>0) {grtkDrawLines(grtkLines, grtkNbLines); grtkNbLines=0;}}
|
|
#define GR_TK_FLUSH_RECTS() {if (grtkNbRects>0) {grtkFillRects(grtkRects, grtkNbRects); grtkNbRects=0;}}
|
|
#define GR_TK_FLUSH_BATCH() {GR_TK_FLUSH_LINES(); GR_TK_FLUSH_RECTS();}
|
|
|
|
#endif /* _MAGIC__GRAPHICS__GRTKINT_H */
|