|
| mpLayer (mpLayerType layerType) |
|
void | SetWindow (mpWindow &w) |
| Set the wxWindow handle.
|
|
virtual bool | HasBBox () |
| Check whether this layer has a bounding box. More...
|
|
virtual void | GetBBox (mpFloatRect *m_bound) |
| Return the bounding box, ie GetMinX(), GetMaxX(), GetMinY() and GetMaxY() of this mpLayer Here we don't use extra Y2 values.
|
|
mpLayerType | GetLayerType () const |
| Get layer type: a Layer can be of different types: plot, lines, axis, info boxes, etc, this method returns the right value. More...
|
|
int | GetLayerSubType () const |
| Get layer subtype: each layer type can have several flavors. More...
|
|
virtual bool | IsLayerType (mpLayerType type, int *sub_type) |
| Specifies that if the layer is of type "type". More...
|
|
virtual double | GetMinX () |
| Get inclusive left border of bounding box. More...
|
|
virtual double | GetMaxX () |
| Get inclusive right border of bounding box. More...
|
|
virtual double | GetMinY () |
| Get inclusive bottom border of bounding box. More...
|
|
virtual double | GetMaxY () |
| Get inclusive top border of bounding box. More...
|
|
void | Plot (wxDC &dc, mpWindow &w) |
| Plot given view of layer to the given device context. More...
|
|
void | SetName (const wxString &name) |
| Set layer name. More...
|
|
const wxString & | GetName () const |
| Get layer name. More...
|
|
void | SetFont (const wxFont &font) |
| Set layer font. More...
|
|
const wxFont & | GetFont () const |
| Get font set for this layer. More...
|
|
void | SetFontColour (const wxColour &colour) |
| Set layer font foreground colour. More...
|
|
const wxColour & | GetFontColour () const |
| Get font foreground colour set for this layer. More...
|
|
void | SetPen (const wxPen &pen) |
| Set layer pen. More...
|
|
const wxPen & | GetPen () const |
| Get pen set for this layer. More...
|
|
void | SetBrush (const wxBrush &brush) |
| Set layer brush. More...
|
|
const wxBrush & | GetBrush () const |
| Get brush set for this layer. More...
|
|
void | SetShowName (bool show) |
| Set Name visibility. More...
|
|
bool | GetShowName () const |
| Get Name visibility. More...
|
|
void | SetDrawOutsideMargins (bool drawModeOutside) |
| Set Draw mode: inside or outside margins. More...
|
|
bool | GetDrawOutsideMargins () const |
| Get Draw mode: inside or outside margins. More...
|
|
wxBitmap | GetColourSquare (int side=16) |
| Get a small square bitmap filled with the colour of the pen used in the layer. More...
|
|
bool | IsVisible () const |
| Checks whether the layer is visible or not. More...
|
|
virtual void | SetVisible (bool show) |
| Sets layer visibility. More...
|
|
bool | IsTractable () const |
| Checks whether the layer is tractable or not. More...
|
|
virtual void | SetTractable (bool track) |
| Sets layer tractability. More...
|
|
void | SetAlign (int align) |
| Set X/Y alignment. More...
|
|
int | GetAlign () const |
| Get X/Y alignment. More...
|
|
void | SetCanDelete (bool canDelete) |
| Set CanDelete for plot. More...
|
|
bool | GetCanDelete (void) const |
| Get CanDelete for plot. More...
|
|
mpLayerZOrder | GetZIndex (void) const |
| Get the ZIndex of the plot. More...
|
|
|
const mpLayerType | m_type |
| Layer type mpLAYER_*.
|
|
mpWindow * | m_win |
| The wxWindow handle.
|
|
int | m_subtype |
| Layer sub type, set in constructors.
|
|
wxFont | m_font |
| Layer's font.
|
|
wxColour | m_fontcolour |
| Layer's font foreground colour.
|
|
wxPen | m_pen |
| Layer's pen. Default Colour = Black, width = 1, style = wxPENSTYLE_SOLID.
|
|
wxBrush | m_brush |
| Layer's brush. Default wxTRANSPARENT_BRUSH.
|
|
wxString | m_name |
| Layer's name.
|
|
bool | m_showName |
| States whether the name of the layer must be shown. Default : false.
|
|
bool | m_drawOutsideMargins |
| Select if the layer should draw only inside margins or over all DC. Default : false.
|
|
bool | m_visible |
| Toggles layer visibility. Default : true.
|
|
bool | m_tractable |
| Is the layer tractable.
|
|
int | m_flags |
| Holds label alignment. Default : mpALIGN_NE.
|
|
mpRect | m_plotBoundaries |
| The boundaries for plotting curve calculated by mpWindow.
|
|
bool | m_CanDelete |
| Is the layer can be deleted.
|
|
mpLayerZOrder | m_ZIndex |
| The index in Z-Order to draw the layer.
|
|
Plot layer, abstract base class.
Any number of mpLayer implementations can be attached to mpWindow. Examples for mpLayer implementations are function graphs, or scale rulers.
For convenience mpLayer defines a name, a font (wxFont), a pen (wxPen), and a continuity property (bool) as class members. The default values at constructor are the default font, a black pen, and continuity set to false (draw separate points). These may or may not be used by implementations.
void mpLayer::Plot |
( |
wxDC & |
dc, |
|
|
mpWindow & |
w |
|
) |
| |
Plot given view of layer to the given device context.
An implementation of this function has to transform layer coordinates to wxDC coordinates based on the view parameters retrievable from the mpWindow passed in w. Note that the public methods of mpWindow: x2p,y2p and p2x,p2y are already provided which transform layer coordinates to DC pixel coordinates, and user code should rely on them for portability and future changes to be applied transparently, instead of implementing the following formulas manually.
The passed device context dc has its coordinate origin set to the top-left corner of the visible area (the default). The coordinate orientation is as shown in the following picture:
(wxDC origin 0,0)
x-------------> ascending X ----------------+
| |
| |
V ascending Y |
| |
| |
| |
+-------------------------------------------+ <-- right-bottom corner of the mpWindow visible area.
Note that Y ascends in downward direction, whereas the usual vertical orientation for mathematical plots is vice versa. Thus Y-orientation will be swapped usually, when transforming between wxDC and mpLayer coordinates. This change of coordinates is taken into account in the methods p2x, p2y, x2p, y2p.
Rules for transformation between mpLayer and wxDC coordinates
- Parameters
-
dc | Device context to plot to. |
w | View to plot. The visible area can be retrieved from this object. |
- See also
- mpWindow::p2x, mpWindow::p2y, mpWindow::x2p, mpWindow::y2p