>>>>> "Eric" == Eric Firing <[EMAIL PROTECTED]> writes:

    Eric> Maybe, but I am not sure it is so simple as that.  At the
    Eric> very least, it illustrates the fact that all the possible
    Eric> combinations of rgb with separate alpha, rgba, faces, edges
    Eric> etc. is confusing, and that because of the organic growth of

Yes, this is the result of code creep.  Early versions of matplotlib
(GTK only backend) only supported rgb.  Later we added an alpha
channel and put it in the graphics context and left the rgb tuples
alone.  Later still IIRC we added support rgba colors, while leaving
the alpha in the gc.  Thus we have a redundant and somewhat ill
defined alpha.  The older drawing methods (draw_line, draw_poly) get
their color as rgb and their alpha from gc.  The comparatively newer
ones (draw_poly_collection) always uses the rgba and ignore the
gc.alpha.  Definitely confusing, suboptimal, and in need of
rationalization.

    Eric> mpl combined with its support for backends with differing
    Eric> capabilities, there is not a single clear pattern of
    Eric> behavior. Which means we have more cleanup work to do at the
    Eric> very least.  To be more ambitious (as if there weren't
    Eric> already enough pending grand ideas), some reconsideration
    Eric> and possible modification of the drawing model would be
    Eric> nice.

Indeed, lots of grand ideas.  I've been toying with the idea of trying
to organize an mpl sprint in some fabulous destination, and trying to
raise funds for several developers via donations.  Sometime in the
early summer perhaps.

    Eric> For the backends, maybe it would be easier to let (-1,*,*,*)
    Eric> mean "don't draw"; if it has to be interpreted by C-code in
    Eric> some backends, always having a tuple and simply checking for
    Eric> a negative first element is much easier than having to check
    Eric> for None in place of a tuple.

If we are already passing in rgba, and are expecting the backends to
inspect it, wouldn't it make more sense for them to simply check for
rgba[-1]>0, as we do in backend_bases?

JDH


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to