using System; using System.ComponentModel; using System.Drawing; using Decal.Adapter.Support; using Decal.Interop.Controls; namespace Decal.Adapter.Wrappers; public class SliderWrapper : ControlWrapperBase { private EventHandler evtDestroy; private EventHandler evtChange; public int Maximum { get { return base.Control.Maximum; } set { base.Control.Maximum = value; } } public int Minimum { get { return base.Control.Minimum; } set { base.Control.Minimum = value; } } [Obsolete("Use Position")] [Browsable(false)] [EditorBrowsable(EditorBrowsableState.Never)] public int SliderPostition { get { return base.Control.SliderPosition; } set { base.Control.SliderPosition = value; } } public int Position { get { return base.Control.SliderPosition; } set { base.Control.SliderPosition = value; } } public Color TextColor { get { return Util.ColorFromBGR(base.Control.TextColor); } set { base.Control.TextColor = Util.ColorToBGR(value); } } public event EventHandler Destroy { add { if (evtDestroy == null) { base.Control.Destroy += DestroyEvent; } evtDestroy = (EventHandler)Delegate.Combine(evtDestroy, value); } remove { evtDestroy = (EventHandler)Delegate.Remove(evtDestroy, value); if (evtDestroy == null) { base.Control.Destroy -= DestroyEvent; } } } public event EventHandler Change { add { if (evtChange == null) { base.Control.Change += ChangeEvent; } evtChange = (EventHandler)Delegate.Combine(evtChange, value); } remove { evtChange = (EventHandler)Delegate.Remove(evtChange, value); if (evtChange == null) { base.Control.Change -= ChangeEvent; } } } protected override void Dispose(bool disposing) { if (disposing) { if (evtDestroy != null) { evtDestroy = (EventHandler)Delegate.Remove(evtDestroy, evtDestroy); base.Control.Destroy -= DestroyEvent; } if (evtChange != null) { evtChange = (EventHandler)Delegate.Remove(evtChange, evtChange); base.Control.Change -= ChangeEvent; } } base.Dispose(disposing); } private void DestroyEvent(int ID) { if (evtDestroy != null) { evtDestroy(this, new ControlEventArgs(ID)); } } private void ChangeEvent(int ID, int Index) { if (evtChange != null) { evtChange(this, new IndexChangeEventArgs(ID, Index)); } } }