类sun.awt.image.SunWritableRaster源码实例Demo

下面列出了怎么用sun.awt.image.SunWritableRaster的API类实例代码及写法,或者点击链接到github查看源代码。

/**
 * Return a Raster containing the colors generated for the graphics
 * operation.
 * @param x,y,w,h The area in device space for which colors are
 * generated.
 */
public Raster getRaster(int x, int y, int w, int h) {
    if (outRas == null ||
        outRas.getWidth() < w ||
        outRas.getHeight() < h)
    {
        // If h==1, we will probably get lots of "scanline" rects
        outRas = makeRaster((h == 1 ? Math.max(w, maxWidth) : w), h);
    }
    double X = mod(xOrg + x * incXAcross + y * incXDown, bWidth);
    double Y = mod(yOrg + x * incYAcross + y * incYDown, bHeight);

    setRaster((int) X, (int) Y, fractAsInt(X), fractAsInt(Y),
              w, h, bWidth, bHeight,
              colincx, colincxerr,
              colincy, colincyerr,
              rowincx, rowincxerr,
              rowincy, rowincyerr);

    SunWritableRaster.markDirty(outRas);

    return outRas;
}
 
源代码2 项目: jdk8u-dev-jdk   文件: XPStyle.java
protected void paintToImage(Component c, Image image, Graphics g,
                            int w, int h, Object[] args) {
    boolean accEnabled = false;
    Skin skin = (Skin)args[0];
    Part part = skin.part;
    State state = (State)args[1];
    if (state == null) {
        state = skin.state;
    }
    if (c == null) {
        c = skin.component;
    }
    BufferedImage bi = (BufferedImage)image;

    WritableRaster raster = bi.getRaster();
    DataBufferInt dbi = (DataBufferInt)raster.getDataBuffer();
    // Note that stealData() requires a markDirty() afterwards
    // since we modify the data in it.
    ThemeReader.paintBackground(SunWritableRaster.stealData(dbi, 0),
                                part.getControlName(c), part.getValue(),
                                State.getValue(part, state),
                                0, 0, w, h, w);
    SunWritableRaster.markDirty(dbi);
}
 
源代码3 项目: jdk1.8-source-analysis   文件: GTKEngine.java
/**
 * Called to indicate that painting is finished. We create a new
 * BufferedImage from the offscreen buffer, (optionally) cache it,
 * and paint it.
 */
public void finishPainting(boolean useCache) {
    DataBufferInt dataBuffer = new DataBufferInt(w0 * h0);
    // Note that stealData() requires a markDirty() afterwards
    // since we modify the data in it.
    int transparency =
        nativeFinishPainting(SunWritableRaster.stealData(dataBuffer, 0),
                             w0, h0);
    SunWritableRaster.markDirty(dataBuffer);

    int[] bands = BAND_OFFSETS[transparency - 1];
    WritableRaster raster = Raster.createPackedRaster(
            dataBuffer, w0, h0, w0, bands, null);

    ColorModel cm = COLOR_MODELS[transparency - 1];
    Image img = new BufferedImage(cm, raster, false, null);
    if (useCache) {
        cache.setImage(getClass(), null, w0, h0, cacheArgs, img);
    }
    graphics.drawImage(img, x0, y0, null);
}
 
源代码4 项目: jdk1.8-source-analysis   文件: XPStyle.java
protected void paintToImage(Component c, Image image, Graphics g,
                            int w, int h, Object[] args) {
    boolean accEnabled = false;
    Skin skin = (Skin)args[0];
    Part part = skin.part;
    State state = (State)args[1];
    if (state == null) {
        state = skin.state;
    }
    if (c == null) {
        c = skin.component;
    }
    BufferedImage bi = (BufferedImage)image;

    WritableRaster raster = bi.getRaster();
    DataBufferInt dbi = (DataBufferInt)raster.getDataBuffer();
    // Note that stealData() requires a markDirty() afterwards
    // since we modify the data in it.
    ThemeReader.paintBackground(SunWritableRaster.stealData(dbi, 0),
                                part.getControlName(c), part.getValue(),
                                State.getValue(part, state),
                                0, 0, w, h, w);
    SunWritableRaster.markDirty(dbi);
}
 
源代码5 项目: dragonwell8_jdk   文件: TexturePaintContext.java
/**
 * Return a Raster containing the colors generated for the graphics
 * operation.
 * @param x,y,w,h The area in device space for which colors are
 * generated.
 */
public Raster getRaster(int x, int y, int w, int h) {
    if (outRas == null ||
        outRas.getWidth() < w ||
        outRas.getHeight() < h)
    {
        // If h==1, we will probably get lots of "scanline" rects
        outRas = makeRaster((h == 1 ? Math.max(w, maxWidth) : w), h);
    }
    double X = mod(xOrg + x * incXAcross + y * incXDown, bWidth);
    double Y = mod(yOrg + x * incYAcross + y * incYDown, bHeight);

    setRaster((int) X, (int) Y, fractAsInt(X), fractAsInt(Y),
              w, h, bWidth, bHeight,
              colincx, colincxerr,
              colincy, colincyerr,
              rowincx, rowincxerr,
              rowincy, rowincyerr);

    SunWritableRaster.markDirty(outRas);

    return outRas;
}
 
源代码6 项目: jdk8u_jdk   文件: XPStyle.java
protected void paintToImage(Component c, Image image, Graphics g,
                            int w, int h, Object[] args) {
    Skin skin = (Skin)args[0];
    Part part = skin.part;
    State state = (State)args[1];
    if (state == null) {
        state = skin.state;
    }
    if (c == null) {
        c = skin.component;
    }
    BufferedImage bi = (BufferedImage)image;
    w = bi.getWidth();
    h = bi.getHeight();

    WritableRaster raster = bi.getRaster();
    DataBufferInt dbi = (DataBufferInt)raster.getDataBuffer();
    // Note that stealData() requires a markDirty() afterwards
    // since we modify the data in it.
    ThemeReader.paintBackground(SunWritableRaster.stealData(dbi, 0),
                                part.getControlName(c), part.getValue(),
                                State.getValue(part, state),
                                0, 0, w, h, w);
    SunWritableRaster.markDirty(dbi);
}
 
源代码7 项目: dragonwell8_jdk   文件: GTKEngine.java
/**
 * Called to indicate that painting is finished. We create a new
 * BufferedImage from the offscreen buffer, (optionally) cache it,
 * and paint it.
 */
public BufferedImage finishPainting(boolean useCache) {
    DataBufferInt dataBuffer = new DataBufferInt(w0 * h0);
    // Note that stealData() requires a markDirty() afterwards
    // since we modify the data in it.
    int transparency =
        nativeFinishPainting(SunWritableRaster.stealData(dataBuffer, 0),
                             w0, h0);
    SunWritableRaster.markDirty(dataBuffer);

    int[] bands = BAND_OFFSETS[transparency - 1];
    WritableRaster raster = Raster.createPackedRaster(
            dataBuffer, w0, h0, w0, bands, null);

    ColorModel cm = COLOR_MODELS[transparency - 1];
    BufferedImage img = new BufferedImage(cm, raster, false, null);
    if (useCache) {
        cache.setImage(getClass(), null, w0, h0, cacheArgs, img);
    }
    graphics.drawImage(img, x0, y0, null);
    return img;
}
 
源代码8 项目: dragonwell8_jdk   文件: XPStyle.java
protected void paintToImage(Component c, Image image, Graphics g,
                            int w, int h, Object[] args) {
    boolean accEnabled = false;
    Skin skin = (Skin)args[0];
    Part part = skin.part;
    State state = (State)args[1];
    if (state == null) {
        state = skin.state;
    }
    if (c == null) {
        c = skin.component;
    }
    BufferedImage bi = (BufferedImage)image;

    WritableRaster raster = bi.getRaster();
    DataBufferInt dbi = (DataBufferInt)raster.getDataBuffer();
    // Note that stealData() requires a markDirty() afterwards
    // since we modify the data in it.
    ThemeReader.paintBackground(SunWritableRaster.stealData(dbi, 0),
                                part.getControlName(c), part.getValue(),
                                State.getValue(part, state),
                                0, 0, w, h, w);
    SunWritableRaster.markDirty(dbi);
}
 
源代码9 项目: dragonwell8_jdk   文件: SimpleManagedImage.java
/**
 * Returns the custom buffered image, which mostly identical to
 * BufferedImage.(w,h,TYPE_3BYTE_BGR), but uses the bigger scanlineStride.
 * This means that the raster will have gaps, between the rows.
 */
private static BufferedImage makeCustomManagedBI() {
    int w = 511, h = 255;
    ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_sRGB);
    int[] nBits = {8, 8, 8};
    int[] bOffs = {2, 1, 0};
    ColorModel colorModel = new ComponentColorModel(cs, nBits, false, false,
                                                    Transparency.OPAQUE,
                                                    DataBuffer.TYPE_BYTE);
    WritableRaster raster =
            Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, w, h,
                                           w * 3 + 2, 3, bOffs, null);
    BufferedImage bi = new BufferedImage(colorModel, raster, true, null);
    SunWritableRaster.makeTrackable(raster.getDataBuffer());
    SunWritableRaster.markDirty(bi);
    return bi;
}
 
/**
 * Returns the custom buffered image, which mostly identical to
 * BufferedImage.(w,h,TYPE_3BYTE_BGR), but uses the bigger scanlineStride.
 * This means that the raster will have gaps, between the rows.
 */
private static BufferedImage makeCustomManagedBI() {
    int w = 511, h = 255;
    ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_sRGB);
    int[] nBits = {8, 8, 8};
    int[] bOffs = {2, 1, 0};
    ColorModel colorModel = new ComponentColorModel(cs, nBits, false, false,
                                                    Transparency.OPAQUE,
                                                    DataBuffer.TYPE_BYTE);
    WritableRaster raster =
            Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, w, h,
                                           w * 3 + 2, 3, bOffs, null);
    BufferedImage bi = new BufferedImage(colorModel, raster, true, null);
    SunWritableRaster.makeTrackable(raster.getDataBuffer());
    SunWritableRaster.markDirty(bi);
    return bi;
}
 
源代码11 项目: TencentKona-8   文件: TexturePaintContext.java
/**
 * Return a Raster containing the colors generated for the graphics
 * operation.
 * @param x,y,w,h The area in device space for which colors are
 * generated.
 */
public Raster getRaster(int x, int y, int w, int h) {
    if (outRas == null ||
        outRas.getWidth() < w ||
        outRas.getHeight() < h)
    {
        // If h==1, we will probably get lots of "scanline" rects
        outRas = makeRaster((h == 1 ? Math.max(w, maxWidth) : w), h);
    }
    double X = mod(xOrg + x * incXAcross + y * incXDown, bWidth);
    double Y = mod(yOrg + x * incYAcross + y * incYDown, bHeight);

    setRaster((int) X, (int) Y, fractAsInt(X), fractAsInt(Y),
              w, h, bWidth, bHeight,
              colincx, colincxerr,
              colincy, colincyerr,
              rowincx, rowincxerr,
              rowincy, rowincyerr);

    SunWritableRaster.markDirty(outRas);

    return outRas;
}
 
源代码12 项目: TencentKona-8   文件: GTKEngine.java
/**
 * Called to indicate that painting is finished. We create a new
 * BufferedImage from the offscreen buffer, (optionally) cache it,
 * and paint it.
 */
public BufferedImage finishPainting(boolean useCache) {
    DataBufferInt dataBuffer = new DataBufferInt(w0 * h0);
    // Note that stealData() requires a markDirty() afterwards
    // since we modify the data in it.
    int transparency =
        nativeFinishPainting(SunWritableRaster.stealData(dataBuffer, 0),
                             w0, h0);
    SunWritableRaster.markDirty(dataBuffer);

    int[] bands = BAND_OFFSETS[transparency - 1];
    WritableRaster raster = Raster.createPackedRaster(
            dataBuffer, w0, h0, w0, bands, null);

    ColorModel cm = COLOR_MODELS[transparency - 1];
    BufferedImage img = new BufferedImage(cm, raster, false, null);
    if (useCache) {
        cache.setImage(getClass(), null, w0, h0, cacheArgs, img);
    }
    graphics.drawImage(img, x0, y0, null);
    return img;
}
 
源代码13 项目: TencentKona-8   文件: XPStyle.java
protected void paintToImage(Component c, Image image, Graphics g,
                            int w, int h, Object[] args) {
    boolean accEnabled = false;
    Skin skin = (Skin)args[0];
    Part part = skin.part;
    State state = (State)args[1];
    if (state == null) {
        state = skin.state;
    }
    if (c == null) {
        c = skin.component;
    }
    BufferedImage bi = (BufferedImage)image;

    WritableRaster raster = bi.getRaster();
    DataBufferInt dbi = (DataBufferInt)raster.getDataBuffer();
    // Note that stealData() requires a markDirty() afterwards
    // since we modify the data in it.
    ThemeReader.paintBackground(SunWritableRaster.stealData(dbi, 0),
                                part.getControlName(c), part.getValue(),
                                State.getValue(part, state),
                                0, 0, w, h, w);
    SunWritableRaster.markDirty(dbi);
}
 
源代码14 项目: TencentKona-8   文件: SimpleManagedImage.java
/**
 * Returns the custom buffered image, which mostly identical to
 * BufferedImage.(w,h,TYPE_3BYTE_BGR), but uses the bigger scanlineStride.
 * This means that the raster will have gaps, between the rows.
 */
private static BufferedImage makeCustomManagedBI() {
    int w = 511, h = 255;
    ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_sRGB);
    int[] nBits = {8, 8, 8};
    int[] bOffs = {2, 1, 0};
    ColorModel colorModel = new ComponentColorModel(cs, nBits, false, false,
                                                    Transparency.OPAQUE,
                                                    DataBuffer.TYPE_BYTE);
    WritableRaster raster =
            Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, w, h,
                                           w * 3 + 2, 3, bOffs, null);
    BufferedImage bi = new BufferedImage(colorModel, raster, true, null);
    SunWritableRaster.makeTrackable(raster.getDataBuffer());
    SunWritableRaster.markDirty(bi);
    return bi;
}
 
/**
 * Returns the custom buffered image, which mostly identical to
 * BufferedImage.(w,h,TYPE_3BYTE_BGR), but uses the bigger scanlineStride.
 * This means that the raster will have gaps, between the rows.
 */
private static BufferedImage makeCustomManagedBI() {
    int w = 511, h = 255;
    ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_sRGB);
    int[] nBits = {8, 8, 8};
    int[] bOffs = {2, 1, 0};
    ColorModel colorModel = new ComponentColorModel(cs, nBits, false, false,
                                                    Transparency.OPAQUE,
                                                    DataBuffer.TYPE_BYTE);
    WritableRaster raster =
            Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, w, h,
                                           w * 3 + 2, 3, bOffs, null);
    BufferedImage bi = new BufferedImage(colorModel, raster, true, null);
    SunWritableRaster.makeTrackable(raster.getDataBuffer());
    SunWritableRaster.markDirty(bi);
    return bi;
}
 
源代码16 项目: jdk8u60   文件: TexturePaintContext.java
/**
 * Return a Raster containing the colors generated for the graphics
 * operation.
 * @param x,y,w,h The area in device space for which colors are
 * generated.
 */
public Raster getRaster(int x, int y, int w, int h) {
    if (outRas == null ||
        outRas.getWidth() < w ||
        outRas.getHeight() < h)
    {
        // If h==1, we will probably get lots of "scanline" rects
        outRas = makeRaster((h == 1 ? Math.max(w, maxWidth) : w), h);
    }
    double X = mod(xOrg + x * incXAcross + y * incXDown, bWidth);
    double Y = mod(yOrg + x * incYAcross + y * incYDown, bHeight);

    setRaster((int) X, (int) Y, fractAsInt(X), fractAsInt(Y),
              w, h, bWidth, bHeight,
              colincx, colincxerr,
              colincy, colincyerr,
              rowincx, rowincxerr,
              rowincy, rowincyerr);

    SunWritableRaster.markDirty(outRas);

    return outRas;
}
 
源代码17 项目: jdk8u60   文件: GTKEngine.java
/**
 * Called to indicate that painting is finished. We create a new
 * BufferedImage from the offscreen buffer, (optionally) cache it,
 * and paint it.
 */
public void finishPainting(boolean useCache) {
    DataBufferInt dataBuffer = new DataBufferInt(w0 * h0);
    // Note that stealData() requires a markDirty() afterwards
    // since we modify the data in it.
    int transparency =
        nativeFinishPainting(SunWritableRaster.stealData(dataBuffer, 0),
                             w0, h0);
    SunWritableRaster.markDirty(dataBuffer);

    int[] bands = BAND_OFFSETS[transparency - 1];
    WritableRaster raster = Raster.createPackedRaster(
            dataBuffer, w0, h0, w0, bands, null);

    ColorModel cm = COLOR_MODELS[transparency - 1];
    Image img = new BufferedImage(cm, raster, false, null);
    if (useCache) {
        cache.setImage(getClass(), null, w0, h0, cacheArgs, img);
    }
    graphics.drawImage(img, x0, y0, null);
}
 
源代码18 项目: jdk8u60   文件: XPStyle.java
protected void paintToImage(Component c, Image image, Graphics g,
                            int w, int h, Object[] args) {
    boolean accEnabled = false;
    Skin skin = (Skin)args[0];
    Part part = skin.part;
    State state = (State)args[1];
    if (state == null) {
        state = skin.state;
    }
    if (c == null) {
        c = skin.component;
    }
    BufferedImage bi = (BufferedImage)image;

    WritableRaster raster = bi.getRaster();
    DataBufferInt dbi = (DataBufferInt)raster.getDataBuffer();
    // Note that stealData() requires a markDirty() afterwards
    // since we modify the data in it.
    ThemeReader.paintBackground(SunWritableRaster.stealData(dbi, 0),
                                part.getControlName(c), part.getValue(),
                                State.getValue(part, state),
                                0, 0, w, h, w);
    SunWritableRaster.markDirty(dbi);
}
 
源代码19 项目: JDKSourceCode1.8   文件: TexturePaintContext.java
/**
 * Return a Raster containing the colors generated for the graphics
 * operation.
 * @param x,y,w,h The area in device space for which colors are
 * generated.
 */
public Raster getRaster(int x, int y, int w, int h) {
    if (outRas == null ||
        outRas.getWidth() < w ||
        outRas.getHeight() < h)
    {
        // If h==1, we will probably get lots of "scanline" rects
        outRas = makeRaster((h == 1 ? Math.max(w, maxWidth) : w), h);
    }
    double X = mod(xOrg + x * incXAcross + y * incXDown, bWidth);
    double Y = mod(yOrg + x * incYAcross + y * incYDown, bHeight);

    setRaster((int) X, (int) Y, fractAsInt(X), fractAsInt(Y),
              w, h, bWidth, bHeight,
              colincx, colincxerr,
              colincy, colincyerr,
              rowincx, rowincxerr,
              rowincy, rowincyerr);

    SunWritableRaster.markDirty(outRas);

    return outRas;
}
 
源代码20 项目: hottub   文件: TexturePaintContext.java
/**
 * Return a Raster containing the colors generated for the graphics
 * operation.
 * @param x,y,w,h The area in device space for which colors are
 * generated.
 */
public Raster getRaster(int x, int y, int w, int h) {
    if (outRas == null ||
        outRas.getWidth() < w ||
        outRas.getHeight() < h)
    {
        // If h==1, we will probably get lots of "scanline" rects
        outRas = makeRaster((h == 1 ? Math.max(w, maxWidth) : w), h);
    }
    double X = mod(xOrg + x * incXAcross + y * incXDown, bWidth);
    double Y = mod(yOrg + x * incYAcross + y * incYDown, bHeight);

    setRaster((int) X, (int) Y, fractAsInt(X), fractAsInt(Y),
              w, h, bWidth, bHeight,
              colincx, colincxerr,
              colincy, colincyerr,
              rowincx, rowincxerr,
              rowincy, rowincyerr);

    SunWritableRaster.markDirty(outRas);

    return outRas;
}
 
源代码21 项目: JDKSourceCode1.8   文件: GTKEngine.java
/**
 * Called to indicate that painting is finished. We create a new
 * BufferedImage from the offscreen buffer, (optionally) cache it,
 * and paint it.
 */
public void finishPainting(boolean useCache) {
    DataBufferInt dataBuffer = new DataBufferInt(w0 * h0);
    // Note that stealData() requires a markDirty() afterwards
    // since we modify the data in it.
    int transparency =
        nativeFinishPainting(SunWritableRaster.stealData(dataBuffer, 0),
                             w0, h0);
    SunWritableRaster.markDirty(dataBuffer);

    int[] bands = BAND_OFFSETS[transparency - 1];
    WritableRaster raster = Raster.createPackedRaster(
            dataBuffer, w0, h0, w0, bands, null);

    ColorModel cm = COLOR_MODELS[transparency - 1];
    Image img = new BufferedImage(cm, raster, false, null);
    if (useCache) {
        cache.setImage(getClass(), null, w0, h0, cacheArgs, img);
    }
    graphics.drawImage(img, x0, y0, null);
}
 
源代码22 项目: JDKSourceCode1.8   文件: XPStyle.java
protected void paintToImage(Component c, Image image, Graphics g,
                            int w, int h, Object[] args) {
    boolean accEnabled = false;
    Skin skin = (Skin)args[0];
    Part part = skin.part;
    State state = (State)args[1];
    if (state == null) {
        state = skin.state;
    }
    if (c == null) {
        c = skin.component;
    }
    BufferedImage bi = (BufferedImage)image;

    WritableRaster raster = bi.getRaster();
    DataBufferInt dbi = (DataBufferInt)raster.getDataBuffer();
    // Note that stealData() requires a markDirty() afterwards
    // since we modify the data in it.
    ThemeReader.paintBackground(SunWritableRaster.stealData(dbi, 0),
                                part.getControlName(c), part.getValue(),
                                State.getValue(part, state),
                                0, 0, w, h, w);
    SunWritableRaster.markDirty(dbi);
}
 
源代码23 项目: openjdk-jdk8u   文件: TexturePaintContext.java
/**
 * Return a Raster containing the colors generated for the graphics
 * operation.
 * @param x,y,w,h The area in device space for which colors are
 * generated.
 */
public Raster getRaster(int x, int y, int w, int h) {
    if (outRas == null ||
        outRas.getWidth() < w ||
        outRas.getHeight() < h)
    {
        // If h==1, we will probably get lots of "scanline" rects
        outRas = makeRaster((h == 1 ? Math.max(w, maxWidth) : w), h);
    }
    double X = mod(xOrg + x * incXAcross + y * incXDown, bWidth);
    double Y = mod(yOrg + x * incYAcross + y * incYDown, bHeight);

    setRaster((int) X, (int) Y, fractAsInt(X), fractAsInt(Y),
              w, h, bWidth, bHeight,
              colincx, colincxerr,
              colincy, colincyerr,
              rowincx, rowincxerr,
              rowincy, rowincyerr);

    SunWritableRaster.markDirty(outRas);

    return outRas;
}
 
源代码24 项目: jdk8u-jdk   文件: GTKEngine.java
/**
 * Called to indicate that painting is finished. We create a new
 * BufferedImage from the offscreen buffer, (optionally) cache it,
 * and paint it.
 */
public void finishPainting(boolean useCache) {
    DataBufferInt dataBuffer = new DataBufferInt(w0 * h0);
    // Note that stealData() requires a markDirty() afterwards
    // since we modify the data in it.
    int transparency =
        nativeFinishPainting(SunWritableRaster.stealData(dataBuffer, 0),
                             w0, h0);
    SunWritableRaster.markDirty(dataBuffer);

    int[] bands = BAND_OFFSETS[transparency - 1];
    WritableRaster raster = Raster.createPackedRaster(
            dataBuffer, w0, h0, w0, bands, null);

    ColorModel cm = COLOR_MODELS[transparency - 1];
    Image img = new BufferedImage(cm, raster, false, null);
    if (useCache) {
        cache.setImage(getClass(), null, w0, h0, cacheArgs, img);
    }
    graphics.drawImage(img, x0, y0, null);
}
 
源代码25 项目: openjdk-jdk8u   文件: XPStyle.java
protected void paintToImage(Component c, Image image, Graphics g,
                            int w, int h, Object[] args) {
    boolean accEnabled = false;
    Skin skin = (Skin)args[0];
    Part part = skin.part;
    State state = (State)args[1];
    if (state == null) {
        state = skin.state;
    }
    if (c == null) {
        c = skin.component;
    }
    BufferedImage bi = (BufferedImage)image;

    WritableRaster raster = bi.getRaster();
    DataBufferInt dbi = (DataBufferInt)raster.getDataBuffer();
    // Note that stealData() requires a markDirty() afterwards
    // since we modify the data in it.
    ThemeReader.paintBackground(SunWritableRaster.stealData(dbi, 0),
                                part.getControlName(c), part.getValue(),
                                State.getValue(part, state),
                                0, 0, w, h, w);
    SunWritableRaster.markDirty(dbi);
}
 
源代码26 项目: jdk8u-dev-jdk   文件: GTKEngine.java
/**
 * Called to indicate that painting is finished. We create a new
 * BufferedImage from the offscreen buffer, (optionally) cache it,
 * and paint it.
 */
public void finishPainting(boolean useCache) {
    DataBufferInt dataBuffer = new DataBufferInt(w0 * h0);
    // Note that stealData() requires a markDirty() afterwards
    // since we modify the data in it.
    int transparency =
        nativeFinishPainting(SunWritableRaster.stealData(dataBuffer, 0),
                             w0, h0);
    SunWritableRaster.markDirty(dataBuffer);

    int[] bands = BAND_OFFSETS[transparency - 1];
    WritableRaster raster = Raster.createPackedRaster(
            dataBuffer, w0, h0, w0, bands, null);

    ColorModel cm = COLOR_MODELS[transparency - 1];
    Image img = new BufferedImage(cm, raster, false, null);
    if (useCache) {
        cache.setImage(getClass(), null, w0, h0, cacheArgs, img);
    }
    graphics.drawImage(img, x0, y0, null);
}
 
源代码27 项目: openjdk-jdk8u-backup   文件: TexturePaintContext.java
/**
 * Return a Raster containing the colors generated for the graphics
 * operation.
 * @param x,y,w,h The area in device space for which colors are
 * generated.
 */
public Raster getRaster(int x, int y, int w, int h) {
    if (outRas == null ||
        outRas.getWidth() < w ||
        outRas.getHeight() < h)
    {
        // If h==1, we will probably get lots of "scanline" rects
        outRas = makeRaster((h == 1 ? Math.max(w, maxWidth) : w), h);
    }
    double X = mod(xOrg + x * incXAcross + y * incXDown, bWidth);
    double Y = mod(yOrg + x * incYAcross + y * incYDown, bHeight);

    setRaster((int) X, (int) Y, fractAsInt(X), fractAsInt(Y),
              w, h, bWidth, bHeight,
              colincx, colincxerr,
              colincy, colincyerr,
              rowincx, rowincxerr,
              rowincy, rowincyerr);

    SunWritableRaster.markDirty(outRas);

    return outRas;
}
 
源代码28 项目: jdk8u_jdk   文件: GTKEngine.java
/**
 * Called to indicate that painting is finished. We create a new
 * BufferedImage from the offscreen buffer, (optionally) cache it,
 * and paint it.
 */
public BufferedImage finishPainting(boolean useCache) {
    DataBufferInt dataBuffer = new DataBufferInt(w0 * h0);
    // Note that stealData() requires a markDirty() afterwards
    // since we modify the data in it.
    int transparency =
        nativeFinishPainting(SunWritableRaster.stealData(dataBuffer, 0),
                             w0, h0);
    SunWritableRaster.markDirty(dataBuffer);

    int[] bands = BAND_OFFSETS[transparency - 1];
    WritableRaster raster = Raster.createPackedRaster(
            dataBuffer, w0, h0, w0, bands, null);

    ColorModel cm = COLOR_MODELS[transparency - 1];
    BufferedImage img = new BufferedImage(cm, raster, false, null);
    if (useCache) {
        cache.setImage(getClass(), null, w0, h0, cacheArgs, img);
    }
    graphics.drawImage(img, x0, y0, null);
    return img;
}
 
源代码29 项目: openjdk-jdk8u-backup   文件: GTKEngine.java
/**
 * Called to indicate that painting is finished. We create a new
 * BufferedImage from the offscreen buffer, (optionally) cache it,
 * and paint it.
 */
public void finishPainting(boolean useCache) {
    DataBufferInt dataBuffer = new DataBufferInt(w0 * h0);
    // Note that stealData() requires a markDirty() afterwards
    // since we modify the data in it.
    int transparency =
        nativeFinishPainting(SunWritableRaster.stealData(dataBuffer, 0),
                             w0, h0);
    SunWritableRaster.markDirty(dataBuffer);

    int[] bands = BAND_OFFSETS[transparency - 1];
    WritableRaster raster = Raster.createPackedRaster(
            dataBuffer, w0, h0, w0, bands, null);

    ColorModel cm = COLOR_MODELS[transparency - 1];
    Image img = new BufferedImage(cm, raster, false, null);
    if (useCache) {
        cache.setImage(getClass(), null, w0, h0, cacheArgs, img);
    }
    graphics.drawImage(img, x0, y0, null);
}
 
源代码30 项目: openjdk-jdk8u-backup   文件: XPStyle.java
protected void paintToImage(Component c, Image image, Graphics g,
                            int w, int h, Object[] args) {
    boolean accEnabled = false;
    Skin skin = (Skin)args[0];
    Part part = skin.part;
    State state = (State)args[1];
    if (state == null) {
        state = skin.state;
    }
    if (c == null) {
        c = skin.component;
    }
    BufferedImage bi = (BufferedImage)image;

    WritableRaster raster = bi.getRaster();
    DataBufferInt dbi = (DataBufferInt)raster.getDataBuffer();
    // Note that stealData() requires a markDirty() afterwards
    // since we modify the data in it.
    ThemeReader.paintBackground(SunWritableRaster.stealData(dbi, 0),
                                part.getControlName(c), part.getValue(),
                                State.getValue(part, state),
                                0, 0, w, h, w);
    SunWritableRaster.markDirty(dbi);
}
 
 类所在包
 类方法
 同包方法