[1187] | 1 | using System.Drawing;
|
---|
| 2 |
|
---|
| 3 | namespace HeuristicLab.Visualization {
|
---|
| 4 | public class MinMaxLineShape : WorldShape {
|
---|
[1233] | 5 | private readonly LineShape minLineShape;
|
---|
| 6 | private readonly LineShape maxLineShape;
|
---|
[1187] | 7 |
|
---|
| 8 | /// <summary>
|
---|
| 9 | /// Initializes the HorizontalLineShape.
|
---|
| 10 | /// </summary>
|
---|
| 11 | /// <param name="color">color for the LineShape</param>
|
---|
| 12 | /// <param name="yMin">y value for lower line</param>
|
---|
| 13 | /// <param name="yMax">y value for upper line</param>
|
---|
| 14 | /// <param name="thickness">line thickness</param>
|
---|
| 15 | /// <param name="style">line style</param>
|
---|
[1233] | 16 | public MinMaxLineShape(double yMin, double yMax, Color color, int thickness, DrawingStyle style) {
|
---|
| 17 | minLineShape = new LineShape(0, yMin, 1, yMin, color, thickness, style);
|
---|
| 18 | maxLineShape = new LineShape(0, yMax, 1, yMax, color, thickness, style);
|
---|
[1187] | 19 | shapes.Add(minLineShape);
|
---|
| 20 | shapes.Add(maxLineShape);
|
---|
| 21 | }
|
---|
| 22 |
|
---|
| 23 |
|
---|
| 24 | /// <summary>
|
---|
| 25 | /// Draws the HorizontalLineShape.
|
---|
| 26 | /// </summary>
|
---|
| 27 | /// <param name="graphics">graphics handle to draw to</param>
|
---|
| 28 | /// <param name="viewport">rectangle in value-coordinates to display</param>
|
---|
| 29 | /// <param name="clippingArea">rectangle in screen-coordinates to draw</param>
|
---|
| 30 | public override void Draw(Graphics graphics, Rectangle viewport, RectangleD clippingArea) {
|
---|
| 31 | minLineShape.X1 = ClippingArea.X1;
|
---|
| 32 | minLineShape.X2 = ClippingArea.X2;
|
---|
| 33 | maxLineShape.X1 = ClippingArea.X1;
|
---|
| 34 | maxLineShape.X2 = ClippingArea.X2;
|
---|
| 35 | base.Draw(graphics, viewport, clippingArea);
|
---|
| 36 | }
|
---|
| 37 |
|
---|
| 38 |
|
---|
| 39 | public double YMin {
|
---|
| 40 | set {
|
---|
| 41 | minLineShape.Y1 = value;
|
---|
| 42 | minLineShape.Y2 = value;
|
---|
| 43 | }
|
---|
| 44 | }
|
---|
| 45 |
|
---|
| 46 | public double YMax {
|
---|
| 47 | set {
|
---|
| 48 | maxLineShape.Y1 = value;
|
---|
| 49 | maxLineShape.Y2 = value;
|
---|
| 50 | }
|
---|
| 51 | }
|
---|
| 52 | }
|
---|
| 53 | } |
---|