package Roguelike.UI; import com.badlogic.gdx.graphics.g2d.Batch; import com.badlogic.gdx.scenes.scene2d.utils.Drawable; import com.badlogic.gdx.utils.Array; /** * Created by Philip on 02-Jan-16. */ public class LayeredDrawable implements Drawable { public Array<Drawable> layers = new Array<Drawable>( ); public LayeredDrawable( Drawable... drawables ) { layers.addAll( drawables ); } @Override public void draw( Batch batch, float x, float y, float width, float height ) { for ( Drawable drawable : layers ) { drawable.draw( batch, x, y, width, height ); } } @Override public float getLeftWidth() { return layers.get( 0 ).getLeftWidth(); } @Override public void setLeftWidth( float leftWidth ) { for ( Drawable drawable : layers ) { drawable.setLeftWidth( leftWidth ); } } @Override public float getRightWidth() { return layers.get( 0 ).getRightWidth(); } @Override public void setRightWidth( float rightWidth ) { for ( Drawable drawable : layers ) { drawable.setRightWidth( rightWidth ); } } @Override public float getTopHeight() { return layers.get( 0 ).getTopHeight(); } @Override public void setTopHeight( float topHeight ) { for ( Drawable drawable : layers ) { drawable.setTopHeight( topHeight ); } } @Override public float getBottomHeight() { return layers.get( 0 ).getBottomHeight(); } @Override public void setBottomHeight( float bottomHeight ) { for ( Drawable drawable : layers ) { drawable.setBottomHeight( bottomHeight ); } } @Override public float getMinWidth() { return layers.get( 0 ).getMinWidth(); } @Override public void setMinWidth( float minWidth ) { for ( Drawable drawable : layers ) { drawable.setMinWidth( minWidth ); } } @Override public float getMinHeight() { return layers.get( 0 ).getMinHeight(); } @Override public void setMinHeight( float minHeight ) { for ( Drawable drawable : layers ) { drawable.setMinHeight( minHeight ); } } }