mirror of
https://bitbucket.org/smil3y/katie.git
synced 2025-02-24 10:52:56 +00:00
explicitly create X11 pixmap data in QX11PixmapData::mask_to_bitmap()
QPixmap is raster by default which in turn means QBitmap also is Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
999061bc4a
commit
372a688cd8
1 changed files with 9 additions and 6 deletions
|
@ -78,13 +78,16 @@ QBitmap QX11PixmapData::mask_to_bitmap(int screen) const
|
|||
{
|
||||
if (!x11_mask)
|
||||
return QBitmap();
|
||||
QPixmap::x11SetDefaultScreen(screen);
|
||||
QBitmap bm(w, h);
|
||||
GC gc = XCreateGC(qt_x11Data->display, bm.handle(), 0, 0);
|
||||
XCopyArea(qt_x11Data->display, x11_mask, bm.handle(), gc, 0, 0,
|
||||
bm.data->width(), bm.data->height(), 0, 0);
|
||||
QX11PixmapData *data = new QX11PixmapData(QPixmapData::BitmapType);
|
||||
data->resize(w, h);
|
||||
|
||||
GC gc = XCreateGC(qt_x11Data->display, data->hd, 0, 0);
|
||||
XCopyArea(qt_x11Data->display, x11_mask, data->hd, gc, 0, 0,
|
||||
data->width(), data->height(), 0, 0);
|
||||
XFreeGC(qt_x11Data->display, gc);
|
||||
return bm;
|
||||
QPixmap pm(data);
|
||||
pm.x11SetScreen(screen);
|
||||
return QBitmap(pm);
|
||||
}
|
||||
|
||||
Qt::HANDLE QX11PixmapData::bitmap_to_mask(const QBitmap &bitmap, int screen)
|
||||
|
|
Loading…
Add table
Reference in a new issue