> "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.

My installation doesn't have wxUSE_GRAPHICS_CONTEXT enabled, so in my case the 
wxwidgets driver can't use the wxBACKEND_GC. I did a bit of a search, and it's 
disabled in the wxwidgets compile settings by default (I'm using wxWidgets' 
latest stable, 2.8.12. I know the newest 2.9.x uses GC by default though). I 
compile wxWidgets through Visual Studio as provided (thus not modifying any 
settings). I do so because when I tried the 2.9.x once, it completely failed my 
existing programs and I couldn't recover or recode them so they would work with 
2.9.x. Thus I'm waiting for a new wxWidgets stable release before I'm going to 
upgrade (although I'm not using a PLplot stable release...).

> 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.

In that case, I need to modify setup_inc.h for it to work (Visual Studio 
solutions...). As I haven't tried this before, I'm not sure if I'll run into 
build problems because of the dependence on gdiplus.lib. I can try.

> Getting back to the eofill topic, > 
> 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?

In my case, I get clearly different results, and you're right, my wxWidgets 
returns always to basic, even if I specify backend=2. Thus I have no problems 
with the DC backend.

> 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).

That's interesting, because in my case it just works! Maybe it's the newer 
version of wxWidgets that causes this to do so? Or the Linux device driver 
within wxWidgets (because wxDC has OS dependent implementation I think)?
                                          
------------------------------------------------------------------------------
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

Reply via email to