diff options
Diffstat (limited to 'hw/xnest/GCOps.c')
-rw-r--r-- | hw/xnest/GCOps.c | 323 |
1 files changed, 161 insertions, 162 deletions
diff --git a/hw/xnest/GCOps.c b/hw/xnest/GCOps.c index 829b86b2b..e26a1363b 100644 --- a/hw/xnest/GCOps.c +++ b/hw/xnest/GCOps.c @@ -38,290 +38,289 @@ is" without express or implied warranty. #include "Visual.h" void -xnestFillSpans(DrawablePtr pDrawable, GCPtr pGC, int nSpans, xPoint *pPoints, - int *pWidths, int fSorted) +xnestFillSpans(DrawablePtr pDrawable, GCPtr pGC, int nSpans, xPoint * pPoints, + int *pWidths, int fSorted) { - ErrorF("xnest warning: function xnestFillSpans not implemented\n"); + ErrorF("xnest warning: function xnestFillSpans not implemented\n"); } void xnestSetSpans(DrawablePtr pDrawable, GCPtr pGC, char *pSrc, - xPoint *pPoints, int *pWidths, int nSpans, int fSorted) + xPoint * pPoints, int *pWidths, int nSpans, int fSorted) { - ErrorF("xnest warning: function xnestSetSpans not implemented\n"); + ErrorF("xnest warning: function xnestSetSpans not implemented\n"); } void xnestGetSpans(DrawablePtr pDrawable, int maxWidth, DDXPointPtr pPoints, - int *pWidths, int nSpans, char *pBuffer) + int *pWidths, int nSpans, char *pBuffer) { - ErrorF("xnest warning: function xnestGetSpans not implemented\n"); + ErrorF("xnest warning: function xnestGetSpans not implemented\n"); } void xnestQueryBestSize(int class, unsigned short *pWidth, unsigned short *pHeight, - ScreenPtr pScreen) + ScreenPtr pScreen) { - unsigned int width, height; + unsigned int width, height; - width = *pWidth; - height = *pHeight; + width = *pWidth; + height = *pHeight; - XQueryBestSize(xnestDisplay, class, - xnestDefaultWindows[pScreen->myNum], - width, height, &width, &height); - - *pWidth = width; - *pHeight = height; + XQueryBestSize(xnestDisplay, class, + xnestDefaultWindows[pScreen->myNum], + width, height, &width, &height); + + *pWidth = width; + *pHeight = height; } void xnestPutImage(DrawablePtr pDrawable, GCPtr pGC, int depth, int x, int y, - int w, int h, int leftPad, int format, char *pImage) + int w, int h, int leftPad, int format, char *pImage) { - XImage *ximage; - - ximage = XCreateImage(xnestDisplay, xnestDefaultVisual(pDrawable->pScreen), - depth, format, leftPad, (char *)pImage, - w, h, BitmapPad(xnestDisplay), - (format == ZPixmap) ? - PixmapBytePad(w, depth) : BitmapBytePad(w+leftPad)); - - if (ximage) { - XPutImage(xnestDisplay, xnestDrawable(pDrawable), xnestGC(pGC), - ximage, 0, 0, x, y, w, h); - XFree(ximage); - } + XImage *ximage; + + ximage = XCreateImage(xnestDisplay, xnestDefaultVisual(pDrawable->pScreen), + depth, format, leftPad, (char *) pImage, + w, h, BitmapPad(xnestDisplay), + (format == ZPixmap) ? + PixmapBytePad(w, depth) : BitmapBytePad(w + leftPad)); + + if (ximage) { + XPutImage(xnestDisplay, xnestDrawable(pDrawable), xnestGC(pGC), + ximage, 0, 0, x, y, w, h); + XFree(ximage); + } } void xnestGetImage(DrawablePtr pDrawable, int x, int y, int w, int h, - unsigned int format, unsigned long planeMask, - char *pImage) + unsigned int format, unsigned long planeMask, char *pImage) { - XImage *ximage; - int length; - - ximage = XGetImage(xnestDisplay, xnestDrawable(pDrawable), - x, y, w, h, planeMask, format); - - if (ximage) { - length = ximage->bytes_per_line * ximage->height; - - memmove(pImage, ximage->data, length); - - XDestroyImage(ximage); - } + XImage *ximage; + int length; + + ximage = XGetImage(xnestDisplay, xnestDrawable(pDrawable), + x, y, w, h, planeMask, format); + + if (ximage) { + length = ximage->bytes_per_line * ximage->height; + + memmove(pImage, ximage->data, length); + + XDestroyImage(ximage); + } } static Bool -xnestBitBlitPredicate(Display *display, XEvent *event, char *args) +xnestBitBlitPredicate(Display * display, XEvent * event, char *args) { - return event->type == GraphicsExpose || event->type == NoExpose; + return event->type == GraphicsExpose || event->type == NoExpose; } static RegionPtr xnestBitBlitHelper(GCPtr pGC) { - if (!pGC->graphicsExposures) - return NullRegion; - else { - XEvent event; - RegionPtr pReg, pTmpReg; - BoxRec Box; - Bool pending, overlap; - - pReg = RegionCreate(NULL, 1); - pTmpReg = RegionCreate(NULL, 1); - if(!pReg || !pTmpReg) return NullRegion; - - pending = True; - while (pending) { - XIfEvent(xnestDisplay, &event, xnestBitBlitPredicate, NULL); - - switch (event.type) { - case NoExpose: - pending = False; - break; - - case GraphicsExpose: - Box.x1 = event.xgraphicsexpose.x; - Box.y1 = event.xgraphicsexpose.y; - Box.x2 = event.xgraphicsexpose.x + event.xgraphicsexpose.width; - Box.y2 = event.xgraphicsexpose.y + event.xgraphicsexpose.height; - RegionReset(pTmpReg, &Box); - RegionAppend(pReg, pTmpReg); - pending = event.xgraphicsexpose.count; - break; - } + if (!pGC->graphicsExposures) + return NullRegion; + else { + XEvent event; + RegionPtr pReg, pTmpReg; + BoxRec Box; + Bool pending, overlap; + + pReg = RegionCreate(NULL, 1); + pTmpReg = RegionCreate(NULL, 1); + if (!pReg || !pTmpReg) + return NullRegion; + + pending = True; + while (pending) { + XIfEvent(xnestDisplay, &event, xnestBitBlitPredicate, NULL); + + switch (event.type) { + case NoExpose: + pending = False; + break; + + case GraphicsExpose: + Box.x1 = event.xgraphicsexpose.x; + Box.y1 = event.xgraphicsexpose.y; + Box.x2 = event.xgraphicsexpose.x + event.xgraphicsexpose.width; + Box.y2 = event.xgraphicsexpose.y + event.xgraphicsexpose.height; + RegionReset(pTmpReg, &Box); + RegionAppend(pReg, pTmpReg); + pending = event.xgraphicsexpose.count; + break; + } + } + + RegionDestroy(pTmpReg); + RegionValidate(pReg, &overlap); + return pReg; } - - RegionDestroy(pTmpReg); - RegionValidate(pReg, &overlap); - return pReg; - } } RegionPtr xnestCopyArea(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable, - GCPtr pGC, int srcx, int srcy, int width, int height, - int dstx, int dsty) + GCPtr pGC, int srcx, int srcy, int width, int height, + int dstx, int dsty) { - XCopyArea(xnestDisplay, - xnestDrawable(pSrcDrawable), xnestDrawable(pDstDrawable), - xnestGC(pGC), srcx, srcy, width, height, dstx, dsty); - - return xnestBitBlitHelper(pGC); + XCopyArea(xnestDisplay, + xnestDrawable(pSrcDrawable), xnestDrawable(pDstDrawable), + xnestGC(pGC), srcx, srcy, width, height, dstx, dsty); + + return xnestBitBlitHelper(pGC); } RegionPtr xnestCopyPlane(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable, - GCPtr pGC, int srcx, int srcy, int width, int height, - int dstx, int dsty, unsigned long plane) + GCPtr pGC, int srcx, int srcy, int width, int height, + int dstx, int dsty, unsigned long plane) { - XCopyPlane(xnestDisplay, - xnestDrawable(pSrcDrawable), xnestDrawable(pDstDrawable), - xnestGC(pGC), srcx, srcy, width, height, dstx, dsty, plane); - - return xnestBitBlitHelper(pGC); + XCopyPlane(xnestDisplay, + xnestDrawable(pSrcDrawable), xnestDrawable(pDstDrawable), + xnestGC(pGC), srcx, srcy, width, height, dstx, dsty, plane); + + return xnestBitBlitHelper(pGC); } void xnestPolyPoint(DrawablePtr pDrawable, GCPtr pGC, int mode, int nPoints, - DDXPointPtr pPoints) + DDXPointPtr pPoints) { - XDrawPoints(xnestDisplay, xnestDrawable(pDrawable), xnestGC(pGC), - (XPoint *)pPoints, nPoints, mode); + XDrawPoints(xnestDisplay, xnestDrawable(pDrawable), xnestGC(pGC), + (XPoint *) pPoints, nPoints, mode); } void xnestPolylines(DrawablePtr pDrawable, GCPtr pGC, int mode, int nPoints, - DDXPointPtr pPoints) + DDXPointPtr pPoints) { - XDrawLines(xnestDisplay, xnestDrawable(pDrawable), xnestGC(pGC), - (XPoint *)pPoints, nPoints, mode); + XDrawLines(xnestDisplay, xnestDrawable(pDrawable), xnestGC(pGC), + (XPoint *) pPoints, nPoints, mode); } void xnestPolySegment(DrawablePtr pDrawable, GCPtr pGC, int nSegments, - xSegment *pSegments) + xSegment * pSegments) { - XDrawSegments(xnestDisplay, xnestDrawable(pDrawable), xnestGC(pGC), - (XSegment *)pSegments, nSegments); + XDrawSegments(xnestDisplay, xnestDrawable(pDrawable), xnestGC(pGC), + (XSegment *) pSegments, nSegments); } void xnestPolyRectangle(DrawablePtr pDrawable, GCPtr pGC, int nRectangles, - xRectangle *pRectangles) + xRectangle *pRectangles) { - XDrawRectangles(xnestDisplay, xnestDrawable(pDrawable), xnestGC(pGC), - (XRectangle *)pRectangles, nRectangles); + XDrawRectangles(xnestDisplay, xnestDrawable(pDrawable), xnestGC(pGC), + (XRectangle *) pRectangles, nRectangles); } void -xnestPolyArc(DrawablePtr pDrawable, GCPtr pGC, int nArcs, xArc *pArcs) +xnestPolyArc(DrawablePtr pDrawable, GCPtr pGC, int nArcs, xArc * pArcs) { - XDrawArcs(xnestDisplay, xnestDrawable(pDrawable), xnestGC(pGC), - (XArc *)pArcs, nArcs); + XDrawArcs(xnestDisplay, xnestDrawable(pDrawable), xnestGC(pGC), + (XArc *) pArcs, nArcs); } void xnestFillPolygon(DrawablePtr pDrawable, GCPtr pGC, int shape, int mode, - int nPoints, DDXPointPtr pPoints) + int nPoints, DDXPointPtr pPoints) { - XFillPolygon(xnestDisplay, xnestDrawable(pDrawable), xnestGC(pGC), - (XPoint *)pPoints, nPoints, shape, mode); + XFillPolygon(xnestDisplay, xnestDrawable(pDrawable), xnestGC(pGC), + (XPoint *) pPoints, nPoints, shape, mode); } void xnestPolyFillRect(DrawablePtr pDrawable, GCPtr pGC, int nRectangles, - xRectangle *pRectangles) + xRectangle *pRectangles) { - XFillRectangles(xnestDisplay, xnestDrawable(pDrawable), xnestGC(pGC), - (XRectangle *)pRectangles, nRectangles); + XFillRectangles(xnestDisplay, xnestDrawable(pDrawable), xnestGC(pGC), + (XRectangle *) pRectangles, nRectangles); } void -xnestPolyFillArc(DrawablePtr pDrawable, GCPtr pGC, int nArcs, xArc *pArcs) +xnestPolyFillArc(DrawablePtr pDrawable, GCPtr pGC, int nArcs, xArc * pArcs) { - XFillArcs(xnestDisplay, xnestDrawable(pDrawable), xnestGC(pGC), - (XArc *)pArcs, nArcs); + XFillArcs(xnestDisplay, xnestDrawable(pDrawable), xnestGC(pGC), + (XArc *) pArcs, nArcs); } int xnestPolyText8(DrawablePtr pDrawable, GCPtr pGC, int x, int y, int count, - char *string) + char *string) { - int width; - - XDrawString(xnestDisplay, xnestDrawable(pDrawable), xnestGC(pGC), - x, y, string, count); - - width = XTextWidth(xnestFontStruct(pGC->font), string, count); - - return width + x; + int width; + + XDrawString(xnestDisplay, xnestDrawable(pDrawable), xnestGC(pGC), + x, y, string, count); + + width = XTextWidth(xnestFontStruct(pGC->font), string, count); + + return width + x; } int xnestPolyText16(DrawablePtr pDrawable, GCPtr pGC, int x, int y, int count, - unsigned short *string) + unsigned short *string) { - int width; + int width; - XDrawString16(xnestDisplay, xnestDrawable(pDrawable), xnestGC(pGC), - x, y, (XChar2b *)string, count); + XDrawString16(xnestDisplay, xnestDrawable(pDrawable), xnestGC(pGC), + x, y, (XChar2b *) string, count); - width = XTextWidth16(xnestFontStruct(pGC->font), (XChar2b *)string, count); + width = XTextWidth16(xnestFontStruct(pGC->font), (XChar2b *) string, count); - return width + x; + return width + x; } void xnestImageText8(DrawablePtr pDrawable, GCPtr pGC, int x, int y, int count, - char *string) + char *string) { - XDrawImageString(xnestDisplay, xnestDrawable(pDrawable), xnestGC(pGC), - x, y, string, count); + XDrawImageString(xnestDisplay, xnestDrawable(pDrawable), xnestGC(pGC), + x, y, string, count); } void xnestImageText16(DrawablePtr pDrawable, GCPtr pGC, int x, int y, int count, - unsigned short *string) + unsigned short *string) { - XDrawImageString16(xnestDisplay, xnestDrawable(pDrawable), xnestGC(pGC), - x, y, (XChar2b *)string, count); + XDrawImageString16(xnestDisplay, xnestDrawable(pDrawable), xnestGC(pGC), + x, y, (XChar2b *) string, count); } void xnestImageGlyphBlt(DrawablePtr pDrawable, GCPtr pGC, int x, int y, - unsigned int nGlyphs, CharInfoPtr *pCharInfo, - pointer pGlyphBase) + unsigned int nGlyphs, CharInfoPtr * pCharInfo, + pointer pGlyphBase) { - ErrorF("xnest warning: function xnestImageGlyphBlt not implemented\n"); + ErrorF("xnest warning: function xnestImageGlyphBlt not implemented\n"); } void xnestPolyGlyphBlt(DrawablePtr pDrawable, GCPtr pGC, int x, int y, - unsigned int nGlyphs, CharInfoPtr *pCharInfo, - pointer pGlyphBase) + unsigned int nGlyphs, CharInfoPtr * pCharInfo, + pointer pGlyphBase) { - ErrorF("xnest warning: function xnestPolyGlyphBlt not implemented\n"); + ErrorF("xnest warning: function xnestPolyGlyphBlt not implemented\n"); } void xnestPushPixels(GCPtr pGC, PixmapPtr pBitmap, DrawablePtr pDst, - int width, int height, int x, int y) + int width, int height, int x, int y) { - /* 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"); + /* 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"); } |