|
From: Hans-Bernhard B. <br...@ph...> - 2005-04-13 19:40:44
|
Ethan Merritt wrote: > On Monday 11 April 2005 09:35 am, Ga=EBl Varoquaux wrote: [Gael: please subscribe yourself to the mailing list --- it's getting=20 cumbersome to manually approve each mail you send to it.] >> I think we should define a term3d api (the terminal code file .trm >>could go in a separate directory, term3d for instance). It would >>reproduce as much as possible the current terminal api, but in 3d >>(positions would be given in 3d). > Fine with me. Dito. We've discussed this before, and the conclusion back then was=20 similar: it'd sure make sense to do that, but at the time, nobody seemed = in a position to actually tackle this project. > I would prefer a different plan, that would in the end make the=20 > core code more readable. Instead of adding lots of #ifdef....#endif > blocks to the core routines, I'd rather create a new set of wrapper > routines that can eventually handle both 2D and 3D terminals. You wouldn't even necessarily have to create them --- they already=20 exist, as I pointed out earlier. util3d.c is where the existing routines are, and where new ones should start out. Eventually, these routines should become the fall-back implementations=20 of the to-be-done terminal3D API, just like term.c:do_arrow() currently=20 implements arrow-drawing for all terminals that don't have their own=20 native arrows, and do_point() does the same for point symbols. |