SidebarLibrary.WinControls.OutlookBar.OnMouseMove C# (CSharp) Method

OnMouseMove() protected method

protected OnMouseMove ( MouseEventArgs e ) : void
e MouseEventArgs
return void
		protected override void OnMouseMove(MouseEventArgs e)
		{
			base.OnMouseMove(e);

			Point MousePos = new Point(e.X, e.Y);

			// Change cursor if over a header
			int index;
			HitTestType ht = HitTest(MousePos, out index, false);

			if ( ht != HitTestType.Header && lastHighlightedHeader >=0 )HighlightHeader(-1);
			if ( ht != HitTestType.Item  && lastHighlightedItem  >= 0 ) HighlightItem(-1, false);

			if ( upArrowDrawState == DrawState.Hot && ht != HitTestType.UpScroll
				|| flatArrowButtons )
				if ( flatArrowButtons )
					if ( upArrowVisible && UpFlatArrowState != DrawState.Normal)
						DrawArrowButton(upArrowRect, ButtonState.Normal);
				else
					DrawArrowButton(upArrowRect, ButtonState.Normal);
			if ( downArrowDrawState == DrawState.Hot && ht == HitTestType.DownScroll
				|| flatArrowButtons )
				if ( flatArrowButtons )
					if ( downArrowVisible && DownFlatArrowState != DrawState.Normal )
						DrawArrowButton(downArrowRect, ButtonState.Normal);
				else
					DrawArrowButton(downArrowRect, ButtonState.Normal);

			if ( ht == HitTestType.Header )
			{
				Cursor.Current = Cursors.Hand;
				HighlightHeader(index);
				highlightTimer.Start();
			}
			else if (ht == HitTestType.Item )
			{
				HighlightItem(index, false);
				highlightTimer.Start();
			}
			else if ( ht == HitTestType.UpScroll )
			{
				if ( flatArrowButtons
					&& upArrowVisible )
				{
					if ( UpFlatArrowState != DrawState.Hot )
						DrawArrowButton(upArrowRect, ButtonState.Pushed);
				}
			}
			else if ( ht == HitTestType.DownScroll )
			{
				if ( flatArrowButtons
					&& downArrowVisible)
				{
					if ( DownFlatArrowState != DrawState.Hot )
						DrawArrowButton(downArrowRect, ButtonState.Pushed);
				}
			}
		}