/// <summary> /// Ritar ut filtret, kopplingar till närliggande komponenter och filtrets namn /// </summary> public override void drawCompenent() { //ritar ut filtrer Pen pen = new Pen(Color.Red); canvas.DrawRectangle(pen, this.x, this.y, 30, 20); //ritar ut linjerna i filtret canvas.DrawLine(pen, (float)x + 5, (float)y, (float)x + 5, (float)y + 15); canvas.DrawLine(pen, (float)x + 25, (float)y, (float)x + 25, (float)y + 15); canvas.DrawLine(pen, (float)x + 15, (float)y + 5, (float)x + 15, (float)y + 20); //ritar upp kopplingarna till noderna pen = new Pen(Color.Blue); Point p1 = new Point(this.x, this.y + 10); Point p2 = new Point(output.getX(), output.getY() + 5); Point p3 = new Point(input.getX(), input.getY() + 5); canvas.DrawLine(pen, p1, p2); canvas.DrawLine(pen, p1, p3); //skriver ut namnet Brush brush = new SolidBrush(Color.Black); Font font = new Font("Courier", 8); canvas.DrawString(name, font, brush, (float)x, (float)y - 20); }
/// <summary> /// Ritar ut pumpen, kopplingar till närliggande komponenter och pumpens namn /// </summary> public override void drawCompenent() { Pen circle = new Pen(Color.Red); Brush brush = new SolidBrush(Color.Black); Font font = new Font("Courier", 8); //ritar ut cirkeln canvas.DrawEllipse(circle, (float)x, (float)y, 40, 40); //skriver ut namnet på pumpen canvas.DrawString(name, font, brush, (float)x, (float)y - 20); //ritar ut kopplingar till nästliggande noder Pen pen2 = new Pen(Color.Blue); //ventilensposition Point p1 = new Point(this.x + 20, this.y + 20); //input-nodens position Point p2 = new Point(input.getX(), input.getY() + 5); canvas.DrawLine(pen2, p1, p2); //output-nodens position p2 = new Point(output.getX(), output.getY() + 5); canvas.DrawLine(pen2, p1, p2); }
/// <summary> /// Ritar ut ventilen och kopplingar till närliggande komponenter och ventilens namn /// </summary> public override void drawCompenent() { Pen pen = new Pen(Color.Red); //ventilens punkter som ska ritas ut Point[] point1 = { new Point(x, y), new Point(x - 18, y + 12), new Point(x - 18, y - 12) }; Point[] point2 = { new Point(x, y), new Point(x + 18, y + 12), new Point(x + 18, y - 12) }; //ritar ut två trianglar canvas.DrawPolygon(pen, point1); canvas.DrawPolygon(pen, point2); Pen pen2 = new Pen(Color.Blue); //ventilensposition Point p1 = new Point(this.x, this.y); //input-nodens position Point p2 = new Point(input.getX(), input.getY() + 5); ////output-nodens position Point p3 = new Point(output.getX(), output.getY() + 5); Point temp; Point nod; //rita till output-noden if (p3.Y != p1.Y) { temp = new Point(p3.X + 5, p1.Y); nod = new Point(p3.X + 5, p3.Y); canvas.DrawLine(pen2, p1, temp); canvas.DrawLine(pen2, temp, nod); } else { canvas.DrawLine(pen2, p1, p3); } //rita till output-noden if (p2.Y != p1.Y) { temp = new Point(p2.X + 5, p1.Y); nod = new Point(p2.X + 5, p2.Y); canvas.DrawLine(pen2, p1, temp); canvas.DrawLine(pen2, temp, nod); } else { canvas.DrawLine(pen2, p1, p2); } ////skriver ut namnet Brush brush = new SolidBrush(Color.Black); Font font = new Font("Courier", 8); canvas.DrawString(name, font, brush, (float)x - 20, (float)y - 30); }