public void Draw(CanvasDrawingSession drawingSession) { Matrix3x2 matrix = this.ViewModel.CanvasTransformer.GetMatrix(); //@DrawBound switch (this.SelectionViewModel.SelectionMode) { case ListViewSelectionMode.None: break; case ListViewSelectionMode.Single: ILayer layer2 = this.SelectionViewModel.SelectionLayerage.Self; if (layer2.Type == LayerType.Curve) { drawingSession.DrawLayerBound(layer2, matrix, this.ViewModel.AccentColor); drawingSession.DrawNodeCollection(layer2.Nodes, matrix, this.ViewModel.AccentColor); } break; case ListViewSelectionMode.Multiple: foreach (Layerage layerage in this.SelectionViewModel.SelectionLayerages) { ILayer layer = layerage.Self; if (layer.Type == LayerType.Curve) { drawingSession.DrawLayerBound(layer, matrix, this.ViewModel.AccentColor); drawingSession.DrawNodeCollection(layer.Nodes, matrix, this.ViewModel.AccentColor); } } break; } switch (this.NodeCollectionMode) { case NodeCollectionMode.Move: case NodeCollectionMode.MoveSingleNodePoint: { //Snapping if (this.IsSnap) { this.Snap.Draw(drawingSession, matrix); this.Snap.DrawNode2(drawingSession, matrix); } } break; case NodeCollectionMode.RectChoose: { CanvasGeometry canvasGeometry = this.TransformerRect.ToRectangle(this.ViewModel.CanvasDevice); CanvasGeometry canvasGeometryTransform = canvasGeometry.Transform(matrix); drawingSession.DrawGeometryDodgerBlue(canvasGeometryTransform); } break; } }
public void Draw(CanvasDrawingSession drawingSession) { Matrix3x2 matrix = this.ViewModel.CanvasTransformer.GetMatrix(); //@DrawBound switch (this.SelectionViewModel.SelectionMode) { case ListViewSelectionMode.None: break; case ListViewSelectionMode.Single: ILayer layer2 = this.SelectionViewModel.SelectionLayerage.Self; drawingSession.DrawLayerBound(layer2, matrix, this.ViewModel.AccentColor); ToolBase.TransformerTool.Draw(drawingSession); //TransformerTool break; case ListViewSelectionMode.Multiple: foreach (Layerage layerage in this.ViewModel.SelectionLayerages) { ILayer layer = layerage.Self; drawingSession.DrawLayerBound(layer, matrix, this.ViewModel.AccentColor); } ToolBase.TransformerTool.Draw(drawingSession); //TransformerTool break; } switch (this.CursorMode) { case CursorMode.None: case CursorMode.Transformer: ToolBase.TransformerTool.Draw(drawingSession); //TransformerTool break; case CursorMode.Move: ToolBase.MoveTool.Draw(drawingSession); //MoveTool break; case CursorMode.BoxChoose: CanvasGeometry geometry = this.BoxRect.ToRectangle(this.ViewModel.CanvasDevice, matrix); drawingSession.DrawGeometryDodgerBlue(geometry); break; } }