Search in sources :

Example 6 with SunVolatileImage

use of sun.awt.image.SunVolatileImage in project jdk8u_jdk by JetBrains.

the class D3DGraphicsConfig method createBackBuffer.

/**
     * Creates a D3D-based backbuffer for the given peer and returns the
     * image wrapper.
     */
@Override
public VolatileImage createBackBuffer(WComponentPeer peer) {
    Component target = (Component) peer.getTarget();
    // it is possible for the component to have size 0x0, adjust it to
    // be at least 1x1 to avoid IAE
    int w = Math.max(1, target.getWidth());
    int h = Math.max(1, target.getHeight());
    return new SunVolatileImage(target, w, h, Boolean.TRUE);
}
Also used : SunVolatileImage(sun.awt.image.SunVolatileImage) Component(java.awt.Component)

Example 7 with SunVolatileImage

use of sun.awt.image.SunVolatileImage in project jdk8u_jdk by JetBrains.

the class WGLGraphicsConfig method createCompatibleVolatileImage.

/**
     * {@inheritDoc}
     *
     * @see sun.java2d.pipe.hw.AccelGraphicsConfig#createCompatibleVolatileImage
     */
@Override
public VolatileImage createCompatibleVolatileImage(int width, int height, int transparency, int type) {
    if (type == FLIP_BACKBUFFER || type == WINDOW || type == UNDEFINED || transparency == Transparency.BITMASK) {
        return null;
    }
    if (type == FBOBJECT) {
        if (!isCapPresent(CAPS_EXT_FBOBJECT)) {
            return null;
        }
    } else if (type == PBUFFER) {
        boolean isOpaque = transparency == Transparency.OPAQUE;
        if (!isOpaque && !isCapPresent(CAPS_STORED_ALPHA)) {
            return null;
        }
    }
    SunVolatileImage vi = new AccelTypedVolatileImage(this, width, height, transparency, type);
    Surface sd = vi.getDestSurface();
    if (!(sd instanceof AccelSurface) || ((AccelSurface) sd).getType() != type) {
        vi.flush();
        vi = null;
    }
    return vi;
}
Also used : AccelSurface(sun.java2d.pipe.hw.AccelSurface) SunVolatileImage(sun.awt.image.SunVolatileImage) AccelTypedVolatileImage(sun.java2d.pipe.hw.AccelTypedVolatileImage) Surface(sun.java2d.Surface) AccelSurface(sun.java2d.pipe.hw.AccelSurface)

Aggregations

SunVolatileImage (sun.awt.image.SunVolatileImage)7 Surface (sun.java2d.Surface)4 AccelSurface (sun.java2d.pipe.hw.AccelSurface)4 AccelTypedVolatileImage (sun.java2d.pipe.hw.AccelTypedVolatileImage)4 Component (java.awt.Component)2 Rectangle (java.awt.Rectangle)1