Someone pointed out that I can switch the underlying pixfmt from pixfmt_bgr24 to pixfmt_bgra32 in order to perform off-screen drawing while accumulating a suitable transparency channel (in the alpha channel of the pixmap).
I've been looking at my code and unless I am mistaken, this means I have to convert my entire class to a giant template!
All of my drawing routine wrappers instantiate pixfmt-specific (or templatized classes whose template arguments are pixfmt-specific) on the stack. Renderers, rasterizers,scanline-a-mabobs, etc...
None of these objects can be selected at run time it seems, they have to be known at compile time since they are implemented using templates on top of templates.
So for every one of my wrapper functions, I will need a templatized version (or templatize the wrapping class). When my executable is built, I will have N copies of my code where N= the number of supported pixmaps (two in my case, bgr24 and bgra32).
If this is true then it not possible to design a single wrapping class that you can "select" different types of pixfmt into for destination drawing purposes and have it work correctly, unless I am missing something.
Does this all sound right?
------------------------------------------------------------------------------
Register Now & Save for Velocity, the Web Performance & Operations
Conference from O'Reilly Media. Velocity features a full day of
expert-led, hands-on workshops and two days of sessions from industry
leaders in dedicated Performance & Operations tracks. Use code vel09scf
and Save an extra 15% before 5/3.
http://p.sf.net/sfu/velocityconf_______________________________________________
Vector-agg-general mailing list
Vector-agg-general@...
https://lists.sourceforge.net/lists/listinfo/vector-agg-general