public override object CreateSymbol(QuantumCircuitElement element) { double step = element.Size > 1 ? (5 * (element.Size - 1) * Unit) : 2 * Unit; LineGeometry slash1 = new LineGeometry() { StartPoint = new Point(0, 0), EndPoint = new Point(Unit, Unit) }; LineGeometry backslash1 = new LineGeometry() { StartPoint = new Point(Unit, 0), EndPoint = new Point(0, Unit) }; LineGeometry slash2 = new LineGeometry() { StartPoint = new Point(0, step), EndPoint = new Point(Unit, step + Unit) }; LineGeometry backslash2 = new LineGeometry() { StartPoint = new Point(Unit, step), EndPoint = new Point(0, step + Unit) }; LineGeometry line = new LineGeometry() { StartPoint = new Point(Unit / 2, Unit / 2), EndPoint = new Point(Unit / 2, step + Unit / 2) }; Geometry group = CreateGeometryGroup(slash1, backslash1, line, slash2, backslash2); Path path = CreateGeometryPath(); path.Data = group; return(path); }
public override object CreateSymbol(QuantumCircuitElement size) { LineGeometry slash = new LineGeometry() { StartPoint = new Point(0, 0), EndPoint = new Point(4 * Unit, 4 * Unit) }; Geometry group = CreateGeometryGroup(slash); Path path = CreateGeometryPath(); path.Data = group; return(path); }
public override object CreateSymbol(QuantumCircuitElement element) { EllipseGeometry ellipse = new EllipseGeometry() { Center = new Point(Unit / 2, Unit / 2), RadiusX = Unit / 2, RadiusY = Unit / 2, }; Geometry geo = CreateGeometryGroup(ellipse); Path path = CreateGeometryPath(); path.Fill = Brushes.Black; path.Data = geo; return(path); }
public override object CreateSymbol(QuantumCircuitElement element) { EllipseGeometry ellipse = new EllipseGeometry() { Center = new Point(Unit, Unit), RadiusX = Unit, RadiusY = Unit }; LineGeometry vertical = new LineGeometry() { StartPoint = new Point(Unit, 0), EndPoint = new Point(Unit, Unit * 2) }; LineGeometry horizontal = new LineGeometry() { StartPoint = new Point(0, Unit), EndPoint = new Point(Unit * 2, Unit) }; Geometry group = CreateGeometryGroup(ellipse, vertical, horizontal); Path path = CreateGeometryPath(); path.Data = group; return(path); }
public override object CreateSymbol(QuantumCircuitElement size) { return("M(" + Signature + ")"); }
public void Apply(QuantumCircuitElement element, Brush background, Brush border) { element.Background = background ?? BackgroundColor; element.BorderBrush = border ?? BorderColor; element.Content = CreateSymbol(element); }
public void Apply(QuantumCircuitElement element) { Apply(element, null, null); }
public abstract object CreateSymbol(QuantumCircuitElement size);
public override object CreateSymbol(QuantumCircuitElement element) { return(Signature); }