aboutsummaryrefslogtreecommitdiff
path: root/generic/Item.h
diff options
context:
space:
mode:
authorlecoanet2000-03-23 14:02:42 +0000
committerlecoanet2000-03-23 14:02:42 +0000
commit6e88adfac1e3b390b0cba62c905942a895712ea4 (patch)
tree336765c66b6a8777d150f6abe6ecdab45f03e2cf /generic/Item.h
parent2b8350dff03c66bb64b0b5511f961849676cfa1d (diff)
downloadtkzinc-6e88adfac1e3b390b0cba62c905942a895712ea4.zip
tkzinc-6e88adfac1e3b390b0cba62c905942a895712ea4.tar.gz
tkzinc-6e88adfac1e3b390b0cba62c905942a895712ea4.tar.bz2
tkzinc-6e88adfac1e3b390b0cba62c905942a895712ea4.tar.xz
Remaniement des routines de gestion de la pile de transfo et de clip
afin de la rendre utilisables par les items en interne.
Diffstat (limited to 'generic/Item.h')
-rw-r--r--generic/Item.h18
1 files changed, 14 insertions, 4 deletions
diff --git a/generic/Item.h b/generic/Item.h
index c4b0464..26a4db5 100644
--- a/generic/Item.h
+++ b/generic/Item.h
@@ -127,7 +127,7 @@ typedef struct _GroupItemStruct {
*/
typedef struct _FieldSetStruct {
struct _WidgetInfo *wi;
- LabelFormat label_format;
+ ZnLabelFormat label_format;
unsigned int num_fields;
struct _FieldStruct *fields;
ZnDim label_width; /* Describe the label size. Access these */
@@ -219,9 +219,7 @@ extern struct _ITEM {
void (*RotateItem)(Item item, ZnReal angle, ZnPoint *p);
void (*Invalidate)(Item item, int reason);
void (*InvalidateItems)(Item group, ItemClass item_class);
- void (*ComposeItemTransform)(Item item, struct _ZnTransfo *current_t,
- struct _ZnTransfo *new_t);
- void (*GetTransform)(Item item, struct _ZnTransfo *t);
+ void (*GetItemTransform)(Item item, struct _ZnTransfo *t);
} ITEM;
@@ -254,8 +252,20 @@ extern struct _ITEM_P {
void (*LeaderToLabel)(FieldSet field_set, ZnPoint *start, ZnPoint *end);
void (*GetLabelBBox)(FieldSet field_set, ZnDim *w, ZnDim *h);
void (*GetFieldBBox)(FieldSet field_set, unsigned int index, ZnBBox *field_bbox);
+ void (*InitTransformStack)(struct _WidgetInfo *wi);
+ void (*FreeTransformStack)(struct _WidgetInfo *wi);
void (*ResetTransformStack)(struct _WidgetInfo *wi);
+ void (*PushTransform)(struct _WidgetInfo *wi, struct _ZnTransfo *transfo,
+ ZnBool compose_scale, ZnBool compose_rot);
+ void (*PopTransform)(struct _WidgetInfo *wi);
+ void (*InitClipStack)(struct _WidgetInfo *wi);
+ void (*FreeClipStack)(struct _WidgetInfo *wi);
void (*ResetClipStack)(struct _WidgetInfo *wi);
+ void (*PushClip)(struct _WidgetInfo *wi, ZnPoint *pts, int num_pts,
+ ZnBool simple, ZnBool set_gc);
+ void (*PopClip)(struct _WidgetInfo *wi, ZnBool set_gc);
+ ZnBool (*CurrentClip)(struct _WidgetInfo *wi, Region *reg, ZnBBox **clip_box,
+ ZnBool *simple);
} ITEM_P;