|
JOGL v2.6.0-rc-20250712
JOGL, High-Performance Graphics Binding for Java (public API).
|
This interface must be implemented by the end user and is called in response to events like addition of rectangles into the RectanglePacker. More...
Public Member Functions | |
| Object | allocateBackingStore (int w, int h) |
| void | deleteBackingStore (Object backingStore) |
| boolean | canCompact () |
| Indication whether this BackingStoreManager supports compaction; in other words, the allocation of a new backing store and movement of the contents of the backing store from the old to the new one. More... | |
| boolean | preExpand (Rect cause, int attemptNumber) |
| Notification that expansion of the backing store is about to be done due to addition of the given rectangle. More... | |
| boolean | additionFailed (Rect cause, int attemptNumber) |
| Notification that addition of the given Rect failed because a maximum size was set in the RectanglePacker and the backing store could not be expanded, or because compaction (and, therefore, implicitly expansion) was not supported. More... | |
| void | beginMovement (Object oldBackingStore, Object newBackingStore) |
| Notification that movement is starting. More... | |
| void | move (Object oldBackingStore, Rect oldLocation, Object newBackingStore, Rect newLocation) |
| Tells the manager to move the contents of the given rect from the old location on the old backing store to the new location on the new backing store. More... | |
| void | endMovement (Object oldBackingStore, Object newBackingStore) |
| Notification that movement is ending. More... | |
This interface must be implemented by the end user and is called in response to events like addition of rectangles into the RectanglePacker.
It is used both when a full re-layout must be done as well as when the data in the backing store must be copied to a new one.
Definition at line 48 of file BackingStoreManager.java.
| boolean com.jogamp.opengl.util.packrect.BackingStoreManager.additionFailed | ( | Rect | cause, |
| int | attemptNumber | ||
| ) |
Notification that addition of the given Rect failed because a maximum size was set in the RectanglePacker and the backing store could not be expanded, or because compaction (and, therefore, implicitly expansion) was not supported.
Should return false if the manager can do nothing more to handle the failed addition, which will cause a RuntimeException to be thrown from the RectanglePacker.
| Object com.jogamp.opengl.util.packrect.BackingStoreManager.allocateBackingStore | ( | int | w, |
| int | h | ||
| ) |
| void com.jogamp.opengl.util.packrect.BackingStoreManager.beginMovement | ( | Object | oldBackingStore, |
| Object | newBackingStore | ||
| ) |
Notification that movement is starting.
| boolean com.jogamp.opengl.util.packrect.BackingStoreManager.canCompact | ( | ) |
Indication whether this BackingStoreManager supports compaction; in other words, the allocation of a new backing store and movement of the contents of the backing store from the old to the new one.
If it does not, then RectanglePacker.add() may throw an exception if additionFailed() can not make enough room available. If an implementation returns false, this also implies that the backing store can not grow, so that preExpand() will never be called.
| void com.jogamp.opengl.util.packrect.BackingStoreManager.deleteBackingStore | ( | Object | backingStore | ) |
| void com.jogamp.opengl.util.packrect.BackingStoreManager.endMovement | ( | Object | oldBackingStore, |
| Object | newBackingStore | ||
| ) |
Notification that movement is ending.
| void com.jogamp.opengl.util.packrect.BackingStoreManager.move | ( | Object | oldBackingStore, |
| Rect | oldLocation, | ||
| Object | newBackingStore, | ||
| Rect | newLocation | ||
| ) |
Tells the manager to move the contents of the given rect from the old location on the old backing store to the new location on the new backing store.
The backing stores can be identical in the case of compacting the existing backing store instead of reallocating it.
| boolean com.jogamp.opengl.util.packrect.BackingStoreManager.preExpand | ( | Rect | cause, |
| int | attemptNumber | ||
| ) |
Notification that expansion of the backing store is about to be done due to addition of the given rectangle.
Gives the manager a chance to do some compaction and potentially remove old entries from the backing store, if it acts like a least-recently-used cache. This method receives as argument the number of attempts so far to add the given rectangle. Manager should return true if the RectanglePacker should retry the addition (which may result in this method being called again, with an increased attempt number) or false if the RectanglePacker should just expand the backing store. The caller should not call RectanglePacker.add() in its preExpand() method.