#include <mathplot.h>


Public Member Functions | |
| mpFXY (wxString name=wxEmptyString, int flags=0x00) | |
| virtual void | Rewind ()=0 |
| virtual bool | GetNextXY (double &x, double &y)=0 |
| virtual void | Plot (wxDC &dc, mpWindow &w) |
| virtual bool | HasBBox () |
| virtual double | GetMinX () |
| virtual double | GetMaxX () |
| virtual double | GetMinY () |
| virtual double | GetMaxY () |
| wxString | GetName () const |
| const wxFont & | GetFont () const |
| const wxPen & | GetPen () const |
| void | SetName (wxString name) |
| void | SetFont (wxFont &font) |
| void | SetPen (wxPen &pen) |
| int | GetYTranslated (double sizey, double y) |
Protected Attributes | |
| int | m_flags |
| Holds label alignment. | |
| wxFont | m_font |
| Layer's font. | |
| wxPen | m_pen |
| Layer's pen. | |
| wxString | m_name |
| Layer's name. | |
Definition at line 316 of file mathplot.h.
| mpFXY::mpFXY | ( | wxString | name = wxEmptyString, |
|
| int | flags = 0x00 | |||
| ) |
| name | Label | |
| flags | Label alignment, pass one of mpALIGN_NE, mpALIGN_NW, mpALIGN_SW, mpALIGN_SE. |
Definition at line 166 of file mathplot.cxx.
References mpFY::m_flags, and mpLayer::SetName().

| virtual void mpFXY::Rewind | ( | ) | [pure virtual] |
Rewind value enumeration with mpFXY::GetNextXY. Override this function in your implementation.
Referenced by Plot().

| virtual bool mpFXY::GetNextXY | ( | double & | x, | |
| double & | y | |||
| ) | [pure virtual] |
Get locus value for next N. Override this function in your implementation.
| x | Returns X value | |
| y | Returns Y value |
Referenced by Plot().

| void mpFXY::Plot | ( | wxDC & | dc, | |
| mpWindow & | w | |||
| ) | [virtual] |
Layer plot handler. This implementation will plot the locus in the visible area and put a label according to the aligment specified.
Implements mpLayer.
Definition at line 172 of file mathplot.cxx.
References GetNextXY(), mpWindow::GetPosX(), mpWindow::GetPosY(), mpWindow::GetScaleX(), mpWindow::GetScaleY(), mpWindow::GetScrX(), mpWindow::GetScrY(), m_flags, mpLayer::m_font, mpLayer::m_name, mpLayer::m_pen, mpALIGN_NE, mpALIGN_NW, mpALIGN_SW, mpALIGNMASK, and Rewind().
00173 { 00174 dc.SetPen( m_pen); 00175 00176 double x, y; 00177 Rewind(); 00178 00179 // for some reason DrawPoint does not use the current pen, 00180 // so we use DrawLine for fat pens 00181 00182 if (m_pen.GetWidth() <= 1) 00183 { 00184 while (GetNextXY(x, y)) 00185 { 00186 dc.DrawPoint( (wxCoord) ((x - w.GetPosX()) * w.GetScaleX()) , 00187 (wxCoord) ((w.GetPosY() - y) * w.GetScaleY()) ); 00188 } 00189 } 00190 else 00191 { 00192 while (GetNextXY(x, y)) 00193 { 00194 wxCoord cx = (wxCoord) ((x - w.GetPosX()) * w.GetScaleX()); 00195 wxCoord cy = (wxCoord) ((w.GetPosY() - y) * w.GetScaleY()); 00196 dc.DrawLine(cx, cy, cx, cy); 00197 } 00198 } 00199 00200 if (!m_name.IsEmpty()) 00201 { 00202 dc.SetFont(m_font); 00203 00204 wxCoord tx, ty; 00205 dc.GetTextExtent(m_name, &tx, &ty); 00206 00207 // xxx implement else ... if (!HasBBox()) 00208 { 00209 const int sx = w.GetScrX()>>1; 00210 const int sy = w.GetScrY()>>1; 00211 00212 if ((m_flags & mpALIGNMASK) == mpALIGN_NE) 00213 { 00214 tx = sx - tx - 8; 00215 ty = -sy + 8; 00216 } 00217 else if ((m_flags & mpALIGNMASK) == mpALIGN_NW) 00218 { 00219 tx = -sx + 8; 00220 ty = -sy + 8; 00221 } 00222 else if ((m_flags & mpALIGNMASK) == mpALIGN_SW) 00223 { 00224 tx = -sx + 8; 00225 ty = sy - 8 - ty; 00226 } 00227 else 00228 { 00229 tx = sx - tx - 8; 00230 ty = sy - 8 - ty; 00231 } 00232 } 00233 //else 00234 //{ 00235 //} 00236 00237 dc.DrawText( m_name, tx, ty); 00238 } 00239 }

| virtual bool mpLayer::HasBBox | ( | ) | [inline, virtual, inherited] |
Check whether this layer has a bounding box. The default implementation returns TRUE. Overide and return FALSE if your mpLayer implementation should be ignored by the calculation of the global bounding box for all layers in a mpWindow.
| TRUE | Has bounding box | |
| FALSE | Has not bounding box |
Reimplemented in mpScaleX, mpScaleY, pPlotterScaleX, and pPlotterScaleY.
Definition at line 110 of file mathplot.h.
Referenced by mpWindow::UpdateBBox().

| virtual double mpLayer::GetMinX | ( | ) | [inline, virtual, inherited] |
Get inclusive left border of bounding box.
Definition at line 115 of file mathplot.h.
Referenced by mpWindow::UpdateBBox().

| virtual double mpLayer::GetMaxX | ( | ) | [inline, virtual, inherited] |
Get inclusive right border of bounding box.
Definition at line 120 of file mathplot.h.
Referenced by mpWindow::UpdateBBox().

| virtual double mpLayer::GetMinY | ( | ) | [inline, virtual, inherited] |
Get inclusive bottom border of bounding box.
Definition at line 125 of file mathplot.h.
Referenced by mpWindow::UpdateBBox().

| virtual double mpLayer::GetMaxY | ( | ) | [inline, virtual, inherited] |
Get inclusive top border of bounding box.
Definition at line 130 of file mathplot.h.
Referenced by mpWindow::UpdateBBox().

| wxString mpLayer::GetName | ( | ) | const [inline, inherited] |
| const wxFont& mpLayer::GetFont | ( | ) | const [inline, inherited] |
Get font set for this layer.
Definition at line 175 of file mathplot.h.
00175 { return m_font; }
| const wxPen& mpLayer::GetPen | ( | ) | const [inline, inherited] |
Get pen set for this layer.
Definition at line 180 of file mathplot.h.
00180 { return m_pen; }
| void mpLayer::SetName | ( | wxString | name | ) | [inline, inherited] |
Set layer name
| name | Name, will be copied to internal class member |
Definition at line 185 of file mathplot.h.
Referenced by mpFXY(), mpFY::mpFY(), mpScaleX::mpScaleX(), and mpScaleY::mpScaleY().
00185 { m_name = name; }

| void mpLayer::SetFont | ( | wxFont & | font | ) | [inline, inherited] |
Set layer font
| font | Font, will be copied to internal class member |
Definition at line 190 of file mathplot.h.
Referenced by mpScaleX::mpScaleX(), and mpScaleY::mpScaleY().
00190 { m_font = font; }

| void mpLayer::SetPen | ( | wxPen & | pen | ) | [inline, inherited] |
Set layer pen
| pen | Pen, will be copied to internal class member |
Definition at line 195 of file mathplot.h.
Referenced by HistogramWidget::drawHistogram(), Histogram::drawHistogram(), HistogramWidget::drawTransferenceFunction(), mpScaleX::mpScaleX(), mpScaleY::mpScaleY(), pPlotterWindow::onChangeColor(), pPlotterWindow::onLoad(), and pPlotterWindow::onStartDrawing().
00195 { m_pen = pen; }

| int mpLayer::GetYTranslated | ( | double | sizey, | |
| double | y | |||
| ) | [inline, inherited] |
Get the translation of the Y coordinate acoording to the new orientation of the axis du to the problem identified in MACOS with the funtion 'SetAxisOrientation'
Definition at line 201 of file mathplot.h.
Referenced by pPlotterLayer::draw(), pPlotterLayer::drawFunction(), pPlotterLayer::drawPoints(), pPlotterLayer::drawSplineCurve(), pPlotterScaleY::Plot(), pPlotterScaleX::Plot(), pPlotterLayer::Plot(), and mpScaleY::Plot().

int mpFXY::m_flags [protected] |
wxFont mpLayer::m_font [protected, inherited] |
Layer's font.
Definition at line 206 of file mathplot.h.
Referenced by pPlotterScaleY::Plot(), pPlotterScaleX::Plot(), mpScaleY::Plot(), mpScaleX::Plot(), Plot(), mpFY::Plot(), and mpFX::Plot().
wxPen mpLayer::m_pen [protected, inherited] |
Layer's pen.
Definition at line 207 of file mathplot.h.
Referenced by pPlotterScaleY::Plot(), pPlotterScaleX::Plot(), pPlotterLayer::Plot(), mpScaleY::Plot(), mpScaleX::Plot(), Plot(), mpFY::Plot(), and mpFX::Plot().
wxString mpLayer::m_name [protected, inherited] |
Layer's name.
Definition at line 208 of file mathplot.h.
Referenced by mpScaleY::Plot(), mpScaleX::Plot(), Plot(), mpFY::Plot(), and mpFX::Plot().
1.5.3