Karim Belabas on Mon, 12 Sep 2005 19:51:32 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: object-oriented graphic engine |
* Bill Allombert [2005-08-26 14:18]: > I would like to propose a rewrite of the graphic code in > an object-oriented fashion to avoid duplication. > This one follow more closely the RectObj code. > [...] > > and a function: > void gen_rectdraw0(struct plot_eng *eng, void *data, long *w, long *x, > long *y, long lw, double xs, double ys); > > The attached patch implement gen_rectdraw0 and use it for the X11 > display. > > Once this patch is accepted, we should use gen_rectdraw0 for the > other graphic output. After implementing PostScript and FLTK output using the proposed engine, I committed your patch, with a few necessary modifications. In particular, I included a PARI_plot * in your plot_eng struct, in order not to depend on the global variable pari_plot_engine [ this breaks for PostScript since the method refers to 2 different PARI_plot contexts ] NB: the global variable pari_plot_engine and assorted macros are now only used in plotgnuplot.c and should be removed. I didn't update gnuplot and Qt since they don't work on my laptop, and I'd have to reinstall them to test the result. They should be doable, if slightly more complicated. > A possible change would be to handle color using a new atom (set color) > instead of hard-coding colors in each nodes. I second that. Thanks for the patch ! Karim. -- Karim Belabas Tel: (+33) (0)1 69 15 57 48 Universite Bordeaux 1 Fax: (+33) (0)1 69 15 60 19 351, cours de la Liberation http://www.math.u-bordeaux.fr/~belabas/ F-33405 Talence (France) http://pari.math.u-bordeaux.fr/ [PARI/GP]