- // Since MGL does not support masks directly (in MGL, mask is handled
- // in same way as in wxImage, i.e. there is one "key" color), we
- // simulate masked bitblt in 6 steps (same as in MSW):
- //
- // 1. Create a temporary bitmap and copy the destination area into it.
- // 2. Copy the source area into the temporary bitmap using the
- // specified logical function.
- // 3. Set the masked area in the temporary bitmap to BLACK by ANDing
- // the mask bitmap with the temp bitmap with the foreground colour
- // set to WHITE and the bg colour set to BLACK.
- // 4. Set the unmasked area in the destination area to BLACK by
- // ANDing the mask bitmap with the destination area with the
- // foreground colour set to BLACK and the background colour set
- // to WHITE.
- // 5. OR the temporary bitmap with the destination area.
- // 6. Delete the temporary bitmap.
- //
- // This sequence of operations ensures that the source's transparent
- // area need not be black, and logical functions are supported.
-
- wxBitmap *mask = bmp.GetMask()->GetBitmap();
-
- MGLMemoryDC *temp;
-
- if ( GetDepth() <= 8 )
- {
- temp = new MGLMemoryDC(dw, dh, GetDepth(), NULL);
- wxDC tempdc;
- tempdc.SetMGLDC(temp, false);
- tempdc.SetPalette(m_palette);
- }
- else
- {
- pixel_format_t pf;
- m_MGLDC->getPixelFormat(pf);
- temp = new MGLMemoryDC(dw, dh, GetDepth(), &pf);
- }
+ // FIXME_DFB: see MGL sources for a way to do it, but it's not directly
+ // applicable because DirectFB doesn't implement ROPs; OTOH,
+ // it has blitting modes that can be useful; finally, see
+ // DFB's SetSrcBlendFunction() and SetSrcColorKey()
+ wxFAIL_MSG( _T("drawing bitmaps with masks not implemented") );
+ return;
+ }