예제 #1
0
        public override void MouseUp(Point location)
        {
            if (m_Dragging)
            {
                m_Dragging = false;

                m_State           = SizerState.Normal;
                m_StateTransition = SizerState.Normal;

                m_VideoController.SetPictureBoxCursor(Cursors.Arrow);
                if (LimitByInclusion)
                {
                    AstrometryContext.Current.RectToInclude    = new Rectangle(m_UserFrame.X, m_UserFrame.Y, m_UserFrame.Width, m_UserFrame.Height);
                    AstrometryContext.Current.LimitByInclusion = true;
                }
                else
                {
                    AstrometryContext.Current.OSDRectToExclude = new Rectangle(m_UserFrame.X, m_UserFrame.Y, m_UserFrame.Width, m_UserFrame.Height);
                    AstrometryContext.Current.LimitByInclusion = false;
                }

                if (AreaChanged != null)
                {
                    AreaChanged();
                }

                TriggerRedraw();
            }
        }
예제 #2
0
        public override void MouseDown(Point location)
        {
            if (m_StateTransition != SizerState.Normal)
            {
                m_Dragging = true;
                m_State    = m_StateTransition;

                TriggerRedraw();
            }
        }
예제 #3
0
        public override void MouseLeave()
        {
            if (!m_Enabled)
            {
                return;
            }

            m_VideoController.SetPictureBoxCursor(Cursors.Arrow);
            m_State           = SizerState.Normal;
            m_StateTransition = SizerState.Normal;
        }
예제 #4
0
        public override void Activate()
        {
            m_VideoController.SetPictureBoxCursor(Cursors.Arrow);
            m_State           = SizerState.Normal;
            m_StateTransition = SizerState.Normal;

            if (m_UserFrame == Rectangle.Empty)
            {
                int left = TangraContext.Current.FrameWidth / 4;
                int top  = TangraContext.Current.FrameHeight / 4;
                m_UserFrame = new Rectangle(left, top, 2 * left, 2 * top);
            }
        }
예제 #5
0
        public override void MouseDown(Point location)
        {
            if (!m_Enabled)
            {
                return;
            }

            if (m_StateTransition != SizerState.Normal)
            {
                m_DraggingCorner = true;
                m_State          = m_StateTransition;
                m_MoveShift      = new Point(location.X - m_UserFrame.X, location.Y - m_UserFrame.Y);

                TriggerRedraw();
            }
        }
예제 #6
0
        public override void Activate()
        {
            m_VideoController.SetPictureBoxCursor(Cursors.Arrow);
            m_State           = SizerState.Normal;
            m_StateTransition = SizerState.Normal;
            LimitByInclusion  = false;

            if (m_UserFrame == Rectangle.Empty)
            {
                LimitByInclusion = TangraConfig.Settings.PlateSolve.SelectedScopeRecorderConfig.IsInclusionArea;
                if (LimitByInclusion)
                {
                    m_UserFrame = TangraConfig.Settings.PlateSolve.SelectedScopeRecorderConfig.InclusionArea;
                }
                else
                {
                    m_UserFrame = TangraConfig.Settings.PlateSolve.SelectedScopeRecorderConfig.OSDExclusionArea;
                }
            }
        }
예제 #7
0
        public override void MouseUp(Point location)
        {
            if (!m_Enabled)
            {
                return;
            }

            if (m_DraggingCorner)
            {
                m_DraggingCorner = false;

                m_State           = SizerState.Normal;
                m_StateTransition = SizerState.Normal;

                m_VideoController.SetPictureBoxCursor(Cursors.Arrow);

                if (AreaChanged != null)
                {
                    AreaChanged();
                }

                TriggerRedraw();
            }
        }
예제 #8
0
        public override void MouseMove(Point location)
        {
            if (!m_Enabled)
            {
                return;
            }

            int x1 = location.X - m_UserFrame.X;
            int y1 = location.Y - m_UserFrame.Y;

            if (m_State == SizerState.Normal)
            {
                if (x1 >= 0 && x1 < s_FrameWidth && y1 >= 0 && y1 < s_FrameWidth)
                {
                    if (m_StateTransition != SizerState.ResizingBottomRight)
                    {
                        m_VideoController.SetPictureBoxCursor(Cursors.SizeNWSE);
                        m_StateTransition = SizerState.ResizingBottomRight;
                    }
                }
                else if (x1 >= s_FrameWidth && x1 <= m_UserFrame.Width - s_FrameWidth && y1 >= 0 && y1 < s_FrameWidth)
                {
                    if (m_StateTransition != SizerState.ResizingDown)
                    {
                        m_VideoController.SetPictureBoxCursor(Cursors.SizeNS);
                        m_StateTransition = SizerState.ResizingDown;
                    }
                }
                else if (x1 >= 0 && x1 < s_FrameWidth && y1 >= m_UserFrame.Height - s_FrameWidth && y1 < m_UserFrame.Height)
                {
                    if (m_StateTransition != SizerState.ResizingBottomLeft)
                    {
                        m_VideoController.SetPictureBoxCursor(Cursors.SizeNESW);
                        m_StateTransition = SizerState.ResizingBottomLeft;
                    }
                }
                else if (x1 >= 0 && x1 < s_FrameWidth && y1 > 0 && y1 <= m_UserFrame.Height)
                {
                    if (m_StateTransition != SizerState.ResizingLeft)
                    {
                        m_VideoController.SetPictureBoxCursor(Cursors.SizeWE);
                        m_StateTransition = SizerState.ResizingLeft;
                    }
                }
                else if (
                    x1 > m_UserFrame.Width - s_FrameWidth && x1 <= m_UserFrame.Width &&
                    y1 > m_UserFrame.Height - s_FrameWidth && y1 < m_UserFrame.Height)
                {
                    if (m_StateTransition != SizerState.ResizingTopLeft)
                    {
                        m_VideoController.SetPictureBoxCursor(Cursors.SizeNWSE);
                        m_StateTransition = SizerState.ResizingTopLeft;
                    }
                }
                else if (
                    x1 >= s_FrameWidth && x1 <= m_UserFrame.Width - s_FrameWidth &&
                    y1 > m_UserFrame.Height - s_FrameWidth && y1 < m_UserFrame.Height)
                {
                    if (m_StateTransition != SizerState.ResizingUp)
                    {
                        m_VideoController.SetPictureBoxCursor(Cursors.SizeNS);
                        m_StateTransition = SizerState.ResizingUp;
                    }
                }
                else if (x1 >= 0 && x1 < s_FrameWidth && y1 > m_UserFrame.Height - s_FrameWidth && y1 < m_UserFrame.Height)
                {
                    if (m_StateTransition != SizerState.ResizingTopRight)
                    {
                        m_VideoController.SetPictureBoxCursor(Cursors.SizeNESW);
                        m_StateTransition = SizerState.ResizingTopRight;
                    }
                }
                else if (x1 >= m_UserFrame.Width - s_FrameWidth && x1 <= m_UserFrame.Width && y1 >= 0 && y1 < m_UserFrame.Height)
                {
                    if (m_StateTransition != SizerState.ResizingRight)
                    {
                        m_VideoController.SetPictureBoxCursor(Cursors.SizeWE);
                        m_StateTransition = SizerState.ResizingRight;
                    }
                }
                else if (x1 > s_FrameWidth && x1 < m_UserFrame.Width - s_FrameWidth && y1 > s_FrameWidth && y1 < m_UserFrame.Height - s_FrameWidth)
                {
                    if (m_StateTransition != SizerState.Moving)
                    {
                        m_VideoController.SetPictureBoxCursor(Cursors.SizeAll);
                        m_StateTransition = SizerState.Moving;
                    }
                }
                else
                {
                    if (m_StateTransition != SizerState.Normal)
                    {
                        m_VideoController.SetPictureBoxCursor(Cursors.Arrow);
                        m_StateTransition = SizerState.Normal;
                    }
                }

                if (x1 < 0 || x1 > m_UserFrame.Width || y1 < 0 || y1 > m_UserFrame.Height)
                {
                    return;
                }
            }

            int posX = location.X > TangraContext.Current.FrameWidth ? TangraContext.Current.FrameWidth : location.X;
            int posY = location.Y > TangraContext.Current.FrameHeight ? TangraContext.Current.FrameHeight : location.Y;

            if (posX < 0)
            {
                posX = 0;
            }
            if (posY < 0)
            {
                posY = 0;
            }

            if (m_DraggingCorner)
            {
                if (m_State == SizerState.ResizingDown)
                {
                    m_UserFrame.Height = m_UserFrame.Bottom - posY;
                    m_UserFrame.Y      = posY;
                }
                else if (m_State == SizerState.ResizingBottomRight)
                {
                    m_UserFrame.Height = m_UserFrame.Bottom - posY;
                    m_UserFrame.Width  = m_UserFrame.Right - posX;
                    m_UserFrame.X      = posX;
                    m_UserFrame.Y      = posY;
                }
                else if (m_State == SizerState.ResizingBottomLeft)
                {
                    m_UserFrame.Width  = m_UserFrame.Right - posX;
                    m_UserFrame.X      = posX;
                    m_UserFrame.Height = posY - m_UserFrame.Y;
                }
                else if (m_State == SizerState.ResizingUp)
                {
                    m_UserFrame.Height = posY - m_UserFrame.Top;
                }
                else if (m_State == SizerState.ResizingTopRight)
                {
                    m_UserFrame.Height = posY - m_UserFrame.Top;
                    m_UserFrame.Width  = m_UserFrame.Right - posX;
                    m_UserFrame.X      = posX;
                }
                else if (m_State == SizerState.ResizingTopLeft)
                {
                    m_UserFrame.Height = posY - m_UserFrame.Top;
                    m_UserFrame.Width  = posX - m_UserFrame.Left;
                }
                else if (m_State == SizerState.ResizingLeft)
                {
                    m_UserFrame.Width = m_UserFrame.Right - posX;
                    m_UserFrame.X     = posX;
                }
                else if (m_State == SizerState.ResizingRight)
                {
                    m_UserFrame.Width = posX - m_UserFrame.Left;
                }
                else if (m_State == SizerState.Moving)
                {
                    var xx = posX - m_MoveShift.X;
                    var yy = posY - m_MoveShift.Y;

                    m_UserFrame.X = Math.Min(TangraContext.Current.FrameWidth - m_UserFrame.Width - 1, Math.Max(0, xx));
                    m_UserFrame.Y = Math.Min(TangraContext.Current.FrameHeight - m_UserFrame.Height - 1, Math.Max(0, yy));

                    if (xx < 0 || xx > TangraContext.Current.FrameWidth - m_UserFrame.Width)
                    {
                        m_MoveShift.X = Math.Min(m_UserFrame.Width - 1, Math.Max(0, location.X - m_UserFrame.X));
                    }

                    if (yy < 0 || yy > TangraContext.Current.FrameHeight - m_UserFrame.Height)
                    {
                        m_MoveShift.Y = Math.Min(m_UserFrame.Height - 1, Math.Max(0, location.Y - m_UserFrame.Y));
                    }
                }

                TriggerRedraw();
            }
        }
예제 #9
0
        public override void Activate()
        {
            m_VideoController.SetPictureBoxCursor(Cursors.Arrow);
            m_State = SizerState.Normal;
            m_StateTransition = SizerState.Normal;
            LimitByInclusion = false;

            if (m_UserFrame == Rectangle.Empty)
            {
                LimitByInclusion = TangraConfig.Settings.PlateSolve.SelectedScopeRecorderConfig.IsInclusionArea;
                if (LimitByInclusion)
                    m_UserFrame = TangraConfig.Settings.PlateSolve.SelectedScopeRecorderConfig.InclusionArea;
                else
                    m_UserFrame = TangraConfig.Settings.PlateSolve.SelectedScopeRecorderConfig.OSDExclusionArea;
            }
        }
예제 #10
0
        public override void MouseUp(Point location)
        {
            if (m_Dragging)
            {
                m_Dragging = false;

                m_State = SizerState.Normal;
                m_StateTransition = SizerState.Normal;

                m_VideoController.SetPictureBoxCursor(Cursors.Arrow);
                if (LimitByInclusion)
                {
                    AstrometryContext.Current.RectToInclude = new Rectangle(m_UserFrame.X, m_UserFrame.Y, m_UserFrame.Width, m_UserFrame.Height);
                    AstrometryContext.Current.LimitByInclusion = true;
                }
                else
                {
                    AstrometryContext.Current.OSDRectToExclude = new Rectangle(m_UserFrame.X, m_UserFrame.Y, m_UserFrame.Width, m_UserFrame.Height);
                    AstrometryContext.Current.LimitByInclusion = false;
                }

                if (AreaChanged != null)
                    AreaChanged();

                TriggerRedraw();
            }
        }
예제 #11
0
        public override void MouseMove(Point location)
        {
            int x1 = location.X - m_UserFrame.X;
            int y1 = location.Y - m_UserFrame.Y;

            if (m_State == SizerState.Normal)
            {
                if (x1 >= 0 && x1 < s_FrameWidth && y1 >= 0 && y1 < s_FrameWidth)
                {
                    if (m_StateTransition != SizerState.ResizingBottomRight)
                    {
                        m_VideoController.SetPictureBoxCursor(Cursors.SizeNWSE);
                        m_StateTransition = SizerState.ResizingBottomRight;
                    }
                }
                else if (x1 >= s_FrameWidth && x1 <= m_UserFrame.Width - s_FrameWidth && y1 >= 0 && y1 < s_FrameWidth)
                {
                    if (m_StateTransition != SizerState.ResizingDown)
                    {
                        m_VideoController.SetPictureBoxCursor(Cursors.SizeNS);
                        m_StateTransition = SizerState.ResizingDown;
                    }
                }
                else if (x1 >= 0 && x1 < s_FrameWidth && y1 >= m_UserFrame.Height - s_FrameWidth && y1 < m_UserFrame.Height)
                {
                    if (m_StateTransition != SizerState.ResizingBottomLeft)
                    {
                        m_VideoController.SetPictureBoxCursor(Cursors.SizeNESW);
                        m_StateTransition = SizerState.ResizingBottomLeft;
                    }
                }
                else if (x1 >= 0 && x1 < s_FrameWidth && y1 > 0 && y1 <= m_UserFrame.Height)
                {
                    if (m_StateTransition != SizerState.ResizingLeft)
                    {
                        m_VideoController.SetPictureBoxCursor(Cursors.SizeWE);
                        m_StateTransition = SizerState.ResizingLeft;
                    }
                }
                else if (
                    x1 > m_UserFrame.Width - s_FrameWidth && x1 <= m_UserFrame.Width &&
                    y1 > m_UserFrame.Height - s_FrameWidth && y1 < m_UserFrame.Height)
                {
                    if (m_StateTransition != SizerState.ResizingTopLeft)
                    {
                        m_VideoController.SetPictureBoxCursor(Cursors.SizeNWSE);
                        m_StateTransition = SizerState.ResizingTopLeft;
                    }
                }
               else if (
                    x1 >= s_FrameWidth && x1 <= m_UserFrame.Width - s_FrameWidth &&
                    y1 > m_UserFrame.Height - s_FrameWidth && y1 < m_UserFrame.Height)
                {
                    if (m_StateTransition != SizerState.ResizingUp)
                    {
                        m_VideoController.SetPictureBoxCursor(Cursors.SizeNS);
                        m_StateTransition = SizerState.ResizingUp;
                    }
                }
                else if (x1 >= 0 && x1 < s_FrameWidth && y1 > m_UserFrame.Height - s_FrameWidth && y1 < m_UserFrame.Height)
                {
                    if (m_StateTransition != SizerState.ResizingTopRight)
                    {
                        m_VideoController.SetPictureBoxCursor(Cursors.SizeNESW);
                        m_StateTransition = SizerState.ResizingTopRight;
                    }
                }
                else if (x1 >= m_UserFrame.Width - s_FrameWidth && x1 <= m_UserFrame.Width && y1 >= 0 && y1 < m_UserFrame.Height)
                {
                    if (m_StateTransition != SizerState.ResizingRight)
                    {
                        m_VideoController.SetPictureBoxCursor(Cursors.SizeWE);
                        m_StateTransition = SizerState.ResizingRight;
                    }
                }
                else
                {
                    if (m_StateTransition != SizerState.Normal)
                    {
                        m_VideoController.SetPictureBoxCursor(Cursors.Arrow);
                        m_StateTransition = SizerState.Normal;
                    }
                }

                if (x1 < 0 || x1 > m_UserFrame.Width || y1 < 0 || y1 > m_UserFrame.Height)
                    return;
            }

            int posX = location.X > TangraContext.Current.FrameWidth ? TangraContext.Current.FrameWidth : location.X;
            int posY = location.Y > TangraContext.Current.FrameHeight ? TangraContext.Current.FrameHeight : location.Y;
            if (posX < 0) posX = 0;
            if (posY < 0) posY = 0;

            if (m_Dragging)
            {
                if (m_State == SizerState.ResizingDown)
                {
                    m_UserFrame.Height = m_UserFrame.Bottom - posY;
                    m_UserFrame.Y = posY;
                }
                else if (m_State == SizerState.ResizingBottomRight)
                {
                    m_UserFrame.Height = m_UserFrame.Bottom - posY;
                    m_UserFrame.Width = m_UserFrame.Right - posX;
                    m_UserFrame.X = posX;
                    m_UserFrame.Y = posY;
                }
                else if (m_State == SizerState.ResizingBottomLeft)
                {
                    m_UserFrame.Width = m_UserFrame.Right - posX;
                    m_UserFrame.X = posX;
                    m_UserFrame.Height = posY - m_UserFrame.Y;
                }
                else if (m_State == SizerState.ResizingUp)
                {
                    m_UserFrame.Height = posY - m_UserFrame.Top;
                }
                else if (m_State == SizerState.ResizingTopRight)
                {
                    m_UserFrame.Height = posY - m_UserFrame.Top;
                    m_UserFrame.Width = m_UserFrame.Right - posX;
                    m_UserFrame.X = posX;
                }
                else if (m_State == SizerState.ResizingTopLeft)
                {
                    m_UserFrame.Height = posY - m_UserFrame.Top;
                    m_UserFrame.Width = posX - m_UserFrame.Left;
                }
                else if (m_State == SizerState.ResizingLeft)
                {
                    m_UserFrame.Width = m_UserFrame.Right - posX;
                    m_UserFrame.X = posX;
                }
                else if (m_State == SizerState.ResizingRight)
                {
                    m_UserFrame.Width = posX - m_UserFrame.Left;
                }

                TriggerRedraw();
            }
        }
예제 #12
0
        public override void MouseDown(Point location)
        {
            if (m_StateTransition != SizerState.Normal)
            {
                m_Dragging = true;
                m_State = m_StateTransition;

                TriggerRedraw();
            }
        }
예제 #13
0
        public override void MouseUp(Point location)
        {
            if (!m_Enabled) return;

            if (m_DraggingCorner)
            {
                m_DraggingCorner = false;

                m_State = SizerState.Normal;
                m_StateTransition = SizerState.Normal;

                m_VideoController.SetPictureBoxCursor(Cursors.Arrow);

                if (AreaChanged != null)
                    AreaChanged();

                TriggerRedraw();
            }
        }
예제 #14
0
        public override void MouseDown(Point location)
        {
            if (!m_Enabled) return;

            if (m_StateTransition != SizerState.Normal)
            {
                m_DraggingCorner = true;
                m_State = m_StateTransition;

                TriggerRedraw();
            }
        }
예제 #15
0
        public override void Activate()
        {
            m_VideoController.SetPictureBoxCursor(Cursors.Arrow);
            m_State = SizerState.Normal;
            m_StateTransition = SizerState.Normal;

            if (m_UserFrame == Rectangle.Empty)
            {
                int left = TangraContext.Current.FrameWidth / 4;
                int top = TangraContext.Current.FrameHeight / 4;
                m_UserFrame = new Rectangle(left, top, 2 * left, 2 * top);
            }
        }
예제 #16
0
 public override void MouseLeave()
 {
     m_VideoController.SetPictureBoxCursor(Cursors.Arrow);
     m_State = SizerState.Normal;
     m_StateTransition = SizerState.Normal;
 }
예제 #17
0
        public override void MouseMove(Point location)
        {
            int x1 = location.X - m_UserFrame.X;
            int y1 = location.Y - m_UserFrame.Y;

            if (m_State == SizerState.Normal)
            {
                if (x1 >= 0 && x1 < s_FrameWidth && y1 >= 0 && y1 < s_FrameWidth)
                {
                    if (m_StateTransition != SizerState.ResizingBottomRight)
                    {
                        m_VideoController.SetPictureBoxCursor(Cursors.SizeNWSE);
                        m_StateTransition = SizerState.ResizingBottomRight;
                    }
                }
                else if (x1 >= s_FrameWidth && x1 <= m_UserFrame.Width - s_FrameWidth && y1 >= 0 && y1 < s_FrameWidth)
                {
                    if (m_StateTransition != SizerState.ResizingDown)
                    {
                        m_VideoController.SetPictureBoxCursor(Cursors.SizeNS);
                        m_StateTransition = SizerState.ResizingDown;
                    }
                }
                else if (x1 >= 0 && x1 < s_FrameWidth && y1 >= m_UserFrame.Height - s_FrameWidth && y1 < m_UserFrame.Height)
                {
                    if (m_StateTransition != SizerState.ResizingBottomLeft)
                    {
                        m_VideoController.SetPictureBoxCursor(Cursors.SizeNESW);
                        m_StateTransition = SizerState.ResizingBottomLeft;
                    }
                }
                else if (x1 >= 0 && x1 < s_FrameWidth && y1 > 0 && y1 <= m_UserFrame.Height)
                {
                    if (m_StateTransition != SizerState.ResizingLeft)
                    {
                        m_VideoController.SetPictureBoxCursor(Cursors.SizeWE);
                        m_StateTransition = SizerState.ResizingLeft;
                    }
                }
                else if (
                    x1 > m_UserFrame.Width - s_FrameWidth && x1 <= m_UserFrame.Width &&
                    y1 > m_UserFrame.Height - s_FrameWidth && y1 < m_UserFrame.Height)
                {
                    if (m_StateTransition != SizerState.ResizingTopLeft)
                    {
                        m_VideoController.SetPictureBoxCursor(Cursors.SizeNWSE);
                        m_StateTransition = SizerState.ResizingTopLeft;
                    }
                }
                else if (
                    x1 >= s_FrameWidth && x1 <= m_UserFrame.Width - s_FrameWidth &&
                    y1 > m_UserFrame.Height - s_FrameWidth && y1 < m_UserFrame.Height)
                {
                    if (m_StateTransition != SizerState.ResizingUp)
                    {
                        m_VideoController.SetPictureBoxCursor(Cursors.SizeNS);
                        m_StateTransition = SizerState.ResizingUp;
                    }
                }
                else if (x1 >= 0 && x1 < s_FrameWidth && y1 > m_UserFrame.Height - s_FrameWidth && y1 < m_UserFrame.Height)
                {
                    if (m_StateTransition != SizerState.ResizingTopRight)
                    {
                        m_VideoController.SetPictureBoxCursor(Cursors.SizeNESW);
                        m_StateTransition = SizerState.ResizingTopRight;
                    }
                }
                else if (x1 >= m_UserFrame.Width - s_FrameWidth && x1 <= m_UserFrame.Width && y1 >= 0 && y1 < m_UserFrame.Height)
                {
                    if (m_StateTransition != SizerState.ResizingRight)
                    {
                        m_VideoController.SetPictureBoxCursor(Cursors.SizeWE);
                        m_StateTransition = SizerState.ResizingRight;
                    }
                }
                else
                {
                    if (m_StateTransition != SizerState.Normal)
                    {
                        m_VideoController.SetPictureBoxCursor(Cursors.Arrow);
                        m_StateTransition = SizerState.Normal;
                    }
                }

                if (x1 < 0 || x1 > m_UserFrame.Width || y1 < 0 || y1 > m_UserFrame.Height)
                {
                    return;
                }
            }

            int posX = location.X > TangraContext.Current.FrameWidth ? TangraContext.Current.FrameWidth : location.X;
            int posY = location.Y > TangraContext.Current.FrameHeight ? TangraContext.Current.FrameHeight : location.Y;

            if (posX < 0)
            {
                posX = 0;
            }
            if (posY < 0)
            {
                posY = 0;
            }

            if (m_Dragging)
            {
                if (m_State == SizerState.ResizingDown)
                {
                    m_UserFrame.Height = m_UserFrame.Bottom - posY;
                    m_UserFrame.Y      = posY;
                }
                else if (m_State == SizerState.ResizingBottomRight)
                {
                    m_UserFrame.Height = m_UserFrame.Bottom - posY;
                    m_UserFrame.Width  = m_UserFrame.Right - posX;
                    m_UserFrame.X      = posX;
                    m_UserFrame.Y      = posY;
                }
                else if (m_State == SizerState.ResizingBottomLeft)
                {
                    m_UserFrame.Width  = m_UserFrame.Right - posX;
                    m_UserFrame.X      = posX;
                    m_UserFrame.Height = posY - m_UserFrame.Y;
                }
                else if (m_State == SizerState.ResizingUp)
                {
                    m_UserFrame.Height = posY - m_UserFrame.Top;
                }
                else if (m_State == SizerState.ResizingTopRight)
                {
                    m_UserFrame.Height = posY - m_UserFrame.Top;
                    m_UserFrame.Width  = m_UserFrame.Right - posX;
                    m_UserFrame.X      = posX;
                }
                else if (m_State == SizerState.ResizingTopLeft)
                {
                    m_UserFrame.Height = posY - m_UserFrame.Top;
                    m_UserFrame.Width  = posX - m_UserFrame.Left;
                }
                else if (m_State == SizerState.ResizingLeft)
                {
                    m_UserFrame.Width = m_UserFrame.Right - posX;
                    m_UserFrame.X     = posX;
                }
                else if (m_State == SizerState.ResizingRight)
                {
                    m_UserFrame.Width = posX - m_UserFrame.Left;
                }

                TriggerRedraw();
            }
        }