I have an old app that uses the win3 driver to draw
in a HWND that is passed from the app to the driver. I had also tweaked
the HARU pdf driver to draw into an existing pdf file rather than create one
from scratch for the plot. I
now want to port the app to windows x64, and update it to the current
version of plplot.
The old win3 driver took a HWND as a command line
argument, I intend to modify the wingcc driver to do something similar rather
than creating a window for itself. Or is there a better windows driver to
Similarly the pdf driver takes a FILE*,
initialises a new PDF document, draws the graph, and saves the pdf file.
I had modified the driver to skip the
opening and saving part, and just draw to a supplied handle. I intend to
tidy it up and submit it, so a couple of questions before I do so.
Supplying the HWND, HPDF_Doc and HPDF_Page
handles to the drivers - is there a better way than passing them as driver
options through plsetopt()? This would need a change to include a pointer
type as a possible option. The alternative would be adding a PLESC_DEVINIT
handler (or similar) to the drivers and calling pl_cmd to pass a handle
straight to the driver. But currently there is no time to set the handles
between plinit() calling pllib_devinit() which sets the dispatch table, and
plP_init() which would create the handles. So it needs either plPlotP.h to
be included in the app so that pllib_devinit() can be called from the app, or a
new function that does the first part of plinit() to set up the dispatch table,
but stops to allow pl_cmd() calls before calling plinit().
Should the entire pdf page be treated as the plplot surface,
with the calling program setting a viewport for the plot, or should I
add options to specify the surface as a bounded region within the
Should I just submit the changes when I am
finished, or should I set up a change request or something