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

Reply via email to