On Aug 8, 2009, at 4:14 AM, Werner Smekal wrote: > Hi Arjen, > >>> >>> While I like the API simplification this could provide, I have two >>> primary concerns: >>> >>> First, could the first argument - the field to get/set - be an >>> enumerated type of some sort? This should help catch typos at >>> compile >>> time rather than run time. (PL_LINE_WIDTH rather than "line width"). >>> Additional fields would then require adding elements to the >>> enumeration which, as I understand, should not break existing code. > > Yes, enumeration of #define macros would be much better and faster. > Comparing strings is surely not the best. >>> >>> Second, the void* approach may not translate well to other >>> languages. >>> I'm not sure if there is a way to do this in C that would translate >>> well to the other PLplot-supported languages though. >>> >> >> I agree that a void * argument would be very bad for most languages, >> if not all, and it leaves the interpretation of the value up to the >> programmer. What about filling a structure instead? > > Or even better an union. It's always problematic how such things > should be solved, but I even have another idea. Why not get ALL > information in one struct. e.g. > > plgetattr( struct plAttributes* att); > > struct plAttributes { > int width; > int frontcolor; > int backcolor; > ...... > } > > You will not use such functions in critical situations anyway (or?), > so speed is not a problem and you could get all attributes at once. On > the other side, maybe difficult to port to other functions, but > something like structs or tables all languages have, or? > > Just brainstorming, > > Regards, > Werner > > Structs map directly to Ada records so this is OK with me. Jerry
------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel