aboutsummaryrefslogtreecommitdiffstats
path: root/src/graphui/classes/com/jogamp/graph/ui/Container.java
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2023-04-14 17:49:55 +0200
committerSven Gothel <[email protected]>2023-04-14 17:49:55 +0200
commit64c95ce8d90d3b488fa5909603321b377cae7f9f (patch)
tree08a9bc033f3763908b912dd0ac7f3c0cb3e61827 /src/graphui/classes/com/jogamp/graph/ui/Container.java
parenta31c3487bebdded597ff8a76b48399ae5691f843 (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.java14
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);