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. |