sun.awt.image.SunWritableRaster Java Examples

The following examples show how to use sun.awt.image.SunWritableRaster. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: TexturePaintContext.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 6 votes vote down vote up
/**
 * 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;
}
 
Example #2
Source File: GTKEngine.java    From dragonwell8_jdk with GNU General Public License v2.0 6 votes vote down vote up
/**
 * 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;
}
 
Example #3
Source File: GTKEngine.java    From TencentKona-8 with GNU General Public License v2.0 6 votes vote down vote up
/**
 * 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;
}
 
Example #4
Source File: XPStyle.java    From jdk8u_jdk with GNU General Public License v2.0 6 votes vote down vote up
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);
}
 
Example #5
Source File: XPStyle.java    From TencentKona-8 with GNU General Public License v2.0 6 votes vote down vote up
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);
}
 
Example #6
Source File: GTKEngine.java    From jdk8u60 with GNU General Public License v2.0 6 votes vote down vote up
/**
 * 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);
}
 
Example #7
Source File: XPStyle.java    From jdk8u60 with GNU General Public License v2.0 6 votes vote down vote up
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);
}
 
Example #8
Source File: TexturePaintContext.java    From JDKSourceCode1.8 with MIT License 6 votes vote down vote up
/**
 * 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;
}
 
Example #9
Source File: TexturePaintContext.java    From hottub with GNU General Public License v2.0 6 votes vote down vote up
/**
 * 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;
}
 
Example #10
Source File: GTKEngine.java    From JDKSourceCode1.8 with MIT License 6 votes vote down vote up
/**
 * 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);
}
 
Example #11
Source File: XPStyle.java    From JDKSourceCode1.8 with MIT License 6 votes vote down vote up
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);
}
 
Example #12
Source File: TexturePaintContext.java    From openjdk-jdk8u with GNU General Public License v2.0 6 votes vote down vote up
/**
 * 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;
}
 
Example #13
Source File: GTKEngine.java    From jdk8u-jdk with GNU General Public License v2.0 6 votes vote down vote up
/**
 * 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);
}
 
Example #14
Source File: XPStyle.java    From openjdk-jdk8u with GNU General Public License v2.0 6 votes vote down vote up
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);
}
 
Example #15
Source File: GTKEngine.java    From jdk8u-dev-jdk with GNU General Public License v2.0 6 votes vote down vote up
/**
 * 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);
}
 
Example #16
Source File: XPStyle.java    From jdk8u-dev-jdk with GNU General Public License v2.0 6 votes vote down vote up
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);
}
 
Example #17
Source File: GTKEngine.java    From jdk8u_jdk with GNU General Public License v2.0 6 votes vote down vote up
/**
 * 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;
}
 
Example #18
Source File: GTKEngine.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 6 votes vote down vote up
/**
 * 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);
}
 
Example #19
Source File: XPStyle.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 6 votes vote down vote up
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);
}
 
Example #20
Source File: TexturePaintContext.java    From Java8CN with Apache License 2.0 6 votes vote down vote up
/**
 * 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;
}
 
Example #21
Source File: TexturePaintContext.java    From Bytecoder with Apache License 2.0 6 votes vote down vote up
/**
 * 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;
}
 
Example #22
Source File: GTKEngine.java    From Bytecoder with Apache License 2.0 6 votes vote down vote up
/**
 * 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;
}
 
Example #23
Source File: TexturePaintContext.java    From openjdk-jdk9 with GNU General Public License v2.0 6 votes vote down vote up
/**
 * 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;
}
 
Example #24
Source File: TexturePaintContext.java    From jdk8u-jdk with GNU General Public License v2.0 6 votes vote down vote up
/**
 * 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;
}
 
Example #25
Source File: GTKEngine.java    From openjdk-jdk9 with GNU General Public License v2.0 6 votes vote down vote up
/**
 * 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;
}
 
Example #26
Source File: XPStyle.java    From openjdk-jdk9 with GNU General Public License v2.0 6 votes vote down vote up
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);
}
 
Example #27
Source File: TexturePaintContext.java    From jdk8u-jdk with GNU General Public License v2.0 6 votes vote down vote up
/**
 * 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;
}
 
Example #28
Source File: GTKEngine.java    From openjdk-8-source with GNU General Public License v2.0 6 votes vote down vote up
/**
 * 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);
}
 
Example #29
Source File: TexturePaintContext.java    From jdk8u-dev-jdk with GNU General Public License v2.0 6 votes vote down vote up
/**
 * 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;
}
 
Example #30
Source File: GTKEngine.java    From jdk8u-jdk with GNU General Public License v2.0 6 votes vote down vote up
/**
 * 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);
}