private void LayerChangeEvent(bool checkState, OECPLayer layer) { AllLayerControlInvisible(); if (layer.IsVisible) { _canvas.ChangeCurrentLayer(layer); if (layer.IsGrid) { _gridControl.Visible = true; } else if (layer.IsLine) { _lControl.Visible = true; if (_lineTool == null) { _lineTool = new LineTool(); } _canvas.SetCurrentDrawTool(_lineTool); } else { _vertexControl.Visible = true; if ((_vtxTool) == null) { _vtxTool = new VertexTool(); } _canvas.SetCurrentDrawTool(_vtxTool); } } }
public void RegisterLayerPtr(OECPLayer gird, OECPLayer ml, OECPLayer vl, OECPLayer vtx, OECPLayer aux) { _gridLayer = gird; _mLineLayer = ml; _vLineLayer = vl; _vtxLayer = vtx; _aLineLayer = aux; }
private void DrawLineElements(OECPElement ele, Pen p, OECPLayer layer, Graphics g) { var line = (OECPLine)ele; var st = I2C(line.StartVertex); var ed = I2C(line.EndVertex); p.Color = line.IsHighLight ? line.HighLightColor : layer.LayerColor; DrawTool.DrawShape(st.X, st.Y, ed.X, ed.Y, p, g); }
private void DrawVertexElement(OECPElement ele, Pen p, OECPLayer layer, Graphics g) { var vtx = (OECPVertex)ele; var t = I2C(vtx); if (t.IsHighLight) { p.Width = 5; p.Color = t.HighLightColor; } else { p.Color = t.ElementColor; p.Width = 1; } var b = new SolidBrush(p.Color); DrawTool.DrawShape(t.X, t.Y, p, b, g); }
private void InitLayers() { _gridControl = new OECPGridControlPanel(_canvas) { Dock = DockStyle.Fill }; _vertexControl = new OECPVertexControlPanel(_canvas) { Dock = DockStyle.Fill }; _lControl = new OECPLineControlPanel(_canvas) { Dock = DockStyle.Fill }; _controlList.AddRange(new List <UserControl>() { _gridControl, _vertexControl, _lControl }); _gridLayer = new OECPLayer(Color.Gray, OECPLayer.Type.Grid); _mLineLayer = new OECPLayer(Color.Red, OECPLayer.Type.Line, OECPLayer.LineFcType.M); _vLineLayer = new OECPLayer(Color.Blue, OECPLayer.Type.Line, OECPLayer.LineFcType.V); _aLineLayer = new OECPLayer(Color.Gray, OECPLayer.Type.Line, OECPLayer.LineFcType.Aux); _vertexLayer = new OECPLayer(Color.Black, OECPLayer.Type.Vertex); var trueCanvas = (OECPCanvas)_canvas; trueCanvas.Layers = new List <OECPLayer>() { _mLineLayer, _vLineLayer, _aLineLayer, _vertexLayer }; trueCanvas.RegisterLayerPtr(_gridLayer, _mLineLayer, _vLineLayer, _vertexLayer, _aLineLayer); }
public void RePaintLayerElements(OECPLayer layer, Graphics g) { if (!layer.IsVisible) { return; } Pen p = new Pen(Color.Black); if (layer.IsLine) { foreach (var ele in layer.LayerElements()) { DrawLineElements(ele, p, layer, g); } } else { foreach (var ele in layer.LayerElements()) { DrawVertexElement(ele, p, layer, g); } } }
private void LayerVisControl(bool visible, OECPLayer layer) { layer.IsVisible = visible; _canvas.SetLayerVisible(visible, layer); }
public void ChangeCurrentLayer(OECPLayer layer) { _curLayer = layer; }
public void SetLayerVisible(bool visible, OECPLayer layer) { layer.IsVisible = visible; Invalidate(); }