diff options
Diffstat (limited to 'hw/xnest/GCOps.c')
-rw-r--r-- | hw/xnest/GCOps.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/hw/xnest/GCOps.c b/hw/xnest/GCOps.c index 042a29f6e..4ccc0b916 100644 --- a/hw/xnest/GCOps.c +++ b/hw/xnest/GCOps.c @@ -310,5 +310,16 @@ void xnestPushPixels(GCPtr pGC, PixmapPtr pBitmap, DrawablePtr pDst, int width, int height, int x, int y) { - ErrorF("xnest warning: function xnestPushPixels not implemented\n"); + /* only works for solid bitmaps */ + if (pGC->fillStyle == FillSolid) + { + XSetStipple (xnestDisplay, xnestGC(pGC), xnestPixmap(pBitmap)); + XSetTSOrigin (xnestDisplay, xnestGC(pGC), x, y); + XSetFillStyle (xnestDisplay, xnestGC(pGC), FillStippled); + XFillRectangle (xnestDisplay, xnestDrawable(pDst), + xnestGC(pGC), x, y, width, height); + XSetFillStyle (xnestDisplay, xnestGC(pGC), FillSolid); + } + else + ErrorF("xnest warning: function xnestPushPixels not implemented\n"); } |