Free cookie consent management tool by TermsFeed Policy Generator

source: trunk/sources/HeuristicLab.Visualization/IShape.cs @ 1236

Last change on this file since 1236 was 1234, checked in by mstoeger, 15 years ago

Added Xml comments for IShape, WorldShape and Transforms. (#406)

File size: 1.4 KB
Line 
1using System.Drawing;
2
3namespace HeuristicLab.Visualization {
4  /// <summary>
5  /// This is the base interface that has to be implemented by all shapes.
6  ///
7  /// View port
8  ///   The view port is the available drawing area on the screen.
9  ///   It is specified in the GDI coordinate system.
10  ///
11  /// Clipping area
12  ///   The clipping area is the range of values visible on the view port.
13  ///   Values outside this area will not be visible (they "get clipped").
14  ///   It can either be inherited from the parent, or it can be overriden
15  ///   to create distorted realities (see world shapes).
16  ///   It is specified in a world coordinate system.
17  ///
18  /// Bounding box
19  ///   The bounding box is the location and the size of a shape on its parent.
20  ///   It is specified in the parent's world coordinate system.
21  /// </summary>
22  public interface IShape {
23    /// <summary>
24    /// Draws the shape
25    /// </summary>
26    /// <param name="graphics">The Graphics object used to draw the shape</param>
27    /// <param name="parentViewport">The parent's view port</param>
28    /// <param name="parentClippingArea">The parent's clipping area</param>
29    void Draw(Graphics graphics, Rectangle parentViewport, RectangleD parentClippingArea);
30
31    /// <summary>
32    /// The shape's bounding box
33    /// </summary>
34    RectangleD BoundingBox { get; }
35  }
36}
Note: See TracBrowser for help on using the repository browser.