public rMindBaseWire(rMindBaseController parent) { m_parent = parent; m_a_dot = new rMindBaseWireDot(this); m_b_dot = new rMindBaseWireDot(this); m_line = new Polyline() { Stroke = new SolidColorBrush(Windows.UI.Colors.WhiteSmoke), StrokeThickness = 6, IsHitTestVisible = false }; m_bezie_figure = new PathFigure(); m_bezie_geometry = new PathGeometry(); m_bezie_geometry.Figures.Add(m_bezie_figure); colors = ColorContainer.rMindColors.Current(); m_bezie = new Path() { Stroke = colors.GetSolidBrush(Windows.UI.Colors.GhostWhite), StrokeThickness = 2, IsHitTestVisible = false, Data = m_bezie_geometry }; m_bezie_segment = new BezierSegment(); m_bezie_figure.Segments.Add(m_bezie_segment); Canvas.SetZIndex(Line, 10); }
public void SetDragWireDot(rMindBaseWireDot item, PointerRoutedEventArgs e) { m_items_state.DragedWireDot = item; if (item == null) { return; } var node = item.ReverseDot.Node; if (node == null) { return; } item.Detach(); BakeNodes(node); item.Wire.SetEnabledHitTest(false); var p = e.GetCurrentPoint(m_canvas); item.SetPosition(new Vector2(p.Position.X, p.Position.Y)); m_items_state.StartPointerPosition = new Vector2(p.Position.X, p.Position.Y); m_items_state.StartPosition = item.Position; SetManipulation(false, e); }
protected bool TryAttachDot(rMindBaseWireDot dot, XElement options) { if (options == null) { return(false); } int itemIdx = 0; int nodeIdx = 0; if (int.TryParse(options.Attribute("item").Value, out itemIdx) && int.TryParse(options.Attribute("node").Value, out nodeIdx)) { if (itemIdx == -1 || nodeIdx == -1) { return(false); } var controller = GetController(); if (controller == null) { return(false); } var node = controller.GetNodeByIndexPair(itemIdx, nodeIdx); node.Attach(dot); return(true); } return(false); }
public void SetDragWireDot(rMindBaseWireDot item, PointerRoutedEventArgs e) { m_items_state.DragedWireDot = item; if (item == null) { return; } var node = item.ReverseDot.Node; if (node == null) { return; } item.Detach(); BakeNodes(node); var p = e.GetCurrentPoint(m_canvas); item.SetPosition(new Vector2(p.Position.X, p.Position.Y)); }
public bool CheckIsDraggedDot(rMindBaseWireDot dot) { return(m_items_state.DragedWireDot == dot); }