Exemplo n.º 1
0
        public void MoveRight(float x)
        {
            var old = m_area;

            m_area.Width = x - m_area.Left;
            AreaChanged.Execute(Changed.Create(old, m_area));
        }
Exemplo n.º 2
0
        public void MoveBottom(float y)
        {
            var old = m_area;

            m_area.Height = y - m_area.Top;
            AreaChanged.Execute(Changed.Create(old, m_area));
        }
Exemplo n.º 3
0
        public void MoveLeft(float x)
        {
            var old = m_area;

            m_area.Width    = m_area.Right - x;
            m_area.Location = new PointF(x, m_area.Top);
            AreaChanged.Execute(Changed.Create(old, m_area));
        }
Exemplo n.º 4
0
        public void MoveTop(float y)
        {
            var old = m_area;

            m_area.Height   = m_area.Bottom - y;
            m_area.Location = new PointF(m_area.Left, y);
            AreaChanged.Execute(Changed.Create(old, m_area));
        }
Exemplo n.º 5
0
        public void MoveTo(PointF location)
        {
            var old = m_area;

            m_area.X = location.X - m_area.Width / 2.0f;
            m_area.Y = location.Y - m_area.Height / 2.0f;
            AreaChanged.Execute(Changed.Create(old, m_area));
        }
Exemplo n.º 6
0
        private void AddNodeMovedCallbacks(TNode node)
        {
            WeakReference <TNode>          nodeRef     = new WeakReference <TNode>(node);
            Action <Changed <RectangleF> > areaChanged = c => NodeAreaChanged(nodeRef, c);

            if (m_nodeMovedCallbacks.ContainsKey(node))
            {
                node.Renderer.AreaChanged -= m_nodeMovedCallbacks[node];
            }
            node.Renderer.AreaChanged += areaChanged;
            m_nodeMovedCallbacks[node] = areaChanged;
            node.RendererChanging     += () =>
            {
                node.Renderer.AreaChanged -= areaChanged;
                areaChanged(Changed.Create(node.Renderer.Area, Rectangle.Empty));
            };
            node.RendererChanged += () =>
            {
                node.Renderer.AreaChanged += areaChanged;
                areaChanged(Changed.Create(Rectangle.Empty, node.Renderer.Area));
            };
        }