diff options
Diffstat (limited to 'generic/tkCanvas.h')
-rw-r--r-- | generic/tkCanvas.h | 57 |
1 files changed, 55 insertions, 2 deletions
diff --git a/generic/tkCanvas.h b/generic/tkCanvas.h index 9dbcd0f..9d2c392 100644 --- a/generic/tkCanvas.h +++ b/generic/tkCanvas.h @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkCanvas.h,v 1.3 1998/10/13 18:13:06 rjohnson Exp $ + * RCS: @(#) $Id: tkCanvas.h,v 1.4 1999/12/14 06:52:27 hobbs Exp $ */ #ifndef _TKCANVAS @@ -21,6 +21,20 @@ #include "tk.h" #endif +#ifndef USE_OLD_TAG_SEARCH +typedef struct TagSearchExpr_s TagSearchExpr; + +struct TagSearchExpr_s { + TagSearchExpr *next; /* for linked lists of expressions - used in bindings */ + Tk_Uid uid; /* the uid of the whole expression */ + Tk_Uid *uids; /* expresion compiled to an array of uids */ + int allocated; /* available space for array of uids */ + int length; /* length of expression */ + int index; /* current position in expression evaluation */ + int match; /* this expression matches event's item's tags*/ +}; +#endif /* not USE_OLD_TAG_SEARCH */ + /* * The record below describes a canvas widget. It is made available * to the item procedures so they can access certain shared fields such @@ -204,12 +218,23 @@ typedef struct TkCanvas { * definitions. */ int nextId; /* Number to use as id for next item * created in widget. */ - struct TkPostscriptInfo *psInfoPtr; + Tk_PostscriptInfo psInfo; /* Pointer to information used for generating * Postscript for the canvas. NULL means * no Postscript is currently being * generated. */ Tcl_HashTable idTable; /* Table of integer indices. */ + /* + * Additional information, added by the 'dash'-patch + */ + VOID *reserved1; + Tk_State canvas_state; /* state of canvas */ + VOID *reserved2; + VOID *reserved3; + Tk_TSOffset tsoffset; +#ifndef USE_OLD_TAG_SEARCH + TagSearchExpr *bindTagExprs; /* linked list of tag expressions used in bindings */ +#endif } TkCanvas; /* @@ -237,6 +262,8 @@ typedef struct TkCanvas { * REPICK_IN_PROGRESS - 1 means PickCurrentItem is currently * executing. If it should be called recursively, * it should simply return immediately. + * BBOX_NOT_EMPTY - 1 means that the bounding box of the area + * that should be redrawn is not empty. */ #define REDRAW_PENDING 1 @@ -247,6 +274,18 @@ typedef struct TkCanvas { #define UPDATE_SCROLLBARS 0x20 #define LEFT_GRABBED_ITEM 0x40 #define REPICK_IN_PROGRESS 0x100 +#define BBOX_NOT_EMPTY 0x200 + +/* + * Flag bits for canvas items (redraw_flags): + * + * FORCE_REDRAW - 1 means that the new coordinates of some + * item are not yet registered using + * Tk_CanvasEventuallyRedraw(). It should still + * be done by the general canvas code. + */ + +#define FORCE_REDRAW 8 /* * Canvas-related procedures that are shared among Tk modules but not @@ -256,4 +295,18 @@ typedef struct TkCanvas { extern int TkCanvPostscriptCmd _ANSI_ARGS_((TkCanvas *canvasPtr, Tcl_Interp *interp, int argc, char **argv)); +/* + * The following definition is shared between tkCanvPs.c and tkCanvImg.c, + * and is used in generating postscript for images and windows. + */ + +typedef struct TkColormapData { /* Hold color information for a window */ + int separated; /* Whether to use separate color bands */ + int color; /* Whether window is color or black/white */ + int ncolors; /* Number of color values stored */ + XColor *colors; /* Pixel value -> RGB mappings */ + int red_mask, green_mask, blue_mask; /* Masks and shifts for each */ + int red_shift, green_shift, blue_shift; /* color band */ +} TkColormapData; + #endif /* _TKCANVAS */ |