aboutsummaryrefslogtreecommitdiff
path: root/generic/Item.h
diff options
context:
space:
mode:
authorlecoanet2003-04-16 09:49:22 +0000
committerlecoanet2003-04-16 09:49:22 +0000
commit3261805fee19e346b4d1f84b23816daa1628764a (patch)
tree63ca1d7e4b0a3d9ae49cc0888e58033c3ef3fe22 /generic/Item.h
parenteed2656db0adae2c234c3d74af0913746ed5c444 (diff)
downloadtkzinc-3261805fee19e346b4d1f84b23816daa1628764a.zip
tkzinc-3261805fee19e346b4d1f84b23816daa1628764a.tar.gz
tkzinc-3261805fee19e346b4d1f84b23816daa1628764a.tar.bz2
tkzinc-3261805fee19e346b4d1f84b23816daa1628764a.tar.xz
Update from the Windows port and general cleanup/restructure
Diffstat (limited to 'generic/Item.h')
-rw-r--r--generic/Item.h401
1 files changed, 240 insertions, 161 deletions
diff --git a/generic/Item.h b/generic/Item.h
index b44604c..3c89560 100644
--- a/generic/Item.h
+++ b/generic/Item.h
@@ -38,99 +38,176 @@
#include "Field.h"
#include <X11/Xlib.h>
+#include <tkInt.h>
-#define DEFAULT_TRACK_PRIORITY 5
-#define DEFAULT_WAY_POINT_PRIORITY 4
-#define DEFAULT_TABULAR_PRIORITY 3
-#define DEFAULT_RECTANGLE_PRIORITY 2
-#define DEFAULT_CURVE_PRIORITY 2
-#define DEFAULT_BEZIER_PRIORITY 2
-#define DEFAULT_TRIANGLES_PRIORITY 2
-#define DEFAULT_ARC_PRIORITY 2
-#define DEFAULT_RETICLE_PRIORITY 2
-#define DEFAULT_MAP_PRIORITY 1
-#define DEFAULT_GROUP_PRIORITY 6
-#define DEFAULT_ICON_PRIORITY 2
-#define DEFAULT_TEXT_PRIORITY 2
-#define DEFAULT_WINDOW_PRIORITY 0 /* N/A */
-#define DEFAULT_MOSAIC_PRIORITY 0
-
-#define DEFAULT_MARKER_SIZE 0
-#define DEFAULT_VISIBLE_HISTORY_SIZE 6
-#define DEFAULT_MANAGED_HISTORY_SIZE 6
-#define DEFAULT_SPEED_VECTOR_LENGTH 3
-#define DEFAULT_RETICLE_STEP_SIZE 80
-#define DEFAULT_RETICLE_PERIOD 5
-#define DEFAULT_LABEL_ANGLE 20
-#define DEFAULT_LABEL_DISTANCE 50
-#define DEFAULT_LINE_WIDTH 1
-#define DEFAULT_TILE_SIZE 1
-#define DEFAULT_ROW_COUNT 1
-#define DEFAULT_COLUMN_COUNT 1
-
-#define DEFAULT_LABEL_PREFERRED_ANGLE 0
-#define DEFAULT_CONVERGENCE_STYLE 0
+/*
+ * Types and constants for attribute processing.
+ */
+typedef struct _ZnAttrConfig {
+ int type;
+ char *name;
+ Tk_Uid uid;
+ int offset;
+ int bool_bit;
+ int flags;
+ ZnBool read_only;
+} ZnAttrConfig;
+
+/*
+ * When adding new type in the following enum
+ * do not forget to update attribute_type_strings
+ * in Item.c.
+ */
+#define ZN_CONFIG_END 0
+#define ZN_CONFIG_BOOL 1
+#define ZN_CONFIG_BITMAP 2
+#define ZN_CONFIG_BITMAP_LIST 3
+#define ZN_CONFIG_STRING 4
+#define ZN_CONFIG_FONT 5
+#define ZN_CONFIG_EDGE_LIST 6
+#define ZN_CONFIG_RELIEF 7
+#define ZN_CONFIG_DIM 8
+#define ZN_CONFIG_PRI 9
+#define ZN_CONFIG_ALIGNMENT 10
+#define ZN_CONFIG_AUTO_ALIGNMENT 11
+#define ZN_CONFIG_LINE_END 12
+#define ZN_CONFIG_LABEL_FORMAT 13
+#define ZN_CONFIG_LINE_STYLE 14
+#define ZN_CONFIG_LINE_SHAPE 15
+#define ZN_CONFIG_ITEM 16
+#define ZN_CONFIG_ANGLE 17
+#define ZN_CONFIG_INT 18
+#define ZN_CONFIG_UINT 19
+#define ZN_CONFIG_POINT 20
+#define ZN_CONFIG_ANCHOR 21
+#define ZN_CONFIG_TAG_LIST 22
+#define ZN_CONFIG_MAP_INFO 23
+#define ZN_CONFIG_IMAGE 24
+#define ZN_CONFIG_LEADER_ANCHORS 25
+#define ZN_CONFIG_JOIN_STYLE 26
+#define ZN_CONFIG_CAP_STYLE 27
+#define ZN_CONFIG_GRADIENT 28
+#define ZN_CONFIG_GRADIENT_LIST 29
+#define ZN_CONFIG_WINDOW 30
+#define ZN_CONFIG_ALPHA 31
+#define ZN_CONFIG_FILL_RULE 32
+
+#define ZN_DRAW_FLAG 1 << 0
+#define ZN_COORDS_FLAG 1 << 1
+#define ZN_TRANSFO_FLAG 1 << 2
+#define ZN_REPICK_FLAG 1 << 3
+#define ZN_BORDER_FLAG 1 << 4
+#define ZN_CLFC_FLAG 1 << 5 /* Clear Label Format Cache. */
+#define ZN_IMAGE_FLAG 1 << 6 /* Update image pointer. */
+#define ZN_VIS_FLAG 1 << 7 /* Visibility has changed. */
+#define ZN_MOVED_FLAG 1 << 8 /* Item has moved. */
+#define ZN_ITEM_FLAG 1 << 9 /* Signal a change in an item type attribute. */
+#define ZN_MAP_INFO_FLAG 1 << 10 /* Update mapinfo pointer. */
+#define ZN_LAYOUT_FLAG 1 << 10 /* A layout need update. */
+#define ZN_POLAR_FLAG 1 << 11 /* Signal a cartesian to polar change. */
+#define ZN_CARTESIAN_FLAG 1 << 12 /* Signal a polar to cartesian change. */
+#define ZN_TILE_FLAG 1 << 13 /* Update tile pointer. */
+#define ZN_WINDOW_FLAG 1 << 14 /* Signal a change in a window type attribute. */
+
+
+/*
+ * This constant marks a non existant item
+*/
+#define ZN_NO_ITEM NULL
+
+/*
+ * Constants for item parts. The item indexable parts (named fields) are coded
+ * as positive or null integers. The item specific parts (not indexable) are
+ * coded as negatives beginning at -2 up to -9 which is the current limit. The
+ * -1 value is reserved to indicate no part.
+ */
+#define ZnPartToBit(part) (1 << (ABS(part)-2))
+#define ZN_NO_PART -1
+
+/*
+ * Some flags macros.
+ */
+#define ISSET(var, mask) ((var) & (mask))
+#define ISCLEAR(var, mask) (((var) & (mask)) == 0)
+#define SET(var,mask) ((var) |= (mask))
+#define CLEAR(var, mask) ((var) &= ~(mask))
+#define ASSIGN(var, mask, bool) ((bool) ? SET((var), (mask)) : CLEAR((var), (mask)))
/*
* Item flags values.
*/
-#define VISIBLE_BIT 1
-#define SENSITIVE_BIT 2
-#define ATOMIC_BIT 4
-#define UPDATE_DEPENDENT_BIT 16
-#define COMPOSE_SCALE_BIT 32
-#define COMPOSE_ROTATION_BIT 64
-#define COMPOSE_ALPHA_BIT 128
+#define ZN_VISIBLE_BIT (1<<0)
+#define ZN_SENSITIVE_BIT (1<<1)
+#define ZN_UPDATE_DEPENDENT_BIT (1<<2)
+#define ZN_COMPOSE_SCALE_BIT (1<<3)
+#define ZN_COMPOSE_ROTATION_BIT (1<<4)
+#define ZN_COMPOSE_ALPHA_BIT (1<<5)
+/*
+ * Must be kept one greater than the last flag shift count.
+ */
+#define ZN_PRIVATE_FLAGS_OFFSET 6
-struct _WidgetInfo;
+/*
+ * Operator constants for the coord method.
+ */
+#define ZN_COORDS_READ 0
+#define ZN_COORDS_READ_ALL 1
+#define ZN_COORDS_REPLACE 2
+#define ZN_COORDS_REPLACE_ALL 3
+#define ZN_COORDS_ADD 4
+#define ZN_COORDS_ADD_LAST 5
+#define ZN_COORDS_REMOVE 6
+
+
+struct _ZnWInfo;
struct _ZnTransfo;
/*
* Item record header --
*/
-typedef struct _ItemStruct {
+typedef struct _ZnItemStruct {
/* Private data */
- int id;
+ long id;
ZnList tags;
- struct _WidgetInfo *wi; /* The widget this item is on */
- struct _ItemClassStruct *class; /* item class */
- struct _ItemStruct *previous; /* previous item in group list */
- struct _ItemStruct *next; /* next item in group list */
+ struct _ZnWInfo *wi; /* The widget this item is on */
+ struct _ZnItemClassStruct *class; /* item class */
+ struct _ZnItemStruct *previous; /* previous item in group list */
+ struct _ZnItemStruct *next; /* next item in group list */
ZnBBox item_bounding_box; /* device item bounding box */
/* Common attributes */
unsigned short flags;
unsigned short part_sensitive; /* Currently limited to 16 parts per item */
short inv_flags;
- struct _ItemStruct *parent;
+ struct _ZnItemStruct *parent;
int priority;
struct _ZnTransfo *transfo;
- struct _ItemStruct *connected_item; /* Item this item is connected to */
-#ifdef GLX
+ struct _ZnItemStruct *connected_item; /* Item this item is connected to */
+#ifdef GL
#ifdef GL_LIST
GLuint gl_list; /* Display list storing the item graphics */
#endif
#endif
-} ItemStruct, *Item;
+} ZnItemStruct, *ZnItem;
-typedef struct _ToAreaStruct {
+typedef struct _ZnToAreaStruct {
Tk_Uid tag_uid;
ZnBool enclosed;
- Item in_group;
+ ZnItem in_group;
ZnBool report;
ZnBool recursive;
ZnBBox *area;
} ZnToAreaStruct, *ZnToArea;
-typedef struct _PickStruct {
+typedef struct _ZnPickStruct {
int aperture;
- Item in_group;
- Item start_item;
+ ZnItem in_group;
+ ZnItem start_item;
ZnBool recursive;
ZnPoint *point;
- Item a_item;
+ ZnItem a_item;
int a_part;
} ZnPickStruct, *ZnPick;
@@ -138,72 +215,75 @@ typedef struct _PickStruct {
/*
* Item class record --
*/
-typedef int (*ItemInitMethod)(Item item, int *argc, Tcl_Obj *CONST *args[]);
-typedef int (*ItemConfigureMethod)(Item item, int argc, Tcl_Obj *CONST args[],
- int *flags);
-typedef int (*ItemQueryMethod)(Item item, int argc, Tcl_Obj *CONST args[]);
-typedef void (*ItemCloneMethod)(Item item);
-typedef void (*ItemDestroyMethod)(Item item);
-typedef void (*ItemDrawMethod)(Item item);
-typedef void (*ItemRenderMethod)(Item item);
-typedef void (*ItemComputeCoordinatesMethod)(Item item, ZnBool force);
-typedef int (*ItemToAreaMethod)(Item item, ZnToArea ta);
-typedef double (*ItemPickMethod)(Item item, ZnPick ps);
-typedef ZnBool (*ItemIsSensitiveMethod)(Item item, int part);
-typedef struct _FieldSetStruct* (*ItemGetFieldSetMethod)(Item item);
-typedef int (*ItemContourMethod)(Item item, int cmd, int index, ZnPoly *poly);
-typedef void (*ItemPickVertexMethod)(Item item, ZnPoint *p, int *contour,
- int *vertex, int *o_vertex);
-typedef void (*ItemGetAnchorMethod)(Item item, ZnAnchor anchor, ZnPoint *p);
-typedef ZnBool (*ItemGetClipVerticesMethod)(Item item, ZnTriStrip *tristrip);
-typedef ZnBool (*ItemGetContoursMethod)(Item item, ZnPoly *poly);
-typedef int (*ItemCoordsMethod)(Item item, int contour, int index, int cmd,
- ZnPoint **points, char **controls, int *num_points);
-typedef void (*ItemInsertCharsMethod)(Item item, int field, int *index,
- char *chars);
-typedef void (*ItemDeleteCharsMethod)(Item item, int field, int *first,
- int *last);
-typedef void (*ItemCursorMethod)(Item item, int field, int index);
-typedef int (*ItemIndexMethod)(Item item, int field, Tcl_Obj *index_spec,
- int *index);
-typedef int (*ItemPartMethod)(Item item, Tcl_Obj **part_spec, int *part);
-typedef int (*ItemSelectionMethod)(Item item, int field, int offset,
- char *chars, int max_chars);
-typedef void (*ItemPostScriptMethod)(Item item, PostScriptInfo ps_info);
-
-typedef struct _ItemClassStruct {
- int size;
- int num_parts; /* 0 if no special parts, else
+typedef int (*ZnItemInitMethod)(ZnItem item, int *argc, Tcl_Obj *CONST *args[]);
+typedef int (*ZnItemConfigureMethod)(ZnItem item, int argc, Tcl_Obj *CONST args[],
+ int *flags);
+typedef int (*ZnItemQueryMethod)(ZnItem item, int argc, Tcl_Obj *CONST args[]);
+typedef void (*ZnItemCloneMethod)(ZnItem item);
+typedef void (*ZnItemDestroyMethod)(ZnItem item);
+typedef void (*ZnItemDrawMethod)(ZnItem item);
+typedef void (*ZnItemRenderMethod)(ZnItem item);
+typedef void (*ZnItemComputeCoordinatesMethod)(ZnItem item, ZnBool force);
+typedef int (*ZnItemToAreaMethod)(ZnItem item, ZnToArea ta);
+typedef ZnReal (*ZnItemPickMethod)(ZnItem item, ZnPick ps);
+typedef ZnBool (*ZnItemIsSensitiveMethod)(ZnItem item, int part);
+typedef struct _ZnFieldSetStruct* (*ZnItemGetFieldSetMethod)(ZnItem item);
+typedef int (*ZnItemContourMethod)(ZnItem item, int cmd, int index, ZnPoly *poly);
+typedef void (*ZnItemPickVertexMethod)(ZnItem item, ZnPoint *p, int *contour,
+ int *vertex, int *o_vertex);
+typedef void (*ZnItemGetAnchorMethod)(ZnItem item, Tk_Anchor anchor, ZnPoint *p);
+typedef ZnBool (*ZnItemGetClipVerticesMethod)(ZnItem item, ZnTriStrip *tristrip);
+typedef ZnBool (*ZnItemGetContoursMethod)(ZnItem item, ZnPoly *poly);
+typedef int (*ZnItemCoordsMethod)(ZnItem item, int contour, int index, int cmd,
+ ZnPoint **points, char **controls, unsigned int *num_points);
+typedef void (*ZnItemInsertCharsMethod)(ZnItem item, int field, int *index,
+ char *chars);
+typedef void (*ZnItemDeleteCharsMethod)(ZnItem item, int field, int *first,
+ int *last);
+typedef void (*ZnItemCursorMethod)(ZnItem item, int field, int index);
+typedef int (*ZnItemIndexMethod)(ZnItem item, int field, Tcl_Obj *index_spec,
+ int *index);
+typedef int (*ZnItemPartMethod)(ZnItem item, Tcl_Obj **part_spec, int *part);
+typedef int (*ZnItemSelectionMethod)(ZnItem item, int field, int offset,
+ char *chars, int max_chars);
+typedef void (*ZnItemPostScriptMethod)(ZnItem item, ZnPostScriptInfo ps_info);
+
+
+typedef void *ZnItemClassId;
+
+typedef struct _ZnItemClassStruct {
+ unsigned int size;
+ unsigned int num_parts; /* 0 if no special parts, else
* gives how many parts exist. */
ZnBool has_anchors; /* 1 if anchors are supported */
char *name;
ZnAttrConfig *attr_desc;
- ItemInitMethod Init;
- ItemCloneMethod Clone;
- ItemDestroyMethod Destroy;
- ItemConfigureMethod Configure;
- ItemQueryMethod Query;
- ItemGetFieldSetMethod GetFieldSet;
- ItemGetAnchorMethod GetAnchor;
- ItemGetClipVerticesMethod GetClipVertices;
- ItemGetContoursMethod GetContours;
- ItemCoordsMethod Coords;
- ItemInsertCharsMethod InsertChars;
- ItemDeleteCharsMethod DeleteChars;
- ItemCursorMethod Cursor;
- ItemIndexMethod Index;
- ItemPartMethod Part;
- ItemSelectionMethod Selection;
- ItemContourMethod Contour;
- ItemComputeCoordinatesMethod ComputeCoordinates;
- ItemToAreaMethod ToArea;
- ItemDrawMethod Draw;
- ItemRenderMethod Render;
- ItemIsSensitiveMethod IsSensitive;
- ItemPickMethod Pick;
- ItemPickVertexMethod PickVertex;
- ItemPostScriptMethod PostScript;
-} ItemClassStruct, *ItemClass;
+ ZnItemInitMethod Init;
+ ZnItemCloneMethod Clone;
+ ZnItemDestroyMethod Destroy;
+ ZnItemConfigureMethod Configure;
+ ZnItemQueryMethod Query;
+ ZnItemGetFieldSetMethod GetFieldSet;
+ ZnItemGetAnchorMethod GetAnchor;
+ ZnItemGetClipVerticesMethod GetClipVertices;
+ ZnItemGetContoursMethod GetContours;
+ ZnItemCoordsMethod Coords;
+ ZnItemInsertCharsMethod InsertChars;
+ ZnItemDeleteCharsMethod DeleteChars;
+ ZnItemCursorMethod Cursor;
+ ZnItemIndexMethod Index;
+ ZnItemPartMethod Part;
+ ZnItemSelectionMethod Selection;
+ ZnItemContourMethod Contour;
+ ZnItemComputeCoordinatesMethod ComputeCoordinates;
+ ZnItemToAreaMethod ToArea;
+ ZnItemDrawMethod Draw;
+ ZnItemRenderMethod Render;
+ ZnItemIsSensitiveMethod IsSensitive;
+ ZnItemPickMethod Pick;
+ ZnItemPickVertexMethod PickVertex;
+ ZnItemPostScriptMethod PostScript;
+} ZnItemClassStruct, *ZnItemClass;
/*
@@ -213,73 +293,72 @@ typedef struct _ItemClassStruct {
*
**********************************************************************************
*/
-extern struct _ITEM {
- Item (*CloneItem)(Item model);
- void (*DestroyItem)(Item item);
- int (*ConfigureItem)(Item item, int field, int argc, Tcl_Obj *CONST args[],
+extern struct _ZnITEM {
+ ZnItem (*CloneItem)(ZnItem model);
+ void (*DestroyItem)(ZnItem item);
+ int (*ConfigureItem)(ZnItem item, int field, int argc, Tcl_Obj *CONST args[],
ZnBool init);
- int (*QueryItem)(Item item, int field, int argc, Tcl_Obj *CONST args[]);
- void (*InsertItem)(Item item, Item group, Item mark_item, ZnBool before);
- void (*UpdateItemPriority)(Item item, Item mark_item, ZnBool before);
- void (*UpdateItemDependency)(Item item, Item old_connection);
- void (*ExtractItem)(Item item);
- void (*SetId)(Item item);
- void (*FreeId)(Item item);
- void (*AddTag)(Item item, Tk_Uid tag);
- void (*RemoveTag)(Item item, Tk_Uid tag);
- void (*FreeTags)(Item item);
- ZnBool (*HasTag)(Item item, Tk_Uid tag);
- void (*ResetTransfo)(Item item);
- void (*SetTransfo)(Item item, struct _ZnTransfo *t);
- void (*TranslateItem)(Item item, ZnReal tx, ZnReal ty);
- void (*ScaleItem)(Item item, ZnReal sx, ZnReal sy);
- void (*RotateItem)(Item item, ZnReal angle, ZnPoint *p);
- void (*Invalidate)(Item item, int reason);
- void (*InvalidateItems)(Item group, ItemClass item_class);
- void (*GetItemTransform)(Item item, struct _ZnTransfo *t);
-} ITEM;
+ int (*QueryItem)(ZnItem item, int field, int argc, Tcl_Obj *CONST args[]);
+ void (*InsertItem)(ZnItem item, ZnItem group, ZnItem mark_item, ZnBool before);
+ void (*UpdateItemPriority)(ZnItem item, ZnItem mark_item, ZnBool before);
+ void (*UpdateItemDependency)(ZnItem item, ZnItem old_connection);
+ void (*ExtractItem)(ZnItem item);
+ void (*SetId)(ZnItem item);
+ void (*FreeId)(ZnItem item);
+ void (*AddTag)(ZnItem item, Tk_Uid tag);
+ void (*RemoveTag)(ZnItem item, Tk_Uid tag);
+ void (*FreeTags)(ZnItem item);
+ ZnBool (*HasTag)(ZnItem item, Tk_Uid tag);
+ void (*ResetTransfo)(ZnItem item);
+ void (*SetTransfo)(ZnItem item, struct _ZnTransfo *t);
+ void (*TranslateItem)(ZnItem item, ZnReal tx, ZnReal ty);
+ void (*ScaleItem)(ZnItem item, ZnReal sx, ZnReal sy);
+ void (*RotateItem)(ZnItem item, ZnReal angle, ZnPoint *p);
+ void (*Invalidate)(ZnItem item, int reason);
+ void (*InvalidateItems)(ZnItem group, ZnItemClass item_class);
+ void (*GetItemTransform)(ZnItem item, struct _ZnTransfo *t);
+} ZnITEM;
/*
**********************************************************************************
*
- * Methods defined in item.c useful for writing items.
+ * Methods defined in Item.c useful for writing items.
*
**********************************************************************************
*/
void ZnItemInit();
-Item ZnCreateItem(struct _WidgetInfo *wi, ItemClass item_class,
+ZnItem ZnCreateItem(struct _ZnWInfo *wi, ZnItemClass item_class,
int *argc, Tcl_Obj *CONST *args[]);
-void ZnAddItemClass(ItemClass class);
-ItemClass ZnLookupItemClass(char *class_name);
+void ZnAddItemClass(ZnItemClass class);
+ZnItemClass ZnLookupItemClass(char *class_name);
ZnList ZnItemClassList();
-int ZnConfigureAttributes(struct _WidgetInfo *wi, void *record,
+int ZnConfigureAttributes(struct _ZnWInfo *wi, void *record,
ZnAttrConfig *attr_desc, int argc, Tcl_Obj *CONST args[],
int *flags);
-int ZnAttributesInfo(struct _WidgetInfo *wi, void *record,
+int ZnAttributesInfo(struct _ZnWInfo *wi, void *record,
ZnAttrConfig *attr_desc, int argc, Tcl_Obj *CONST args[]);
-int ZnQueryAttribute(struct _WidgetInfo *wi, void *record, ZnAttrConfig *attr_desc,
+int ZnQueryAttribute(struct _ZnWInfo *wi, void *record, ZnAttrConfig *attr_desc,
Tcl_Obj *attr_name);
-void ZnInitTransformStack(struct _WidgetInfo *wi);
-void ZnFreeTransformStack(struct _WidgetInfo *wi);
-void ZnResetTransformStack(struct _WidgetInfo *wi);
-void ZnPushTransform(struct _WidgetInfo *wi, struct _ZnTransfo *transfo,
+void ZnInitTransformStack(struct _ZnWInfo *wi);
+void ZnFreeTransformStack(struct _ZnWInfo *wi);
+void ZnResetTransformStack(struct _ZnWInfo *wi);
+void ZnPushTransform(struct _ZnWInfo *wi, struct _ZnTransfo *transfo,
ZnBool compose_scale, ZnBool compose_rot);
-void ZnPopTransform(struct _WidgetInfo *wi);
-void ZnInitClipStack(struct _WidgetInfo *wi);
-void ZnFreeClipStack(struct _WidgetInfo *wi);
-void ZnResetClipStack(struct _WidgetInfo *wi);
-void ZnPushClip(struct _WidgetInfo *wi, ZnTriStrip *tristrip, ZnBool simple,
+void ZnPopTransform(struct _ZnWInfo *wi);
+void ZnInitClipStack(struct _ZnWInfo *wi);
+void ZnFreeClipStack(struct _ZnWInfo *wi);
+void ZnResetClipStack(struct _ZnWInfo *wi);
+void ZnPushClip(struct _ZnWInfo *wi, ZnTriStrip *tristrip, ZnBool simple,
ZnBool set_gc);
-void ZnPopClip(struct _WidgetInfo *wi, ZnBool set_gc);
-ZnBool ZnCurrentClip(struct _WidgetInfo *wi, Region *reg, ZnBBox **clip_box,
+void ZnPopClip(struct _ZnWInfo *wi, ZnBool set_gc);
+ZnBool ZnCurrentClip(struct _ZnWInfo *wi, TkRegion *reg, ZnBBox **clip_box,
ZnBool *simple);
extern ZnItemClassId ZnArc;
extern ZnItemClassId ZnMap;
extern ZnItemClassId ZnTabular;
-extern ZnItemClassId ZnMosaic;
extern ZnItemClassId ZnCurve;
extern ZnItemClassId ZnBezier;
extern ZnItemClassId ZnTriangles;
@@ -290,7 +369,7 @@ extern ZnItemClassId ZnWayPoint;
extern ZnItemClassId ZnGroup;
extern ZnItemClassId ZnIcon;
extern ZnItemClassId ZnText;
-extern ZnItemClassId ZnWind;
+extern ZnItemClassId ZnWindow;
#endif /* _Item_h */