mirror of
https://bitbucket.org/smil3y/katie.git
synced 2025-02-24 19:02:59 +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)
|
if (!x11_mask)
|
||||||
return QBitmap();
|
return QBitmap();
|
||||||
QPixmap::x11SetDefaultScreen(screen);
|
QX11PixmapData *data = new QX11PixmapData(QPixmapData::BitmapType);
|
||||||
QBitmap bm(w, h);
|
data->resize(w, h);
|
||||||
GC gc = XCreateGC(qt_x11Data->display, bm.handle(), 0, 0);
|
|
||||||
XCopyArea(qt_x11Data->display, x11_mask, bm.handle(), gc, 0, 0,
|
GC gc = XCreateGC(qt_x11Data->display, data->hd, 0, 0);
|
||||||
bm.data->width(), bm.data->height(), 0, 0);
|
XCopyArea(qt_x11Data->display, x11_mask, data->hd, gc, 0, 0,
|
||||||
|
data->width(), data->height(), 0, 0);
|
||||||
XFreeGC(qt_x11Data->display, gc);
|
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)
|
Qt::HANDLE QX11PixmapData::bitmap_to_mask(const QBitmap &bitmap, int screen)
|
||||||
|
|
Loading…
Add table
Reference in a new issue