Component.FlipBufferStrategy (Java 2 Platform SE 5.0) (original) (raw)


java.lang.Object extended by java.awt.image.BufferStrategy extended by 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](../../java/awt/Component.FlipBufferStrategy.html#Component.FlipBufferStrategy%28int, java.awt.BufferCapabilities%29)(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 togetDrawGraphics.
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](../../java/awt/Component.FlipBufferStrategy.html#createBuffers%28int, java.awt.BufferCapabilities%29)(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](../../java/lang/Object.html#wait%28long, int%29)
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](../../java/awt/AWTException.html "class in java.awt") - if the capabilities supplied could not be supported or met

[ClassCastException](../../java/lang/ClassCastException.html "class in java.lang") - 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 betrue.

Throws:

[AWTException](../../java/awt/AWTException.html "class in java.awt") - if the capabilities supplied could not be supported or met

[IllegalStateException](../../java/lang/IllegalStateException.html "class in java.lang") - if the component has no peer

[IllegalArgumentException](../../java/lang/IllegalArgumentException.html "class in java.lang") - if numBuffers is less than two, or if BufferCapabilities.isPageFlipping is nottrue.

See Also:

BufferCapabilities.isPageFlipping()


getBackBuffer

protected Image getBackBuffer()

Returns:

direct access to the back buffer, as an image.

Throws:

[IllegalStateException](../../java/lang/IllegalStateException.html "class in java.lang") - 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](../../java/lang/IllegalStateException.html "class in java.lang") - if the buffers have not yet been created

See Also:

BufferCapabilities.getFlipContents()


destroyBuffers

protected void destroyBuffers()

Destroys the buffers created through this object


getCapabilities

public BufferCapabilities getCapabilities()

Specified by:

[getCapabilities](../../java/awt/image/BufferStrategy.html#getCapabilities%28%29) in class [BufferStrategy](../../java/awt/image/BufferStrategy.html "class in java.awt.image")

Returns:

the buffering capabilities of this strategy


getDrawGraphics

public Graphics getDrawGraphics()

Specified by:

[getDrawGraphics](../../java/awt/image/BufferStrategy.html#getDrawGraphics%28%29) in class [BufferStrategy](../../java/awt/image/BufferStrategy.html "class in java.awt.image")

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](../../java/awt/image/BufferStrategy.html#contentsLost%28%29)

Returns whether the drawing buffer was lost since the last call togetDrawGraphics. 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](../../java/awt/image/BufferStrategy.html#contentsLost%28%29) in class [BufferStrategy](../../java/awt/image/BufferStrategy.html "class in java.awt.image")

Returns:

whether the drawing buffer was lost since the last call togetDrawGraphics

See Also:

VolatileImage


contentsRestored

public boolean contentsRestored()

Description copied from class: [BufferStrategy](../../java/awt/image/BufferStrategy.html#contentsRestored%28%29)

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 typeVolatileImage, they may become lost. If a surface has been recently restored from a lost state since the last call togetDrawGraphics, it may require repainting. For a discussion on lost buffers, see VolatileImage.

Specified by:

[contentsRestored](../../java/awt/image/BufferStrategy.html#contentsRestored%28%29) in class [BufferStrategy](../../java/awt/image/BufferStrategy.html "class in java.awt.image")

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](../../java/awt/image/BufferStrategy.html#show%28%29) in class [BufferStrategy](../../java/awt/image/BufferStrategy.html "class in java.awt.image")



Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright © 2004, 2010 Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.