public void MoveRight(float x) { var old = m_area; m_area.Width = x - m_area.Left; AreaChanged.Execute(Changed.Create(old, m_area)); }
public void MoveBottom(float y) { var old = m_area; m_area.Height = y - m_area.Top; AreaChanged.Execute(Changed.Create(old, m_area)); }
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)); }
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)); }
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)); }
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)); }; }