The first function doesn't care at all about transparency. The second one fully implements transparency (see the blend parameter to enable or disable it)/// Draw another graphics on this one
virtual void drawGraphics( const OSGraphics &rGraphics, int xSrc = 0,
int ySrc = 0, int xDest = 0, int yDest = 0,
int width = -1, int height = -1 ) = 0;
/// Render a bitmap on this graphics
virtual void drawBitmap( const GenericBitmap &rBitmap, int xSrc = 0,
int ySrc = 0, int xDest = 0, int yDest = 0,
int width = -1, int height = -1,
bool blend = false) = 0;
IMHO, that is one of the most important uses of semi-transparency in skins2 I can think of. Think e.g. about rounded edges of windows. So please, if you have the time, attempt fixing that, too. ThanksAn image overlapping another image still doesn't implement semi-transparency.
Rounded edges would need anti-aliasing -> not possible w/ 1-bit transparency. Alpha/movealpha make the whole window transparent, sometimes one would want to have the controls fully opaque but only the background semi-transparent.for rounded edges, doesn't full transparency (alpha=0) already allow this ? also, at the theme level (Windows only), there are the "alpha" and "movealpha" parameters that allow semi-transparent windows
Example: an image control which is a background for a set of buttons, which is centered in a resizable window. That image has let's say rounded edges, or a gradient to transparency. That image's transparency would need to be computed in real-time, when resizing.But, why not merging bitmaps once for all with gimp or another photoshop ? Are there really situations where semi-transparency must be computed in real-time ?
Users browsing this forum: No registered users and 3 guests