java.awt
Class Component.FlipBufferStrategy

java.lang.Object
  |
  +--java.awt.image.BufferStrategy
        |
        +--java.awt.Component.FlipBufferStrategy
Enclosing class:
Component
protected class Component.FlipBufferStrategy
extends BufferStrategy

Inner class for flipping buffers on a component. That component must be a Canvas or Window.

Since:
1.4
See Also:
Canvas, Window, BufferStrategy

 

Field Summary

protected  BufferCapabilities caps
    The buffering capabilities
protected  Image drawBuffer
    The drawing buffer
protected  VolatileImage drawVBuffer
    The drawing buffer as a volatile image
protected  int numBuffers
    The number of buffers
protected  boolean validatedContents
    Whether or not the drawing buffer has been recently restored from a lost state.
 

 

Constructor Summary

protected Component.FlipBufferStrategy(int numBuffers, BufferCapabilities caps)
    Creates a new flipping buffer strategy for this component.
 

 

Method Summary

 boolean contentsLost()
    Returns whether the drawing buffer was lost since the last call to getDrawGraphics.
 boolean contentsRestored()
    Returns whether the drawing buffer was recently restored from a lost state and reinitialized to the default background color (white).
protected  void createBuffers(int numBuffers, BufferCapabilities caps)
    Creates one or more complex, flipping buffers with the given capabilities.
protected  void destroyBuffers()
    Destroys the buffers created through this object
protected  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.
protected  Image getBackBuffer()
    
 BufferCapabilities getCapabilities()
    
 Graphics getDrawGraphics()
    
protected  void revalidate()
    Restore the drawing buffer if it has been lost
 void show()
    Makes the next available buffer visible by either blitting or flipping.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

 

Field Detail

 

numBuffers

protected int numBuffers
The number of buffers

 

caps

protected BufferCapabilities caps
The buffering capabilities

 

drawBuffer

protected Image drawBuffer
The drawing buffer

 

drawVBuffer

protected VolatileImage drawVBuffer
The drawing buffer as a volatile image

 

validatedContents

protected boolean validatedContents
Whether or not the drawing buffer has been recently restored from a lost state.

 

Constructor Detail

 

Component.FlipBufferStrategy

protected Component.FlipBufferStrategy(int numBuffers,
                                       BufferCapabilities caps)
                                throws AWTException
Creates a new flipping buffer strategy for this component. The component must be a Canvas or Window.

Parameters:
numBuffers - the number of buffers
caps - the capabilities of the buffers
Throws:
AWTException - if the capabilities supplied could not be supported or met
ClassCastException - if the component is not a canvas or window.
See Also:
Canvas, Window

 

Method Detail

 

createBuffers

protected void createBuffers(int numBuffers,
                             BufferCapabilities caps)
                      throws AWTException
Creates one or more complex, flipping buffers with the given capabilities.

Parameters:
numBuffers - number of buffers to create; must be greater than one
caps - the capabilities of the buffers. BufferCapabilities.isPageFlipping must be true.
Throws:
AWTException - if the capabilities supplied could not be supported or met
IllegalStateException - if the component has no peer
IllegalArgumentException - if numBuffers is less than two, or if BufferCapabilities.isPageFlipping is not true.
See Also:
java.awt.image.BufferCapabilities#isPageFlipping

 

getBackBuffer

protected Image getBackBuffer()
Throws:
IllegalStateException - if the buffers have not yet been created

 

flip

protected 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.

Parameters:
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.
Throws:
IllegalStateException - if the buffers have not yet been created
See Also:
java.awt.image.BufferCapabilities#FlipContents

 

destroyBuffers

protected void destroyBuffers()
Destroys the buffers created through this object

 

getCapabilities

public BufferCapabilities getCapabilities()
Specified by:
getCapabilities in class BufferStrategy
Returns:
the buffering capabilities of this strategy

 

getDrawGraphics

public Graphics getDrawGraphics()
Specified by:
getDrawGraphics in class BufferStrategy
Returns:
the graphics on 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 must be handled by the application.

 

revalidate

protected void revalidate()
Restore the drawing buffer if it has been lost

 

contentsLost

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.

Specified by:
contentsLost in class BufferStrategy
Returns:
whether the drawing buffer was lost since the last call to getDrawGraphics
See Also:
VolatileImage

 

contentsRestored

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.

Specified by:
contentsRestored in class BufferStrategy
Returns:
whether the drawing buffer was recently restored from a lost state and reinitialized to the default background color (white)
See Also:
VolatileImage

 

show

public void show()
Makes the next available buffer visible by either blitting or flipping.

Specified by:
show in class BufferStrategy