public void Paint(IPaintbrush pb) { if (current != null) { pb.Color = Constants.GetColorFor(Value.One); pb.StrokeCircle(current.Value.X, current.Value.Y, Constants.WIRING_READY_RADIUS); } }
public void Paint(IPaintbrush pb) { if (loc0 != loc1) { pb.Color = Constants.GetColorFor(Value.One); pb.StrokeWidth = Constants.WIRE_WIDTH; foreach (WireSegment seg in GetSegments(loc0, loc1, isModified)) { pb.StrokeLine(seg.End0.X, seg.End0.Y, seg.End1.X, seg.End1.Y); } } }
public void PaintPorts() { using (IPaintbrush pb = this.Create()) { int i = -1; foreach (ConnectionPoint p in Instance.Component.Connections) { i++; this.SetColorFor(InstanceState.Get(i)); this.FillCircle(p.Dx, p.Dy, 8); } } }
public void Paint(IPaintbrush pb) { ComponentInstance cur = poking; if (cur != null) { Location loc = pokingLocation; pb.TranslateCoordinates(loc.X, loc.Y); Pokeable dest = cur.Component as Pokeable; dest.PaintPokeProgress(new ComponentPainter(pb, new DummyInstanceState(cur))); } }
public void Paint(IPaintbrush pb) { Location cur = current; IComponentPainter ip = new ComponentPainter(pb, new DummyInstanceState(masterInstance)); pb.TranslateCoordinates(cur.X, cur.Y); if (currentValid) { pb.Color = Constants.COLOR_GHOST; } else { pb.Color = Constants.COLOR_DEAD; } master.Paint(ip); }
public void Paint(IPaintbrush pb) { pb.TranslateCoordinates(Canvas.RawWidth / 2, Canvas.RawHeight / 2); pb.ScaleCoordinates(Zoom, Zoom); pb.TranslateCoordinates(-CenterX, -CenterY); using (IPaintbrush pbSub = pb.Create()) { PaintModel(pbSub); } IGesture gest = gesture; if (gest != null) { using (IPaintbrush pbSub = pb.Create()) { gest.Paint(pbSub); } } }
public void Paint(IPaintbrush pb) { ComponentInstance cur = moving; if (cur != null) { if (curValid) { pb.Color = Constants.COLOR_GHOST; } else { pb.Color = Constants.COLOR_DEAD; } Location loc = movingLocation; pb.TranslateCoordinates(loc.X + curDx, loc.Y + curDy); cur.Component.Paint(new ComponentPainter(pb, new DummyInstanceState(cur))); } }
protected override void PaintModel(IPaintbrush pb) { repainter.NotifyRepainted(); LayoutModel layoutModel = this.Layout; LayoutSimulation layoutSim = this.LayoutSim; if (layoutModel == null) { return; } if (layoutSim.LayoutModel != layoutModel) { Console.Error.WriteLine("layoutSim and layoutModel do not match"); return; } ComponentPainter ip = new ComponentPainter(pb, null); bool noHidden = hidden.Count == 0; Transaction xn = new Transaction(); ISimulationAccess sim = xn.RequestReadAccess(layoutSim.SimulationModel); ILayoutAccess layout = xn.RequestReadAccess(layoutModel); using (xn.Start()) { using (IPaintbrush pbSub = pb.Create()) { pbSub.StrokeWidth = Constants.WIRE_WIDTH; foreach (WireSegment wire in layout.Wires) { Value val0 = layoutSim.GetValueAt(layout, sim, wire.End0); pbSub.Color = Constants.GetColorFor(val0); pbSub.StrokeLine(wire.End0.X, wire.End0.Y, wire.End1.X, wire.End1.Y); } } InstanceState state = new InstanceState(sim, null); ip.InstanceState = state; foreach (Component component in layout.Components) { if (noHidden || !hidden.Contains(component)) { Location loc = component.GetLocation(layout); using (IPaintbrush pbSub = pb.Create()) { pbSub.TranslateCoordinates(loc.X, loc.Y); ip.Paintbrush = pbSub; state.Instance = layoutSim.GetInstance(layout, component); component.Paint(ip); } } } using (IPaintbrush pbSub = pb.Create()) { foreach (Location loc in WiringPoints.SolderPoints) { Value val = layoutSim.GetValueAt(layout, sim, loc); pbSub.Color = Constants.GetColorFor(val); if (noHidden || WiringPoints.IsSolderPoint(loc, hidden)) { pbSub.FillCircle(loc.X, loc.Y, Constants.SOLDER_RADIUS); } } } } }
public ComponentPainter(IPaintbrush master, IInstanceState state) : base(master) { this.InstanceState = state; }
public PaintbrushAdapter(IPaintbrush baseBrush) { this.BaseBrush = baseBrush; }
public void Paint(IPaintbrush pb) { // do nothing }
protected abstract void PaintModel(IPaintbrush pb);