On 2013-08-10 13:38+1000 Joost Kuckartz wrote:
> Did you mean wxDC instead of wxGC? Because in the wxwidgets source I
> can't find any wxGC, only wxDC (the only thing I find is :"#define
> wxGCDC wxDC")
To find out which of the three possible backends you are really running look at
the title bar
on the GUI. The following lines in wxwidgets.cpp
software@raven> grep 'title +=' wxwidgets.cpp
title += wxT( " - wxWidgets (basic)" );
title += wxT( " - wxWidgets (wxGC)" );
title += wxT( " - wxWidgets (AGG)" );
set that part of the title bar. See also
wxwidgets.h:#define wxBACKEND_DC 0
wxwidgets.h:#define wxBACKEND_AGG 1
wxwidgets.h:#define wxBACKEND_GC 2
"basic" corresponds to backend=0=wxBACKEND_DC (or fallback to that),
"AGG" corresponds to backend=1=wxBACKEND_AGG (_if_ the AGG library has
been installed so it doesn't fall back to wxBACKEND_DC), and wxGC (to
finally answer your question) corresponds to backend=2=wxBACKEND_GC
(_if_ the wxwidgets build and install has configured the graphics
context variant of wxwidgets which is detected by whether
wxUSE_GRAPHICS_CONTEXT (#defined by the wxwidgets build and install)
is true. See also wxwidgets_gc.cpp.
Note I have only been able to use the wxBACKEND_GC variant of the device (as
confirmed
by the "wxGC" in the title bar) with the Linux system version of wxwidgets, and
when I build the wxwidgets device driver myself (on Linux or Wine)
I so far have only been able to use the wxBACKEND_DC (as confirmed
by "basic" in the title bar).
To address that issue, I just now looked through the configure
options (i.e., by running "./configure --help" from the bash.exe
command-line) for wxwidgets. One interesting option that
appears to be relevant to graphics context is
--enable-graphics_ctx use graphics context 2D drawing API
So I intend to try that option for my next wxwidgets build
to see if that allows me to use the wxBACKEND_GC variant
of the PLplot wxwidgets device, and I suggest you do the
same.
Getting back to the eofill topic, here is the list of device drivers
that appears to honor that:
software@raven> grep -l eofill drivers/*
drivers/cairo.c
drivers/pdf.c
drivers/ps.c
drivers/psttf.cc
drivers/svg.c
drivers/wingcc.c
drivers/wxwidgets_dc.cpp
drivers/wxwidgets_gc.cpp
drivers/xwin.c
So if you don't want to go to the above trouble rebuilding wxwidgets
just yet, I suggest you look instead at some device driver you have
straightforward access to (e.g., -dev psc or -dev wingcc) Use that
device for example 27 with and without the -eofill option specified to
see what should be a huge change in fill results. (At least, that is
the result I get here when I display the -dev psc PostScript results
with the gv application, and I assume that will be the case for
you and also if you try -dev wingcc.)
> [out of order] I execute those examples, I get them both to plot with the
> different
rules, no matter if backend=0 or backend=2.
I am not sure what you meant here (and backend=2 probably falls back
to backend=0 in any case, see discussion above) so let's simplify the
question. If you stick strictly to backend=0 what happens when you
run example 27 with and without the -eofill option? Do you get
the same results for the two cases or very different results?
For Linux, it appears the backend=0=wxBACKEND_DC case only uses the
even-odd fill rule regardless of whether -eofill is used or not, i.e.
regardless of whether we call
DrawPolygon( pls->dev_npts, points, xoffset, yoffset, wxODDEVEN_RULE )
or
DrawPolygon( pls->dev_npts, points, xoffset, yoffset, wxWINDING_RULE )
I am pretty sure that is due to a bug in the implementation of the
wxwidgets software package (or at least the Debian wheezy binary
package for it).
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 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
Plplot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/plplot-devel