diff options
Diffstat (limited to 'src/graphui')
-rw-r--r-- | src/graphui/classes/com/jogamp/graph/ui/Group.java | 13 | ||||
-rw-r--r-- | src/graphui/classes/com/jogamp/graph/ui/Shape.java | 2 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/graphui/classes/com/jogamp/graph/ui/Group.java b/src/graphui/classes/com/jogamp/graph/ui/Group.java index b131e8863..95a829b3e 100644 --- a/src/graphui/classes/com/jogamp/graph/ui/Group.java +++ b/src/graphui/classes/com/jogamp/graph/ui/Group.java @@ -238,6 +238,19 @@ public class Group extends Shape implements Container { } @Override + protected boolean isShapeDirty() { + // Deep dirty state update: + // - Ensure all group member's dirty state is updated + // - Allowing all group member's validate to function + for(final Shape s : shapes) { + if( s.isShapeDirty() ) { + markShapeDirty(); + } + } + return super.isShapeDirty(); + } + + @Override protected void validateImpl(final GLProfile glp, final GL2ES2 gl) { if( isShapeDirty() ) { // box has been reset diff --git a/src/graphui/classes/com/jogamp/graph/ui/Shape.java b/src/graphui/classes/com/jogamp/graph/ui/Shape.java index 9b45cd36d..843c73384 100644 --- a/src/graphui/classes/com/jogamp/graph/ui/Shape.java +++ b/src/graphui/classes/com/jogamp/graph/ui/Shape.java @@ -407,7 +407,7 @@ public abstract class Shape { } } - protected final boolean isShapeDirty() { + protected boolean isShapeDirty() { return 0 != ( dirty & DIRTY_SHAPE ) ; } protected final boolean isStateDirty() { |