Hey Alan,
Thanks for your reply, however it's hard for me to run your installation
sequence as I'm using Windows XP plus Visual Studio 2010 (thus 'make' is,
according to Windows, an unrecognized command). I followed the installation
procedure from
http://www.miscdebris.net/plplot_wiki/index.php?title=Configure_PLplot_for_Visual_CXX
and
http://www.miscdebris.net/plplot_wiki/index.php?title=Configuration_of_wxWidgets_driver
to get it to support unicode (without unicode it works too, but almost all
Hershey symbols are missing).
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
sourceforge page.
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).
Regards, Joost
> Date: Fri, 2 Aug 2013 09:33:07 -0700
> From: [email protected]
> To: [email protected]
> CC: [email protected]
> 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
> __________________________
------------------------------------------------------------------------------
Get your SQL database under version control now!
Version control is standard for application code, but databases havent
caught up. So what steps can you take to put your SQL databases under
version control? Why should you start doing it? Read more to find out.
http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk
_______________________________________________
Plplot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/plplot-devel