Free cookie consent management tool by TermsFeed Policy Generator

source: trunk/sources/HeuristicLab.Visualization/3.2/Drawing/IShape.cs @ 2960

Last change on this file since 2960 was 1964, checked in by mstoeger, 16 years ago

moved the canvas and the basic types of shapes to their own namespace. #498

File size: 1.3 KB
Line 
1using System.Drawing;
2
3namespace HeuristicLab.Visualization.Drawing {
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    void Draw(Graphics graphics);
28
29    /// <summary>
30    /// The shape's bounding box
31    /// </summary>
32    RectangleD BoundingBox { get; }
33
34    RectangleD ClippingArea { get; }
35    Rectangle Viewport { get; }
36
37    IShape Parent { get; set; }
38  }
39}
Note: See TracBrowser for help on using the repository browser.