summaryrefslogtreecommitdiffstats
path: root/Project/Text.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Project/Text.cpp')
-rw-r--r--Project/Text.cpp65
1 files changed, 65 insertions, 0 deletions
diff --git a/Project/Text.cpp b/Project/Text.cpp
new file mode 100644
index 0000000..25c9b85
--- /dev/null
+++ b/Project/Text.cpp
@@ -0,0 +1,65 @@
+#include "Text.h"
+
+#include "Bus.h"
+#include "Line.h"
+#include "Transformer.h"
+#include "SyncGenerator.h"
+#include "IndMotor.h"
+#include "SyncMotor.h"
+#include "Load.h"
+#include "Inductor.h"
+#include "Capacitor.h"
+
+Text::Text() : Element()
+{
+ SetText(m_text);
+}
+
+Text::Text(wxPoint2DDouble position) : Element()
+{
+ SetText(m_text);
+ SetPosition(position);
+}
+
+Text::~Text() {}
+
+bool Text::Contains(wxPoint2DDouble position) const
+{
+ wxPoint2DDouble ptR = RotateAtPosition(position, -m_angle);
+ return m_rect.Contains(ptR);
+}
+
+void Text::Draw(wxPoint2DDouble translation, double scale, wxDC& dc)
+{
+ if(consolidate) {
+ glString.setFont(wxFont(10, wxFONTFAMILY_ROMAN, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL));
+ glString.consolidate(&dc);
+ //glString.bind();
+ consolidate = false;
+ }
+ /*if(m_selected) {
+ glColor4d(0.0, 0.5, 1.0, 0.5);
+ wxGLString backSelection(m_text);
+ backSelection.setFont(wxFont(10, wxFONTFAMILY_ROMAN, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD));
+ backSelection.consolidate(&dc);
+ backSelection.bind();
+ backSelection.render(m_position.m_x, m_position.m_y);
+ }*/
+
+ glColor4d(0.0, 0.0, 0.0, 1.0);
+ //glString.render(m_position.m_x, m_position.m_y);
+}
+
+bool Text::Intersects(wxRect2DDouble rect) const
+{
+ if(m_angle == 0.0 || m_angle == 180.0) return m_rect.Intersects(rect);
+ return RotatedRectanglesIntersects(m_rect, rect, m_angle, 0.0);
+}
+
+void Text::SetText(wxString text)
+{
+ m_text = text;
+ glString = text;
+
+ consolidate = true;
+}