|
cvsextras |
1953b02 |
diff -cr blt2.4z/src/bltGrAxis.c blt2.4z-new/src/bltGrAxis.c
|
|
cvsextras |
1953b02 |
*** blt2.4z/src/bltGrAxis.c 2002-09-18 17:30:51.000000000 -0500
|
|
cvsextras |
1953b02 |
--- blt2.4z-new/src/bltGrAxis.c 2002-12-02 22:39:26.000000000 -0600
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 1424,1482 ****
|
|
cvsextras |
1953b02 |
double majorStep, minorStep;
|
|
cvsextras |
1953b02 |
int nMajor, nMinor;
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
! min = (min != 0.0) ? log10(FABS(min)) : 0.0;
|
|
cvsextras |
1953b02 |
! max = (max != 0.0) ? log10(FABS(max)) : 1.0;
|
|
cvsextras |
1953b02 |
!
|
|
cvsextras |
1953b02 |
! tickMin = floor(min);
|
|
cvsextras |
1953b02 |
! tickMax = ceil(max);
|
|
cvsextras |
1953b02 |
! range = tickMax - tickMin;
|
|
cvsextras |
1953b02 |
!
|
|
cvsextras |
1953b02 |
! if (range > 10) {
|
|
cvsextras |
1953b02 |
! /* There are too many decades to display a major tick at every
|
|
cvsextras |
1953b02 |
! * decade. Instead, treat the axis as a linear scale. */
|
|
cvsextras |
1953b02 |
! range = NiceNum(range, 0);
|
|
cvsextras |
1953b02 |
! majorStep = NiceNum(range / DEF_NUM_TICKS, 1);
|
|
cvsextras |
1953b02 |
! tickMin = UFLOOR(tickMin, majorStep);
|
|
cvsextras |
1953b02 |
! tickMax = UCEIL(tickMax, majorStep);
|
|
cvsextras |
1953b02 |
! nMajor = (int)((tickMax - tickMin) / majorStep) + 1;
|
|
cvsextras |
1953b02 |
! minorStep = EXP10(floor(log10(majorStep)));
|
|
cvsextras |
1953b02 |
! if (minorStep == majorStep) {
|
|
cvsextras |
1953b02 |
! nMinor = 4, minorStep = 0.2;
|
|
cvsextras |
1953b02 |
} else {
|
|
cvsextras |
1953b02 |
! nMinor = Round(majorStep / minorStep) - 1;
|
|
cvsextras |
1953b02 |
! }
|
|
cvsextras |
1953b02 |
! } else {
|
|
cvsextras |
1953b02 |
! if (tickMin == tickMax) {
|
|
cvsextras |
1953b02 |
! tickMax++;
|
|
cvsextras |
1953b02 |
! }
|
|
cvsextras |
1953b02 |
! majorStep = 1.0;
|
|
cvsextras |
1953b02 |
! nMajor = (int)(tickMax - tickMin + 1); /* FIXME: Check this. */
|
|
cvsextras |
1953b02 |
!
|
|
cvsextras |
1953b02 |
! minorStep = 0.0; /* This is a special hack to pass
|
|
cvsextras |
1953b02 |
* information to the GenerateTicks
|
|
cvsextras |
1953b02 |
* routine. An interval of 0.0 tells
|
|
cvsextras |
1953b02 |
* 1) this is a minor sweep and
|
|
cvsextras |
1953b02 |
* 2) the axis is log scale.
|
|
cvsextras |
1953b02 |
*/
|
|
cvsextras |
1953b02 |
! nMinor = 10;
|
|
cvsextras |
1953b02 |
! }
|
|
cvsextras |
1953b02 |
! if ((axisPtr->looseMin == TICK_RANGE_TIGHT) ||
|
|
cvsextras |
1953b02 |
! ((axisPtr->looseMin == TICK_RANGE_LOOSE) &&
|
|
cvsextras |
1953b02 |
! (DEFINED(axisPtr->reqMin)))) {
|
|
cvsextras |
1953b02 |
! tickMin = min;
|
|
cvsextras |
1953b02 |
! nMajor++;
|
|
cvsextras |
1953b02 |
! }
|
|
cvsextras |
1953b02 |
! if ((axisPtr->looseMax == TICK_RANGE_TIGHT) ||
|
|
cvsextras |
1953b02 |
! ((axisPtr->looseMax == TICK_RANGE_LOOSE) &&
|
|
cvsextras |
1953b02 |
! (DEFINED(axisPtr->reqMax)))) {
|
|
cvsextras |
1953b02 |
! tickMax = max;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
axisPtr->majorSweep.step = majorStep;
|
|
cvsextras |
1953b02 |
axisPtr->majorSweep.initial = floor(tickMin);
|
|
cvsextras |
1953b02 |
axisPtr->majorSweep.nSteps = nMajor;
|
|
cvsextras |
1953b02 |
axisPtr->minorSweep.initial = axisPtr->minorSweep.step = minorStep;
|
|
cvsextras |
1953b02 |
axisPtr->minorSweep.nSteps = nMinor;
|
|
cvsextras |
1953b02 |
-
|
|
cvsextras |
1953b02 |
SetAxisRange(&axisPtr->axisRange, tickMin, tickMax);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
--- 1424,1485 ----
|
|
cvsextras |
1953b02 |
double majorStep, minorStep;
|
|
cvsextras |
1953b02 |
int nMajor, nMinor;
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
! nMajor = nMinor = 0;
|
|
cvsextras |
1953b02 |
! majorStep = minorStep = 0.0;
|
|
cvsextras |
1953b02 |
! if (min < max) {
|
|
cvsextras |
1953b02 |
! min = (min != 0.0) ? log10(FABS(min)) : 0.0;
|
|
cvsextras |
1953b02 |
! max = (max != 0.0) ? log10(FABS(max)) : 1.0;
|
|
cvsextras |
1953b02 |
!
|
|
cvsextras |
1953b02 |
! tickMin = floor(min);
|
|
cvsextras |
1953b02 |
! tickMax = ceil(max);
|
|
cvsextras |
1953b02 |
! range = tickMax - tickMin;
|
|
cvsextras |
1953b02 |
!
|
|
cvsextras |
1953b02 |
! if (range > 10) {
|
|
cvsextras |
1953b02 |
! /* There are too many decades to display a major tick at every
|
|
cvsextras |
1953b02 |
! * decade. Instead, treat the axis as a linear scale. */
|
|
cvsextras |
1953b02 |
! range = NiceNum(range, 0);
|
|
cvsextras |
1953b02 |
! majorStep = NiceNum(range / DEF_NUM_TICKS, 1);
|
|
cvsextras |
1953b02 |
! tickMin = UFLOOR(tickMin, majorStep);
|
|
cvsextras |
1953b02 |
! tickMax = UCEIL(tickMax, majorStep);
|
|
cvsextras |
1953b02 |
! nMajor = (int)((tickMax - tickMin) / majorStep) + 1;
|
|
cvsextras |
1953b02 |
! minorStep = EXP10(floor(log10(majorStep)));
|
|
cvsextras |
1953b02 |
! if (minorStep == majorStep) {
|
|
cvsextras |
1953b02 |
! nMinor = 4, minorStep = 0.2;
|
|
cvsextras |
1953b02 |
! } else {
|
|
cvsextras |
1953b02 |
! nMinor = Round(majorStep / minorStep) - 1;
|
|
cvsextras |
1953b02 |
! }
|
|
cvsextras |
1953b02 |
} else {
|
|
cvsextras |
1953b02 |
! if (tickMin == tickMax) {
|
|
cvsextras |
1953b02 |
! tickMax++;
|
|
cvsextras |
1953b02 |
! }
|
|
cvsextras |
1953b02 |
! majorStep = 1.0;
|
|
cvsextras |
1953b02 |
! nMajor = (int)(tickMax - tickMin + 1); /* FIXME: Check this. */
|
|
cvsextras |
1953b02 |
!
|
|
cvsextras |
1953b02 |
! minorStep = 0.0; /* This is a special hack to pass
|
|
cvsextras |
1953b02 |
* information to the GenerateTicks
|
|
cvsextras |
1953b02 |
* routine. An interval of 0.0 tells
|
|
cvsextras |
1953b02 |
* 1) this is a minor sweep and
|
|
cvsextras |
1953b02 |
* 2) the axis is log scale.
|
|
cvsextras |
1953b02 |
*/
|
|
cvsextras |
1953b02 |
! nMinor = 10;
|
|
cvsextras |
1953b02 |
! }
|
|
cvsextras |
1953b02 |
! if ((axisPtr->looseMin == TICK_RANGE_TIGHT) ||
|
|
cvsextras |
1953b02 |
! ((axisPtr->looseMin == TICK_RANGE_LOOSE) &&
|
|
cvsextras |
1953b02 |
! (DEFINED(axisPtr->reqMin)))) {
|
|
cvsextras |
1953b02 |
! tickMin = min;
|
|
cvsextras |
1953b02 |
! nMajor++;
|
|
cvsextras |
1953b02 |
! }
|
|
cvsextras |
1953b02 |
! if ((axisPtr->looseMax == TICK_RANGE_TIGHT) ||
|
|
cvsextras |
1953b02 |
! ((axisPtr->looseMax == TICK_RANGE_LOOSE) &&
|
|
cvsextras |
1953b02 |
! (DEFINED(axisPtr->reqMax)))) {
|
|
cvsextras |
1953b02 |
! tickMax = max;
|
|
cvsextras |
1953b02 |
! }
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
axisPtr->majorSweep.step = majorStep;
|
|
cvsextras |
1953b02 |
axisPtr->majorSweep.initial = floor(tickMin);
|
|
cvsextras |
1953b02 |
axisPtr->majorSweep.nSteps = nMajor;
|
|
cvsextras |
1953b02 |
axisPtr->minorSweep.initial = axisPtr->minorSweep.step = minorStep;
|
|
cvsextras |
1953b02 |
axisPtr->minorSweep.nSteps = nMinor;
|
|
cvsextras |
1953b02 |
SetAxisRange(&axisPtr->axisRange, tickMin, tickMax);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 1551,1581 ****
|
|
cvsextras |
1953b02 |
double axisMin, axisMax;
|
|
cvsextras |
1953b02 |
int nTicks;
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
! range = max - min;
|
|
cvsextras |
1953b02 |
!
|
|
cvsextras |
1953b02 |
! /* Calculate the major tick stepping. */
|
|
cvsextras |
1953b02 |
! if (axisPtr->reqStep > 0.0) {
|
|
cvsextras |
1953b02 |
! /* An interval was designated by the user. Keep scaling it
|
|
cvsextras |
1953b02 |
! * until it fits comfortably within the current range of the
|
|
cvsextras |
1953b02 |
! * axis. */
|
|
cvsextras |
1953b02 |
! step = axisPtr->reqStep;
|
|
cvsextras |
1953b02 |
! while ((2 * step) >= range) {
|
|
cvsextras |
1953b02 |
! step *= 0.5;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
! } else {
|
|
cvsextras |
1953b02 |
! range = NiceNum(range, 0);
|
|
cvsextras |
1953b02 |
! step = NiceNum(range / DEF_NUM_TICKS, 1);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
-
|
|
cvsextras |
1953b02 |
- /* Find the outer tick values. Add 0.0 to prevent getting -0.0. */
|
|
cvsextras |
1953b02 |
- axisMin = tickMin = floor(min / step) * step + 0.0;
|
|
cvsextras |
1953b02 |
- axisMax = tickMax = ceil(max / step) * step + 0.0;
|
|
cvsextras |
1953b02 |
-
|
|
cvsextras |
1953b02 |
- nTicks = Round((tickMax - tickMin) / step) + 1;
|
|
cvsextras |
1953b02 |
axisPtr->majorSweep.step = step;
|
|
cvsextras |
1953b02 |
axisPtr->majorSweep.initial = tickMin;
|
|
cvsextras |
1953b02 |
axisPtr->majorSweep.nSteps = nTicks;
|
|
cvsextras |
1953b02 |
!
|
|
cvsextras |
1953b02 |
/*
|
|
cvsextras |
1953b02 |
* The limits of the axis are either the range of the data
|
|
cvsextras |
1953b02 |
* ("tight") or at the next outer tick interval ("loose"). The
|
|
cvsextras |
1953b02 |
--- 1554,1588 ----
|
|
cvsextras |
1953b02 |
double axisMin, axisMax;
|
|
cvsextras |
1953b02 |
int nTicks;
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
! nTicks = 0;
|
|
cvsextras |
1953b02 |
! tickMin = tickMax = 0.0;
|
|
cvsextras |
1953b02 |
! if (min < max) {
|
|
cvsextras |
1953b02 |
! range = max - min;
|
|
cvsextras |
1953b02 |
!
|
|
cvsextras |
1953b02 |
! /* Calculate the major tick stepping. */
|
|
cvsextras |
1953b02 |
! if (axisPtr->reqStep > 0.0) {
|
|
cvsextras |
1953b02 |
! /* An interval was designated by the user. Keep scaling it
|
|
cvsextras |
1953b02 |
! * until it fits comfortably within the current range of the
|
|
cvsextras |
1953b02 |
! * axis. */
|
|
cvsextras |
1953b02 |
! step = axisPtr->reqStep;
|
|
cvsextras |
1953b02 |
! while ((2 * step) >= range) {
|
|
cvsextras |
1953b02 |
! step *= 0.5;
|
|
cvsextras |
1953b02 |
! }
|
|
cvsextras |
1953b02 |
! } else {
|
|
cvsextras |
1953b02 |
! range = NiceNum(range, 0);
|
|
cvsextras |
1953b02 |
! step = NiceNum(range / DEF_NUM_TICKS, 1);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
!
|
|
cvsextras |
1953b02 |
! /* Find the outer tick values. Add 0.0 to prevent getting -0.0. */
|
|
cvsextras |
1953b02 |
! axisMin = tickMin = floor(min / step) * step + 0.0;
|
|
cvsextras |
1953b02 |
! axisMax = tickMax = ceil(max / step) * step + 0.0;
|
|
cvsextras |
1953b02 |
!
|
|
cvsextras |
1953b02 |
! nTicks = Round((tickMax - tickMin) / step) + 1;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
axisPtr->majorSweep.step = step;
|
|
cvsextras |
1953b02 |
axisPtr->majorSweep.initial = tickMin;
|
|
cvsextras |
1953b02 |
axisPtr->majorSweep.nSteps = nTicks;
|
|
cvsextras |
1953b02 |
!
|
|
cvsextras |
1953b02 |
/*
|
|
cvsextras |
1953b02 |
* The limits of the axis are either the range of the data
|
|
cvsextras |
1953b02 |
* ("tight") or at the next outer tick interval ("loose"). The
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 1596,1604 ****
|
|
cvsextras |
1953b02 |
axisMax = max;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
SetAxisRange(&axisPtr->axisRange, axisMin, axisMax);
|
|
cvsextras |
1953b02 |
!
|
|
cvsextras |
1953b02 |
/* Now calculate the minor tick step and number. */
|
|
cvsextras |
1953b02 |
!
|
|
cvsextras |
1953b02 |
if ((axisPtr->reqNumMinorTicks > 0) &&
|
|
cvsextras |
1953b02 |
((axisPtr->flags & AXIS_CONFIG_MAJOR) == 0)) {
|
|
cvsextras |
1953b02 |
nTicks = axisPtr->reqNumMinorTicks - 1;
|
|
cvsextras |
1953b02 |
--- 1603,1611 ----
|
|
cvsextras |
1953b02 |
axisMax = max;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
SetAxisRange(&axisPtr->axisRange, axisMin, axisMax);
|
|
cvsextras |
1953b02 |
!
|
|
cvsextras |
1953b02 |
/* Now calculate the minor tick step and number. */
|
|
cvsextras |
1953b02 |
!
|
|
cvsextras |
1953b02 |
if ((axisPtr->reqNumMinorTicks > 0) &&
|
|
cvsextras |
1953b02 |
((axisPtr->flags & AXIS_CONFIG_MAJOR) == 0)) {
|
|
cvsextras |
1953b02 |
nTicks = axisPtr->reqNumMinorTicks - 1;
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 1614,1620 ****
|
|
cvsextras |
1953b02 |
axisPtr->minorSweep.nSteps = nTicks;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
-
|
|
cvsextras |
1953b02 |
static void
|
|
cvsextras |
1953b02 |
SweepTicks(axisPtr)
|
|
cvsextras |
1953b02 |
Axis *axisPtr;
|
|
cvsextras |
1953b02 |
--- 1621,1626 ----
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 1684,1692 ****
|
|
cvsextras |
1953b02 |
for (linkPtr = Blt_ChainFirstLink(graphPtr->elements.displayList);
|
|
cvsextras |
1953b02 |
linkPtr != NULL; linkPtr = Blt_ChainNextLink(linkPtr)) {
|
|
cvsextras |
1953b02 |
elemPtr = Blt_ChainGetValue(linkPtr);
|
|
cvsextras |
1953b02 |
! (*elemPtr->procsPtr->extentsProc) (elemPtr, &exts);
|
|
cvsextras |
1953b02 |
! GetDataLimits(elemPtr->axes.x, exts.left, exts.right);
|
|
cvsextras |
1953b02 |
! GetDataLimits(elemPtr->axes.y, exts.top, exts.bottom);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
/*
|
|
cvsextras |
1953b02 |
* Step 3: Now that we know the range of data values for each axis,
|
|
cvsextras |
1953b02 |
--- 1690,1700 ----
|
|
cvsextras |
1953b02 |
for (linkPtr = Blt_ChainFirstLink(graphPtr->elements.displayList);
|
|
cvsextras |
1953b02 |
linkPtr != NULL; linkPtr = Blt_ChainNextLink(linkPtr)) {
|
|
cvsextras |
1953b02 |
elemPtr = Blt_ChainGetValue(linkPtr);
|
|
cvsextras |
1953b02 |
! if (!elemPtr->hidden) {
|
|
cvsextras |
1953b02 |
! (*elemPtr->procsPtr->extentsProc) (elemPtr, &exts);
|
|
cvsextras |
1953b02 |
! GetDataLimits(elemPtr->axes.x, exts.left, exts.right);
|
|
cvsextras |
1953b02 |
! GetDataLimits(elemPtr->axes.y, exts.top, exts.bottom);
|
|
cvsextras |
1953b02 |
! }
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
/*
|
|
cvsextras |
1953b02 |
* Step 3: Now that we know the range of data values for each axis,
|
|
cvsextras |
1953b02 |
diff -cr blt2.4z/src/bltGrElem.c blt2.4z-new/src/bltGrElem.c
|
|
cvsextras |
1953b02 |
*** blt2.4z/src/bltGrElem.c 2002-09-18 17:30:51.000000000 -0500
|
|
cvsextras |
1953b02 |
--- blt2.4z-new/src/bltGrElem.c 2002-12-02 22:42:31.000000000 -0600
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 1215,1223 ****
|
|
cvsextras |
1953b02 |
{
|
|
cvsextras |
1953b02 |
int nNames; /* Number of names found in Tcl name list */
|
|
cvsextras |
1953b02 |
char **nameArr; /* Broken out array of element names */
|
|
cvsextras |
1953b02 |
- Blt_HashSearch cursor;
|
|
cvsextras |
1953b02 |
register int i;
|
|
cvsextras |
1953b02 |
- register Blt_HashEntry *hPtr;
|
|
cvsextras |
1953b02 |
Element *elemPtr; /* Element information record */
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
if (Tcl_SplitList(graphPtr->interp, newList, &nNames, &nameArr) != TCL_OK) {
|
|
cvsextras |
1953b02 |
--- 1215,1221 ----
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 1227,1243 ****
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
/* Clear the display list and mark all elements as hidden. */
|
|
cvsextras |
1953b02 |
Blt_ChainReset(graphPtr->elements.displayList);
|
|
cvsextras |
1953b02 |
- for (hPtr = Blt_FirstHashEntry(&graphPtr->elements.table, &cursor);
|
|
cvsextras |
1953b02 |
- hPtr != NULL; hPtr = Blt_NextHashEntry(&cursor)) {
|
|
cvsextras |
1953b02 |
- elemPtr = (Element *)Blt_GetHashValue(hPtr);
|
|
cvsextras |
1953b02 |
- elemPtr->hidden = TRUE;
|
|
cvsextras |
1953b02 |
- }
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
/* Rebuild the display list, checking that each name it exists
|
|
cvsextras |
1953b02 |
* (currently ignoring invalid element names). */
|
|
cvsextras |
1953b02 |
for (i = 0; i < nNames; i++) {
|
|
cvsextras |
1953b02 |
if (NameToElement(graphPtr, nameArr[i], &elemPtr) == TCL_OK) {
|
|
cvsextras |
1953b02 |
- elemPtr->hidden = FALSE;
|
|
cvsextras |
1953b02 |
Blt_ChainAppend(graphPtr->elements.displayList, elemPtr);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
--- 1225,1235 ----
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 1399,1406 ****
|
|
cvsextras |
1953b02 |
/* Comment the PostScript to indicate the start of the element */
|
|
cvsextras |
1953b02 |
Blt_FormatToPostScript(psToken, "\n%% Element \"%s\"\n\n",
|
|
cvsextras |
1953b02 |
elemPtr->name);
|
|
cvsextras |
1953b02 |
! (*elemPtr->procsPtr->printNormalProc) (graphPtr, psToken,
|
|
cvsextras |
1953b02 |
! elemPtr);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
--- 1391,1397 ----
|
|
cvsextras |
1953b02 |
/* Comment the PostScript to indicate the start of the element */
|
|
cvsextras |
1953b02 |
Blt_FormatToPostScript(psToken, "\n%% Element \"%s\"\n\n",
|
|
cvsextras |
1953b02 |
elemPtr->name);
|
|
cvsextras |
1953b02 |
! (*elemPtr->procsPtr->printNormalProc) (graphPtr, psToken, elemPtr);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 1426,1433 ****
|
|
cvsextras |
1953b02 |
if ((!elemPtr->hidden) && (elemPtr->flags & ELEM_ACTIVE)) {
|
|
cvsextras |
1953b02 |
Blt_FormatToPostScript(psToken, "\n%% Active Element \"%s\"\n\n",
|
|
cvsextras |
1953b02 |
elemPtr->name);
|
|
cvsextras |
1953b02 |
! (*elemPtr->procsPtr->printActiveProc) (graphPtr, psToken,
|
|
cvsextras |
1953b02 |
! elemPtr);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
--- 1417,1423 ----
|
|
cvsextras |
1953b02 |
if ((!elemPtr->hidden) && (elemPtr->flags & ELEM_ACTIVE)) {
|
|
cvsextras |
1953b02 |
Blt_FormatToPostScript(psToken, "\n%% Active Element \"%s\"\n\n",
|
|
cvsextras |
1953b02 |
elemPtr->name);
|
|
cvsextras |
1953b02 |
! (*elemPtr->procsPtr->printActiveProc) (graphPtr, psToken, elemPtr);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 1671,1676 ****
|
|
cvsextras |
1953b02 |
--- 1661,1667 ----
|
|
cvsextras |
1953b02 |
ClosestSearch search;
|
|
cvsextras |
1953b02 |
int i, x, y;
|
|
cvsextras |
1953b02 |
int flags = TCL_LEAVE_ERR_MSG;
|
|
cvsextras |
1953b02 |
+ int found;
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
if (graphPtr->flags & RESET_AXES) {
|
|
cvsextras |
1953b02 |
Blt_ResetAxes(graphPtr);
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 1715,1727 ****
|
|
cvsextras |
1953b02 |
search.dist = (double)(search.halo + 1);
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
if (i < argc) {
|
|
cvsextras |
1953b02 |
for ( /* empty */ ; i < argc; i++) {
|
|
cvsextras |
1953b02 |
if (NameToElement(graphPtr, argv[i], &elemPtr) != TCL_OK) {
|
|
cvsextras |
1953b02 |
return TCL_ERROR; /* Can't find named element */
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
! if (elemPtr->hidden) {
|
|
cvsextras |
1953b02 |
Tcl_AppendResult(interp, "element \"", argv[i], "\" is hidden",
|
|
cvsextras |
1953b02 |
! (char *)NULL);
|
|
cvsextras |
1953b02 |
return TCL_ERROR; /* Element isn't visible */
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
/* Check if the X or Y vectors have notifications pending */
|
|
cvsextras |
1953b02 |
--- 1706,1728 ----
|
|
cvsextras |
1953b02 |
search.dist = (double)(search.halo + 1);
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
if (i < argc) {
|
|
cvsextras |
1953b02 |
+ Blt_ChainLink *linkPtr;
|
|
cvsextras |
1953b02 |
+
|
|
cvsextras |
1953b02 |
for ( /* empty */ ; i < argc; i++) {
|
|
cvsextras |
1953b02 |
if (NameToElement(graphPtr, argv[i], &elemPtr) != TCL_OK) {
|
|
cvsextras |
1953b02 |
return TCL_ERROR; /* Can't find named element */
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
! found = FALSE;
|
|
cvsextras |
1953b02 |
! for (linkPtr = Blt_ChainFirstLink(graphPtr->elements.displayList);
|
|
cvsextras |
1953b02 |
! linkPtr == NULL; linkPtr = Blt_ChainNextLink(linkPtr)) {
|
|
cvsextras |
1953b02 |
! if (elemPtr == Blt_ChainGetValue(linkPtr)) {
|
|
cvsextras |
1953b02 |
! found = TRUE;
|
|
cvsextras |
1953b02 |
! break;
|
|
cvsextras |
1953b02 |
! }
|
|
cvsextras |
1953b02 |
! }
|
|
cvsextras |
1953b02 |
! if ((!found) || (elemPtr->hidden)) {
|
|
cvsextras |
1953b02 |
Tcl_AppendResult(interp, "element \"", argv[i], "\" is hidden",
|
|
cvsextras |
1953b02 |
! (char *)NULL);
|
|
cvsextras |
1953b02 |
return TCL_ERROR; /* Element isn't visible */
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
/* Check if the X or Y vectors have notifications pending */
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 1744,1759 ****
|
|
cvsextras |
1953b02 |
for (linkPtr = Blt_ChainLastLink(graphPtr->elements.displayList);
|
|
cvsextras |
1953b02 |
linkPtr != NULL; linkPtr = Blt_ChainPrevLink(linkPtr)) {
|
|
cvsextras |
1953b02 |
elemPtr = Blt_ChainGetValue(linkPtr);
|
|
cvsextras |
1953b02 |
-
|
|
cvsextras |
1953b02 |
/* Check if the X or Y vectors have notifications pending */
|
|
cvsextras |
1953b02 |
! if ((elemPtr->flags & MAP_ITEM) ||
|
|
cvsextras |
1953b02 |
(Blt_VectorNotifyPending(elemPtr->x.clientId)) ||
|
|
cvsextras |
1953b02 |
(Blt_VectorNotifyPending(elemPtr->y.clientId))) {
|
|
cvsextras |
1953b02 |
continue;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
! if (!elemPtr->hidden) {
|
|
cvsextras |
1953b02 |
! (*elemPtr->procsPtr->closestProc) (graphPtr, elemPtr, &search);
|
|
cvsextras |
1953b02 |
! }
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
--- 1745,1758 ----
|
|
cvsextras |
1953b02 |
for (linkPtr = Blt_ChainLastLink(graphPtr->elements.displayList);
|
|
cvsextras |
1953b02 |
linkPtr != NULL; linkPtr = Blt_ChainPrevLink(linkPtr)) {
|
|
cvsextras |
1953b02 |
elemPtr = Blt_ChainGetValue(linkPtr);
|
|
cvsextras |
1953b02 |
/* Check if the X or Y vectors have notifications pending */
|
|
cvsextras |
1953b02 |
! if ((elemPtr->hidden) ||
|
|
cvsextras |
1953b02 |
! (elemPtr->flags & MAP_ITEM) ||
|
|
cvsextras |
1953b02 |
(Blt_VectorNotifyPending(elemPtr->x.clientId)) ||
|
|
cvsextras |
1953b02 |
(Blt_VectorNotifyPending(elemPtr->y.clientId))) {
|
|
cvsextras |
1953b02 |
continue;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
! (*elemPtr->procsPtr->closestProc)(graphPtr, elemPtr, &search);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 1859,1888 ****
|
|
cvsextras |
1953b02 |
return TCL_ERROR; /* Failed to configure element */
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
if (Blt_ConfigModified(elemPtr->specsPtr, "-hide", (char *)NULL)) {
|
|
cvsextras |
1953b02 |
- Blt_ChainLink *linkPtr;
|
|
cvsextras |
1953b02 |
-
|
|
cvsextras |
1953b02 |
- for (linkPtr = Blt_ChainFirstLink(graphPtr->elements.displayList);
|
|
cvsextras |
1953b02 |
- linkPtr != NULL; linkPtr = Blt_ChainNextLink(linkPtr)) {
|
|
cvsextras |
1953b02 |
- if (elemPtr == Blt_ChainGetValue(linkPtr)) {
|
|
cvsextras |
1953b02 |
- break;
|
|
cvsextras |
1953b02 |
- }
|
|
cvsextras |
1953b02 |
- }
|
|
cvsextras |
1953b02 |
- if ((elemPtr->hidden) != (linkPtr == NULL)) {
|
|
cvsextras |
1953b02 |
-
|
|
cvsextras |
1953b02 |
- /* The element's "hidden" variable is out of sync with
|
|
cvsextras |
1953b02 |
- * the display list. [That's what you get for having
|
|
cvsextras |
1953b02 |
- * two ways to do the same thing.] This affects what
|
|
cvsextras |
1953b02 |
- * elements are considered for axis ranges and
|
|
cvsextras |
1953b02 |
- * displayed in the legend. Update the display list by
|
|
cvsextras |
1953b02 |
- * either by adding or removing the element. */
|
|
cvsextras |
1953b02 |
-
|
|
cvsextras |
1953b02 |
- if (linkPtr == NULL) {
|
|
cvsextras |
1953b02 |
- Blt_ChainPrepend(graphPtr->elements.displayList, elemPtr);
|
|
cvsextras |
1953b02 |
- } else {
|
|
cvsextras |
1953b02 |
- Blt_ChainDeleteLink(graphPtr->elements.displayList,
|
|
cvsextras |
1953b02 |
- linkPtr);
|
|
cvsextras |
1953b02 |
- }
|
|
cvsextras |
1953b02 |
- }
|
|
cvsextras |
1953b02 |
graphPtr->flags |= RESET_AXES;
|
|
cvsextras |
1953b02 |
elemPtr->flags |= MAP_ITEM;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
--- 1858,1863 ----
|
|
cvsextras |
1953b02 |
diff -cr blt2.4z/src/bltGrMarker.c blt2.4z-new/src/bltGrMarker.c
|
|
cvsextras |
1953b02 |
*** blt2.4z/src/bltGrMarker.c 2002-09-18 17:30:51.000000000 -0500
|
|
cvsextras |
1953b02 |
--- blt2.4z-new/src/bltGrMarker.c 2002-12-11 01:55:27.000000000 -0600
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 29,34 ****
|
|
cvsextras |
1953b02 |
--- 29,37 ----
|
|
cvsextras |
1953b02 |
#include "bltChain.h"
|
|
cvsextras |
1953b02 |
#include "bltGrElem.h"
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
+ #define GETBITMAP(b) \
|
|
cvsextras |
1953b02 |
+ (((b)->destBitmap == None) ? (b)->srcBitmap : (b)->destBitmap)
|
|
cvsextras |
1953b02 |
+
|
|
cvsextras |
1953b02 |
#define MAX_OUTLINE_POINTS 12
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
/* Map graph coordinates to normalized coordinates [0..1] */
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 812,818 ****
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
/* Polygon specific attributes and fields */
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
! Point2D *screenPts;
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
ColorPair outline;
|
|
cvsextras |
1953b02 |
ColorPair fill;
|
|
cvsextras |
1953b02 |
--- 815,827 ----
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
/* Polygon specific attributes and fields */
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
! Point2D *screenPts; /* Array of points representing the
|
|
cvsextras |
1953b02 |
! * polygon in screen coordinates. It's
|
|
cvsextras |
1953b02 |
! * not used for drawing, but to
|
|
cvsextras |
1953b02 |
! * generate the outlinePts and fillPts
|
|
cvsextras |
1953b02 |
! * arrays that are the coordinates of
|
|
cvsextras |
1953b02 |
! * the possibly clipped outline and
|
|
cvsextras |
1953b02 |
! * filled polygon. */
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
ColorPair outline;
|
|
cvsextras |
1953b02 |
ColorPair fill;
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 1563,1571 ****
|
|
cvsextras |
1953b02 |
if (bmPtr->srcBitmap == None) {
|
|
cvsextras |
1953b02 |
return TCL_OK;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
- if (bmPtr->destBitmap == None) {
|
|
cvsextras |
1953b02 |
- bmPtr->destBitmap = bmPtr->srcBitmap;
|
|
cvsextras |
1953b02 |
- }
|
|
cvsextras |
1953b02 |
bmPtr->theta = FMOD(bmPtr->rotate, 360.0);
|
|
cvsextras |
1953b02 |
if (bmPtr->theta < 0.0) {
|
|
cvsextras |
1953b02 |
bmPtr->theta += 360.0;
|
|
cvsextras |
1953b02 |
--- 1572,1577 ----
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 1650,1658 ****
|
|
cvsextras |
1953b02 |
if (bmPtr->srcBitmap == None) {
|
|
cvsextras |
1953b02 |
return;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
! if (bmPtr->destBitmap != bmPtr->srcBitmap) {
|
|
cvsextras |
1953b02 |
Tk_FreePixmap(graphPtr->display, bmPtr->destBitmap);
|
|
cvsextras |
1953b02 |
! bmPtr->destBitmap = bmPtr->srcBitmap;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
/*
|
|
cvsextras |
1953b02 |
* Collect the coordinates. The number of coordinates will determine
|
|
cvsextras |
1953b02 |
--- 1656,1664 ----
|
|
cvsextras |
1953b02 |
if (bmPtr->srcBitmap == None) {
|
|
cvsextras |
1953b02 |
return;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
! if (bmPtr->destBitmap != None) {
|
|
cvsextras |
1953b02 |
Tk_FreePixmap(graphPtr->display, bmPtr->destBitmap);
|
|
cvsextras |
1953b02 |
! bmPtr->destBitmap = None;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
/*
|
|
cvsextras |
1953b02 |
* Collect the coordinates. The number of coordinates will determine
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 1752,1758 ****
|
|
cvsextras |
1953b02 |
} else {
|
|
cvsextras |
1953b02 |
bmPtr->destWidth = srcWidth;
|
|
cvsextras |
1953b02 |
bmPtr->destHeight = srcHeight;
|
|
cvsextras |
1953b02 |
! bmPtr->destBitmap = bmPtr->srcBitmap;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
bmPtr->anchorPos = anchorPos;
|
|
cvsextras |
1953b02 |
{
|
|
cvsextras |
1953b02 |
--- 1758,1764 ----
|
|
cvsextras |
1953b02 |
} else {
|
|
cvsextras |
1953b02 |
bmPtr->destWidth = srcWidth;
|
|
cvsextras |
1953b02 |
bmPtr->destHeight = srcHeight;
|
|
cvsextras |
1953b02 |
! bmPtr->destBitmap = None;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
bmPtr->anchorPos = anchorPos;
|
|
cvsextras |
1953b02 |
{
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 1909,1917 ****
|
|
cvsextras |
1953b02 |
Graph *graphPtr = markerPtr->graphPtr;
|
|
cvsextras |
1953b02 |
BitmapMarker *bmPtr = (BitmapMarker *)markerPtr;
|
|
cvsextras |
1953b02 |
double theta;
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
! if ((bmPtr->destBitmap == None) || (bmPtr->destWidth < 1) ||
|
|
cvsextras |
1953b02 |
! (bmPtr->destHeight < 1)) {
|
|
cvsextras |
1953b02 |
return;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
theta = FMOD(bmPtr->theta, (double)90.0);
|
|
cvsextras |
1953b02 |
--- 1915,1924 ----
|
|
cvsextras |
1953b02 |
Graph *graphPtr = markerPtr->graphPtr;
|
|
cvsextras |
1953b02 |
BitmapMarker *bmPtr = (BitmapMarker *)markerPtr;
|
|
cvsextras |
1953b02 |
double theta;
|
|
cvsextras |
1953b02 |
+ Pixmap bitmap;
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
! bitmap = GETBITMAP(bmPtr);
|
|
cvsextras |
1953b02 |
! if ((bitmap == None) || (bmPtr->destWidth < 1) || (bmPtr->destHeight < 1)) {
|
|
cvsextras |
1953b02 |
return;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
theta = FMOD(bmPtr->theta, (double)90.0);
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 1934,1947 ****
|
|
cvsextras |
1953b02 |
XFillPolygon(graphPtr->display, drawable, bmPtr->fillGC,
|
|
cvsextras |
1953b02 |
polygon, bmPtr->nOutlinePts, Convex, CoordModeOrigin);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
! XSetClipMask(graphPtr->display, bmPtr->gc, bmPtr->destBitmap);
|
|
cvsextras |
1953b02 |
XSetClipOrigin(graphPtr->display, bmPtr->gc, (int)bmPtr->anchorPos.x,
|
|
cvsextras |
1953b02 |
(int)bmPtr->anchorPos.y);
|
|
cvsextras |
1953b02 |
} else {
|
|
cvsextras |
1953b02 |
XSetClipMask(graphPtr->display, bmPtr->gc, None);
|
|
cvsextras |
1953b02 |
XSetClipOrigin(graphPtr->display, bmPtr->gc, 0, 0);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
! XCopyPlane(graphPtr->display, bmPtr->destBitmap, drawable, bmPtr->gc, 0, 0,
|
|
cvsextras |
1953b02 |
bmPtr->destWidth, bmPtr->destHeight, (int)bmPtr->anchorPos.x,
|
|
cvsextras |
1953b02 |
(int)bmPtr->anchorPos.y, 1);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
--- 1941,1954 ----
|
|
cvsextras |
1953b02 |
XFillPolygon(graphPtr->display, drawable, bmPtr->fillGC,
|
|
cvsextras |
1953b02 |
polygon, bmPtr->nOutlinePts, Convex, CoordModeOrigin);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
! XSetClipMask(graphPtr->display, bmPtr->gc, bitmap);
|
|
cvsextras |
1953b02 |
XSetClipOrigin(graphPtr->display, bmPtr->gc, (int)bmPtr->anchorPos.x,
|
|
cvsextras |
1953b02 |
(int)bmPtr->anchorPos.y);
|
|
cvsextras |
1953b02 |
} else {
|
|
cvsextras |
1953b02 |
XSetClipMask(graphPtr->display, bmPtr->gc, None);
|
|
cvsextras |
1953b02 |
XSetClipOrigin(graphPtr->display, bmPtr->gc, 0, 0);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
! XCopyPlane(graphPtr->display, bitmap, drawable, bmPtr->gc, 0, 0,
|
|
cvsextras |
1953b02 |
bmPtr->destWidth, bmPtr->destHeight, (int)bmPtr->anchorPos.x,
|
|
cvsextras |
1953b02 |
(int)bmPtr->anchorPos.y, 1);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 1965,1972 ****
|
|
cvsextras |
1953b02 |
{
|
|
cvsextras |
1953b02 |
Graph *graphPtr = markerPtr->graphPtr;
|
|
cvsextras |
1953b02 |
BitmapMarker *bmPtr = (BitmapMarker *)markerPtr;
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
! if (bmPtr->destBitmap == None) {
|
|
cvsextras |
1953b02 |
return;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
if (bmPtr->fillColor != NULL) {
|
|
cvsextras |
1953b02 |
--- 1972,1981 ----
|
|
cvsextras |
1953b02 |
{
|
|
cvsextras |
1953b02 |
Graph *graphPtr = markerPtr->graphPtr;
|
|
cvsextras |
1953b02 |
BitmapMarker *bmPtr = (BitmapMarker *)markerPtr;
|
|
cvsextras |
1953b02 |
+ Pixmap bitmap;
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
! bitmap = GETBITMAP(bmPtr);
|
|
cvsextras |
1953b02 |
! if (bitmap == None) {
|
|
cvsextras |
1953b02 |
return;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
if (bmPtr->fillColor != NULL) {
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 1982,1988 ****
|
|
cvsextras |
1953b02 |
Blt_FormatToPostScript(psToken, " %d %d true [%d 0 0 %d 0 %d] {",
|
|
cvsextras |
1953b02 |
bmPtr->destWidth, bmPtr->destHeight, bmPtr->destWidth,
|
|
cvsextras |
1953b02 |
-bmPtr->destHeight, bmPtr->destHeight);
|
|
cvsextras |
1953b02 |
! Blt_BitmapDataToPostScript(psToken, graphPtr->display, bmPtr->destBitmap,
|
|
cvsextras |
1953b02 |
bmPtr->destWidth, bmPtr->destHeight);
|
|
cvsextras |
1953b02 |
Blt_AppendToPostScript(psToken, " } imagemask\n",
|
|
cvsextras |
1953b02 |
"grestore\n", (char *)NULL);
|
|
cvsextras |
1953b02 |
--- 1991,1997 ----
|
|
cvsextras |
1953b02 |
Blt_FormatToPostScript(psToken, " %d %d true [%d 0 0 %d 0 %d] {",
|
|
cvsextras |
1953b02 |
bmPtr->destWidth, bmPtr->destHeight, bmPtr->destWidth,
|
|
cvsextras |
1953b02 |
-bmPtr->destHeight, bmPtr->destHeight);
|
|
cvsextras |
1953b02 |
! Blt_BitmapDataToPostScript(psToken, graphPtr->display, bitmap,
|
|
cvsextras |
1953b02 |
bmPtr->destWidth, bmPtr->destHeight);
|
|
cvsextras |
1953b02 |
Blt_AppendToPostScript(psToken, " } imagemask\n",
|
|
cvsextras |
1953b02 |
"grestore\n", (char *)NULL);
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 2018,2024 ****
|
|
cvsextras |
1953b02 |
if (bmPtr->fillGC != NULL) {
|
|
cvsextras |
1953b02 |
Tk_FreeGC(graphPtr->display, bmPtr->fillGC);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
! if (bmPtr->destBitmap != bmPtr->srcBitmap) {
|
|
cvsextras |
1953b02 |
Tk_FreePixmap(graphPtr->display, bmPtr->destBitmap);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
--- 2027,2033 ----
|
|
cvsextras |
1953b02 |
if (bmPtr->fillGC != NULL) {
|
|
cvsextras |
1953b02 |
Tk_FreeGC(graphPtr->display, bmPtr->fillGC);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
! if (bmPtr->destBitmap != None) {
|
|
cvsextras |
1953b02 |
Tk_FreePixmap(graphPtr->display, bmPtr->destBitmap);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 2127,2134 ****
|
|
cvsextras |
1953b02 |
imPtr->tkImage = Tk_GetImage(interp, graphPtr->tkwin,
|
|
cvsextras |
1953b02 |
imPtr->imageName, ImageChangedProc, imPtr);
|
|
cvsextras |
1953b02 |
if (imPtr->tkImage == NULL) {
|
|
cvsextras |
1953b02 |
- Tcl_AppendResult(interp, "can't find an image \"",
|
|
cvsextras |
1953b02 |
- imPtr->imageName, "\"", (char *)NULL);
|
|
cvsextras |
1953b02 |
Blt_Free(imPtr->imageName);
|
|
cvsextras |
1953b02 |
imPtr->imageName = NULL;
|
|
cvsextras |
1953b02 |
return TCL_ERROR;
|
|
cvsextras |
1953b02 |
--- 2136,2141 ----
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 2494,2499 ****
|
|
cvsextras |
1953b02 |
--- 2501,2509 ----
|
|
cvsextras |
1953b02 |
if (imPtr->srcImage != NULL) {
|
|
cvsextras |
1953b02 |
Blt_FreeColorImage(imPtr->srcImage);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
+ if (imPtr->gc != NULL) {
|
|
cvsextras |
1953b02 |
+ Tk_FreeGC(graphPtr->display, imPtr->gc);
|
|
cvsextras |
1953b02 |
+ }
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
/*
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 3747,3757 ****
|
|
cvsextras |
1953b02 |
{
|
|
cvsextras |
1953b02 |
PolygonMarker *pmPtr = (PolygonMarker *)markerPtr;
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
! if (pmPtr->nWorldPts < 2) {
|
|
cvsextras |
1953b02 |
! return FALSE;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
! return Blt_PointInPolygon(samplePtr, pmPtr->screenPts,
|
|
cvsextras |
1953b02 |
! pmPtr->nWorldPts + 1);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
/*
|
|
cvsextras |
1953b02 |
--- 3757,3767 ----
|
|
cvsextras |
1953b02 |
{
|
|
cvsextras |
1953b02 |
PolygonMarker *pmPtr = (PolygonMarker *)markerPtr;
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
! if ((pmPtr->nWorldPts >= 3) && (pmPtr->screenPts != NULL)) {
|
|
cvsextras |
1953b02 |
! return Blt_PointInPolygon(samplePtr, pmPtr->screenPts,
|
|
cvsextras |
1953b02 |
! pmPtr->nWorldPts + 1);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
! return FALSE;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
/*
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 3769,3775 ****
|
|
cvsextras |
1953b02 |
{
|
|
cvsextras |
1953b02 |
PolygonMarker *pmPtr = (PolygonMarker *)markerPtr;
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
! if (pmPtr->nWorldPts >= 3) {
|
|
cvsextras |
1953b02 |
return Blt_RegionInPolygon(extsPtr, pmPtr->screenPts, pmPtr->nWorldPts,
|
|
cvsextras |
1953b02 |
enclosed);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
--- 3779,3785 ----
|
|
cvsextras |
1953b02 |
{
|
|
cvsextras |
1953b02 |
PolygonMarker *pmPtr = (PolygonMarker *)markerPtr;
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
! if ((pmPtr->nWorldPts >= 3) && (pmPtr->screenPts != NULL)) {
|
|
cvsextras |
1953b02 |
return Blt_RegionInPolygon(extsPtr, pmPtr->screenPts, pmPtr->nWorldPts,
|
|
cvsextras |
1953b02 |
enclosed);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 4036,4041 ****
|
|
cvsextras |
1953b02 |
--- 4046,4054 ----
|
|
cvsextras |
1953b02 |
if (pmPtr->outlinePts != NULL) {
|
|
cvsextras |
1953b02 |
Blt_Free(pmPtr->outlinePts);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
+ if (pmPtr->screenPts != NULL) {
|
|
cvsextras |
1953b02 |
+ Blt_Free(pmPtr->screenPts);
|
|
cvsextras |
1953b02 |
+ }
|
|
cvsextras |
1953b02 |
Blt_FreeColorPair(&pmPtr->outline);
|
|
cvsextras |
1953b02 |
Blt_FreeColorPair(&pmPtr->fill);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 4260,4265 ****
|
|
cvsextras |
1953b02 |
--- 4273,4279 ----
|
|
cvsextras |
1953b02 |
int nNames, nOpts;
|
|
cvsextras |
1953b02 |
char **options;
|
|
cvsextras |
1953b02 |
register int i;
|
|
cvsextras |
1953b02 |
+ int under;
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
/* Figure out where the option value pairs begin */
|
|
cvsextras |
1953b02 |
argc -= 3;
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 4289,4294 ****
|
|
cvsextras |
1953b02 |
--- 4303,4309 ----
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
/* Save the old marker. */
|
|
cvsextras |
1953b02 |
oldName = markerPtr->name;
|
|
cvsextras |
1953b02 |
+ under = markerPtr->drawUnder;
|
|
cvsextras |
1953b02 |
if (Tk_ConfigureWidget(interp, graphPtr->tkwin,
|
|
cvsextras |
1953b02 |
markerPtr->classPtr->configSpecs, nOpts, options,
|
|
cvsextras |
1953b02 |
(char *)markerPtr, flags) != TCL_OK) {
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 4304,4309 ****
|
|
cvsextras |
1953b02 |
--- 4319,4327 ----
|
|
cvsextras |
1953b02 |
if ((*markerPtr->classPtr->configProc) (markerPtr) != TCL_OK) {
|
|
cvsextras |
1953b02 |
return TCL_ERROR;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
+ if (markerPtr->drawUnder != under) {
|
|
cvsextras |
1953b02 |
+ graphPtr->flags |= REDRAW_BACKING_STORE;
|
|
cvsextras |
1953b02 |
+ }
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
return TCL_OK;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 4942,4948 ****
|
|
cvsextras |
1953b02 |
--- 4960,4973 ----
|
|
cvsextras |
1953b02 |
for (linkPtr = Blt_ChainLastLink(graphPtr->markers.displayList);
|
|
cvsextras |
1953b02 |
linkPtr != NULL; linkPtr = Blt_ChainPrevLink(linkPtr)) {
|
|
cvsextras |
1953b02 |
markerPtr = Blt_ChainGetValue(linkPtr);
|
|
cvsextras |
1953b02 |
+ /*
|
|
cvsextras |
1953b02 |
+ * Don't consider markers that are pending to be mapped. Even
|
|
cvsextras |
1953b02 |
+ * if the marker has already been mapped, the coordinates
|
|
cvsextras |
1953b02 |
+ * could be invalid now. Better to pick no marker than the
|
|
cvsextras |
1953b02 |
+ * wrong marker.
|
|
cvsextras |
1953b02 |
+ */
|
|
cvsextras |
1953b02 |
if ((markerPtr->drawUnder == under) && (markerPtr->nWorldPts > 0) &&
|
|
cvsextras |
1953b02 |
+ ((markerPtr->flags & MAP_ITEM) == 0) &&
|
|
cvsextras |
1953b02 |
(!markerPtr->hidden) && (markerPtr->state == STATE_NORMAL)) {
|
|
cvsextras |
1953b02 |
if ((*markerPtr->classPtr->pointProc) (markerPtr, &point)) {
|
|
cvsextras |
1953b02 |
return markerPtr;
|
|
cvsextras |
1953b02 |
Only in blt2.4z-new/src: bltHash.h
|
|
cvsextras |
1953b02 |
diff -cr blt2.4z/src/bltInit.c blt2.4z-new/src/bltInit.c
|
|
cvsextras |
1953b02 |
*** blt2.4z/src/bltInit.c 2002-09-10 00:12:33.000000000 -0500
|
|
cvsextras |
1953b02 |
--- blt2.4z-new/src/bltInit.c 2002-12-02 22:25:33.000000000 -0600
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 38,54 ****
|
|
cvsextras |
1953b02 |
#endif
|
|
cvsextras |
1953b02 |
#endif
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
double bltNaN;
|
|
cvsextras |
1953b02 |
#if (TCL_MAJOR_VERSION > 7)
|
|
cvsextras |
1953b02 |
Tcl_Obj *bltEmptyStringObjPtr;
|
|
cvsextras |
1953b02 |
#endif
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
static Tcl_MathProc MinMathProc, MaxMathProc;
|
|
cvsextras |
1953b02 |
- static int tclLoaded = FALSE;
|
|
cvsextras |
1953b02 |
- #ifndef TCL_ONLY
|
|
cvsextras |
1953b02 |
- static int tkLoaded = FALSE;
|
|
cvsextras |
1953b02 |
- #endif
|
|
cvsextras |
1953b02 |
-
|
|
cvsextras |
1953b02 |
static char libPath[1024] =
|
|
cvsextras |
1953b02 |
{
|
|
cvsextras |
1953b02 |
BLT_LIBRARY
|
|
cvsextras |
1953b02 |
--- 38,53 ----
|
|
cvsextras |
1953b02 |
#endif
|
|
cvsextras |
1953b02 |
#endif
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
+ #define BLT_THREAD_KEY "BLT Initialized"
|
|
cvsextras |
1953b02 |
+ #define BLT_TCL_CMDS (1<<0)
|
|
cvsextras |
1953b02 |
+ #define BLT_TK_CMDS (1<<1)
|
|
cvsextras |
1953b02 |
+
|
|
cvsextras |
1953b02 |
double bltNaN;
|
|
cvsextras |
1953b02 |
#if (TCL_MAJOR_VERSION > 7)
|
|
cvsextras |
1953b02 |
Tcl_Obj *bltEmptyStringObjPtr;
|
|
cvsextras |
1953b02 |
#endif
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
static Tcl_MathProc MinMathProc, MaxMathProc;
|
|
cvsextras |
1953b02 |
static char libPath[1024] =
|
|
cvsextras |
1953b02 |
{
|
|
cvsextras |
1953b02 |
BLT_LIBRARY
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 404,410 ****
|
|
cvsextras |
1953b02 |
Blt_Init(interp)
|
|
cvsextras |
1953b02 |
Tcl_Interp *interp; /* Interpreter to add extra commands */
|
|
cvsextras |
1953b02 |
{
|
|
cvsextras |
1953b02 |
! if (!tclLoaded) {
|
|
cvsextras |
1953b02 |
register Tcl_AppInitProc **p;
|
|
cvsextras |
1953b02 |
Tcl_Namespace *nsPtr;
|
|
cvsextras |
1953b02 |
Tcl_ValueType args[2];
|
|
cvsextras |
1953b02 |
--- 403,412 ----
|
|
cvsextras |
1953b02 |
Blt_Init(interp)
|
|
cvsextras |
1953b02 |
Tcl_Interp *interp; /* Interpreter to add extra commands */
|
|
cvsextras |
1953b02 |
{
|
|
cvsextras |
1953b02 |
! int flags;
|
|
cvsextras |
1953b02 |
!
|
|
cvsextras |
1953b02 |
! flags = (int)Tcl_GetAssocData(interp, BLT_THREAD_KEY, NULL);
|
|
cvsextras |
1953b02 |
! if ((flags & BLT_TCL_CMDS) == 0) {
|
|
cvsextras |
1953b02 |
register Tcl_AppInitProc **p;
|
|
cvsextras |
1953b02 |
Tcl_Namespace *nsPtr;
|
|
cvsextras |
1953b02 |
Tcl_ValueType args[2];
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 451,460 ****
|
|
cvsextras |
1953b02 |
if (Tcl_PkgProvide(interp, "BLT", BLT_VERSION) != TCL_OK) {
|
|
cvsextras |
1953b02 |
return TCL_ERROR;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
! tclLoaded = TRUE;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
#ifndef TCL_ONLY
|
|
cvsextras |
1953b02 |
! if (!tkLoaded) {
|
|
cvsextras |
1953b02 |
register Tcl_AppInitProc **p;
|
|
cvsextras |
1953b02 |
Tcl_Namespace *nsPtr;
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
--- 453,463 ----
|
|
cvsextras |
1953b02 |
if (Tcl_PkgProvide(interp, "BLT", BLT_VERSION) != TCL_OK) {
|
|
cvsextras |
1953b02 |
return TCL_ERROR;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
! Tcl_SetAssocData(interp, BLT_THREAD_KEY, NULL,
|
|
cvsextras |
1953b02 |
! (ClientData)(flags | BLT_TCL_CMDS));
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
#ifndef TCL_ONLY
|
|
cvsextras |
1953b02 |
! if ((flags & BLT_TK_CMDS) == 0) {
|
|
cvsextras |
1953b02 |
register Tcl_AppInitProc **p;
|
|
cvsextras |
1953b02 |
Tcl_Namespace *nsPtr;
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 486,492 ****
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
Blt_InitEpsCanvasItem(interp);
|
|
cvsextras |
1953b02 |
! tkLoaded = TRUE;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
#endif
|
|
cvsextras |
1953b02 |
return TCL_OK;
|
|
cvsextras |
1953b02 |
--- 489,496 ----
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
Blt_InitEpsCanvasItem(interp);
|
|
cvsextras |
1953b02 |
! Tcl_SetAssocData(interp, BLT_THREAD_KEY, NULL,
|
|
cvsextras |
1953b02 |
! (ClientData)(flags | BLT_TK_CMDS));
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
#endif
|
|
cvsextras |
1953b02 |
return TCL_OK;
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 499,505 ****
|
|
cvsextras |
1953b02 |
Blt_Init(interp)
|
|
cvsextras |
1953b02 |
Tcl_Interp *interp; /* Interpreter to add extra commands */
|
|
cvsextras |
1953b02 |
{
|
|
cvsextras |
1953b02 |
! if (!tclLoaded) {
|
|
cvsextras |
1953b02 |
register Tcl_AppInitProc **p;
|
|
cvsextras |
1953b02 |
Tcl_ValueType args[2];
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
--- 503,512 ----
|
|
cvsextras |
1953b02 |
Blt_Init(interp)
|
|
cvsextras |
1953b02 |
Tcl_Interp *interp; /* Interpreter to add extra commands */
|
|
cvsextras |
1953b02 |
{
|
|
cvsextras |
1953b02 |
! int flags;
|
|
cvsextras |
1953b02 |
!
|
|
cvsextras |
1953b02 |
! flags = (int)Tcl_GetAssocData(interp, BLT_THREAD_KEY, NULL);
|
|
cvsextras |
1953b02 |
! if ((flags & BLT_TCL_CMDS) == 0) {
|
|
cvsextras |
1953b02 |
register Tcl_AppInitProc **p;
|
|
cvsextras |
1953b02 |
Tcl_ValueType args[2];
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 537,546 ****
|
|
cvsextras |
1953b02 |
if (Tcl_PkgProvide(interp, "BLT", BLT_VERSION) != TCL_OK) {
|
|
cvsextras |
1953b02 |
return TCL_ERROR;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
! tclLoaded = TRUE;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
#ifndef TCL_ONLY
|
|
cvsextras |
1953b02 |
! if (!tkLoaded) {
|
|
cvsextras |
1953b02 |
register Tcl_AppInitProc **p;
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
#if (TCL_VERSION_NUMBER >= _VERSION(8,1,0))
|
|
cvsextras |
1953b02 |
--- 544,554 ----
|
|
cvsextras |
1953b02 |
if (Tcl_PkgProvide(interp, "BLT", BLT_VERSION) != TCL_OK) {
|
|
cvsextras |
1953b02 |
return TCL_ERROR;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
! Tcl_SetAssocData(interp, BLT_THREAD_KEY, NULL,
|
|
cvsextras |
1953b02 |
! (ClientData)(flags | BLT_TCL_CMDS));
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
#ifndef TCL_ONLY
|
|
cvsextras |
1953b02 |
! if ((flags & BLT_TK_CMDS) == 0) {
|
|
cvsextras |
1953b02 |
register Tcl_AppInitProc **p;
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
#if (TCL_VERSION_NUMBER >= _VERSION(8,1,0))
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 560,566 ****
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
Blt_InitEpsCanvasItem(interp);
|
|
cvsextras |
1953b02 |
! tkLoaded = TRUE;
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
#endif
|
|
cvsextras |
1953b02 |
return TCL_OK;
|
|
cvsextras |
1953b02 |
--- 568,575 ----
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
Blt_InitEpsCanvasItem(interp);
|
|
cvsextras |
1953b02 |
! Tcl_SetAssocData(interp, BLT_THREAD_KEY, NULL,
|
|
cvsextras |
1953b02 |
! (ClientData)(flags | BLT_TK_CMDS));
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
#endif
|
|
cvsextras |
1953b02 |
return TCL_OK;
|
|
cvsextras |
1953b02 |
diff -cr blt2.4z/src/bltTreeView.c blt2.4z-new/src/bltTreeView.c
|
|
cvsextras |
1953b02 |
*** blt2.4z/src/bltTreeView.c 2002-08-15 23:15:04.000000000 -0500
|
|
cvsextras |
1953b02 |
--- blt2.4z-new/src/bltTreeView.c 2003-03-04 11:15:34.000000000 -0600
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 3866,3871 ****
|
|
cvsextras |
1953b02 |
--- 3866,3872 ----
|
|
cvsextras |
1953b02 |
assert(tvPtr->visibleArr);
|
|
cvsextras |
1953b02 |
}
|
|
cvsextras |
1953b02 |
tvPtr->nVisible = 0;
|
|
cvsextras |
1953b02 |
+ tvPtr->visibleArr[0] = NULL;
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
if (tvPtr->rootPtr->flags & ENTRY_HIDDEN) {
|
|
cvsextras |
1953b02 |
return TCL_OK; /* Root node is hidden. */
|
|
cvsextras |
1953b02 |
***************
|
|
cvsextras |
1953b02 |
*** 4631,4636 ****
|
|
cvsextras |
1953b02 |
--- 4632,4640 ----
|
|
cvsextras |
1953b02 |
int width;
|
|
cvsextras |
1953b02 |
int x0, cx, xOffset;
|
|
cvsextras |
1953b02 |
|
|
cvsextras |
1953b02 |
+ if (tvPtr->titleHeight < 1) {
|
|
cvsextras |
1953b02 |
+ return;
|
|
cvsextras |
1953b02 |
+ }
|
|
cvsextras |
1953b02 |
columnWidth = columnPtr->width;
|
|
cvsextras |
1953b02 |
cx = x;
|
|
cvsextras |
1953b02 |
if (columnPtr->position == Blt_ChainGetLength(tvPtr->colChainPtr)) {
|
|
cvsextras |
1953b02 |
Only in blt2.4z/src: pure_api.c
|