protected class Component.FlipBufferStrategy extends BufferStrategy
Inner class for flipping buffers on a component. That component must be a Canvas
or Window
.
Canvas
, Window
, BufferStrategy
protected int numBuffers
The number of buffers
protected BufferCapabilities caps
The buffering capabilities
protected Image drawBuffer
The drawing buffer
protected VolatileImage drawVBuffer
The drawing buffer as a volatile image
protected boolean validatedContents
Whether or not the drawing buffer has been recently restored from a lost state.
protected FlipBufferStrategy(int numBuffers, BufferCapabilities caps) throws AWTException
Creates a new flipping buffer strategy for this component. The component must be a Canvas
or Window
.
numBuffers
- the number of bufferscaps
- the capabilities of the buffersAWTException
- if the capabilities supplied could not be supported or metClassCastException
- if the component is not a canvas or window.IllegalStateException
- if the component has no peerIllegalArgumentException
- if numBuffers
is less than two, or if BufferCapabilities.isPageFlipping
is not true
.Canvas
, Window
, createBuffers(int, BufferCapabilities)
protected void createBuffers(int numBuffers, BufferCapabilities caps) throws AWTException
Creates one or more complex, flipping buffers with the given capabilities.
numBuffers
- number of buffers to create; must be greater than onecaps
- the capabilities of the buffers. BufferCapabilities.isPageFlipping
must be true
.AWTException
- if the capabilities supplied could not be supported or metIllegalStateException
- if the component has no peerIllegalArgumentException
- if numBuffers is less than two, or if BufferCapabilities.isPageFlipping
is not true
.BufferCapabilities.isPageFlipping()
protected Image getBackBuffer()
IllegalStateException
- if the buffers have not yet been createdprotected void flip(BufferCapabilities.FlipContents flipAction)
Flipping moves the contents of the back buffer to the front buffer, either by copying or by moving the video pointer.
flipAction
- an integer value describing the flipping action for the contents of the back buffer. This should be one of the values of the BufferCapabilities.FlipContents
property.IllegalStateException
- if the buffers have not yet been createdBufferCapabilities.getFlipContents()
protected void destroyBuffers()
Destroys the buffers created through this object
public BufferCapabilities getCapabilities()
Description copied from class: BufferStrategy
Returns the BufferCapabilities
for this BufferStrategy
.
getCapabilities
in class BufferStrategy
public Graphics getDrawGraphics()
Description copied from class: BufferStrategy
Creates a graphics context for the drawing buffer. This method may not be synchronized for performance reasons; use of this method by multiple threads should be handled at the application level. Disposal of the graphics object obtained must be handled by the application.
getDrawGraphics
in class BufferStrategy
protected void revalidate()
Restore the drawing buffer if it has been lost
public boolean contentsLost()
Description copied from class: BufferStrategy
Returns whether the drawing buffer was lost since the last call to getDrawGraphics
. Since the buffers in a buffer strategy are usually type VolatileImage
, they may become lost. For a discussion on lost buffers, see VolatileImage
.
contentsLost
in class BufferStrategy
getDrawGraphics
VolatileImage
public boolean contentsRestored()
Description copied from class: BufferStrategy
Returns whether the drawing buffer was recently restored from a lost state and reinitialized to the default background color (white). Since the buffers in a buffer strategy are usually type VolatileImage
, they may become lost. If a surface has been recently restored from a lost state since the last call to getDrawGraphics
, it may require repainting. For a discussion on lost buffers, see VolatileImage
.
contentsRestored
in class BufferStrategy
VolatileImage
public void show()
Makes the next available buffer visible by either blitting or flipping.
show
in class BufferStrategy
public void dispose()
Releases system resources currently consumed by this BufferStrategy
and removes it from the associated Component. After invoking this method, getBufferStrategy
will return null. Trying to use a BufferStrategy
after it has been disposed will result in undefined behavior.
dispose
in class BufferStrategy
Window.createBufferStrategy(int)
, Canvas.createBufferStrategy(int)
, Window.getBufferStrategy()
, Canvas.getBufferStrategy()
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.