java.awt
Class Component.FlipBufferStrategy

java.lang.Object
  extended by java.awt.image.BufferStrategy
      extended by java.awt.Component.FlipBufferStrategy
Enclosing class:
Component

protected class Component.FlipBufferStrategy
extends BufferStrategy

This class provides support for flipping component buffers. It can only be used on Canvases and Windows.

Since:
1.4

Field Summary
protected  BufferCapabilities caps
          The capabilities of this buffering strategy.
protected  Image drawBuffer
          An Image reference to the drawing buffer.
protected  VolatileImage drawVBuffer
          A VolatileImage reference to the drawing buffer.
protected  int numBuffers
          The number of buffers.
protected  boolean validatedContents
          Whether or not the image buffer resources are allocated and ready to be drawn into.
 
Constructor Summary
protected Component.FlipBufferStrategy(int numBuffers, BufferCapabilities caps)
          Creates a flipping buffer strategy.
 
Method Summary
 boolean contentsLost()
          Returns whether or not the image buffer resources have been lost.
 boolean contentsRestored()
          Returns whether or not the image buffer resources have been restored.
protected  void createBuffers(int numBuffers, BufferCapabilities caps)
          Creates a multi-buffer flipping strategy.
protected  void destroyBuffers()
          Release the back buffer's resources.
protected  void flip(BufferCapabilities.FlipContents flipAction)
          Perform a flip operation to transfer the contents of the back buffer to the front buffer.
protected  Image getBackBuffer()
          Return a direct reference to the back buffer image.
 BufferCapabilities getCapabilities()
          Retrieves the capabilities of this buffer strategy.
 Graphics getDrawGraphics()
          Retrieves a graphics object that can be used to draw into this strategy's image buffer.
protected  void revalidate()
          Re-create the image buffer resources if they've been lost.
 void show()
          Bring the contents of the back buffer to the front buffer.
 
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 capabilities of this buffering strategy.


drawBuffer

protected Image drawBuffer
An Image reference to the drawing buffer.


drawVBuffer

protected VolatileImage drawVBuffer
A VolatileImage reference to the drawing buffer.


validatedContents

protected boolean validatedContents
Whether or not the image buffer resources are allocated and ready to be drawn into.

Constructor Detail

Component.FlipBufferStrategy

protected Component.FlipBufferStrategy(int numBuffers,
                                       BufferCapabilities caps)
                                throws AWTException
Creates a flipping buffer strategy. The only supported strategy for FlipBufferStrategy itself is a double-buffer page flipping strategy. It forms the basis for more complex derived strategies.

Parameters:
numBuffers - the number of buffers
caps - the capabilities of this buffering strategy
Throws:
AWTException - if the requested number-of-buffers/capabilities combination is not supported
Method Detail

createBuffers

protected void createBuffers(int numBuffers,
                             BufferCapabilities caps)
                      throws AWTException
Creates a multi-buffer flipping strategy. The number of buffers must be greater than one and the buffer capabilities must specify page flipping.

Parameters:
numBuffers - the number of flipping buffers; must be greater than one
caps - the buffering capabilities; caps.isPageFlipping() must return true
Throws:
IllegalArgumentException - if numBuffers is not greater than one or if the page flipping capability is not requested
AWTException - if the requested flipping strategy is not supported

getBackBuffer

protected Image getBackBuffer()
Return a direct reference to the back buffer image.

Returns:
a direct reference to the back buffer image.

flip

protected void flip(BufferCapabilities.FlipContents flipAction)
Perform a flip operation to transfer the contents of the back buffer to the front buffer.


destroyBuffers

protected void destroyBuffers()
Release the back buffer's resources.


getCapabilities

public BufferCapabilities getCapabilities()
Retrieves the capabilities of this buffer strategy.

Specified by:
getCapabilities in class BufferStrategy
Returns:
the capabilities of this buffer strategy

getDrawGraphics

public Graphics getDrawGraphics()
Retrieves a graphics object that can be used to draw into this strategy's image buffer.

Specified by:
getDrawGraphics in class BufferStrategy
Returns:
a graphics object

revalidate

protected void revalidate()
Re-create the image buffer resources if they've been lost.


contentsLost

public boolean contentsLost()
Returns whether or not the image buffer resources have been lost.

Specified by:
contentsLost in class BufferStrategy
Returns:
true if the resources have been lost, false otherwise

contentsRestored

public boolean contentsRestored()
Returns whether or not the image buffer resources have been restored.

Specified by:
contentsRestored in class BufferStrategy
Returns:
true if the resources have been restored, false otherwise

show

public void show()
Bring the contents of the back buffer to the front buffer.

Specified by:
show in class BufferStrategy