By executing nmake, it compiled ALL the examples. No problem, I executed example 25 as you requested, and yes, the same issue as I've shown in the screenshots I've sent before occurred. It also loads WAY WAY slower than in my GUI...
To inform you what I'm doing: for my research I'm making a GUI which should plot some measurement data, and I'm always trying to be meticulous in this development. So I thought, to learn plplot, I use the C++ code examples (actually I copy the code from the website: http://plplot.sourceforge.net/examples.php) and 'copy' them into my GUI. While doing this, I found some limitations of the wxwidgets driver and some plplot functions simply can't be executed, and some give incorrect results (not many luckily!). The difference between the existing examples and mine: in my GUI, the examples can be loaded sequentially in the same GUI (thus using the same stream, as the stream is associated to the window) and due to wxwidgets' limitation, only one page can be visible at a time, thus each plot is created separately on one page. Thus I needed to invent some kind of 'plstream reset' function, which would keep the stream variable (but its effect should be its deletion and recreation). I haven't been able to do this though (because there is no 'reset' function and the stream can't self-destruct, and init() asks for user input which makes the wxwidgets GUI close itself - I thought everything was fine by resetting all setting functions to its default, until I reached example 16).
So, I basically copied the examples code into wxWidgets without modifications, so if my code is incorrect, the code online should be incorrect... Maybe it is the online code that is incorrect, because the website hasn't been updated for quite some time. Also the website states an
svn checkout location which only offers revisions until March 2013, thus
missing all revisions by using the svn checkout location listed at the
Additionally, I have created a wxPlotStream class which inherits wxPLplotstream. Whenever I encounter a function, I rename it to something in the wxWidgets style (so for example: w3d() becomes SetWindow3D(), gspa() becomes GetPageSize() and so on), I rename the variables to more descriptive naming AND I add doxygen documentation to the function and variables (as taken from http://plplot.sourceforge.net/docbook-manual/plplot-html-5.9.9/api.html - because the C doxygen ( http://plplot.sourceforge.net/doxygen/html/classplstream.html ) doesn't say anything). Knowing that 5.9.9 is almost 2 years old, and there has been no 'official' release since then, I think new users should only use the svn trunk code (especially when using wxwidgets, reading the wiki about its issues, and finding out that when I tried to use that version, it simply didn't work)
As I'm now at example 16, I noticed another error with the wxwidgets driver. It doesn't update the complete plot if I draw with a different background color in the same stream (RenewPlot doesn't work - only when I resize the window, it shows the new background color, thus only the cmd( PLESC_RESIZE, (void *) &size ); function redraws the plot PLUS background completely). And the gpage() documentation says that it displays the CURRENT page parameters, but because wxwidgets allows for window resizing, it only returns the initial creation size (thus, the cmd( PLESC_RESIZE, (void *) &size ); function which deals with redrawing the graph, doesn't store the actual new page size). I think I know how to fix the 'force complete redrawing' (unfortunately I don't have the knowledge about the cmd(PLESC_RESIZE) code), but in my code that would require the wxPLplotstream 'private' variables to become 'protected' and then at the stream reset function send this cmd(PLESC_RESIZE), or I need to update the wxPLplotstream code to cover for a corrected update code. I noticed this issue doesn't happen when you execute the "x16c -dev wxwidgets" example, and I haven't figured out why (is it because wxwidgets only displays the last created page?)...
The mail became quite long, but I hope it helps you to understand what I'm doing (and what issues I'm having).
> Date: Fri, 2 Aug 2013 09:33:07 -0700 > From: email@example.com > To: firstname.lastname@example.org > CC: email@example.com > Subject: Re: [Plplot-devel] PLfill function shifts 2 pixels (wxwidgets) > > On 2013-07-31 16:41+1000 Joost Kuckartz wrote: > > > My apologies for the non-descriptive mail below, but I was typing the mail and suddenly it was sent automatically... > > > > In any case, I am currently working on transforming (almost all) the examples into wxwidgets and while I was at example 12, I noticed some filling errors. Looking at example 25 (which the second link is for), the same error occurs but additionally there are some corner filling errors occurring. > > > > I'm not sure if this is wxwidgets specific, unfortunately I haven't been able to test this on other platforms (as I don't have those available)... > > > > Is this a 'known' bug, also for other platforms, or very specific to just wxwidgets (or maybe even me)? > > Hi Joost: > > I think it might be your code. :-) > > The reason I say this is that the results from the wxwidgets device > driver are aligned properly. To show that for yourself, try the > following after running the cmake command in an initially empty build > tree with the -DBUILD_TEST=ON option. > > make -j4 qtwidgets > make -j4 x25c > examples/c/x25c -dev wxwidgets > > The results of that last command on my platform have no obvious > alignment issues like have occurred for the examples you showed. If > the wxwidgets device also doesn't have alignment issues on your > platform, I suggest you carefully compare your own code that produces > misaligned results with the code in drivers/wxwidgets* that produces > aligned results. > > When responding to this, could you also say more about what you are doing > with wxwidgets and the examples? Sounds interesting. > > Alan > __________________________ > Alan W. Irwin > > Astronomical research affiliation with Department of Physics and Astronomy, > University of Victoria (astrowww.phys.uvic.ca). > > Programming affiliations with the FreeEOS equation-of-state > implementation for stellar interiors (freeeos.sf.net); the Time > Ephemerides project (timeephem.sf.net); PLplot scientific plotting > software package (plplot.sf.net); the libLASi project > (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); > and the Linux Brochure Project (lbproject.sf.net). > __________________________ > > Linux-powered Science > __________________________