diff options
Diffstat (limited to 'Project/TransferFunction.h')
-rw-r--r-- | Project/TransferFunction.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/Project/TransferFunction.h b/Project/TransferFunction.h new file mode 100644 index 0000000..45681ce --- /dev/null +++ b/Project/TransferFunction.h @@ -0,0 +1,43 @@ +#ifndef TRANSFERFUNCTION_H +#define TRANSFERFUNCTION_H + +#include "ControlElement.h" + +#include <wx/dcscreen.h> +#include "wxGLString.h" + +class TransferFunctionForm; + +class TransferFunction : public ControlElement +{ +public: + TransferFunction(int id); + ~TransferFunction(); + + virtual void Draw(wxPoint2DDouble translation, double scale) const; + virtual bool Contains(wxPoint2DDouble position) const { return m_rect.Contains(position); } + virtual bool Intersects(wxRect2DDouble rect) const { return m_rect.Intersects(rect); } + virtual bool ShowForm(wxWindow* parent, Element* element); + virtual void Rotate(bool clockwise = true); + + virtual std::vector<double> GetNumerator() const { return m_numerator; } + virtual std::vector<double> GetDenominator() const { return m_denominator; } + virtual void SetNumerator(std::vector<double> numerator) { m_numerator = numerator; } + virtual void SetDenominator(std::vector<double> denominator) { m_denominator = denominator; } + virtual void UpdateTFText(); + +protected: + virtual void SetText(wxString numerator, wxString denominator); + virtual wxString GetSuperscriptNumber(int number); + virtual void GetTFString(wxString& numerator, wxString& denominator); + + wchar_t m_supNumber[10]; + + wxGLString* m_glStringNum = NULL; + wxGLString* m_glStringDen = NULL; + int m_fontSize = 10; + std::vector<double> m_numerator; + std::vector<double> m_denominator; +}; + +#endif // TRANSFERFUNCTION_H |