org.j3d.geom.overlay
Class ImageButtonOverlay
- public class ImageButtonOverlay
- extends org.j3d.geom.overlay.MouseOverlay
- An overlay with a clickable image that acts like a button.
The overlay will take up to four images. These images are supplied in an array in the order:
- Inactive
- Active
- Clicked (mouse pressed)
- Mouseover (mouse over but no button press)
Any of these images can be left as null in the array and the result is that the image will not change for that particular action.
- Version:
- $Revision: 1.3 $
- Author:
- Will Holcomb, Justin Couch
NUM_BUFFERS
private static final int NUM_BUFFERS
- Total number of buffers we need for the images
INACTIVE_IMAGE
public static final int INACTIVE_IMAGE
- Index of the inactive image
ACTIVE_IMAGE
public static final int ACTIVE_IMAGE
- Index of the active image
CLICKED_IMAGE
public static final int CLICKED_IMAGE
- Index of the mouse clicked image
MOUSEOVER_IMAGE
public static final int MOUSEOVER_IMAGE
- Index of the mouse over image
hasImage
private boolean[] hasImage
- Set of flags indicating which images were provided
mouseOver
private boolean mouseOver
- Flag indicating the mouse is over the button currently
stuck
private boolean stuck
- Flag indicating the mouse has clicked the button to a permanently down state like a toggle button action.
clicked
private boolean clicked
- Flag indicating the button has been clicked
ImageButtonOverlay
public ImageButtonOverlay(javax.media.j3d.Canvas3D canvas,
java.awt.Dimension size,
java.awt.image.BufferedImage[] images)
- Create a new overlay that uses the given images placed in the space. Alpha is assumed to be on, but there is no blending.
- Parameters:
canvas
- The canvas to put the overlay on
size
- The size of the overlay in pixels
images
- The array of images to use (non-null)
ImageButtonOverlay
public ImageButtonOverlay(javax.media.j3d.Canvas3D canvas,
java.awt.Dimension size,
boolean clipAlpha,
boolean blendAlpha,
java.awt.image.BufferedImage[] images)
- Create a new button overlay where you get to control the alpha setting with the images.
- Parameters:
canvas
- The canvas to put the overlay on
size
- The size of the overlay in pixels
clipAlpha
- true if the image contains alpha
blendAlpha
- true if you want to blend the image with the background of the overlay (ie let the color show through)
images
- The array of images to use (non-null)
initialize
public void initialize()
- Initialise the overlay to build mouse input support
mousePressed
public void mousePressed(java.awt.event.MouseEvent evt)
- Process a mouse press event.
- Parameters:
evt
- The event that caused this method to be called
mouseReleased
public void mouseReleased(java.awt.event.MouseEvent evt)
- Process a mouse release event.
- Parameters:
evt
- The event that caused this method to be called
mouseClicked
public void mouseClicked(java.awt.event.MouseEvent evt)
- Process a mouse click event.
- Parameters:
evt
- The event that caused this method to be called
mouseEntered
public void mouseEntered(java.awt.event.MouseEvent evt)
- Process a mouse enter event.
- Parameters:
evt
- The event that caused this method to be called
mouseExited
public void mouseExited(java.awt.event.MouseEvent evt)
- Process a mouse exited event.
- Parameters:
evt
- The event that caused this method to be called
switchButtons
private synchronized void switchButtons()
- Called on a state change to update the buttons