On Tue, Jan 25, 2011 at 7:37 PM, Alan W. Irwin <ir...@beluga.phys.uvic.ca> wrote: > On 2011-01-24 17:11-0800 Alan W. Irwin wrote: > >> [...]The current status is I have just finished all C changes (except for >> implementation of the PL_POSITION_SUBPAGE bit logic) related to >> pllegend. The C results look fine. However, in order to avoid core C >> commits which break language components of PLplot, I am holding off >> doing the commit until I can propagate everything to C++, f77, java, >> ocaml, python, and octave bindings and examples. Once all those work, >> then I plan to commit everything I have done up to that point [...]. > > DONE as of revision 11498 except for ocaml which I could not figure > out. Because of that, this commit breaks the ocaml build so use > -DENABLE_ocaml=OFF until it gets fixed. > > Hez, with regard to ocaml, I noticed that you treated pllegend very > differently than plcolorbar in bindings/octave. Here are the grep > results that show this: > > software@raven> grep -l pllegend * > plplot.mli > plplot_core.idl > plplot_h > plplot_impl.c > software@raven> grep -l plcolorbar * > plplot.mli > plplot_h > plplot_h.inc > touchup.ml > > In fact it is worse than this because the mention of pllegend in > plplot_h is commented out. One result of this is plplot_h.inc agrees > with generated_plplot_h.inc (generated with the generate_plplot_h.inc > target as a test), but neither file has a mention of pllegend in it > while both do mention plcolorbar. Also, in plplot_impl.c, the opt > parameter is processed in a way that I think must be incorrect with > translate_legend_option. I suspect all this translate_legend_option > logic can be removed now that there is a position argument with its > own bit namespace for pllegend, but I am going to leave that to you > since I really don't understand what is going on there, and also > because I certainly don't understand why pllegend and plcolorbar are > implemented so differently for the octave bindings. When pllegend for > the octave bindings at least builds again, please signal that here so > we don't get into the habit of setting -DENABLE_ocaml=OFF. >
The OCaml pllegend interface fixes should be in place now. The special handling of pllegend is due to (char **) parameters requiring special handling. The camlidl tool used to generate most of the PLplot function bindings does not have built-in support for what are effectively arrays of strings. This may be able to be automated at some point, but for now the C stub required to wrap pllegend for use from OCaml is written manually. plcolorbar does not have any (char **) parameters, so the default wrapping performed by camlidl works with a few annotations which are generated by touchup.ml and included in plplot_h.inc. >> then (as soon as >> Hez has finished with his own planned plcolorbar changes) implement >> and commit full positioning logic in plcolorbar following what is done >> for pllegend. > > Hez, please contact me off list about coordinating this. > There are a few changes left to do, but they are probably best left until the updated positioning logic is in place. This may require one or more further plcolorbar API changes, depending on how end-cap coloring is handled. Hez ------------------------------------------------------------------------------ Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel