summaryrefslogtreecommitdiffstats
path: root/generic/tkCanvUtil.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2024-10-25 21:06:25 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2024-10-25 21:06:25 (GMT)
commit0d5336db012f45753abace489f18f0ca299c6961 (patch)
treeb1bf3280a9046df99226158978502eeb26f5b0a3 /generic/tkCanvUtil.c
parente97381a6d921de403516d5b761539a450f4af83c (diff)
parent1320b8a2a9c1269a345d44d673a7a35707fbbe9c (diff)
downloadtk-core-tip-626.zip
tk-core-tip-626.tar.gz
tk-core-tip-626.tar.bz2
Merge 9.0core-tip-626
Diffstat (limited to 'generic/tkCanvUtil.c')
-rw-r--r--generic/tkCanvUtil.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/generic/tkCanvUtil.c b/generic/tkCanvUtil.c
index 252bfb8..aabba2b 100644
--- a/generic/tkCanvUtil.c
+++ b/generic/tkCanvUtil.c
@@ -971,6 +971,9 @@ Tk_CreateOutline(
outline->activeWidth = 0.0;
outline->disabledWidth = 0.0;
outline->offset = 0;
+ outline->offsetObj = NULL;
+ outline->reserved2 = NULL;
+ outline->reserved3 = NULL;
outline->dash.number = 0;
outline->activeDash.number = 0;
outline->disabledDash.number = 0;
@@ -1140,6 +1143,10 @@ Tk_ConfigOutlineGC(
}
if (mask && (dash->number != 0)) {
gcValues->line_style = LineOnOffDash;
+ if (outline->offsetObj && Tk_GetPixelsFromObj(NULL, Canvas(canvas)->tkwin,
+ outline->offsetObj, &outline->offset) != TCL_OK) {
+ outline->offset = 0;
+ }
gcValues->dash_offset = outline->offset;
if ((unsigned int)ABS(dash->number) > sizeof(char *)) {
gcValues->dashes = dash->pattern.pt[0];
@@ -1188,6 +1195,10 @@ Tk_ChangeOutlineGC(
if (width < 1.0) {
width = 1.0;
}
+ if (outline->offsetObj && Tk_GetPixelsFromObj(NULL, Canvas(canvas)->tkwin,
+ outline->offsetObj, &outline->offset) != TCL_OK) {
+ outline->offset = 0;
+ }
dash = &(outline->dash);
color = outline->color;
stipple = outline->stipple;
@@ -1306,6 +1317,10 @@ Tk_ResetOutlineGC(
if (width < 1.0) {
width = 1.0;
}
+ if (outline->offsetObj && Tk_GetPixelsFromObj(NULL, Canvas(canvas)->tkwin,
+ outline->offsetObj, &outline->offset) != TCL_OK) {
+ outline->offset = 0;
+ }
dash = &(outline->dash);
color = outline->color;
stipple = outline->stipple;
@@ -1430,6 +1445,10 @@ Tk_CanvasPsOutline(
}
}
+ if (outline->offsetObj && Tk_GetPixelsFromObj(NULL, Canvas(canvas)->tkwin,
+ outline->offsetObj, &outline->offset) != TCL_OK) {
+ outline->offset = 0;
+ }
Tcl_AppendPrintfToObj(psObj, "%.15g setlinewidth\n", width);
ptr = ((unsigned) ABS(dash->number) > sizeof(char *)) ?