aboutsummaryrefslogtreecommitdiff
path: root/generic/Attrs.h
diff options
context:
space:
mode:
authorlecoanet2003-04-16 09:49:22 +0000
committerlecoanet2003-04-16 09:49:22 +0000
commit3261805fee19e346b4d1f84b23816daa1628764a (patch)
tree63ca1d7e4b0a3d9ae49cc0888e58033c3ef3fe22 /generic/Attrs.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/Attrs.h')
-rw-r--r--generic/Attrs.h217
1 files changed, 164 insertions, 53 deletions
diff --git a/generic/Attrs.h b/generic/Attrs.h
index 25d377d..2c12835 100644
--- a/generic/Attrs.h
+++ b/generic/Attrs.h
@@ -38,7 +38,114 @@ extern "C" {
#include <Types.h>
-struct _WidgetInfo;
+struct _ZnWInfo;
+
+/*
+ * Type and constant values for line styles.
+ */
+typedef unsigned char ZnLineStyle;
+
+#define ZN_LINE_SIMPLE 0
+#define ZN_LINE_DASHED 1
+#define ZN_LINE_MIXED 2
+#define ZN_LINE_DOTTED 3
+
+int ZnGetLineStyle(struct _ZnWInfo *wi, char *name, ZnLineStyle *line_style);
+char *ZnNameOfLineStyle(ZnLineStyle line_style);
+
+
+/*
+ * Type and constant values for line shapes.
+ */
+typedef unsigned char ZnLineShape;
+
+#define ZN_LINE_STRAIGHT 0
+#define ZN_LINE_LEFT_LIGHTNING 1
+#define ZN_LINE_LEFT_CORNER 2
+#define ZN_LINE_DOUBLE_LEFT_CORNER 3
+#define ZN_LINE_RIGHT_LIGHTNING 4
+#define ZN_LINE_RIGHT_CORNER 5
+#define ZN_LINE_DOUBLE_RIGHT_CORNER 6
+
+int ZnGetLineShape(struct _ZnWInfo *wi, char *name, ZnLineShape *line_shape);
+char *ZnNameOfLineShape(ZnLineShape line_shape);
+
+
+/*
+ * Type and constant values for relief styles.
+ */
+typedef unsigned char ZnReliefStyle;
+#define ZN_RELIEF_FLAT 0
+#define ZN_RELIEF_RAISED 1
+#define ZN_RELIEF_SUNKEN 2
+#define ZN_RELIEF_GROOVE (ZN_RELIEF_TWO_FACES|ZN_RELIEF_SUNKEN)
+#define ZN_RELIEF_RIDGE (ZN_RELIEF_TWO_FACES|ZN_RELIEF_RAISED)
+#define ZN_RELIEF_ROUND_SUNKEN (ZN_RELIEF_ROUND|ZN_RELIEF_SUNKEN)
+#define ZN_RELIEF_ROUND_RAISED (ZN_RELIEF_ROUND|ZN_RELIEF_RAISED)
+#define ZN_RELIEF_ROUND_GROOVE (ZN_RELIEF_ROUND|ZN_RELIEF_TWO_FACES|ZN_RELIEF_SUNKEN)
+#define ZN_RELIEF_ROUND_RIDGE (ZN_RELIEF_ROUND|ZN_RELIEF_TWO_FACES|ZN_RELIEF_RAISED)
+#define ZN_RELIEF_SUNKEN_RULE (ZN_RELIEF_ROUND|ZN_RELIEF_TWO_FACES|ZN_RELIEF_SUNKEN|ZN_RELIEF_RULE)
+#define ZN_RELIEF_RAISED_RULE (ZN_RELIEF_ROUND|ZN_RELIEF_TWO_FACES|ZN_RELIEF_RAISED|ZN_RELIEF_RULE)
+#define ZN_RELIEF_ROUND 0x80
+#define ZN_RELIEF_TWO_FACES 0x40
+#define ZN_RELIEF_RULE 0x20
+#define ZN_RELIEF_MASK 0x3
+
+/*
+ * Number of steps for relief drawing. This translate in
+ * RELIEF_STEPS*2+1 color shades in the color gradient.
+ */
+#define ZN_RELIEF_STEPS 6
+
+int ZnGetRelief(struct _ZnWInfo *wi, char *name, ZnReliefStyle *relief);
+char *ZnNameOfRelief(ZnReliefStyle relief);
+
+
+/*
+ * Type and constant values for borders.
+ */
+typedef unsigned char ZnBorder;
+#define ZN_NO_BORDER 0
+#define ZN_LEFT_BORDER 1
+#define ZN_RIGHT_BORDER 2
+#define ZN_TOP_BORDER 4
+#define ZN_BOTTOM_BORDER 8
+#define ZN_CONTOUR_BORDER (ZN_LEFT_BORDER|ZN_RIGHT_BORDER|ZN_TOP_BORDER|ZN_BOTTOM_BORDER)
+#define ZN_COUNTER_OBLIQUE 16
+#define ZN_OBLIQUE 32
+
+void ZnNameOfBorder(ZnBorder border, char *str);
+int ZnGetBorder(struct _ZnWInfo *wi, Tcl_Obj *name, ZnBorder *border);
+
+
+/*
+ * Type for leader anchors.
+ */
+typedef struct {
+ int left_x; /* left leader anchor field or percent of bbox */
+ int right_x; /* right leader anchor field or percent of bbox */
+ short left_y; /* left leader percent of bbox or < 0 if field */
+ short right_y; /* right leader percent of bbox or < 0 if field */
+} ZnLeaderAnchorsStruct, *ZnLeaderAnchors;
+
+int ZnGetLeaderAnchors(struct _ZnWInfo *wi, char *name, ZnLeaderAnchors *leader_anchors);
+void ZnNameOfLeaderAnchors(ZnLeaderAnchors leader_anchors, char *name);
+
+
+/*
+ * Type and constant values for automatic alignments.
+ */
+typedef struct {
+ ZnBool automatic;
+ Tk_Justify align[3];
+} ZnAutoAlign;
+#define ZN_AA_LEFT 0
+#define ZN_AA_CENTER 1
+#define ZN_AA_RIGHT 2
+
+int ZnGetAutoAlign(struct _ZnWInfo *wi, char *name, ZnAutoAlign *aa);
+void ZnNameOfAutoAlign(ZnAutoAlign *aa, char *name);
+
/*
* Label Formats.
@@ -47,65 +154,65 @@ struct _WidgetInfo;
/*
* field flags.
*/
-#define LF_ATTACH_PIXEL 0
-#define LF_ATTACH_FWD 1
-#define LF_ATTACH_BWD 2
-#define LF_ATTACH_LEFT 3 /* Align left on left or top on top */
-#define LF_ATTACH_RIGHT 4 /* Align right on right or bottom on bottom */
-
-#define LF_DIM_PIXEL 0
-#define LF_DIM_FONT 1
-#define LF_DIM_ICON 2
-#define LF_DIM_AUTO 3
-#define LF_DIM_LABEL 4
+#define ZN_LF_ATTACH_PIXEL 0
+#define ZN_LF_ATTACH_FWD 1
+#define ZN_LF_ATTACH_BWD 2
+#define ZN_LF_ATTACH_LEFT 3 /* Align left on left or top on top */
+#define ZN_LF_ATTACH_RIGHT 4 /* Align right on right or bottom on bottom */
+
+#define ZN_LF_DIM_PIXEL 0
+#define ZN_LF_DIM_FONT 1
+#define ZN_LF_DIM_ICON 2
+#define ZN_LF_DIM_AUTO 3
+#define ZN_LF_DIM_LABEL 4
typedef struct {
- int x_spec;
- int y_spec;
- short width_spec;
- short height_spec;
- char x_attach;
- char y_attach;
- char x_dim;
- char y_dim;
+ int x_spec;
+ int y_spec;
+ short width_spec;
+ short height_spec;
+ char x_attach;
+ char y_attach;
+ char x_dim;
+ char y_dim;
} ZnFieldFormatStruct, *ZnFieldFormat;
typedef struct {
short clip_width;
short clip_height;
- int num_fields;
+ unsigned int num_fields;
Tcl_HashEntry *entry;
- int ref_count;
+ unsigned int ref_count;
ZnFieldFormatStruct fields[1];
} ZnLabelFormatStruct, *ZnLabelFormat;
ZnLabelFormat
-LabelFormatCreate(Tcl_Interp * /* interp */,
- char * /* format_str */,
- int /* num_fields */);
+ZnLFCreate(Tcl_Interp * /* interp */,
+ char * /* format_str */,
+ unsigned int /* num_fields */);
ZnLabelFormat
-LabelFormatDuplicate(ZnLabelFormat /* label_format */);
+ZnLFDuplicate(ZnLabelFormat /* label_format */);
void
-LabelFormatDelete(ZnLabelFormat /* label_format */);
+ZnLFDelete(ZnLabelFormat /* label_format */);
char *
-LabelFormatGetString(ZnLabelFormat /* label_format */);
+ZnLFGetString(ZnLabelFormat /* label_format */);
ZnBool
-LabelFormatGetClipBox(ZnLabelFormat /* label_format */,
- ZnDim */* width */,
- ZnDim */* height */);
-#define LabelFormatNumFields(lf) ((lf)->num_fields)
+ZnLFGetClipBox(ZnLabelFormat /* label_format */,
+ ZnDim * /* width */,
+ ZnDim * /* height */);
+#define ZnLFNumFields(lf) ((lf)->num_fields)
void
-LabelFormatGetField(ZnLabelFormat /* label_format */,
- int /* field */,
- char */* x_attach */,
- char */* y_attach */,
- char */* x_dim */,
- char */* y_dim */,
- int */* x_spec */,
- int */* y_spec */,
- short */* width_spec */,
- short */* height_spec */);
+ZnLFGetField(ZnLabelFormat /* label_format */,
+ unsigned int /* field */,
+ char * /* x_attach */,
+ char * /* y_attach */,
+ char * /* x_dim */,
+ char * /* y_dim */,
+ int * /* x_spec */,
+ int * /* y_spec */,
+ short * /* width_spec */,
+ short * /* height_spec */);
/*
* Line Ends.
@@ -115,25 +222,29 @@ typedef struct {
ZnReal shape_b;
ZnReal shape_c;
Tcl_HashEntry *entry;
- int ref_count;
+ unsigned int ref_count;
} ZnLineEndStruct, *ZnLineEnd;
ZnLineEnd
-LineEndCreate(Tcl_Interp *interp,
- char *line_end_str);
+ZnLineEndCreate(Tcl_Interp *interp,
+ char *line_end_str);
ZnLineEnd
-LineEndDuplicate(ZnLineEnd le);
+ZnLineEndDuplicate(ZnLineEnd le);
void
-LineEndDelete(ZnLineEnd le);
+ZnLineEndDelete(ZnLineEnd le);
char *
-LineEndGetString(ZnLineEnd le);
+ZnLineEndGetString(ZnLineEnd le);
+
+
+/*
+ * Type and protypes for fill rules.
+ */
+typedef unsigned int ZnFillRule;
+
+char *ZnNameOfFillRule(ZnFillRule fill_rule);
+int ZnGetFillRule(struct _ZnWInfo *wi, char *name, ZnFillRule *fill_rule);
-int
-ZnGetRelief(struct _WidgetInfo *wi, char *name, ReliefStyle *relief);
-char *
-ZnNameOfRelief(ReliefStyle relief);
-
#ifdef __CPLUSPLUS__
}
#endif