package speiger.src.coreengine.rendering.gui.layout.layouts;

import java.util.function.Consumer;

import speiger.src.coreengine.rendering.gui.components.base.GuiComponent;

public interface ILayout<T> extends Consumer<GuiComponent> {
	public default ILayout<T> add(GuiComponent comp) { return add(comp, null); }
	public ILayout<T> add(GuiComponent comp, T value);
	public ILayout<T> remove(GuiComponent comp);
	
	public void apply(GuiComponent owner);
	@Override
	default void accept(GuiComponent t) { apply(t); }
}
