https://issues.apache.org/ooo/show_bug.cgi?id=121504
--- Comment #2 from Armin Le Grand <[email protected]> --- ALG: First needed to figure out how DIBs (used in clipboard formats 'Bitmap' and 'CF_DIB' are used and created. The operator<< and >> of Bitmap use Bitmam::Read/Write (using default parameters for header and compression), which do the DIB read/write stuff using quite some impl helper methods. This means that despite the view places where DIB (DeviceIndependentBitmap) is really used, all places which stream bitmaps use DIBs without need. It should only be necessary in clipboard usage and evtl. Windows emf/wmf formats. The clipboard cannot use transparency since the CF_DIBV5 which allows this is not supported. This needs an extansion of the DIB read/write and allows adding the alpha channel. This collides with operator<< and >> of BitmapEx which streams the basic bitmap, then adds two magic numbers and also stream an evtl. existing alpha channel/mask *also* using DIB for this 2nd bitmap (streaming in reads ahead to check the magic numbers, then evtl. imports alpha as DIB). Thus, when supporting CF_DIBV5 in the standard Bitmap/BitmapEx streaming operators alpha would be added double. Thus, extension of this is not straightforward. First step is to isolate the stream operators, the DIB tooling (currently members of Bitmap) to see where and when this is used. Then check if it is possible to use DIB only for cases where it is used and extend these cases. -- You are receiving this mail because: You are on the CC list for the bug.
