aboutsummaryrefslogtreecommitdiff
path: root/generic
diff options
context:
space:
mode:
authorlecoanet2002-07-05 14:32:10 +0000
committerlecoanet2002-07-05 14:32:10 +0000
commit8b96bb04a6351fcce81cdbf17d88ba0db343bd25 (patch)
tree5a07208755e45cbd508fdd04fec3354c2e9cf021 /generic
parent1197f6f5c3740c9d60a1a8bdb54b13eb77789fbe (diff)
downloadtkzinc-8b96bb04a6351fcce81cdbf17d88ba0db343bd25.zip
tkzinc-8b96bb04a6351fcce81cdbf17d88ba0db343bd25.tar.gz
tkzinc-8b96bb04a6351fcce81cdbf17d88ba0db343bd25.tar.bz2
tkzinc-8b96bb04a6351fcce81cdbf17d88ba0db343bd25.tar.xz
* (HasTag): Ajout de la m�thode HasTag.
Diffstat (limited to 'generic')
-rw-r--r--generic/Item.c31
-rw-r--r--generic/Item.h1
2 files changed, 32 insertions, 0 deletions
diff --git a/generic/Item.c b/generic/Item.c
index 43121eb..2668f1a 100644
--- a/generic/Item.c
+++ b/generic/Item.c
@@ -1759,6 +1759,36 @@ FreeTags(Item item)
/*
**********************************************************************************
*
+ * HasTag -- Method
+ *
+ **********************************************************************************
+ */
+static ZnBool
+HasTag(Item item,
+ Tk_Uid tag)
+{
+ int num;
+ Tk_Uid *tags;
+
+ if (!item->tags || !ZnListSize(item->tags)) {
+ return False;
+ }
+ else {
+ num = ZnListSize(item->tags);
+ tags = ZnListArray(item->tags);
+ for (tags = ZnListArray(item->tags); num > 0; tags++, num--) {
+ if (*tags == tag) {
+ return True;
+ }
+ }
+ }
+ return False;
+}
+
+
+/*
+ **********************************************************************************
+ *
* ZnCreateItem --
*
* InsertItem and ConfigureItem must be called after CreateItem
@@ -2685,6 +2715,7 @@ struct _ITEM ITEM = {
AddTag,
RemoveTag,
FreeTags,
+ HasTag,
ResetTransfo,
SetTransfo,
TranslateItem,
diff --git a/generic/Item.h b/generic/Item.h
index 21dc2c2..8fb19e7 100644
--- a/generic/Item.h
+++ b/generic/Item.h
@@ -223,6 +223,7 @@ extern struct _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);