Plplot driver for GNUstep

  • Maurizio Tomasi

    Maurizio Tomasi - 2008-08-26


      I was interested in using Plplot for a scientific application I am writing using the GNUstep libraries. Has there been any attempt to use it with this platform? (The X11 driver is not an option as I will need to run my program under Windows as well.)

    If not, do you think it would be easy for a Plplot novice (like me) to write a display driver and ObjC classes for it?

    Thanks a lot,
      Maurizio Tomasi.

    • Werner Smekal

      Werner Smekal - 2008-08-26


      as far as I know is only the Aquaterm driver in ObjC and could be the basis for a GNUstep driver. It's actually quite easy to write a driver which has the basis functions. You need to provide an init function and only 4-5 other functions (drawing lines, change color, drawing polygons) and setup the function table. This is actually a matter of some hours work (sensa debugging). In case you are interested I could cut down a driver to the important functions for you as a foundation to work on.

      There is more work needed e.g. to have some nice font rendering, but this can be added later and can also be accomplished by closely following the corresponding functions of the other drivers.

      It's a little bit more complicated to change the build system (based on CMake), but the plplot developers could help here and since there exists already an ObjC driver.

      I'm not sure if ObjC can directly link to C libraries. If not, you would need to provide some sort of bindings/interface.

      Alternatively, you could use the mem driver (or memcairo driver) to plot into the memory and view that in your GNUstep application. But it will be faster and you have more options if you write your own driver.

      If you are interested, please send further communications to the PLplot developer mailing list, since there are more people around there than in this forum.


    • Maurizio Tomasi

      Maurizio Tomasi - 2008-08-26

      Thank you very much for your answer. There is no need for you to create a template driver for me, I do not want to bother you. Also, from your description it seems quite easy to implement what I want.

      Regarding the build system, I do not know CMake. GNUstep uses its own makefile scripts, but the Aqua driver will surely give me some ideas.

      About the C<->ObjC interface, no problems here. ObjC supports C function calls natively, even without the export "C" { ... } mechanism needed in C++.

      Thank you very much and best regards,
        Maurizio Tomasi.


Log in to post a comment.