本文整理汇总了Java中sun.java2d.pipe.SpanIterator类的典型用法代码示例。如果您正苦于以下问题:Java SpanIterator类的具体用法?Java SpanIterator怎么用?Java SpanIterator使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
SpanIterator类属于sun.java2d.pipe包,在下文中一共展示了SpanIterator类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: Blit
import sun.java2d.pipe.SpanIterator; //导入依赖的package包/类
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();
}
示例2: doFillSpans
import sun.java2d.pipe.SpanIterator; //导入依赖的package包/类
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]);
}
}
示例3: fillSpans
import sun.java2d.pipe.SpanIterator; //导入依赖的package包/类
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();
}
}
示例4: fillSpans
import sun.java2d.pipe.SpanIterator; //导入依赖的package包/类
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();
}
}
示例5: FillSpans
import sun.java2d.pipe.SpanIterator; //导入依赖的package包/类
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]);
}
}
示例6: XFillSpans
import sun.java2d.pipe.SpanIterator; //导入依赖的package包/类
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);
}