diff options
author | Sven Gothel <[email protected]> | 2023-04-14 17:49:55 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2023-04-14 17:49:55 +0200 |
commit | 64c95ce8d90d3b488fa5909603321b377cae7f9f (patch) | |
tree | 08a9bc033f3763908b912dd0ac7f3c0cb3e61827 /src/graphui/classes/com/jogamp/graph/ui/Container.java | |
parent | a31c3487bebdded597ff8a76b48399ae5691f843 (diff) |
GraphUI Container.removeShape(..): Return removed Shape, add removeShape(index) variant; Group.(add|remove)Shape(..) markShapeDirty() to recompute bbox and layout.
Diffstat (limited to 'src/graphui/classes/com/jogamp/graph/ui/Container.java')
-rw-r--r-- | src/graphui/classes/com/jogamp/graph/ui/Container.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/graphui/classes/com/jogamp/graph/ui/Container.java b/src/graphui/classes/com/jogamp/graph/ui/Container.java index 3cc8e2ce4..845d41c0c 100644 --- a/src/graphui/classes/com/jogamp/graph/ui/Container.java +++ b/src/graphui/classes/com/jogamp/graph/ui/Container.java @@ -48,8 +48,18 @@ public interface Container { void addShape(Shape s); - /** Removes given shape, , w/o {@link Shape#destroy(com.jogamp.opengl.GL2ES2, com.jogamp.graph.curve.opengl.RegionRenderer) destroying} them. */ - void removeShape(Shape s); + /** + * Removes given shape, w/o {@link Shape#destroy(com.jogamp.opengl.GL2ES2, com.jogamp.graph.curve.opengl.RegionRenderer) destroying} them. + * @return the removed shape or null if not contained + */ + Shape removeShape(Shape s); + + /** + * Removes shape at given index, w/o {@link Shape#destroy(com.jogamp.opengl.GL2ES2, com.jogamp.graph.curve.opengl.RegionRenderer) destroying} them. + * @return the removed shape + * @throws IndexOutOfBoundsException if index is out of bounds, i.e. (index < 0 || index >= size()) + */ + Shape removeShape(final int idx); void addShapes(Collection<? extends Shape> shapes); |