aboutsummaryrefslogtreecommitdiff
path: root/generic/Item.c
diff options
context:
space:
mode:
Diffstat (limited to 'generic/Item.c')
-rw-r--r--generic/Item.c1956
1 files changed, 978 insertions, 978 deletions
diff --git a/generic/Item.c b/generic/Item.c
index e1c4230..5ff55b4 100644
--- a/generic/Item.c
+++ b/generic/Item.c
@@ -1,8 +1,8 @@
/*
* Item.c -- Implementation of items.
*
- * Authors : Patrick Lecoanet.
- * Creation date :
+ * Authors : Patrick Lecoanet.
+ * Creation date :
*
* $Id$
*/
@@ -43,7 +43,7 @@
#endif
#include <GL/glu.h>
-#include <limits.h> /* For INT_MAX */
+#include <limits.h> /* For INT_MAX */
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
@@ -53,8 +53,8 @@ static const char rcsid[] = "$Id$";
static const char compile_id[]="$Compile: " __FILE__ " " __DATE__ " " __TIME__ " $";
-static ZnList item_classes = NULL;
-static ZnList item_stack = NULL;
+static ZnList item_classes = NULL;
+static ZnList item_stack = NULL;
/*
@@ -113,11 +113,11 @@ static int SetAttrFromAny _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Obj *obj));
*/
Tcl_ObjType ZnAttrObjType = {
- "attribute", /* name */
- (Tcl_FreeInternalRepProc *) NULL, /* freeIntRepProc */
- (Tcl_DupInternalRepProc *) NULL, /* dupIntRepProc */
- (Tcl_UpdateStringProc *) NULL, /* updateStringProc */
- SetAttrFromAny /* setFromAnyProc */
+ "attribute", /* name */
+ (Tcl_FreeInternalRepProc *) NULL, /* freeIntRepProc */
+ (Tcl_DupInternalRepProc *) NULL, /* dupIntRepProc */
+ (Tcl_UpdateStringProc *) NULL, /* updateStringProc */
+ SetAttrFromAny /* setFromAnyProc */
};
#endif
@@ -131,7 +131,7 @@ Tcl_ObjType ZnAttrObjType = {
*/
static void Invalidate(ZnItem item, int reason);
static void AttributeToObj(Tcl_Interp *interp, void *record, ZnAttrConfig *desc,
- Tcl_Obj *result);
+ Tcl_Obj *result);
@@ -160,7 +160,7 @@ ZnUpdateItemImage(void *client_data)
**********************************************************************************
*/
static void
-InitAttrDesc(ZnAttrConfig *attr_desc)
+InitAttrDesc(ZnAttrConfig *attr_desc)
{
if (!attr_desc) {
return;
@@ -177,20 +177,20 @@ InitAttrDesc(ZnAttrConfig *attr_desc)
*
* SetAttrFromAny --
*
- * This procedure is called to convert a Tcl object to an attribute
- * descriptor. This is only possible if given a attr_desc table, so
- * this method always returns an error.
+ * This procedure is called to convert a Tcl object to an attribute
+ * descriptor. This is only possible if given a attr_desc table, so
+ * this method always returns an error.
*
*----------------------------------------------------------------------
*/
#ifndef PTK
static int
-SetAttrFromAny(Tcl_Interp *interp,
- Tcl_Obj *obj)
+SetAttrFromAny(Tcl_Interp *interp,
+ Tcl_Obj *obj)
{
Tcl_AppendToObj(Tcl_GetObjResult(interp),
- "can't convert value to attribute except via GetAttrDesc",
- -1);
+ "can't convert value to attribute except via GetAttrDesc",
+ -1);
return TCL_ERROR;
}
#endif
@@ -204,12 +204,12 @@ SetAttrFromAny(Tcl_Interp *interp,
**********************************************************************************
*/
static ZnAttrConfig *
-GetAttrDesc(Tcl_Interp *interp,
- Tcl_Obj *arg,
- ZnAttrConfig *desc_table)
+GetAttrDesc(Tcl_Interp *interp,
+ Tcl_Obj *arg,
+ ZnAttrConfig *desc_table)
{
- Tk_Uid attr_uid;
- ZnAttrConfig *desc;
+ Tk_Uid attr_uid;
+ ZnAttrConfig *desc;
#ifndef PTK
if (arg->typePtr == &ZnAttrObjType) {
@@ -233,7 +233,7 @@ GetAttrDesc(Tcl_Interp *interp,
else if (attr_uid == desc->uid) {
#ifndef PTK
if ((arg->typePtr != NULL) && (arg->typePtr->freeIntRepProc != NULL)) {
- arg->typePtr->freeIntRepProc(arg);
+ arg->typePtr->freeIntRepProc(arg);
}
arg->internalRep.twoPtrValue.ptr1 = (void *) desc_table;
arg->internalRep.twoPtrValue.ptr2 = (void *) desc;
@@ -256,13 +256,13 @@ GetAttrDesc(Tcl_Interp *interp,
**********************************************************************************
*/
int
-ZnAttributesInfo(Tcl_Interp *interp,
- void *record,
- ZnAttrConfig *desc_table,
- int argc,
- Tcl_Obj *CONST args[])
+ZnAttributesInfo(Tcl_Interp *interp,
+ void *record,
+ ZnAttrConfig *desc_table,
+ int argc,
+ Tcl_Obj *CONST args[])
{
- Tcl_Obj *l, *entries[5];
+ Tcl_Obj *l, *entries[5];
if (argc == 1) {
ZnAttrConfig *desc = GetAttrDesc(interp, args[0], desc_table);
@@ -303,18 +303,18 @@ ZnAttributesInfo(Tcl_Interp *interp,
**********************************************************************************
*/
int
-ZnConfigureAttributes(ZnWInfo *wi,
- ZnItem item,
- void *record,
- ZnAttrConfig *desc_table,
- int argc,
- Tcl_Obj *CONST args[],
- int *flags)
+ZnConfigureAttributes(ZnWInfo *wi,
+ ZnItem item,
+ void *record,
+ ZnAttrConfig *desc_table,
+ int argc,
+ Tcl_Obj *CONST args[],
+ int *flags)
{
- int i;
- ZnAttrConfig *desc;
- ZnPtr valp;
- char *str;
+ int i;
+ ZnAttrConfig *desc;
+ ZnPtr valp;
+ char *str;
for (i = 0; i < argc; i += 2) {
desc = GetAttrDesc(wi->interp, args[i], desc_table);
@@ -323,7 +323,7 @@ ZnConfigureAttributes(ZnWInfo *wi,
}
else if (desc->read_only) {
Tcl_AppendResult(wi->interp, "attribute \"",
- Tcl_GetString(args[i]), "\" can only be read", NULL);
+ Tcl_GetString(args[i]), "\" can only be read", NULL);
return TCL_ERROR;
}
@@ -332,444 +332,444 @@ ZnConfigureAttributes(ZnWInfo *wi,
switch (desc->type) {
case ZN_CONFIG_GRADIENT:
{
- ZnGradient *g;
- Tk_Uid new_name = Tk_GetUid(Tcl_GetString(args[i+1]));
- char *name = NULL;
- if (*((ZnGradient **) valp)) {
- name = ZnNameOfGradient(*((ZnGradient **) valp));
- }
- if (name != new_name) {
- g = ZnGetGradient(wi->interp, wi->win, new_name);
- if (!g) {
- Tcl_AppendResult(wi->interp,
- " gradient expected for attribute \"",
- Tcl_GetString(args[i]), "\"", NULL);
- return TCL_ERROR;
- }
- if (*((ZnGradient **) valp)) {
- ZnFreeGradient(*((ZnGradient **) valp));
- }
- *((ZnGradient **) valp) = g;
- *flags |= desc->flags;
- }
- break;
+ ZnGradient *g;
+ Tk_Uid new_name = Tk_GetUid(Tcl_GetString(args[i+1]));
+ char *name = NULL;
+ if (*((ZnGradient **) valp)) {
+ name = ZnNameOfGradient(*((ZnGradient **) valp));
+ }
+ if (name != new_name) {
+ g = ZnGetGradient(wi->interp, wi->win, new_name);
+ if (!g) {
+ Tcl_AppendResult(wi->interp,
+ " gradient expected for attribute \"",
+ Tcl_GetString(args[i]), "\"", NULL);
+ return TCL_ERROR;
+ }
+ if (*((ZnGradient **) valp)) {
+ ZnFreeGradient(*((ZnGradient **) valp));
+ }
+ *((ZnGradient **) valp) = g;
+ *flags |= desc->flags;
+ }
+ break;
}
case ZN_CONFIG_GRADIENT_LIST:
{
- ZnList new_grad_list = NULL;
- ZnGradient **grads;
- unsigned int num_grads, j, k;
- Tcl_Obj **elems;
-
- if (Tcl_ListObjGetElements(wi->interp, args[i+1],
- &num_grads, &elems) == TCL_ERROR) {
- Tcl_AppendResult(wi->interp,
- " gradient list expected for attribute \"",
- Tcl_GetString(args[i]), "\"", NULL);
- return TCL_ERROR;
- }
- if (num_grads) {
- new_grad_list = ZnListNew(num_grads, sizeof(ZnGradient *));
- ZnListAssertSize(new_grad_list, num_grads);
- grads = ZnListArray(new_grad_list);
- for (j = 0; j < num_grads; j++) {
- str = Tcl_GetString(elems[j]);
- if (!*str) {
- if (j == 0) {
- goto grads_err;
- }
- grads[j] = grads[j-1];
- }
- else {
- grads[j] = ZnGetGradient(wi->interp, wi->win, str);
- }
- if (!grads[j]) {
- grads_err:
- Tcl_AppendResult(wi->interp, " invalid gradient \"", str,
- "\" in gradient list", NULL);
- for (k = 0; k < j; k++) {
- ZnFreeGradient(grads[k]);
- }
- ZnListFree(new_grad_list);
- return TCL_ERROR;
- }
- }
- }
- if (*((ZnList *) valp)) {
- num_grads = ZnListSize(*((ZnList *) valp));
- grads = ZnListArray(*((ZnList *) valp));
- for (j = 0; j < num_grads; j++) {
- if (grads[j]) {
- ZnFreeGradient(grads[j]);
- }
- }
- ZnListFree(*((ZnList *) valp));
- *((ZnList *) valp) = new_grad_list;
- *flags |= desc->flags;
- }
- else {
- if (new_grad_list) {
- *((ZnList *) valp) = new_grad_list;
- *flags |= desc->flags;
- }
- }
- break;
+ ZnList new_grad_list = NULL;
+ ZnGradient **grads;
+ unsigned int num_grads, j, k;
+ Tcl_Obj **elems;
+
+ if (Tcl_ListObjGetElements(wi->interp, args[i+1],
+ &num_grads, &elems) == TCL_ERROR) {
+ Tcl_AppendResult(wi->interp,
+ " gradient list expected for attribute \"",
+ Tcl_GetString(args[i]), "\"", NULL);
+ return TCL_ERROR;
+ }
+ if (num_grads) {
+ new_grad_list = ZnListNew(num_grads, sizeof(ZnGradient *));
+ ZnListAssertSize(new_grad_list, num_grads);
+ grads = ZnListArray(new_grad_list);
+ for (j = 0; j < num_grads; j++) {
+ str = Tcl_GetString(elems[j]);
+ if (!*str) {
+ if (j == 0) {
+ goto grads_err;
+ }
+ grads[j] = grads[j-1];
+ }
+ else {
+ grads[j] = ZnGetGradient(wi->interp, wi->win, str);
+ }
+ if (!grads[j]) {
+ grads_err:
+ Tcl_AppendResult(wi->interp, " invalid gradient \"", str,
+ "\" in gradient list", NULL);
+ for (k = 0; k < j; k++) {
+ ZnFreeGradient(grads[k]);
+ }
+ ZnListFree(new_grad_list);
+ return TCL_ERROR;
+ }
+ }
+ }
+ if (*((ZnList *) valp)) {
+ num_grads = ZnListSize(*((ZnList *) valp));
+ grads = ZnListArray(*((ZnList *) valp));
+ for (j = 0; j < num_grads; j++) {
+ if (grads[j]) {
+ ZnFreeGradient(grads[j]);
+ }
+ }
+ ZnListFree(*((ZnList *) valp));
+ *((ZnList *) valp) = new_grad_list;
+ *flags |= desc->flags;
+ }
+ else {
+ if (new_grad_list) {
+ *((ZnList *) valp) = new_grad_list;
+ *flags |= desc->flags;
+ }
+ }
+ break;
}
case ZN_CONFIG_BOOL:
{
- int b;
- if (Tcl_GetBooleanFromObj(wi->interp, args[i+1], &b) != TCL_OK) {
- Tcl_AppendResult(wi->interp, " boolean expected for attribute \"",
- Tcl_GetString(args[i]), "\"", NULL);
- return TCL_ERROR;
- }
- if (b ^ (ISSET(*((unsigned short *) valp), desc->bool_bit) != 0)) {
- ASSIGN(*((unsigned short *) valp), desc->bool_bit, b);
- *flags |= desc->flags;
- }
- break;
+ int b;
+ if (Tcl_GetBooleanFromObj(wi->interp, args[i+1], &b) != TCL_OK) {
+ Tcl_AppendResult(wi->interp, " boolean expected for attribute \"",
+ Tcl_GetString(args[i]), "\"", NULL);
+ return TCL_ERROR;
+ }
+ if (b ^ (ISSET(*((unsigned short *) valp), desc->bool_bit) != 0)) {
+ ASSIGN(*((unsigned short *) valp), desc->bool_bit, b);
+ *flags |= desc->flags;
+ }
+ break;
}
case ZN_CONFIG_IMAGE:
case ZN_CONFIG_BITMAP:
{
- ZnImage image = ZnUnspecifiedImage;
- ZnBool is_bmap = True;
- char *name = "";
-
- if (*((ZnImage *) valp) != ZnUnspecifiedImage) {
- name = ZnNameOfImage(*((ZnImage *) valp));
- }
- str = Tcl_GetString(args[i+1]);
- if (strcmp(name, str) != 0) {
- if (strlen(str) != 0) {
- if (desc->type == ZN_CONFIG_IMAGE) {
- image = ZnGetImage(wi, str, ZnUpdateItemImage, record);
- if (image == ZnUnspecifiedImage) {
- Tcl_AppendResult(wi->interp, " image expected for attribute \"",
- Tcl_GetString(args[i]), "\"", NULL);
- return TCL_ERROR;
- }
- }
- else {
- image = ZnGetImage(wi, str, NULL, NULL);
- if ((image == ZnUnspecifiedImage) ||
- (!(is_bmap = ZnImageIsBitmap(image)))) {
- if (!is_bmap) {
- ZnFreeImage(image, NULL, NULL);
- }
- Tcl_AppendResult(wi->interp, " bitmap expected for attribute \"",
- Tcl_GetString(args[i]), "\"", NULL);
- return TCL_ERROR;
- }
- }
- }
- if (*((ZnImage *) valp) != ZnUnspecifiedImage) {
- ZnFreeImage(*((ZnImage *) valp), ZnUpdateItemImage, record);
- }
- *((ZnImage *) valp) = image;
- *flags |= desc->flags;
- }
- break;
+ ZnImage image = ZnUnspecifiedImage;
+ ZnBool is_bmap = True;
+ char *name = "";
+
+ if (*((ZnImage *) valp) != ZnUnspecifiedImage) {
+ name = ZnNameOfImage(*((ZnImage *) valp));
+ }
+ str = Tcl_GetString(args[i+1]);
+ if (strcmp(name, str) != 0) {
+ if (strlen(str) != 0) {
+ if (desc->type == ZN_CONFIG_IMAGE) {
+ image = ZnGetImage(wi, str, ZnUpdateItemImage, record);
+ if (image == ZnUnspecifiedImage) {
+ Tcl_AppendResult(wi->interp, " image expected for attribute \"",
+ Tcl_GetString(args[i]), "\"", NULL);
+ return TCL_ERROR;
+ }
+ }
+ else {
+ image = ZnGetImage(wi, str, NULL, NULL);
+ if ((image == ZnUnspecifiedImage) ||
+ (!(is_bmap = ZnImageIsBitmap(image)))) {
+ if (!is_bmap) {
+ ZnFreeImage(image, NULL, NULL);
+ }
+ Tcl_AppendResult(wi->interp, " bitmap expected for attribute \"",
+ Tcl_GetString(args[i]), "\"", NULL);
+ return TCL_ERROR;
+ }
+ }
+ }
+ if (*((ZnImage *) valp) != ZnUnspecifiedImage) {
+ ZnFreeImage(*((ZnImage *) valp), ZnUpdateItemImage, record);
+ }
+ *((ZnImage *) valp) = image;
+ *flags |= desc->flags;
+ }
+ break;
}
case ZN_CONFIG_BITMAP_LIST:
{
- ZnList new_pat_list = NULL;
- ZnImage *pats;
- unsigned int num_pats, j, k;
- Tcl_Obj **elems;
- ZnBool is_bmap = True;
-
- if (Tcl_ListObjGetElements(wi->interp, args[i+1],
- &num_pats, &elems) == TCL_ERROR) {
- Tcl_AppendResult(wi->interp,
- " pattern list expected for attribute \"",
- Tcl_GetString(args[i]), "\"", NULL);
- return TCL_ERROR;
- }
- if (num_pats) {
- new_pat_list = ZnListNew(num_pats, sizeof(Pixmap));
- ZnListAssertSize(new_pat_list, num_pats);
- pats = ZnListArray(new_pat_list);
- for (j = 0; j < num_pats; j++) {
- str = Tcl_GetString(elems[j]);
- if (strlen(str) != 0) {
- pats[j] = ZnGetImage(wi, str, NULL, NULL);
- if ((pats[j] == ZnUnspecifiedImage) ||
- !(is_bmap = ZnImageIsBitmap(pats[j]))) {
- if (!is_bmap) {
- ZnFreeImage(pats[j], NULL, NULL);
- }
- for (k = 0; k < j; k++) {
- ZnFreeImage(pats[k], NULL, NULL);
- }
- ZnListFree(new_pat_list);
- Tcl_AppendResult(wi->interp, " unknown pattern \"", str,
- "\" in pattern list", NULL);
- return TCL_ERROR;
- }
- }
- else {
- pats[j] = ZnUnspecifiedImage;
- }
- }
- }
- if (*((ZnList *) valp)) {
- num_pats = ZnListSize(*((ZnList *) valp));
- pats = ZnListArray(*((ZnList *) valp));
- for (j = 0; j < num_pats; j++) {
- if (pats[j] != ZnUnspecifiedImage) {
- ZnFreeImage(pats[j], NULL, NULL);
- }
- }
- ZnListFree(*((ZnList *) valp));
- *((ZnList *) valp) = new_pat_list;
- *flags |= desc->flags;
- }
- else {
- if (new_pat_list) {
- *((ZnList *) valp) = new_pat_list;
- *flags |= desc->flags;
- }
- }
- break;
+ ZnList new_pat_list = NULL;
+ ZnImage *pats;
+ unsigned int num_pats, j, k;
+ Tcl_Obj **elems;
+ ZnBool is_bmap = True;
+
+ if (Tcl_ListObjGetElements(wi->interp, args[i+1],
+ &num_pats, &elems) == TCL_ERROR) {
+ Tcl_AppendResult(wi->interp,
+ " pattern list expected for attribute \"",
+ Tcl_GetString(args[i]), "\"", NULL);
+ return TCL_ERROR;
+ }
+ if (num_pats) {
+ new_pat_list = ZnListNew(num_pats, sizeof(Pixmap));
+ ZnListAssertSize(new_pat_list, num_pats);
+ pats = ZnListArray(new_pat_list);
+ for (j = 0; j < num_pats; j++) {
+ str = Tcl_GetString(elems[j]);
+ if (strlen(str) != 0) {
+ pats[j] = ZnGetImage(wi, str, NULL, NULL);
+ if ((pats[j] == ZnUnspecifiedImage) ||
+ !(is_bmap = ZnImageIsBitmap(pats[j]))) {
+ if (!is_bmap) {
+ ZnFreeImage(pats[j], NULL, NULL);
+ }
+ for (k = 0; k < j; k++) {
+ ZnFreeImage(pats[k], NULL, NULL);
+ }
+ ZnListFree(new_pat_list);
+ Tcl_AppendResult(wi->interp, " unknown pattern \"", str,
+ "\" in pattern list", NULL);
+ return TCL_ERROR;
+ }
+ }
+ else {
+ pats[j] = ZnUnspecifiedImage;
+ }
+ }
+ }
+ if (*((ZnList *) valp)) {
+ num_pats = ZnListSize(*((ZnList *) valp));
+ pats = ZnListArray(*((ZnList *) valp));
+ for (j = 0; j < num_pats; j++) {
+ if (pats[j] != ZnUnspecifiedImage) {
+ ZnFreeImage(pats[j], NULL, NULL);
+ }
+ }
+ ZnListFree(*((ZnList *) valp));
+ *((ZnList *) valp) = new_pat_list;
+ *flags |= desc->flags;
+ }
+ else {
+ if (new_pat_list) {
+ *((ZnList *) valp) = new_pat_list;
+ *flags |= desc->flags;
+ }
+ }
+ break;
}
case ZN_CONFIG_TAG_LIST:
{
- int num_tags, j;
- Tcl_Obj **elems;
-
- if (Tcl_ListObjGetElements(wi->interp, args[i+1],
- &num_tags, &elems) == TCL_ERROR) {
- Tcl_AppendResult(wi->interp,
- " tag list expected for attribute \"",
- Tcl_GetString(args[i]), "\"", NULL);
- return TCL_ERROR;
- }
- if (*((ZnList *) valp)) {
- ZnITEM.FreeTags(item);
- *flags |= desc->flags;
- }
- if (num_tags) {
- for (j = 0; j < num_tags; j++) {
- ZnITEM.AddTag(item, Tk_GetUid(Tcl_GetString(elems[j])));
- }
- *flags |= desc->flags;
- }
- break;
+ int num_tags, j;
+ Tcl_Obj **elems;
+
+ if (Tcl_ListObjGetElements(wi->interp, args[i+1],
+ &num_tags, &elems) == TCL_ERROR) {
+ Tcl_AppendResult(wi->interp,
+ " tag list expected for attribute \"",
+ Tcl_GetString(args[i]), "\"", NULL);
+ return TCL_ERROR;
+ }
+ if (*((ZnList *) valp)) {
+ ZnITEM.FreeTags(item);
+ *flags |= desc->flags;
+ }
+ if (num_tags) {
+ for (j = 0; j < num_tags; j++) {
+ ZnITEM.AddTag(item, Tk_GetUid(Tcl_GetString(elems[j])));
+ }
+ *flags |= desc->flags;
+ }
+ break;
}
case ZN_CONFIG_STRING:
case ZN_CONFIG_MAP_INFO:
{
- char *text = NULL;
- str = Tcl_GetString(args[i+1]);
- if (!*((char **) valp) || strcmp(str, *((char **) valp)) != 0) {
- if (strlen(str)) {
- text = (char *) ZnMalloc(strlen(str)+1);
- strcpy(text, str);
- }
- if (*((char **) valp)) {
- ZnFree(*((char **) valp));
- }
- *((char **) valp) = text;
- *flags |= desc->flags;
- }
- break;
+ char *text = NULL;
+ str = Tcl_GetString(args[i+1]);
+ if (!*((char **) valp) || strcmp(str, *((char **) valp)) != 0) {
+ if (strlen(str)) {
+ text = (char *) ZnMalloc(strlen(str)+1);
+ strcpy(text, str);
+ }
+ if (*((char **) valp)) {
+ ZnFree(*((char **) valp));
+ }
+ *((char **) valp) = text;
+ *flags |= desc->flags;
+ }
+ break;
}
case ZN_CONFIG_FONT:
{
- Tk_Font font;
- Tk_Uid name = "";
- if (*((Tk_Font *) valp)) {
- name = Tk_NameOfFont(*((Tk_Font *) valp));
- }
- str = Tcl_GetString(args[i+1]);
- if (strcmp(name, str) != 0) {
- font = Tk_GetFont(wi->interp, wi->win, str);
- if (!font) {
- Tcl_AppendResult(wi->interp, " font expected for attribute \"",
- Tcl_GetString(args[i]), "\"", NULL);
- return TCL_ERROR;
- }
- if (*((Tk_Font *) valp)) {
- Tk_FreeFont(*((Tk_Font *) valp));
- }
- *((Tk_Font *) valp) = font;
- *flags |= desc->flags;
- }
- break;
+ Tk_Font font;
+ Tk_Uid name = "";
+ if (*((Tk_Font *) valp)) {
+ name = Tk_NameOfFont(*((Tk_Font *) valp));
+ }
+ str = Tcl_GetString(args[i+1]);
+ if (strcmp(name, str) != 0) {
+ font = Tk_GetFont(wi->interp, wi->win, str);
+ if (!font) {
+ Tcl_AppendResult(wi->interp, " font expected for attribute \"",
+ Tcl_GetString(args[i]), "\"", NULL);
+ return TCL_ERROR;
+ }
+ if (*((Tk_Font *) valp)) {
+ Tk_FreeFont(*((Tk_Font *) valp));
+ }
+ *((Tk_Font *) valp) = font;
+ *flags |= desc->flags;
+ }
+ break;
}
case ZN_CONFIG_EDGE_LIST:
{
- ZnBorder border;
-
- if (ZnGetBorder(wi, args[i+1], &border) == TCL_ERROR) {
- Tcl_AppendResult(wi->interp, " edge list expected for attribute \"",
- Tcl_GetString(args[i]), "\"", NULL);
- return TCL_ERROR;
- }
- if (border != *((ZnBorder *) valp)) {
- *((ZnBorder *) valp) = border;
- *flags |= desc->flags;
- }
- break;
+ ZnBorder border;
+
+ if (ZnGetBorder(wi, args[i+1], &border) == TCL_ERROR) {
+ Tcl_AppendResult(wi->interp, " edge list expected for attribute \"",
+ Tcl_GetString(args[i]), "\"", NULL);
+ return TCL_ERROR;
+ }
+ if (border != *((ZnBorder *) valp)) {
+ *((ZnBorder *) valp) = border;
+ *flags |= desc->flags;
+ }
+ break;
}
case ZN_CONFIG_LINE_SHAPE:
{
- ZnLineShape line_shape;
-
- if (ZnGetLineShape(wi, Tcl_GetString(args[i+1]), &line_shape) == TCL_ERROR) {
- Tcl_AppendResult(wi->interp, " line shape expected for attribute \"",
- Tcl_GetString(args[i]), "\"", NULL);
- return TCL_ERROR;
- }
- if (line_shape != *((ZnLineShape *) valp)) {
- *((ZnLineShape *) valp) = line_shape;
- *flags |= desc->flags;
- }
- break;
+ ZnLineShape line_shape;
+
+ if (ZnGetLineShape(wi, Tcl_GetString(args[i+1]), &line_shape) == TCL_ERROR) {
+ Tcl_AppendResult(wi->interp, " line shape expected for attribute \"",
+ Tcl_GetString(args[i]), "\"", NULL);
+ return TCL_ERROR;
+ }
+ if (line_shape != *((ZnLineShape *) valp)) {
+ *((ZnLineShape *) valp) = line_shape;
+ *flags |= desc->flags;
+ }
+ break;
}
case ZN_CONFIG_LINE_STYLE:
{
- ZnLineStyle line_style;
-
- if (ZnGetLineStyle(wi, Tcl_GetString(args[i+1]), &line_style) == TCL_ERROR) {
- Tcl_AppendResult(wi->interp, " line style expected for attribute \"",
- Tcl_GetString(args[i]), "\"", NULL);
- return TCL_ERROR;
- }
- if (line_style != *((ZnLineStyle *) valp)) {
- *((ZnLineStyle *) valp) = line_style;
- *flags |= desc->flags;
- }
- break;
+ ZnLineStyle line_style;
+
+ if (ZnGetLineStyle(wi, Tcl_GetString(args[i+1]), &line_style) == TCL_ERROR) {
+ Tcl_AppendResult(wi->interp, " line style expected for attribute \"",
+ Tcl_GetString(args[i]), "\"", NULL);
+ return TCL_ERROR;
+ }
+ if (line_style != *((ZnLineStyle *) valp)) {
+ *((ZnLineStyle *) valp) = line_style;
+ *flags |= desc->flags;
+ }
+ break;
}
case ZN_CONFIG_LINE_END:
{
- ZnLineEnd line_end = NULL;
- str = Tcl_GetString(args[i+1]);
- if (strlen(str) != 0) {
- line_end = ZnLineEndCreate(wi->interp, str);
- if (line_end == NULL) {
- return TCL_ERROR;
- }
- }
- if (*((ZnLineEnd *) valp) != NULL) {
- ZnLineEndDelete(*((ZnLineEnd *) valp));
- *((ZnLineEnd *) valp) = line_end;
- *flags |= desc->flags;
- }
- else {
- if (line_end != NULL) {
- *((ZnLineEnd *) valp) = line_end;
- *flags |= desc->flags;
- }
- }
- break;
+ ZnLineEnd line_end = NULL;
+ str = Tcl_GetString(args[i+1]);
+ if (strlen(str) != 0) {
+ line_end = ZnLineEndCreate(wi->interp, str);
+ if (line_end == NULL) {
+ return TCL_ERROR;
+ }
+ }
+ if (*((ZnLineEnd *) valp) != NULL) {
+ ZnLineEndDelete(*((ZnLineEnd *) valp));
+ *((ZnLineEnd *) valp) = line_end;
+ *flags |= desc->flags;
+ }
+ else {
+ if (line_end != NULL) {
+ *((ZnLineEnd *) valp) = line_end;
+ *flags |= desc->flags;
+ }
+ }
+ break;
}
case ZN_CONFIG_RELIEF:
{
- ZnReliefStyle relief;
- if (ZnGetRelief(wi, Tcl_GetString(args[i+1]), &relief) == TCL_ERROR) {
- Tcl_AppendResult(wi->interp, " relief expected for attribute \"",
- Tcl_GetString(args[i]), "\"", NULL);
- return TCL_ERROR;
- }
- if (relief != *((ZnReliefStyle *) valp)) {
- /*printf("valp <0x%X>, flags <0x%X>, relief %d\n", valp, flags, relief);*/
- *((ZnReliefStyle *) valp) = relief;
- *flags |= desc->flags;
- }
- break;
+ ZnReliefStyle relief;
+ if (ZnGetRelief(wi, Tcl_GetString(args[i+1]), &relief) == TCL_ERROR) {
+ Tcl_AppendResult(wi->interp, " relief expected for attribute \"",
+ Tcl_GetString(args[i]), "\"", NULL);
+ return TCL_ERROR;
+ }
+ if (relief != *((ZnReliefStyle *) valp)) {
+ /*printf("valp <0x%X>, flags <0x%X>, relief %d\n", valp, flags, relief);*/
+ *((ZnReliefStyle *) valp) = relief;
+ *flags |= desc->flags;
+ }
+ break;
}
case ZN_CONFIG_JOIN_STYLE:
{
- int join;
- if (Tk_GetJoinStyle(wi->interp, Tcl_GetString(args[i+1]), &join) == TCL_ERROR) {
- Tcl_AppendResult(wi->interp, " join expected for attribute \"",
- Tcl_GetString(args[i]), "\"", NULL);
- return TCL_ERROR;
- }
- if (join != *((int *) valp)) {
- *((int *) valp) = join;
- *flags |= desc->flags;
- }
- break;
+ int join;
+ if (Tk_GetJoinStyle(wi->interp, Tcl_GetString(args[i+1]), &join) == TCL_ERROR) {
+ Tcl_AppendResult(wi->interp, " join expected for attribute \"",
+ Tcl_GetString(args[i]), "\"", NULL);
+ return TCL_ERROR;
+ }
+ if (join != *((int *) valp)) {
+ *((int *) valp) = join;
+ *flags |= desc->flags;
+ }
+ break;
}
case ZN_CONFIG_CAP_STYLE:
{
- int cap;
- if (Tk_GetCapStyle(wi->interp, Tcl_GetString(args[i+1]), &cap) == TCL_ERROR) {
- Tcl_AppendResult(wi->interp, " cap expected for attribute \"",
- Tcl_GetString(args[i]), "\"", NULL);
- return TCL_ERROR;
- }
- if (cap != *((int *) valp)) {
- *((int *) valp) = cap;
- *flags |= desc->flags;
- }
- break;
+ int cap;
+ if (Tk_GetCapStyle(wi->interp, Tcl_GetString(args[i+1]), &cap) == TCL_ERROR) {
+ Tcl_AppendResult(wi->interp, " cap expected for attribute \"",
+ Tcl_GetString(args[i]), "\"", NULL);
+ return TCL_ERROR;
+ }
+ if (cap != *((int *) valp)) {
+ *((int *) valp) = cap;
+ *flags |= desc->flags;
+ }
+ break;
}
case ZN_CONFIG_POINT:
{
- ZnPoint point;
- int largc;
- Tcl_Obj **largv;
- double d;
-
- if ((Tcl_ListObjGetElements(wi->interp, args[i+1],
- &largc, &largv) == TCL_ERROR) ||
- (largc != 2)) {
- point_error:
- Tcl_AppendResult(wi->interp, " position expected for attribute \"",
- Tcl_GetString(args[i]), "\"", NULL);
- return TCL_ERROR;
- }
- if (Tcl_GetDoubleFromObj(wi->interp, largv[0], &d) == TCL_ERROR) {
- goto point_error;
- }
- point.x = d;
- if (Tcl_GetDoubleFromObj(wi->interp, largv[1], &d) == TCL_ERROR) {
- goto point_error;
- }
- point.y = d;
- if ((point.x != ((ZnPoint *) valp)->x) ||
- (point.y != ((ZnPoint *) valp)->y)) {
- *((ZnPoint *) valp) = point;
- *flags |= desc->flags;
- }
- break;
+ ZnPoint point;
+ int largc;
+ Tcl_Obj **largv;
+ double d;
+
+ if ((Tcl_ListObjGetElements(wi->interp, args[i+1],
+ &largc, &largv) == TCL_ERROR) ||
+ (largc != 2)) {
+ point_error:
+ Tcl_AppendResult(wi->interp, " position expected for attribute \"",
+ Tcl_GetString(args[i]), "\"", NULL);
+ return TCL_ERROR;
+ }
+ if (Tcl_GetDoubleFromObj(wi->interp, largv[0], &d) == TCL_ERROR) {
+ goto point_error;
+ }
+ point.x = d;
+ if (Tcl_GetDoubleFromObj(wi->interp, largv[1], &d) == TCL_ERROR) {
+ goto point_error;
+ }
+ point.y = d;
+ if ((point.x != ((ZnPoint *) valp)->x) ||
+ (point.y != ((ZnPoint *) valp)->y)) {
+ *((ZnPoint *) valp) = point;
+ *flags |= desc->flags;
+ }
+ break;
}
case ZN_CONFIG_DIM:
{
- ZnDim dim;
- if (Tcl_GetDoubleFromObj(wi->interp, args[i+1], &dim) == TCL_ERROR) {
- Tcl_AppendResult(wi->interp, " dimension expected for attribute \"",
- Tcl_GetString(args[i+1]), "\"", NULL);
- return TCL_ERROR;
- }
- if (dim != *((ZnDim *) valp)) {
- *((ZnDim *) valp) = dim;
- *flags |= desc->flags;
- }
- break;
+ ZnDim dim;
+ if (Tcl_GetDoubleFromObj(wi->interp, args[i+1], &dim) == TCL_ERROR) {
+ Tcl_AppendResult(wi->interp, " dimension expected for attribute \"",
+ Tcl_GetString(args[i+1]), "\"", NULL);
+ return TCL_ERROR;
+ }
+ if (dim != *((ZnDim *) valp)) {
+ *((ZnDim *) valp) = dim;
+ *flags |= desc->flags;
+ }
+ break;
}
case ZN_CONFIG_PRI:
{
- int pri;
- if (Tcl_GetIntFromObj(wi->interp, args[i+1], &pri) == TCL_ERROR) {
- return TCL_ERROR;
- }
- if (pri < 0) {
- Tcl_AppendResult(wi->interp, " priority must be a positive integer \"",
- Tcl_GetString(args[i+1]), "\"", NULL);
- return TCL_ERROR;
- }
- if (pri != *((unsigned short *) valp)) {
- *((unsigned short *) valp) = pri;
- ZnITEM.UpdateItemPriority(item, ZN_NO_ITEM, True);
- *flags |= desc->flags;
- }
- break;
+ int pri;
+ if (Tcl_GetIntFromObj(wi->interp, args[i+1], &pri) == TCL_ERROR) {
+ return TCL_ERROR;
+ }
+ if (pri < 0) {
+ Tcl_AppendResult(wi->interp, " priority must be a positive integer \"",
+ Tcl_GetString(args[i+1]), "\"", NULL);
+ return TCL_ERROR;
+ }
+ if (pri != *((unsigned short *) valp)) {
+ *((unsigned short *) valp) = pri;
+ ZnITEM.UpdateItemPriority(item, ZN_NO_ITEM, True);
+ *flags |= desc->flags;
+ }
+ break;
}
case ZN_CONFIG_ITEM:
/*
@@ -778,275 +778,275 @@ ZnConfigureAttributes(ZnWInfo *wi,
* associated with the tag.
*/
{
- ZnItem item2;
- int result;
- ZnTagSearch *search_var = NULL;
-
- if (strlen(Tcl_GetString(args[i+1])) == 0) {
- item2 = ZN_NO_ITEM;
- }
- else {
- result = ZnItemWithTagOrId(wi, args[i+1], &item2, &search_var);
- ZnTagSearchDestroy(search_var);
- if ((result == TCL_ERROR) || (item2 == ZN_NO_ITEM)) {
- Tcl_AppendResult(wi->interp, " unknown item \"",
- Tcl_GetString(args[i+1]), "\"", NULL);
- return TCL_ERROR;
- }
- }
- if (item2 != *((ZnItem *) valp)) {
- *((ZnItem *) valp) = item2;
- *flags |= desc->flags;
- }
+ ZnItem item2;
+ int result;
+ ZnTagSearch *search_var = NULL;
+
+ if (strlen(Tcl_GetString(args[i+1])) == 0) {
+ item2 = ZN_NO_ITEM;
+ }
+ else {
+ result = ZnItemWithTagOrId(wi, args[i+1], &item2, &search_var);
+ ZnTagSearchDestroy(search_var);
+ if ((result == TCL_ERROR) || (item2 == ZN_NO_ITEM)) {
+ Tcl_AppendResult(wi->interp, " unknown item \"",
+ Tcl_GetString(args[i+1]), "\"", NULL);
+ return TCL_ERROR;
+ }
+ }
+ if (item2 != *((ZnItem *) valp)) {
+ *((ZnItem *) valp) = item2;
+ *flags |= desc->flags;
+ }
}
break;
case ZN_CONFIG_WINDOW:
{
- Tk_Window win, ancestor, parent;
- str = Tcl_GetString(args[i+1]);
- if (strlen(str) == 0) {
- win = NULL;
- }
- else {
- win = Tk_NameToWindow(wi->interp, str, wi->win);
- if (win == NULL) {
- return TCL_ERROR;
- }
- else {
- /*
- * Make sure that the zinc widget is either the parent of the
- * window associated with the item or a descendant of that
- * parent. Also, don't allow a toplevel window or the widget
- * itself to be managed.
- */
- parent = Tk_Parent(win);
- for (ancestor = wi->win; ; ancestor = Tk_Parent(ancestor)) {
- if (ancestor == parent) {
- break;
- }
- if (((Tk_FakeWin *) (ancestor))->flags & TK_TOP_LEVEL) {
- badWindow:
- Tcl_AppendResult(wi->interp, "can't use ",
- Tk_PathName(win),
- " in a window item of this zinc widget",
- (char *) NULL);
- win = NULL;
- return TCL_ERROR;
- }
- }
- if (((Tk_FakeWin *) (win))->flags & TK_TOP_LEVEL) {
- goto badWindow;
- }
- if (win == wi->win) {
- goto badWindow;
- }
- if (win != *((Tk_Window *) valp)) {
- *((Tk_Window *) valp) = win;
- *flags |= desc->flags;
- }
- }
- }
+ Tk_Window win, ancestor, parent;
+ str = Tcl_GetString(args[i+1]);
+ if (strlen(str) == 0) {
+ win = NULL;
+ }
+ else {
+ win = Tk_NameToWindow(wi->interp, str, wi->win);
+ if (win == NULL) {
+ return TCL_ERROR;
+ }
+ else {
+ /*
+ * Make sure that the zinc widget is either the parent of the
+ * window associated with the item or a descendant of that
+ * parent. Also, don't allow a toplevel window or the widget
+ * itself to be managed.
+ */
+ parent = Tk_Parent(win);
+ for (ancestor = wi->win; ; ancestor = Tk_Parent(ancestor)) {
+ if (ancestor == parent) {
+ break;
+ }
+ if (((Tk_FakeWin *) (ancestor))->flags & TK_TOP_LEVEL) {
+ badWindow:
+ Tcl_AppendResult(wi->interp, "can't use ",
+ Tk_PathName(win),
+ " in a window item of this zinc widget",
+ (char *) NULL);
+ win = NULL;
+ return TCL_ERROR;
+ }
+ }
+ if (((Tk_FakeWin *) (win))->flags & TK_TOP_LEVEL) {
+ goto badWindow;
+ }
+ if (win == wi->win) {
+ goto badWindow;
+ }
+ if (win != *((Tk_Window *) valp)) {
+ *((Tk_Window *) valp) = win;
+ *flags |= desc->flags;
+ }
+ }
+ }
}
break;
case ZN_CONFIG_CHAR:
case ZN_CONFIG_UCHAR:
case ZN_CONFIG_ALPHA:
{
- int integer;
- if (Tcl_GetIntFromObj(wi->interp, args[i+1], &integer) == TCL_ERROR) {
- return TCL_ERROR;
- }
- switch (desc->type) {
- case ZN_CONFIG_UCHAR:
- if (integer < 0) {
- integer = 0;
- }
- case ZN_CONFIG_ALPHA:
- if (integer < 0) {
- integer = 0;
- }
- if (integer > 100) {
- integer = 100;
- }
- break;
- }
- if (integer != *((char *) valp)) {
- *((char *) valp) = integer;
- *flags |= desc->flags;
- }
- break;
+ int integer;
+ if (Tcl_GetIntFromObj(wi->interp, args[i+1], &integer) == TCL_ERROR) {
+ return TCL_ERROR;
+ }
+ switch (desc->type) {
+ case ZN_CONFIG_UCHAR:
+ if (integer < 0) {
+ integer = 0;
+ }
+ case ZN_CONFIG_ALPHA:
+ if (integer < 0) {
+ integer = 0;
+ }
+ if (integer > 100) {
+ integer = 100;
+ }
+ break;
+ }
+ if (integer != *((char *) valp)) {
+ *((char *) valp) = integer;
+ *flags |= desc->flags;
+ }
+ break;
}
case ZN_CONFIG_SHORT:
case ZN_CONFIG_USHORT:
{
- int integer;
- if (Tcl_GetIntFromObj(wi->interp, args[i+1], &integer) == TCL_ERROR) {
- return TCL_ERROR;
- }
- if (desc->type == ZN_CONFIG_SHORT) {
- if (integer < SHRT_MIN) {
- integer = SHRT_MIN;
- }
- else if (integer > SHRT_MAX) {
- integer = SHRT_MAX;
- }
- if (integer != *((short *) valp)) {
- *((short *) valp) = integer;
- *flags |= desc->flags;
- }
- }
- else {
- if (integer < 0) {
- integer = 0;
- }
- else if (integer > USHRT_MAX) {
- integer = USHRT_MAX;
- }
- if (integer != *((unsigned short *) valp)) {
- *((unsigned short *) valp) = integer;
- *flags |= desc->flags;
- }
- }
- break;
+ int integer;
+ if (Tcl_GetIntFromObj(wi->interp, args[i+1], &integer) == TCL_ERROR) {
+ return TCL_ERROR;
+ }
+ if (desc->type == ZN_CONFIG_SHORT) {
+ if (integer < SHRT_MIN) {
+ integer = SHRT_MIN;
+ }
+ else if (integer > SHRT_MAX) {
+ integer = SHRT_MAX;
+ }
+ if (integer != *((short *) valp)) {
+ *((short *) valp) = integer;
+ *flags |= desc->flags;
+ }
+ }
+ else {
+ if (integer < 0) {
+ integer = 0;
+ }
+ else if (integer > USHRT_MAX) {
+ integer = USHRT_MAX;
+ }
+ if (integer != *((unsigned short *) valp)) {
+ *((unsigned short *) valp) = integer;
+ *flags |= desc->flags;
+ }
+ }
+ break;
}
case ZN_CONFIG_INT:
case ZN_CONFIG_UINT:
case ZN_CONFIG_ANGLE:
{
- int integer;
- if (Tcl_GetIntFromObj(wi->interp, args[i+1], &integer) == TCL_ERROR) {
- return TCL_ERROR;
- }
- switch (desc->type) {
- case ZN_CONFIG_ANGLE:
- if ((integer > 360) || (integer < -360)) {
- integer = integer % 360;
- }
- break;
- case ZN_CONFIG_UINT:
- if (integer < 0) {
- integer = 0;
- }
- break;
- }
- if (integer != *((int *) valp)) {
- *((int *) valp) = integer;
- *flags |= desc->flags;
- }
- break;
+ int integer;
+ if (Tcl_GetIntFromObj(wi->interp, args[i+1], &integer) == TCL_ERROR) {
+ return TCL_ERROR;
+ }
+ switch (desc->type) {
+ case ZN_CONFIG_ANGLE:
+ if ((integer > 360) || (integer < -360)) {
+ integer = integer % 360;
+ }
+ break;
+ case ZN_CONFIG_UINT:
+ if (integer < 0) {
+ integer = 0;
+ }
+ break;
+ }
+ if (integer != *((int *) valp)) {
+ *((int *) valp) = integer;
+ *flags |= desc->flags;
+ }
+ break;
}
case ZN_CONFIG_FILL_RULE:
{
- ZnFillRule fill_rule;
-
- if (ZnGetFillRule(wi, Tcl_GetString(args[i+1]), &fill_rule) == TCL_ERROR) {
- Tcl_AppendResult(wi->interp, " fill rule expected for attribute \"",
- Tcl_GetString(args[i]), "\"", NULL);
- return TCL_ERROR;
- }
- if (fill_rule != *((ZnFillRule *) valp)) {
- *((ZnFillRule *) valp) = fill_rule;
- *flags |= desc->flags;
- }
- break;
+ ZnFillRule fill_rule;
+
+ if (ZnGetFillRule(wi, Tcl_GetString(args[i+1]), &fill_rule) == TCL_ERROR) {
+ Tcl_AppendResult(wi->interp, " fill rule expected for attribute \"",
+ Tcl_GetString(args[i]), "\"", NULL);
+ return TCL_ERROR;
+ }
+ if (fill_rule != *((ZnFillRule *) valp)) {
+ *((ZnFillRule *) valp) = fill_rule;
+ *flags |= desc->flags;
+ }
+ break;
}
case ZN_CONFIG_ALIGNMENT:
{
- Tk_Justify justify;
- if (Tk_GetJustify(wi->interp, Tcl_GetString(args[i+1]), &justify) == TCL_ERROR) {
- Tcl_AppendResult(wi->interp, " justify expected for attribute \"",
- Tcl_GetString(args[i]), "\"", NULL);
- return TCL_ERROR;
- }
- if (justify != *((Tk_Justify *) valp)) {
- *((Tk_Justify *) valp) = justify;
- *flags |= desc->flags;
- }
- break;
+ Tk_Justify justify;
+ if (Tk_GetJustify(wi->interp, Tcl_GetString(args[i+1]), &justify) == TCL_ERROR) {
+ Tcl_AppendResult(wi->interp, " justify expected for attribute \"",
+ Tcl_GetString(args[i]), "\"", NULL);
+ return TCL_ERROR;
+ }
+ if (justify != *((Tk_Justify *) valp)) {
+ *((Tk_Justify *) valp) = justify;
+ *flags |= desc->flags;
+ }
+ break;
}
case ZN_CONFIG_ANCHOR:
{
- Tk_Anchor anchor;
- if (Tk_GetAnchor(wi->interp, Tcl_GetString(args[i+1]), &anchor) == TCL_ERROR) {
- Tcl_AppendResult(wi->interp, " anchor expected for attribute \"",
- Tcl_GetString(args[i]), "\"", NULL);
- return TCL_ERROR;
- }
- if (anchor != *((Tk_Anchor *) valp)) {
- *((Tk_Anchor *) valp) = anchor;
- *flags |= desc->flags;
- }
- break;
+ Tk_Anchor anchor;
+ if (Tk_GetAnchor(wi->interp, Tcl_GetString(args[i+1]), &anchor) == TCL_ERROR) {
+ Tcl_AppendResult(wi->interp, " anchor expected for attribute \"",
+ Tcl_GetString(args[i]), "\"", NULL);
+ return TCL_ERROR;
+ }
+ if (anchor != *((Tk_Anchor *) valp)) {
+ *((Tk_Anchor *) valp) = anchor;
+ *flags |= desc->flags;
+ }
+ break;
}
case ZN_CONFIG_LABEL_FORMAT:
{
- ZnLabelFormat frmt = NULL;
-
- str = Tcl_GetString(args[i+1]);
- while (*str && (*str == ' ')) {
- str++;
- }
- if (strlen(str) != 0) {
- frmt = ZnLFCreate(wi->interp, str,
- ZnFIELD.NumFields(item->class->GetFieldSet(item)));
- if (frmt == NULL) {
- return TCL_ERROR;
- }
- }
-
- if (*((ZnLabelFormat *) valp) != NULL) {
- ZnLFDelete(*((ZnLabelFormat *) valp));
- *((ZnLabelFormat *) valp) = frmt;
- *flags |= desc->flags;
- }
- else {
- if (frmt != NULL) {
- *((ZnLabelFormat *) valp) = frmt;
- *flags |= desc->flags;
- }
- }
- break;
+ ZnLabelFormat frmt = NULL;
+
+ str = Tcl_GetString(args[i+1]);
+ while (*str && (*str == ' ')) {
+ str++;
+ }
+ if (strlen(str) != 0) {
+ frmt = ZnLFCreate(wi->interp, str,
+ ZnFIELD.NumFields(item->class->GetFieldSet(item)));
+ if (frmt == NULL) {
+ return TCL_ERROR;
+ }
+ }
+
+ if (*((ZnLabelFormat *) valp) != NULL) {
+ ZnLFDelete(*((ZnLabelFormat *) valp));
+ *((ZnLabelFormat *) valp) = frmt;
+ *flags |= desc->flags;
+ }
+ else {
+ if (frmt != NULL) {
+ *((ZnLabelFormat *) valp) = frmt;
+ *flags |= desc->flags;
+ }
+ }
+ break;
}
case ZN_CONFIG_AUTO_ALIGNMENT:
{
- ZnAutoAlign aa;
-
- if (ZnGetAutoAlign(wi, Tcl_GetString(args[i+1]), &aa) == TCL_ERROR) {
- Tcl_AppendResult(wi->interp, " auto alignment expected for attribute \"",
- Tcl_GetString(args[i]), "\"", NULL);
- return TCL_ERROR;
- }
- if ((aa.automatic != ((ZnAutoAlign *) valp)->automatic) ||
- (aa.align[0] != ((ZnAutoAlign *) valp)->align[0]) ||
- (aa.align[1] != ((ZnAutoAlign *) valp)->align[1]) ||
- (aa.align[2] != ((ZnAutoAlign *) valp)->align[2])) {
- *((ZnAutoAlign *) valp) = aa;
- *flags |= desc->flags;
- }
- break;
+ ZnAutoAlign aa;
+
+ if (ZnGetAutoAlign(wi, Tcl_GetString(args[i+1]), &aa) == TCL_ERROR) {
+ Tcl_AppendResult(wi->interp, " auto alignment expected for attribute \"",
+ Tcl_GetString(args[i]), "\"", NULL);
+ return TCL_ERROR;
+ }
+ if ((aa.automatic != ((ZnAutoAlign *) valp)->automatic) ||
+ (aa.align[0] != ((ZnAutoAlign *) valp)->align[0]) ||
+ (aa.align[1] != ((ZnAutoAlign *) valp)->align[1]) ||
+ (aa.align[2] != ((ZnAutoAlign *) valp)->align[2])) {
+ *((ZnAutoAlign *) valp) = aa;
+ *flags |= desc->flags;
+ }
+ break;
}
case ZN_CONFIG_LEADER_ANCHORS:
{
- ZnLeaderAnchors lanch = NULL;
- if (ZnGetLeaderAnchors(wi, Tcl_GetString(args[i+1]), &lanch) == TCL_ERROR) {
- Tcl_AppendResult(wi->interp, " leader anchors expected for attribute \"",
- Tcl_GetString(args[i]), "\"", NULL);
- return TCL_ERROR;
- }
- if (*((ZnLeaderAnchors *) valp) != NULL) {
- ZnFree(*((ZnLeaderAnchors *) valp));
- *((ZnLeaderAnchors *) valp) = lanch;
- *flags |= desc->flags;
- }
- else {
- if (lanch != NULL) {
- *((ZnLeaderAnchors *) valp) = lanch;
- *flags |= desc->flags;
- }
- }
- break;
+ ZnLeaderAnchors lanch = NULL;
+ if (ZnGetLeaderAnchors(wi, Tcl_GetString(args[i+1]), &lanch) == TCL_ERROR) {
+ Tcl_AppendResult(wi->interp, " leader anchors expected for attribute \"",
+ Tcl_GetString(args[i]), "\"", NULL);
+ return TCL_ERROR;
+ }
+ if (*((ZnLeaderAnchors *) valp) != NULL) {
+ ZnFree(*((ZnLeaderAnchors *) valp));
+ *((ZnLeaderAnchors *) valp) = lanch;
+ *flags |= desc->flags;
+ }
+ else {
+ if (lanch != NULL) {
+ *((ZnLeaderAnchors *) valp) = lanch;
+ *flags |= desc->flags;
+ }
+ }
+ break;
}
}
}
@@ -1060,23 +1060,23 @@ ZnConfigureAttributes(ZnWInfo *wi,
*
* AttributeToObj --
*
- * Returns the obj representation of the attribute pointed
- * by 'valp'. The attribute type is given by 'type'. The function
- * never fail.
+ * Returns the obj representation of the attribute pointed
+ * by 'valp'. The attribute type is given by 'type'. The function
+ * never fail.
*
**********************************************************************************
*/
static void
-AttributeToObj(Tcl_Interp *interp,
- void *record,
- ZnAttrConfig *desc,
- Tcl_Obj *result)
+AttributeToObj(Tcl_Interp *interp,
+ void *record,
+ ZnAttrConfig *desc,
+ Tcl_Obj *result)
{
- char *valp = ((char *) record) + desc->offset;
- char *str = "";
- Tcl_Obj *o;
- unsigned int i;
- char buffer[256];
+ char *valp = ((char *) record) + desc->offset;
+ char *str = "";
+ Tcl_Obj *o;
+ unsigned int i;
+ char buffer[256];
switch (desc->type) {
case ZN_CONFIG_GRADIENT:
@@ -1090,14 +1090,14 @@ AttributeToObj(Tcl_Interp *interp,
ZnGradient **grads;
if (*((ZnList *) valp)) {
- grads = ZnListArray(*((ZnList *) valp));
- num_grads = ZnListSize(*((ZnList *) valp));
-
- for (i = 0; i < num_grads; i++) {
- o = Tcl_NewStringObj(ZnNameOfGradient(grads[i]), -1);
- Tcl_ListObjAppendElement(interp, result, o);
- }
- return;
+ grads = ZnListArray(*((ZnList *) valp));
+ num_grads = ZnListSize(*((ZnList *) valp));
+
+ for (i = 0; i < num_grads; i++) {
+ o = Tcl_NewStringObj(ZnNameOfGradient(grads[i]), -1);
+ Tcl_ListObjAppendElement(interp, result, o);
+ }
+ return;
}
}
break;
@@ -1113,38 +1113,38 @@ AttributeToObj(Tcl_Interp *interp,
case ZN_CONFIG_BITMAP_LIST:
{
unsigned int num_pats=0;
- ZnImage *pats;
+ ZnImage *pats;
if (*((ZnList *) valp)) {
- pats = (ZnImage *) ZnListArray(*((ZnList *) valp));
- num_pats = ZnListSize(*((ZnList *) valp));
-
- for (i = 0; i < num_pats; i++) {
- if (pats[i] != ZnUnspecifiedImage) {
- o = Tcl_NewStringObj(ZnNameOfImage(pats[i]), -1);
- }
- else {
- o = Tcl_NewStringObj("", -1);
- }
- Tcl_ListObjAppendElement(interp, result, o);
- }
- return;
+ pats = (ZnImage *) ZnListArray(*((ZnList *) valp));
+ num_pats = ZnListSize(*((ZnList *) valp));
+
+ for (i = 0; i < num_pats; i++) {
+ if (pats[i] != ZnUnspecifiedImage) {
+ o = Tcl_NewStringObj(ZnNameOfImage(pats[i]), -1);
+ }
+ else {
+ o = Tcl_NewStringObj("", -1);
+ }
+ Tcl_ListObjAppendElement(interp, result, o);
+ }
+ return;
}
break;
}
case ZN_CONFIG_TAG_LIST:
{
unsigned int num_tags=0;
- Tk_Uid *tags;
+ Tk_Uid *tags;
if (*((ZnList *) valp)) {
- tags = (Tk_Uid *) ZnListArray(*((ZnList *) valp));
- num_tags = ZnListSize(*((ZnList *) valp));
- for (i = 0; i < num_tags; i++) {
- Tcl_ListObjAppendElement(interp, result,
- Tcl_NewStringObj(tags[i], -1));
- }
- return;
+ tags = (Tk_Uid *) ZnListArray(*((ZnList *) valp));
+ num_tags = ZnListSize(*((ZnList *) valp));
+ for (i = 0; i < num_tags; i++) {
+ Tcl_ListObjAppendElement(interp, result,
+ Tcl_NewStringObj(tags[i], -1));
+ }
+ return;
}
break;
}
@@ -1257,12 +1257,12 @@ AttributeToObj(Tcl_Interp *interp,
**********************************************************************************
*/
int
-ZnQueryAttribute(Tcl_Interp *interp,
- void *record,
- ZnAttrConfig *desc_table,
- Tcl_Obj *attr_name)
+ZnQueryAttribute(Tcl_Interp *interp,
+ void *record,
+ ZnAttrConfig *desc_table,
+ Tcl_Obj *attr_name)
{
- ZnAttrConfig *desc = GetAttrDesc(interp, attr_name, desc_table);
+ ZnAttrConfig *desc = GetAttrDesc(interp, attr_name, desc_table);
if (!desc) {
return TCL_ERROR;
@@ -1294,10 +1294,10 @@ ZnItemClassList()
**********************************************************************************
*/
ZnItemClass
-ZnLookupItemClass(char *class_name)
+ZnLookupItemClass(char *class_name)
{
- ZnItemClass *class;
- int i, num_classes;
+ ZnItemClass *class;
+ int i, num_classes;
class = (ZnItemClass *) ZnListArray(item_classes);
num_classes = ZnListSize(item_classes);
@@ -1318,7 +1318,7 @@ ZnLookupItemClass(char *class_name)
**********************************************************************************
*/
void
-ZnAddItemClass(ZnItemClass class)
+ZnAddItemClass(ZnItemClass class)
{
if (!ZnLookupItemClass(class->name)) {
ZnListAdd(item_classes, &class, ZnListTail);
@@ -1330,7 +1330,7 @@ ZnAddItemClass(ZnItemClass class)
**********************************************************************************
*
* ZnItemInit --
- * Initialize classes static state.
+ * Initialize classes static state.
*
**********************************************************************************
*/
@@ -1364,14 +1364,14 @@ ZnItemInit()
**********************************************************************************
*
* UpdateItemDependency -- Method
- * Update the group dependency list following a change in the
- * connection of an item.
+ * Update the group dependency list following a change in the
+ * connection of an item.
*
**********************************************************************************
*/
static void
-UpdateItemDependency(ZnItem item,
- ZnItem old_connection)
+UpdateItemDependency(ZnItem item,
+ ZnItem old_connection)
{
if (old_connection == ZN_NO_ITEM) {
/* Add a connection */
@@ -1395,16 +1395,16 @@ UpdateItemDependency(ZnItem item,
**********************************************************************************
*
* ExtractItem --
- * Extract an item from its context, includes updating graphic
- * state flags.
+ * Extract an item from its context, includes updating graphic
+ * state flags.
*
**********************************************************************************
*/
static void
-ExtractItem(ZnItem item)
+ExtractItem(ZnItem item)
{
- ZnWInfo *wi = item->wi;
- ZnItem group = item->parent;
+ ZnWInfo *wi = item->wi;
+ ZnItem group = item->parent;
/* damage bounding boxes */
if (ISSET(item->flags, ZN_VISIBLE_BIT)) {
@@ -1441,19 +1441,19 @@ ExtractItem(ZnItem item)
*
* InsertItem -- Method
*
- * Insert an item in the display list according to its priority.
- * It is inserted in front of items of lower or same priority. If
- * mark_item is not ZN_NO_ITEM the insertion is done relative
- * to this item, before it if 'before' is True, after it otherwise.
- * mark_item must be in the group 'group'.
+ * Insert an item in the display list according to its priority.
+ * It is inserted in front of items of lower or same priority. If
+ * mark_item is not ZN_NO_ITEM the insertion is done relative
+ * to this item, before it if 'before' is True, after it otherwise.
+ * mark_item must be in the group 'group'.
*
**********************************************************************************
*/
static void
-InsertItem(ZnItem item,
- ZnItem grp,
- ZnItem mark_item,
- ZnBool before)
+InsertItem(ZnItem item,
+ ZnItem grp,
+ ZnItem mark_item,
+ ZnBool before)
{
if (!grp) {
grp = item->wi->top_group;
@@ -1472,17 +1472,17 @@ InsertItem(ZnItem item,
**********************************************************************************
*
* UpdateItemPriority -- Method
- * Reorder a group's item list following a change in an
- * item priority or a call to lower/raise.
+ * Reorder a group's item list following a change in an
+ * item priority or a call to lower/raise.
*
**********************************************************************************
*/
static void
-UpdateItemPriority(ZnItem item,
- ZnItem mark_item,
- ZnBool before)
+UpdateItemPriority(ZnItem item,
+ ZnItem mark_item,
+ ZnBool before)
{
- ZnItem parent = item->parent;
+ ZnItem parent = item->parent;
ZnGroupExtractItem(item);
InsertItem(item, parent, mark_item, before);
@@ -1496,19 +1496,19 @@ UpdateItemPriority(ZnItem item,
*
* SetId,
* FreeId -- Method
- * Get a fresh object id from the widget and enter the new
- * object with this id in the object hash table. The id is
- * incremented. FreeId on the other hand suppress the item
- * from the hash table and set its object id to zero.
+ * Get a fresh object id from the widget and enter the new
+ * object with this id in the object hash table. The id is
+ * incremented. FreeId on the other hand suppress the item
+ * from the hash table and set its object id to zero.
*
**********************************************************************************
*/
static void
-SetId(ZnItem item)
+SetId(ZnItem item)
{
- ZnWInfo *wi = item->wi;
- Tcl_HashEntry *entry;
- int dummy;
+ ZnWInfo *wi = item->wi;
+ Tcl_HashEntry *entry;
+ int dummy;
item->id = wi->obj_id;
wi->obj_id++;
@@ -1517,9 +1517,9 @@ SetId(ZnItem item)
}
static void
-FreeId(ZnItem item)
+FreeId(ZnItem item)
{
- Tcl_HashEntry *entry;
+ Tcl_HashEntry *entry;
if (item->id) {
entry = Tcl_FindHashEntry(item->wi->id_table, (char *) item->id);
@@ -1534,19 +1534,19 @@ FreeId(ZnItem item)
**********************************************************************************
*
* AddTag -- Method
- * Add a tag to the item. If the tag is already on the list it
- * is not added. As a side effect the tag/item pair is added to
- * the tag table of the widget.
- * 'tag' must be a Tk_Uid.
+ * Add a tag to the item. If the tag is already on the list it
+ * is not added. As a side effect the tag/item pair is added to
+ * the tag table of the widget.
+ * 'tag' must be a Tk_Uid.
*
**********************************************************************************
*/
static void
-AddTag(ZnItem item,
- Tk_Uid tag)
+AddTag(ZnItem item,
+ Tk_Uid tag)
{
- int num, i;
- char **ptr;
+ int num, i;
+ char **ptr;
/*
* No tags yet.
@@ -1562,7 +1562,7 @@ AddTag(ZnItem item,
num = ZnListSize(item->tags);
for (i = 0; i < num; i++) {
if (ptr[i] == tag) {
- return;
+ return;
}
}
}
@@ -1580,11 +1580,11 @@ AddTag(ZnItem item,
**********************************************************************************
*/
static void
-RemoveTag(ZnItem item,
- Tk_Uid tag)
+RemoveTag(ZnItem item,
+ Tk_Uid tag)
{
- unsigned int indx, num;
- char **ptr;
+ unsigned int indx, num;
+ char **ptr;
if (!item->tags) {
return;
@@ -1612,7 +1612,7 @@ RemoveTag(ZnItem item,
**********************************************************************************
*/
static void
-FreeTags(ZnItem item)
+FreeTags(ZnItem item)
{
if (!item->tags) {
return;
@@ -1630,11 +1630,11 @@ FreeTags(ZnItem item)
**********************************************************************************
*/
static ZnBool
-HasTag(ZnItem item,
- Tk_Uid tag)
+HasTag(ZnItem item,
+ Tk_Uid tag)
{
- int num;
- Tk_Uid *tags;
+ int num;
+ Tk_Uid *tags;
if (!item->tags || !ZnListSize(item->tags)) {
return False;
@@ -1644,7 +1644,7 @@ HasTag(ZnItem item,
tags = ZnListArray(item->tags);
for (tags = ZnListArray(item->tags); num > 0; tags++, num--) {
if (*tags == tag) {
- return True;
+ return True;
}
}
}
@@ -1657,21 +1657,21 @@ HasTag(ZnItem item,
*
* ZnCreateItem --
*
- * InsertItem and ConfigureItem must be called after CreateItem
- * to finalize the setup of a new item. This is so even if
- * there are no attributes to be changed after creation.
- * ConfigureItem must be called in this case with the 'init'
- * parameter set to True.
+ * InsertItem and ConfigureItem must be called after CreateItem
+ * to finalize the setup of a new item. This is so even if
+ * there are no attributes to be changed after creation.
+ * ConfigureItem must be called in this case with the 'init'
+ * parameter set to True.
*
**********************************************************************************
*/
ZnItem
-ZnCreateItem(ZnWInfo *wi,
- ZnItemClass item_class,
- int *argc,
- Tcl_Obj *CONST *args[])
+ZnCreateItem(ZnWInfo *wi,
+ ZnItemClass item_class,
+ int *argc,
+ Tcl_Obj *CONST *args[])
{
- ZnItem item;
+ ZnItem item;
item = ZnMalloc(item_class->size);
@@ -1713,18 +1713,18 @@ ZnCreateItem(ZnWInfo *wi,
**********************************************************************************
*
* CloneItem -- Method
- * Can't clone the top level group.
+ * Can't clone the top level group.
*
**********************************************************************************
*/
static ZnItem
-CloneItem(ZnItem model)
+CloneItem(ZnItem model)
{
- ZnWInfo *wi = model->wi;
- ZnItem item;
- Tk_Uid *tags;
- unsigned int num_tags;
- int i;
+ ZnWInfo *wi = model->wi;
+ ZnItem item;
+ Tk_Uid *tags;
+ unsigned int num_tags;
+ int i;
if (!model->parent) {
return ZN_NO_ITEM;
@@ -1773,31 +1773,31 @@ CloneItem(ZnItem model)
**********************************************************************************
*/
static int
-ConfigureItem(ZnItem item,
- int field,
- int argc,
- Tcl_Obj *CONST argv[],
- ZnBool init)
+ConfigureItem(ZnItem item,
+ int field,
+ int argc,
+ Tcl_Obj *CONST argv[],
+ ZnBool init)
{
- ZnWInfo *wi = item->wi;
- int flags;
- ZnBool previous_visible = init ? False : ISSET(item->flags, ZN_VISIBLE_BIT);
+ ZnWInfo *wi = item->wi;
+ int flags;
+ ZnBool previous_visible = init ? False : ISSET(item->flags, ZN_VISIBLE_BIT);
flags = 0;
ASSIGN(flags, ZN_COORDS_FLAG, init);
if (argv) {
if (field < 0){
if (item->class->Configure(item, argc, argv, &flags) == TCL_ERROR) {
- return TCL_ERROR;
+ return TCL_ERROR;
}
if (item->class->GetFieldSet && ISSET(flags, ZN_CLFC_FLAG)) {
- ZnFIELD.ClearFieldCache(item->class->GetFieldSet(item), -1);
+ ZnFIELD.ClearFieldCache(item->class->GetFieldSet(item), -1);
}
}
else if (item->class->GetFieldSet) {
if (ZnFIELD.ConfigureField(item->class->GetFieldSet(item),
- field, argc, argv, &flags) == TCL_ERROR) {
- return TCL_ERROR;
+ field, argc, argv, &flags) == TCL_ERROR) {
+ return TCL_ERROR;
}
}
else {
@@ -1827,17 +1827,17 @@ ConfigureItem(ZnItem item,
**********************************************************************************
*/
static int
-QueryItem(ZnItem item,
- int field,
- int argc,
- Tcl_Obj *CONST argv[])
+QueryItem(ZnItem item,
+ int field,
+ int argc,
+ Tcl_Obj *CONST argv[])
{
if (field < 0) {
return item->class->Query(item, argc, argv);
}
else if (item->class->GetFieldSet) {
return ZnFIELD.QueryField(item->class->GetFieldSet(item),
- field, argc, argv);
+ field, argc, argv);
}
return TCL_ERROR;
@@ -1848,20 +1848,20 @@ QueryItem(ZnItem item,
**********************************************************************************
*
* ComposeTransform --
- * Compose a transform transfo with current_t to new_t.
+ * Compose a transform transfo with current_t to new_t.
*
**********************************************************************************
*/
static void
-ComposeTransform(ZnTransfo *transfo,
- ZnPoint *pos,
- ZnTransfo *current_t,
- ZnTransfo *new_t,
- ZnBool compose_scale,
- ZnBool compose_rot)
+ComposeTransform(ZnTransfo *transfo,
+ ZnPoint *pos,
+ ZnTransfo *current_t,
+ ZnTransfo *new_t,
+ ZnBool compose_scale,
+ ZnBool compose_rot)
{
- ZnBool full;
- ZnTransfo t, t2;
+ ZnBool full;
+ ZnTransfo t, t2;
full = compose_scale && compose_rot;
@@ -1876,10 +1876,10 @@ ComposeTransform(ZnTransfo *transfo,
/*ZnPrintTransfo(transfo);*/
if (pos) {
if (!transfo) {
- ZnTransfoSetIdentity(&t);
+ ZnTransfoSetIdentity(&t);
}
else {
- t = *transfo;
+ t = *transfo;
}
ZnTranslate(&t, pos->x, pos->y, False);
ZnTransfoCompose(new_t, &t, current_t);
@@ -1889,8 +1889,8 @@ ComposeTransform(ZnTransfo *transfo,
}
}
else {
- ZnPoint scale, trans, local_scale, local_trans, p;
- ZnReal local_rot, rot;
+ ZnPoint scale, trans, local_scale, local_trans, p;
+ ZnReal local_rot, rot;
ZnTransfoSetIdentity(new_t);
ZnTransfoDecompose(transfo, &local_scale, &local_trans, &local_rot, NULL);
@@ -1924,18 +1924,18 @@ ComposeTransform(ZnTransfo *transfo,
**********************************************************************************
*
* GetItemTransform -- Method
- * Compute the current transform for an item.
+ * Compute the current transform for an item.
*
**********************************************************************************
*/
static void
-GetItemTransform(ZnItem item,
- ZnTransfo *t)
+GetItemTransform(ZnItem item,
+ ZnTransfo *t)
{
- ZnItem *items;
- int i;
- ZnTransfo t_tmp, *t1, *t2, *swap;
- ZnPoint *pos;
+ ZnItem *items;
+ int i;
+ ZnTransfo t_tmp, *t1, *t2, *swap;
+ ZnPoint *pos;
if (item_stack == NULL) {
item_stack = ZnListNew(16, sizeof(ZnItem));
@@ -1958,12 +1958,12 @@ GetItemTransform(ZnItem item,
if (items[i]->class->pos_offset >= 0) {
pos = (ZnPoint *) (((char *) items[i]) + items[i]->class->pos_offset);
if (pos->x == 0 && pos->y == 0) {
- pos = NULL;
+ pos = NULL;
}
}
ComposeTransform(items[i]->transfo, pos, t1, t2,
- ISSET(items[i]->flags, ZN_COMPOSE_SCALE_BIT),
- ISSET(items[i]->flags, ZN_COMPOSE_ROTATION_BIT));
+ ISSET(items[i]->flags, ZN_COMPOSE_SCALE_BIT),
+ ISSET(items[i]->flags, ZN_COMPOSE_ROTATION_BIT));
swap = t2;
t2 = t1;
t1 = swap;
@@ -1988,7 +1988,7 @@ GetItemTransform(ZnItem item,
**********************************************************************************
*/
void
-ZnResetTransformStack(ZnWInfo *wi)
+ZnResetTransformStack(ZnWInfo *wi)
{
ZnListAssertSize(wi->transfo_stack, 1);
wi->current_transfo = (ZnTransfo *) ZnListAt(wi->transfo_stack, 0);
@@ -1996,27 +1996,27 @@ ZnResetTransformStack(ZnWInfo *wi)
}
void
-ZnInitTransformStack(ZnWInfo *wi)
+ZnInitTransformStack(ZnWInfo *wi)
{
wi->transfo_stack = ZnListNew(8, sizeof(ZnTransfo));
ZnResetTransformStack(wi);
}
void
-ZnFreeTransformStack(ZnWInfo *wi)
+ZnFreeTransformStack(ZnWInfo *wi)
{
ZnListFree(wi->transfo_stack);
}
void
-ZnPushTransform(ZnWInfo *wi,
- ZnTransfo *transfo,
- ZnPoint *pos,
- ZnBool compose_scale,
- ZnBool compose_rot)
+ZnPushTransform(ZnWInfo *wi,
+ ZnTransfo *transfo,
+ ZnPoint *pos,
+ ZnBool compose_scale,
+ ZnBool compose_rot)
{
- ZnTransfo *next_t;
- unsigned int num_t;
+ ZnTransfo *next_t;
+ unsigned int num_t;
/*
* Push the current transform and concatenate
@@ -2027,12 +2027,12 @@ ZnPushTransform(ZnWInfo *wi,
ZnListAssertSize(wi->transfo_stack, num_t+1);
next_t = (ZnTransfo *) ZnListAt(wi->transfo_stack, num_t);
ComposeTransform(transfo, pos, wi->current_transfo, next_t,
- compose_scale, compose_rot);
+ compose_scale, compose_rot);
wi->current_transfo = next_t;
}
void
-ZnPopTransform(ZnWInfo *wi)
+ZnPopTransform(ZnWInfo *wi)
{
/*
* Restore the previous transform.
@@ -2059,17 +2059,17 @@ ZnPopTransform(ZnWInfo *wi)
* of the item hierarchy.
*/
typedef struct _ClipState {
- ZnBool simple; /* The clip is an aligned rectangle. */
- TkRegion region; /* The region used to draw and to */
- /* probe for picking. */
- ZnBBox clip_box; /* The bounding box of the clip area. */
+ ZnBool simple; /* The clip is an aligned rectangle. */
+ TkRegion region; /* The region used to draw and to */
+ /* probe for picking. */
+ ZnBBox clip_box; /* The bounding box of the clip area. */
} ClipState;
void
-ZnResetClipStack(ZnWInfo *wi)
+ZnResetClipStack(ZnWInfo *wi)
{
- int i;
- ClipState *clips = (ClipState *) ZnListArray(wi->clip_stack);
+ int i;
+ ClipState *clips = (ClipState *) ZnListArray(wi->clip_stack);
/*
* Should not happen, clip stack should be
@@ -2083,23 +2083,23 @@ ZnResetClipStack(ZnWInfo *wi)
}
void
-ZnInitClipStack(ZnWInfo *wi)
+ZnInitClipStack(ZnWInfo *wi)
{
wi->clip_stack = ZnListNew(8, sizeof(ClipState));
ZnResetClipStack(wi);
}
void
-ZnFreeClipStack(ZnWInfo *wi)
+ZnFreeClipStack(ZnWInfo *wi)
{
ZnListFree(wi->clip_stack);
}
ZnBool
-ZnCurrentClip(ZnWInfo *wi,
- TkRegion *reg,
- ZnBBox **clip_box,
- ZnBool *simple)
+ZnCurrentClip(ZnWInfo *wi,
+ TkRegion *reg,
+ ZnBBox **clip_box,
+ ZnBool *simple)
{
if (wi->current_clip) {
if (reg) {
@@ -2123,18 +2123,18 @@ ZnCurrentClip(ZnWInfo *wi,
* is a regular pointer to a multi contour poly.
*/
void
-ZnPushClip(ZnWInfo *wi,
- ZnTriStrip *tristrip,
- ZnBool simple,
- ZnBool set_gc)
+ZnPushClip(ZnWInfo *wi,
+ ZnTriStrip *tristrip,
+ ZnBool simple,
+ ZnBool set_gc)
{
- unsigned int i, j, num_clips;
- unsigned int num_pts, max_num_pts;
- ZnPoint *p;
- ClipState *previous_clip=NULL;
- TkRegion reg, reg_op, reg_to;
- XRectangle rect;
- XPoint xpts[3];
+ unsigned int i, j, num_clips;
+ unsigned int num_pts, max_num_pts;
+ ZnPoint *p;
+ ClipState *previous_clip=NULL;
+ TkRegion reg, reg_op, reg_to;
+ XRectangle rect;
+ XPoint xpts[3];
if (tristrip->num_strips == 0) {
return;
@@ -2167,9 +2167,9 @@ ZnPushClip(ZnWInfo *wi,
rect.x = (short) tristrip->strips[0].points[0].x;
rect.y = (short) tristrip->strips[0].points[0].y;
rect.width = ((unsigned short) (tristrip->strips[0].points[1].x -
- tristrip->strips[0].points[0].x));
+ tristrip->strips[0].points[0].x));
rect.height = ((unsigned short) (tristrip->strips[0].points[1].y -
- tristrip->strips[0].points[0].y));
+ tristrip->strips[0].points[0].y));
reg = TkCreateRegion();
TkUnionRectWithRegion(&rect, reg, reg);
/*printf("Adding a simple clip: %d, %d, %d, %d\n",
@@ -2181,43 +2181,43 @@ ZnPushClip(ZnWInfo *wi,
num_pts = tristrip->strips[j].num_points;
p = tristrip->strips[j].points;
if (tristrip->strips[j].fan) {
- xpts[0].x = ZnNearestInt(p->x);
- xpts[0].y = ZnNearestInt(p->y);
- p++;
- xpts[1].x = ZnNearestInt(p->x);
- xpts[1].y = ZnNearestInt(p->y);
- p++;
- for (i = 2; i < num_pts; i++, p++) {
- xpts[2].x = ZnNearestInt(p->x);
- xpts[2].y = ZnNearestInt(p->y);
- reg_op = (TkRegion) ZnPolygonRegion(xpts, 3, EvenOddRule);
- reg_to = TkCreateRegion();
- ZnUnionRegion(reg, reg_op, reg_to);
- TkDestroyRegion(reg);
- TkDestroyRegion(reg_op);
- reg = reg_to;
- xpts[1] = xpts[2];
- }
+ xpts[0].x = ZnNearestInt(p->x);
+ xpts[0].y = ZnNearestInt(p->y);
+ p++;
+ xpts[1].x = ZnNearestInt(p->x);
+ xpts[1].y = ZnNearestInt(p->y);
+ p++;
+ for (i = 2; i < num_pts; i++, p++) {
+ xpts[2].x = ZnNearestInt(p->x);
+ xpts[2].y = ZnNearestInt(p->y);
+ reg_op = (TkRegion) ZnPolygonRegion(xpts, 3, EvenOddRule);
+ reg_to = TkCreateRegion();
+ ZnUnionRegion(reg, reg_op, reg_to);
+ TkDestroyRegion(reg);
+ TkDestroyRegion(reg_op);
+ reg = reg_to;
+ xpts[1] = xpts[2];
+ }
}
else {
- xpts[0].x = (short) p->x;
- xpts[0].y = (short) p->y;
- p++;
- xpts[1].x = (short) p->x;
- xpts[1].y = (short) p->y;
- p++;
- for (i = 2 ; i < num_pts; i++, p++) {
- xpts[2].x = (short) p->x;
- xpts[2].y = (short) p->y;
- reg_op = (TkRegion) ZnPolygonRegion(xpts, 3, EvenOddRule);
- reg_to = TkCreateRegion();
- ZnUnionRegion(reg, reg_op, reg_to);
- TkDestroyRegion(reg);
- TkDestroyRegion(reg_op);
- reg = reg_to;
- xpts[0] = xpts[1];
- xpts[1] = xpts[2];
- }
+ xpts[0].x = (short) p->x;
+ xpts[0].y = (short) p->y;
+ p++;
+ xpts[1].x = (short) p->x;
+ xpts[1].y = (short) p->y;
+ p++;
+ for (i = 2 ; i < num_pts; i++, p++) {
+ xpts[2].x = (short) p->x;
+ xpts[2].y = (short) p->y;
+ reg_op = (TkRegion) ZnPolygonRegion(xpts, 3, EvenOddRule);
+ reg_to = TkCreateRegion();
+ ZnUnionRegion(reg, reg_op, reg_to);
+ TkDestroyRegion(reg);
+ TkDestroyRegion(reg_op);
+ reg = reg_to;
+ xpts[0] = xpts[1];
+ xpts[1] = xpts[2];
+ }
}
}
}
@@ -2252,34 +2252,34 @@ ZnPushClip(ZnWInfo *wi,
glStencilOp(GL_KEEP, GL_INCR, GL_INCR);
glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);
if (simple) {
- /* printf("Clip box is : %d, %d, %d, %d, num_clips : %d\n",
- rect.x, rect.y, rect.width, rect.height, num_clips);*/
- glBegin(GL_QUADS);
- glVertex2d(wi->current_clip->clip_box.orig.x, wi->current_clip->clip_box.orig.y);
- glVertex2d(wi->current_clip->clip_box.orig.x, wi->current_clip->clip_box.corner.y);
- glVertex2d(wi->current_clip->clip_box.corner.x, wi->current_clip->clip_box.corner.y);
- glVertex2d(wi->current_clip->clip_box.corner.x, wi->current_clip->clip_box.orig.y);
- glEnd();
+ /* printf("Clip box is : %d, %d, %d, %d, num_clips : %d\n",
+ rect.x, rect.y, rect.width, rect.height, num_clips);*/
+ glBegin(GL_QUADS);
+ glVertex2d(wi->current_clip->clip_box.orig.x, wi->current_clip->clip_box.orig.y);
+ glVertex2d(wi->current_clip->clip_box.orig.x, wi->current_clip->clip_box.corner.y);
+ glVertex2d(wi->current_clip->clip_box.corner.x, wi->current_clip->clip_box.corner.y);
+ glVertex2d(wi->current_clip->clip_box.corner.x, wi->current_clip->clip_box.orig.y);
+ glEnd();
}
else {
- for (j = 0; j < tristrip->num_strips; j++) {
- num_pts = tristrip->strips[j].num_points;
- p = tristrip->strips[j].points;
- if (tristrip->strips[j].fan) {
- glBegin(GL_TRIANGLE_FAN);
- }
- else {
- glBegin(GL_TRIANGLE_STRIP);
- }
- for (i = 0; i < num_pts; i++, p++) {
- glVertex2d(p->x, p->y);
- }
- glEnd();
- }
+ for (j = 0; j < tristrip->num_strips; j++) {
+ num_pts = tristrip->strips[j].num_points;
+ p = tristrip->strips[j].points;
+ if (tristrip->strips[j].fan) {
+ glBegin(GL_TRIANGLE_FAN);
+ }
+ else {
+ glBegin(GL_TRIANGLE_STRIP);
+ }
+ for (i = 0; i < num_pts; i++, p++) {
+ glVertex2d(p->x, p->y);
+ }
+ glEnd();
+ }
}
glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
glStencilFunc(GL_EQUAL, (GLint) (num_clips+1), 0xFF);
- glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP);
+ glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP);
#endif
}
else {
@@ -2289,10 +2289,10 @@ ZnPushClip(ZnWInfo *wi,
}
void
-ZnPopClip(ZnWInfo *wi,
- ZnBool set_gc)
+ZnPopClip(ZnWInfo *wi,
+ ZnBool set_gc)
{
- int num_clips;
+ int num_clips;
if (wi->current_clip == NULL) {
return;
@@ -2316,42 +2316,42 @@ ZnPopClip(ZnWInfo *wi,
if (num_clips != 0) {
if (wi->render) {
#ifdef GL
- glStencilFunc(GL_EQUAL, (GLint) (num_clips+1), 0xFF);
- glStencilOp(GL_KEEP, GL_DECR, GL_DECR);
- glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);
+ glStencilFunc(GL_EQUAL, (GLint) (num_clips+1), 0xFF);
+ glStencilOp(GL_KEEP, GL_DECR, GL_DECR);
+ glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);
#if 0
- if (wi->current_clip->simple) {
+ if (wi->current_clip->simple) {
#endif
- glBegin(GL_QUADS);
- glVertex2d(wi->current_clip->clip_box.orig.x, wi->current_clip->clip_box.orig.y);
- glVertex2d(wi->current_clip->clip_box.orig.x, wi->current_clip->clip_box.corner.y);
- glVertex2d(wi->current_clip->clip_box.corner.x, wi->current_clip->clip_box.corner.y);
- glVertex2d(wi->current_clip->clip_box.corner.x, wi->current_clip->clip_box.orig.y);
- glEnd();
+ glBegin(GL_QUADS);
+ glVertex2d(wi->current_clip->clip_box.orig.x, wi->current_clip->clip_box.orig.y);
+ glVertex2d(wi->current_clip->clip_box.orig.x, wi->current_clip->clip_box.corner.y);
+ glVertex2d(wi->current_clip->clip_box.corner.x, wi->current_clip->clip_box.corner.y);
+ glVertex2d(wi->current_clip->clip_box.corner.x, wi->current_clip->clip_box.orig.y);
+ glEnd();
#if 0
- }
- else {
- }
+ }
+ else {
+ }
#endif
- glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
- glStencilFunc(GL_EQUAL, (GLint) num_clips, 0xFF);
- glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP);
+ glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
+ glStencilFunc(GL_EQUAL, (GLint) num_clips, 0xFF);
+ glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP);
#endif
}
else {
- TkSetRegion(wi->dpy, wi->gc, wi->current_clip->region);
+ TkSetRegion(wi->dpy, wi->gc, wi->current_clip->region);
}
}
else {
/*printf("resetting clip mask\n");*/
if (wi->render) {
#ifdef GL
- glClear(GL_STENCIL_BUFFER_BIT);
- glDisable(GL_STENCIL_TEST);
+ glClear(GL_STENCIL_BUFFER_BIT);
+ glDisable(GL_STENCIL_TEST);
#endif
}
else {
- XSetClipMask(wi->dpy, wi->gc, None);
+ XSetClipMask(wi->dpy, wi->gc, None);
}
}
}
@@ -2367,8 +2367,8 @@ ZnPopClip(ZnWInfo *wi,
**********************************************************************************
*/
static void
-Invalidate(ZnItem item,
- int reason)
+Invalidate(ZnItem item,
+ int reason)
{
/*
* Why this test has to be so an abrupt shortcut ?
@@ -2383,8 +2383,8 @@ Invalidate(ZnItem item,
ISSET(reason, ZN_TRANSFO_FLAG)) {
ZnItem parent = item->parent;
while ((parent != NULL) &&
- ISCLEAR(parent->inv_flags, ZN_COORDS_FLAG) &&
- ISCLEAR(parent->inv_flags, ZN_TRANSFO_FLAG)) {
+ ISCLEAR(parent->inv_flags, ZN_COORDS_FLAG) &&
+ ISCLEAR(parent->inv_flags, ZN_TRANSFO_FLAG)) {
SET(parent->inv_flags, ZN_COORDS_FLAG);
/*printf("invalidate coords for parent %d\n", parent->id);*/
parent = parent->parent;
@@ -2396,8 +2396,8 @@ Invalidate(ZnItem item,
*/
item->inv_flags |= reason;
/*printf("invalidate %s for item %d, flags %s\n",
- ISSET(reason, ZN_TRANSFO_FLAG)?"TRANSFO":"COORDS", item->id,
- ISSET(item->inv_flags, ZN_TRANSFO_FLAG)?"TRANSFO":"COORDS");*/
+ ISSET(reason, ZN_TRANSFO_FLAG)?"TRANSFO":"COORDS", item->id,
+ ISSET(item->inv_flags, ZN_TRANSFO_FLAG)?"TRANSFO":"COORDS");*/
ZnNeedRedisplay(item->wi);
}
else if (ISSET(reason, ZN_DRAW_FLAG)) {
@@ -2411,8 +2411,8 @@ Invalidate(ZnItem item,
* to reflect the changes.
*/
if (item->gl_list) {
- glDeleteLists(item->gl_list, 1);
- item->gl_list = 0;
+ glDeleteLists(item->gl_list, 1);
+ item->gl_list = 0;
}
#endif
#endif
@@ -2420,22 +2420,22 @@ Invalidate(ZnItem item,
}
}
-
+
/*
**********************************************************************************
*
* InvalidateItems -- Method
- * Invalidate the geometric state of all items belonging
- * to a given class. The search for items starts at group
- * and proceed depth first.
+ * Invalidate the geometric state of all items belonging
+ * to a given class. The search for items starts at group
+ * and proceed depth first.
*
**********************************************************************************
*/
static void
-InvalidateItems(ZnItem group,
- ZnItemClass item_class)
+InvalidateItems(ZnItem group,
+ ZnItemClass item_class)
{
- ZnItem item;
+ ZnItem item;
if (group->class != ZnGroup) {
return;
@@ -2462,14 +2462,14 @@ InvalidateItems(ZnItem group,
* ScaleItem
* SkewItem
* RotateItem -- Methods
- * Set of functions that deal with item transform. They take care
- * of all details including managing NULL transforms and invalidating
- * the item hierarchy.
+ * Set of functions that deal with item transform. They take care
+ * of all details including managing NULL transforms and invalidating
+ * the item hierarchy.
*
**********************************************************************************
*/
static void
-ResetTransfo(ZnItem item)
+ResetTransfo(ZnItem item)
{
if (item->transfo) {
ZnFree(item->transfo);
@@ -2480,8 +2480,8 @@ ResetTransfo(ZnItem item)
static void
-SetTransfo(ZnItem item,
- ZnTransfo *t)
+SetTransfo(ZnItem item,
+ ZnTransfo *t)
{
if (item->transfo) {
ZnFree(item->transfo);
@@ -2497,10 +2497,10 @@ SetTransfo(ZnItem item,
static void
-TranslateItem(ZnItem item,
- ZnReal dx,
- ZnReal dy,
- ZnBool abs)
+TranslateItem(ZnItem item,
+ ZnReal dx,
+ ZnReal dy,
+ ZnBool abs)
{
if (!item->transfo) {
item->transfo = ZnTransfoNew();
@@ -2511,10 +2511,10 @@ TranslateItem(ZnItem item,
static void
-ScaleItem(ZnItem item,
- ZnReal sx,
- ZnReal sy,
- ZnPoint *p)
+ScaleItem(ZnItem item,
+ ZnReal sx,
+ ZnReal sy,
+ ZnPoint *p)
{
if (!item->transfo) {
item->transfo = ZnTransfoNew();
@@ -2531,9 +2531,9 @@ ScaleItem(ZnItem item,
static void
-SkewItem(ZnItem item,
- ZnReal x_skew,
- ZnReal y_skew)
+SkewItem(ZnItem item,
+ ZnReal x_skew,
+ ZnReal y_skew)
{
if (!item->transfo) {
item->transfo = ZnTransfoNew();
@@ -2544,10 +2544,10 @@ SkewItem(ZnItem item,
static void
-RotateItem(ZnItem item,
- ZnReal angle,
- ZnBool deg,
- ZnPoint *p)
+RotateItem(ZnItem item,
+ ZnReal angle,
+ ZnBool deg,
+ ZnPoint *p)
{
if (!item->transfo) {
item->transfo = ZnTransfoNew();
@@ -2577,10 +2577,10 @@ RotateItem(ZnItem item,
**********************************************************************************
*/
static void
-DestroyItem(ZnItem item)
+DestroyItem(ZnItem item)
{
- ZnWInfo *wi = item->wi;
- ZnTextInfo *ti = &wi->text_info;
+ ZnWInfo *wi = item->wi;
+ ZnTextInfo *ti = &wi->text_info;
/*
* Extract it from its group.