|
From: Hans-Bernhard B. <br...@ph...> - 2004-03-09 19:43:21
|
Hello, everyone,
I've just filed a patch for this SF bug report:
[ 905651 ] splot: grid and border overlap the plot
The fix, unfortunately, is a pretty massive one:
gnuplot/src> wc graph3d_grid_layers.diff
386 1791 12707 graph3d_grid_layers.diff
I'm not convinced this can go into CVS before the 4.0 release. It's a
pretty serious bug, but I suspect the risk that my patch breaks something
else is considerable. I see three ways out of this dilemma:
1) Put it in CVS, then release yet another release candidate to the
general public right away, to give this patch as much exposure as
possible.
2) Some of us (Petr, most importantly...) test this rigorously before it
goes in. Then it goes into CVS for 4.0
3) Delay this patch until after the release.
I built it by generalizing Petr's existing PM3D-only hack "whichgrid" to
be usable in all circumstances I could imagine. I tried not to affect its
operation in PM3D mode, but Petr or someone will have to check this.
Petr: I you should do something about this FIXME comment of yours:
(graph3d.c:2268 after this patch):
if (*X_AXIS.label.text) {
/* label at xaxis_y + 1/4 of (xaxis_y-other_y) */
#ifdef USE_GRID_LAYERS /* FIXME: still needed??? what for? */
if ((surface_rot_x <= 90 && BACKGRID != whichgrid) ||
(surface_rot_x > 90 && FRONTGRID != whichgrid)) {
#endif
I removed several similar if's of that kind from [xyz]tick_callback(),
because they really didn't make much sense. Whether or not to draw those
tick labels is a question of 'whichgrid' alone. The surface_rot_x status
almost certainly should not have to be consulted here. Actually, since
the tick labels are defined to always be outside the graph box, it
shouldn't matter at all, as long as you make sure they're only output
once. So
if (FRONTGRID != whichgrid) {
should suffice. That's what my patch does.
--
Hans-Bernhard Broeker (br...@ph...)
Even if all the snow were burnt, ashes would remain.
|