OMNeT++ provides a 2D figure-based drawing API. The central classes are cFigure and cCanvas.
One can create figure objects (derived from cFigure), and place them on a canvas (cCanvas). Every module has its own canvas (cModule::getCanvas()), and one may create additional ones directly.
cFigure contains the following utility classes:
Figures for grouping:
Line figures:
Shape figures:
Text figures:
Image figures:
Classes | |
| struct | cFigure::Point |
| Represents a point as (x,y) coordinates. More... | |
| struct | cFigure::Rectangle |
| Represents a rectangle as an (x,y,width,height) tuple. More... | |
| struct | cFigure::Color |
| Represents an RGB color. More... | |
| struct | cFigure::Font |
| Represents properties of a font. More... | |
| struct | cFigure::Transform |
| Homogeneous 2D transformation matrix. More... | |
| struct | cFigure::RGBA |
| Represents an RGBA pixel, for Pixmap manipulation. More... | |
| class | cFigure::Pixmap |
| A rectangular RGBA pixel array. More... | |
| class | cFigure |
| A lightweight graphical object for cCanvas. More... | |
| class | cGroupFigure |
| A figure with the sole purpose of grouping its children, and no visual representation. More... | |
| class | cPanelFigure |
| Sets up an axis-aligned, unscaled coordinate system for children, canceling the effect of any transformation (scaling, rotation, etc.) inherited from ancestor figures. More... | |
| class | cAbstractLineFigure |
| Common base class for line figures. More... | |
| class | cLineFigure |
| A figure that displays a straight line segment. More... | |
| class | cArcFigure |
| A figure that displays an arc. More... | |
| class | cPolylineFigure |
| A figure that displays a line that consists of multiple connecting straight line segments or of a single smooth curve. More... | |
| class | cAbstractShapeFigure |
| Abstract base class for various shapes. More... | |
| class | cRectangleFigure |
| A figure that displays a rectangle, with optionally rounded corners. More... | |
| class | cOvalFigure |
| A figure that draws a circle or ellipse. More... | |
| class | cRingFigure |
| A figure that displays a ring, with explicitly controllable inner/outer radii. More... | |
| class | cPieSliceFigure |
| A figure that displays a pie slice, that is, a section of an axis-aligned disc or filled ellipse. More... | |
| class | cPolygonFigure |
| A figure that displays a (closed) polygon, determined by a sequence of points. More... | |
| class | cPathFigure |
| A figure that displays a "path", a complex shape or line modeled after SVG paths. More... | |
| class | cAbstractTextFigure |
| Abstract base class for figures that display text. Text may be multi-line. More... | |
| class | cTextFigure |
| A figure that displays text which is affected by zooming and transformations. More... | |
| class | cLabelFigure |
| A figure that displays text which is unaffected by zooming or transformations, except for its position. More... | |
| class | cAbstractImageFigure |
| Abstract base class for figures that display an image. More... | |
| class | cImageFigure |
| A figure that displays an image, typically an icon or a background image, loaded from the OMNeT++ image path. More... | |
| class | cIconFigure |
| A figure that displays an image, typically an icon or a background image, loaded from the OMNeT++ image path, in a non-zooming way. More... | |
| class | cPixmapFigure |
| A figure that displays an image that can be manipulated programmatically. More... | |
| class | cCanvas |
| Provides a scene graph based 2D drawing API for modules. More... | |
Predefined colors. | |
| enum | FontStyle |
| Font style constants: FONT_NONE, FONT_BOLD, etc. More... | |
| enum | LineStyle |
| Line style constants: LINE_SOLID, LINE_DOTTED, etc. More... | |
| enum | CapStyle |
| Line cap style constants: CAP_BUTT, CAP_SQUARE, etc. More... | |
| enum | JoinStyle |
| Line join style constants: JOIN_BEVEL, JOIN_MITER, etc. More... | |
| enum | FillRule |
| Fill rule constants: FILL_EVENODD, FILL_NONZERO. More... | |
| enum | Arrowhead |
| Arrowhead style constants: ARROW_NONE, ARROW_SIMPLE, etc. More... | |
| enum | Interpolation |
| Image interpolation mode constants: INTERPOLATION_NONE, INTERPOLATION_FAST, etc. More... | |
| enum | Anchor |
| Anchoring mode constants: ANCHOR_CENTER, ANCHOR_N, etc. More... | |
| enum | Alignment |
| Text alignment mode constants: ALIGN_LEFT, ALIGN_RIGHT, ALIGN_CENTER. More... | |
| enum | |
| static const Color | BLACK |
| static const Color | WHITE |
| static const Color | GREY |
| static const Color | RED |
| static const Color | GREEN |
| static const Color | BLUE |
| static const Color | YELLOW |
| static const Color | CYAN |
| static const Color | MAGENTA |
| static const int | NUM_GOOD_DARK_COLORS |
| static const int | NUM_GOOD_LIGHT_COLORS |
| static const Color | GOOD_DARK_COLORS [14] |
| static const Color | GOOD_LIGHT_COLORS [10] |
| virtual void | validatePropertyKeys (cProperty *property) const |
| virtual bool | isAllowedPropertyKey (const char *key) const |
| virtual cFigure * | getRootFigure () const |
| void | fireStructuralChange () |
| void | fireTransformChange () |
| void | fireGeometryChange () |
| void | fireVisualChange () |
| void | fireInputDataChange () |
| virtual void | fire (uint8_t flags) |
| virtual void | hashTo (cHasher &hasher) const |
| static Point | parsePoint (cProperty *property, const char *key, int index) |
| static std::vector< Point > | parsePoints (cProperty *property, const char *key) |
| static Rectangle | parseBounds (cProperty *property, const Rectangle &defaults) |
| static Transform | parseTransform (cProperty *property, const char *key) |
| static Font | parseFont (cProperty *property, const char *key) |
| static Rectangle | computeBoundingBox (const Point &position, const Point &size, double ascent, Anchor anchor) |
| static void | concatArrays (const char **dest, const char **first, const char **second) |
| static Point | parsePoint (const char *s) |
| static Rectangle | parseRectangle (const char *s) |
| static Transform | parseTransform (const char *s) |
| static Font | parseFont (const char *s) |
| static Color | parseColor (const char *s) |
| static bool | parseBool (const char *s) |
| static LineStyle | parseLineStyle (const char *s) |
| static CapStyle | parseCapStyle (const char *s) |
| static JoinStyle | parseJoinStyle (const char *s) |
| static FillRule | parseFillRule (const char *s) |
| static Arrowhead | parseArrowhead (const char *s) |
| static Interpolation | parseInterpolation (const char *s) |
| static Anchor | parseAnchor (const char *s) |
| static Alignment | parseAlignment (const char *s) |
| virtual void | updateParentTransform (Transform &transform) |
| virtual void | callRefreshDisplay () |
| uint8_t | getLocalChangeFlags () const |
| uint8_t | getSubtreeChangeFlags () const |
| void | clearChangeFlags () |
| void | refreshTagBitsRec (cCanvas *ownerCanvas) |
| int64_t | getTagBits () const |
| void | setTagBits (uint64_t tagBits) |
| uint32_t | getHash () const |
| void | clearCachedHash () |
| enum LineStyle |
Line style constants: LINE_SOLID, LINE_DOTTED, etc.
| enum CapStyle |
Line cap style constants: CAP_BUTT, CAP_SQUARE, etc.
| enum JoinStyle |
Line join style constants: JOIN_BEVEL, JOIN_MITER, etc.
| enum FillRule |
Fill rule constants: FILL_EVENODD, FILL_NONZERO.
| enum Arrowhead |
Arrowhead style constants: ARROW_NONE, ARROW_SIMPLE, etc.
| enum Interpolation |
Image interpolation mode constants: INTERPOLATION_NONE, INTERPOLATION_FAST, etc.
| enum Anchor |
Anchoring mode constants: ANCHOR_CENTER, ANCHOR_N, etc.
| enum Alignment |
Text alignment mode constants: ALIGN_LEFT, ALIGN_RIGHT, ALIGN_CENTER.