示例#1
0
        public ThreekArrayControl()
        {
            iAlphaMiddle      = 0.0f;
            iBlendStateMiddle = EBlendState.eUnknown;
            iTickerMiddle     = new Ticker();

            iTimer = new System.Threading.Timer(TimerElapsed);
            iTimer.Change(Timeout.Infinite, Timeout.Infinite);

            iHitRectLeft   = new Rectangle(26, 40, 50, 50);
            iHitRectMiddle = new Rectangle(79, 19, 93, 92);
            iHitRectRight  = new Rectangle(175, 40, 50, 50);

            iControlLeftEnabled   = true;
            iControlMiddleEnabled = true;
            iControlRightEnabled  = true;

            iPlaylistLeftEnabled   = true;
            iPlaylistMiddleEnabled = true;
            iPlaylistRightEnabled  = true;

            iMode = EMode.eControl;

            InitializeComponent();
        }
示例#2
0
        public RockerControl()
        {
            iMutex = new Mutex(false);

            iAlphaRing      = 0.0f;
            iBlendStateRing = EBlendState.eUnknown;
            iTickerRing     = new Ticker();

            iAlphaCentre      = 0.0f;
            iBlendStateCentre = EBlendState.eUnknown;
            iTickerCentre     = new Ticker();

            iTimer = new System.Threading.Timer(TimerElapsed);
            iTimer.Change(Timeout.Infinite, Timeout.Infinite);

            iTimerAutoRepeatDelay = new System.Threading.Timer(TimerAutoRepeatDelayElapsed);
            iTimer.Change(Timeout.Infinite, Timeout.Infinite);

            iTimerAutoRepeat = new System.Threading.Timer(TimerAutoRepeatElapsed);
            iTimer.Change(Timeout.Infinite, Timeout.Infinite);

            Text = String.Empty;

            InitializeComponent();
        }
示例#3
0
        public ButtonControl()
        {
            iAlpha      = 0.0f;
            iBlendState = EBlendState.eUnknown;
            iTicker     = new Ticker();
            iTimer      = new System.Threading.Timer(TimerElapsed);
            iTimer.Change(Timeout.Infinite, Timeout.Infinite);

            InitializeComponent();
        }
示例#4
0
 private void SetMouseOverState(bool aState)
 {
     iTicker.Reset();
     if (aState)
     {
         iMouseOver  = true;
         iBlendState = EBlendState.eIn;
         iTimer.Change(kUpdateRate, Timeout.Infinite);
     }
     else
     {
         iBlendState = EBlendState.eOut;
         iTimer.Change(kUpdateRate, Timeout.Infinite);
     }
 }
示例#5
0
        public ScrollBarControl()
        {
            iAlpha      = 0.0f;
            iBlendState = EBlendState.eUnknown;
            iTicker     = new Ticker();
            iTimer      = new System.Threading.Timer(TimerElapsed, null, Timeout.Infinite, Timeout.Infinite);

            iTimerAutoRepeat = new System.Threading.Timer(TimerAutoRepeatElapsed, null, Timeout.Infinite, Timeout.Infinite);

            InitializeComponent();

            iLargeChange = 10;
            iSmallChange = 1;
            iMaximum     = 100;
        }
示例#6
0
        private void TimerElapsed(object sender)
        {
            bool update = false;

            switch (iBlendStateMiddle)
            {
            case EBlendState.eIn:
                iAlphaMiddle += iTickerMiddle.MilliSeconds / kBlendTime;

                if (iAlphaMiddle < 1.0f)
                {
                    iTickerMiddle.Reset();
                    update = true;
                }
                else
                {
                    iAlphaMiddle      = 1.0f;
                    iBlendStateMiddle = EBlendState.eUnknown;
                }
                break;

            case EBlendState.eOut:
                iAlphaMiddle -= iTickerMiddle.MilliSeconds / kBlendTime;

                if (iAlphaMiddle > 0.0f)
                {
                    iTickerMiddle.Reset();
                    update = true;
                }
                else
                {
                    iMouseOverMiddle  = false;
                    iAlphaMiddle      = 0.0f;
                    iBlendStateMiddle = EBlendState.eUnknown;
                }
                break;

            default:
                break;
            }

            if (update)
            {
                iTimer.Change(kUpdateRate, Timeout.Infinite);
            }
            Invalidate();
        }
示例#7
0
        private void TimerElapsed(object sender)
        {
            switch (iBlendState)
            {
            case EBlendState.eIn:
                iAlpha += iTicker.MilliSeconds / kBlendTime;

                if (iAlpha < 1.0f)
                {
                    iTicker.Reset();
                    iTimer.Change(kUpdateRate, Timeout.Infinite);
                }
                else
                {
                    iAlpha      = 1.0f;
                    iBlendState = EBlendState.eUnknown;
                }
                break;

            case EBlendState.eOut:
                iAlpha -= iTicker.MilliSeconds / kBlendTime;

                if (iAlpha > 0.0f)
                {
                    iTicker.Reset();
                    iTimer.Change(kUpdateRate, Timeout.Infinite);
                }
                else
                {
                    iMouseOver  = false;
                    iAlpha      = 0.0f;
                    iBlendState = EBlendState.eUnknown;
                }
                break;

            default:
                break;
            }
            Invalidate();
        }
示例#8
0
        public RotaryControl()
        {
            iAlphaRing      = 0.0f;
            iBlendStateRing = EBlendState.eUnknown;
            iTickerRing     = new Ticker();

            iAlphaCentre      = 0.0f;
            iBlendStateCentre = EBlendState.eUnknown;
            iTickerCentre     = new Ticker();

            iTimer = new System.Threading.Timer(TimerElapsed);
            iTimer.Change(Timeout.Infinite, Timeout.Infinite);

            Text = String.Empty;

            iPenArc = new Pen(Color.FromArgb(128, Color.Red), 4);

            iAngle    = 0;
            iStepSize = 30;

            InitialiseRing();

            InitializeComponent();
        }