protected class TextureAtlas.AtlasBackingStore
extends java.lang.Object
implements com.jogamp.opengl.util.packrect.BackingStoreManager
RectanglePacker, and delegates calls from a JOGL rectangle packer to methods in this texture atlas.| Modifier | Constructor and Description |
|---|---|
protected |
AtlasBackingStore() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
additionFailed(com.jogamp.opengl.util.packrect.Rect cause,
int attemptNumber) |
java.lang.Object |
allocateBackingStore(int w,
int h) |
void |
beginMovement(java.lang.Object oldBackingStore,
java.lang.Object newBackingStore) |
boolean |
canCompact() |
void |
deleteBackingStore(java.lang.Object backingStore) |
void |
endMovement(java.lang.Object oldBackingStore,
java.lang.Object newBackingStore) |
void |
move(java.lang.Object oldBackingStore,
com.jogamp.opengl.util.packrect.Rect oldLocation,
java.lang.Object newBackingStore,
com.jogamp.opengl.util.packrect.Rect newLocation) |
boolean |
preExpand(com.jogamp.opengl.util.packrect.Rect cause,
int attemptNumber) |
public boolean additionFailed(com.jogamp.opengl.util.packrect.Rect cause,
int attemptNumber)
If this texture atlas is configured to evicts old elements, this attempts to remove the oldest one then exits, allowing the caller to attempt the addition again. This throws a WWRuntimeException if this texture atlas is not configured to evict old elements, or if there are no more elements to evict.
additionFailed in interface com.jogamp.opengl.util.packrect.BackingStoreManagerWWRuntimeException - if this backing store cannot fit the rectangle in its layout.public java.lang.Object allocateBackingStore(int w,
int h)
Calls TextureAtlas.createBackingImage(int, int) with the specified width and height.
allocateBackingStore in interface com.jogamp.opengl.util.packrect.BackingStoreManagerpublic void beginMovement(java.lang.Object oldBackingStore,
java.lang.Object newBackingStore)
Calls TextureAtlas.beginMoveEntries(java.awt.image.BufferedImage, java.awt.image.BufferedImage),
casting the specified backing stores to BufferedImages.
beginMovement in interface com.jogamp.opengl.util.packrect.BackingStoreManagerpublic boolean canCompact()
Returns true. The texture atlas can always attempt to expand or compact.
canCompact in interface com.jogamp.opengl.util.packrect.BackingStoreManagerpublic void deleteBackingStore(java.lang.Object backingStore)
deleteBackingStore in interface com.jogamp.opengl.util.packrect.BackingStoreManagerpublic void endMovement(java.lang.Object oldBackingStore,
java.lang.Object newBackingStore)
Calls TextureAtlas.endMoveEntries(java.awt.image.BufferedImage, java.awt.image.BufferedImage),
casting the specified backing stores to BufferedImages.
endMovement in interface com.jogamp.opengl.util.packrect.BackingStoreManagerpublic void move(java.lang.Object oldBackingStore,
com.jogamp.opengl.util.packrect.Rect oldLocation,
java.lang.Object newBackingStore,
com.jogamp.opengl.util.packrect.Rect newLocation)
Calls TextureAtlas.moveEntry(java.awt.image.BufferedImage, com.jogamp.opengl.util.packrect.Rect,
java.awt.image.BufferedImage, com.jogamp.opengl.util.packrect.Rect), casting the specified backing stores to
BufferedImages.
move in interface com.jogamp.opengl.util.packrect.BackingStoreManagerpublic boolean preExpand(com.jogamp.opengl.util.packrect.Rect cause,
int attemptNumber)
Returns false, indicating that the rectangle packer should just expand. When configured to do
so, texture atlas evicts old elements in additionFailed if this texture atlas is full and the
addition would otherwise fail.
preExpand in interface com.jogamp.opengl.util.packrect.BackingStoreManager