public void Blit(SurfaceData srcData, SurfaceData dstData, Composite comp, Region clip, int srcx, int srcy, int dstx, int dsty, int width, int height) { ColorModel srcCM = srcData.getColorModel(); ColorModel dstCM = dstData.getColorModel(); // REMIND: Should get RenderingHints from sg2d CompositeContext ctx = comp.createContext(srcCM, dstCM, new RenderingHints(null)); Raster srcRas = srcData.getRaster(srcx, srcy, width, height); WritableRaster dstRas = (WritableRaster) dstData.getRaster(dstx, dsty, width, height); if (clip == null) { clip = Region.getInstanceXYWH(dstx, dsty, width, height); } int span[] = {dstx, dsty, dstx+width, dsty+height}; SpanIterator si = clip.getSpanIterator(span); srcx -= dstx; srcy -= dsty; while (si.nextSpan(span)) { int w = span[2] - span[0]; int h = span[3] - span[1]; Raster tmpSrcRas = srcRas.createChild(srcx + span[0], srcy + span[1], w, h, 0, 0, null); WritableRaster tmpDstRas = dstRas.createWritableChild(span[0], span[1], w, h, 0, 0, null); ctx.compose(tmpSrcRas, tmpDstRas, tmpDstRas); } ctx.dispose(); }
public void doFillSpans(SunGraphics2D sg2d, SpanIterator si) { int box[] = new int[4]; GDIWindowSurfaceData sd; try { sd = (GDIWindowSurfaceData)sg2d.surfaceData; } catch (ClassCastException e) { throw new InvalidPipeException("wrong surface data type: " + sg2d.surfaceData); } Region clip = sg2d.getCompClip(); Composite comp = sg2d.composite; int eargb = sg2d.eargb; while (si.nextSpan(box)) { doFillRect(sd, clip, comp, eargb, box[0], box[1], box[2]-box[0], box[3]-box[1]); } }
protected void fillSpans(SunGraphics2D sg2d, SpanIterator si, int transx, int transy) { SunToolkit.awtLock(); try { validateSurface(sg2d); int[] spanBox = new int[4]; while (si.nextSpan(spanBox)) { rectBuffer.pushRectValues(spanBox[0] + transx, spanBox[1] + transy, spanBox[2] - spanBox[0], spanBox[3] - spanBox[1]); } tileManager.fillMask(((XRSurfaceData) sg2d.surfaceData)); } finally { SunToolkit.awtUnlock(); } }
protected void fillSpans(SunGraphics2D sg2d, SpanIterator si, int transx, int transy) { SunToolkit.awtLock(); try { validateSurface(sg2d); int[] spanBox = new int[4]; while (si.nextSpan(spanBox)) { tileManager.addRect(spanBox[0] + transx, spanBox[1] + transy, spanBox[2] - spanBox[0], spanBox[3] - spanBox[1]); } tileManager.fillMask(((XRSurfaceData) sg2d.surfaceData)); } finally { SunToolkit.awtUnlock(); } }
public void FillSpans(SunGraphics2D sg2d, SurfaceData sData, SpanIterator si) { PixelWriter pw = GeneralRenderer.createSolidPixelWriter(sg2d, sData); int span[] = new int[4]; while (si.nextSpan(span)) { GeneralRenderer.doSetRect(sData, pw, span[0], span[1], span[2], span[3]); } }
public void FillSpans(SunGraphics2D sg2d, SurfaceData sData, SpanIterator si) { PixelWriter pw = GeneralRenderer.createXorPixelWriter(sg2d, sData); int span[] = new int[4]; while (si.nextSpan(span)) { GeneralRenderer.doSetRect(sData, pw, span[0], span[1], span[2], span[3]); } }
void XFillSpans(long pXSData, long xgc, SpanIterator si, long iterator, int transx, int transy) { GraphicsPrimitive.tracePrimitive("X11FillSpans"); super.XFillSpans(pXSData, xgc, si, iterator, transx, transy); }