/*
© 2017 Altavant Technologies Inc.
Web: http://www.altavant.com
*/

namespace Altavant.Fusion.UI.Blocks
{
	using Fusion.Graphics;
	using Fusion.UI.Layers;
	using Fusion.UI.Lite;

	public interface IWidget : IBlock
	{
		Color BackgroundColor { get; set; }
		AccelerationMode AccelerationMode { get; set; }
		ILayerCollection Layers { get; }
		IDirectLayer AddDirectLayer();
		IImageLayer AddImageLayer();
		IImageLayer AddImageLayer(Image image);
		IDirectLayer InsertDirectLayer(int index);
		IImageLayer InsertImageLayer(int index);
		IImageLayer InsertImageLayer(Image image, int index);
		void Remove(ILayer layer);
		void RemoveAllLayers();
		void BringToFront(ILayer layer);
		void SendToBack(ILayer layer);
		ILayer FindLayer(string id);
		IPlane AsPlane();
	}
}