Exemple #1
0
        private void MouseMove_Normal(Point gridLocation)
        {
            // Are we in a 'resize zone' at the front or back of an element?
            IMark mark = MarkAt(gridLocation);

            if (mark == null)
            {
                _markResizeZone = ResizeZone.None;
            }
            else
            {
                // smaller of constant, or half of element width
                int   grabThreshold = Math.Min(12, (int)(timeToPixels(mark.Duration) / 2));
                float elemStart     = timeToPixels(mark.StartTime);
                float elemEnd       = timeToPixels(mark.EndTime);
                int   x             = gridLocation.X;

                if ((x >= elemStart) && (x < (elemStart + grabThreshold)))
                {
                    _markResizeZone = ResizeZone.Front;
                }
                else if ((x <= elemEnd) && (x > (elemEnd - grabThreshold)))
                {
                    _markResizeZone = ResizeZone.Back;
                }
                else
                {
                    _markResizeZone = ResizeZone.None;
                }
            }

            Cursor = _markResizeZone == ResizeZone.None ? Cursors.Default : Cursors.SizeWE;
        }
        //private void MouseMove_DragNormal(MouseEventArgs e)
        private void MouseMove_Normal(Point gridLocation)
        {
            //Point gridLocation = translateLocation(e.Location);

            // Are we in a 'resize zone' at the front or back of an element?
            Element element = elementAt(gridLocation);

            if (element == null)
            {
                m_mouseResizeZone = ResizeZone.None;
            }
            else
            {
                // smaller of constant, or half of element width
                int   grabThreshold = Math.Min(ElementResizeThreshold, (int)(timeToPixels(element.Duration) / 2));
                float elemStart     = timeToPixels(element.StartTime);
                float elemEnd       = timeToPixels(element.EndTime);
                int   x             = gridLocation.X;

                if ((x >= elemStart) && (x < (elemStart + grabThreshold)))
                {
                    m_mouseResizeZone = ResizeZone.Front;
                }
                else if ((x <= elemEnd) && (x > (elemEnd - grabThreshold)))
                {
                    m_mouseResizeZone = ResizeZone.Back;
                }
                else
                {
                    m_mouseResizeZone = ResizeZone.None;
                }
            }

            Cursor = (m_mouseResizeZone == ResizeZone.None) ? Cursors.Default : Cursors.SizeWE;
        }
        //private void MouseMove_DragNormal(MouseEventArgs e)
        private void MouseMove_Normal(Point gridLocation)
        {
            //Point gridLocation = translateLocation(e.Location);

            // Are we in a 'resize zone' at the front or back of an element?
            Element element = elementAt(gridLocation);
            if (element == null)
            {
                m_mouseResizeZone = ResizeZone.None;
            }
            else
            {
                // smaller of constant, or half of element width
                int grabThreshold = Math.Min(ElementResizeThreshold, (int)(timeToPixels(element.Duration) / 2));
                float elemStart = timeToPixels(element.StartTime);
                float elemEnd = timeToPixels(element.EndTime);
                int x = gridLocation.X;

                if ((x >= elemStart) && (x < (elemStart + grabThreshold)))
                    m_mouseResizeZone = ResizeZone.Front;
                else if ((x <= elemEnd) && (x > (elemEnd - grabThreshold)))
                    m_mouseResizeZone = ResizeZone.Back;
                else
                    m_mouseResizeZone = ResizeZone.None;
            }

            Cursor = (m_mouseResizeZone == ResizeZone.None) ? Cursors.Default : Cursors.SizeWE;
        }
 public SelectedMarkMoveEventArgs(bool active, Mark mark, ResizeZone resizeZone)
 {
     Active     = active;
     Mark       = mark;
     ResizeZone = resizeZone;
 }