/** * Sets the render pass that is not used for the layout at the given position. * * @param index The index. * @param pass The render pass. * @param front Whether this method addresses passes in front of the layouted passes. */ public void setNonLayouted(final int index, final Renderpass pass, final boolean front) { if (front) { nlFront.set(index, pass); } else { nlBack.set(index, pass); } animator.quickRefresh(); }
/** * Removes a render pass that is not used for the layout. * * @param index The index of the render pass. * @param front Whether this pass is found in front of the layouted passes. */ public void removeNonLayouted(final int index, final boolean front) { if (front) { nlFront.remove(index); } else { nlBack.remove(index); } animator.quickRefresh(); }
/** * Adds a render pass that is not used for the layout. * * @param pass The render pass. * @param front Whether this pass is added in front of the layouted passes. */ public void addNonLayouted(final Renderpass pass, final boolean front) { if (front) { nlFront.add(pass); } else { nlBack.add(pass); } animator.quickRefresh(); }
/** Immediately computes the current layout. */ public void forceLayout() { invalidate(); doLayout(members); redoLayout = false; animator.forceNextFrame(); }
/** Invalidates the current layout, recomputes the layout, and repaints. */ public void invalidate() { redoLayout = true; animator.quickRefresh(); }
/** Clears all render passes that are not used for the layout. */ public void clearNonLayouted() { nlFront.clear(); nlBack.clear(); animator.quickRefresh(); }
/** * Converts a render pass to a render pass position. * * @param pass The render pass. * @return The position. */ private RenderpassPosition<T> convert(final T pass) { if (this == pass) throw new IllegalArgumentException("cannot add itself"); beforeAdding(Objects.requireNonNull(pass)); return new RenderpassPosition<>(pass, animator.getAnimationList()); }
@Override public void setAnimationList(final AnimationList list) { if (animator.getAnimationList() != list) throw new IllegalArgumentException("attempt to set group to other animation list"); }