summaryrefslogtreecommitdiffstats
path: root/Project/Transformer.cpp
diff options
context:
space:
mode:
authorThales1330 <thaleslima.ufu@gmail.com>2016-12-29 14:14:21 -0200
committerGitHub <noreply@github.com>2016-12-29 14:14:21 -0200
commitc5343c718cf80620c2fc7452a4315f7ddb9e5826 (patch)
tree3d5dbd283f31004cc6ef826c2b75d5e5ed9d9f27 /Project/Transformer.cpp
parent28e9cc4d9df63cb12c01d49017172c5f39ca9c22 (diff)
parent3750a0691f4975045647f3f70d8215fb1884e6fb (diff)
downloadPSP.git-c5343c718cf80620c2fc7452a4315f7ddb9e5826.tar.gz
PSP.git-c5343c718cf80620c2fc7452a4315f7ddb9e5826.tar.xz
PSP.git-c5343c718cf80620c2fc7452a4315f7ddb9e5826.zip
Merge pull request #4 from Thales1330/wip/copy-paste
Wip copy paste
Diffstat (limited to 'Project/Transformer.cpp')
-rw-r--r--Project/Transformer.cpp19
1 files changed, 15 insertions, 4 deletions
diff --git a/Project/Transformer.cpp b/Project/Transformer.cpp
index 42fffaf..2ba6850 100644
--- a/Project/Transformer.cpp
+++ b/Project/Transformer.cpp
@@ -92,12 +92,16 @@ bool Transformer::Contains(wxPoint2DDouble position) const
void Transformer::Draw(wxPoint2DDouble translation, double scale) const
{
+ OpenGLColour elementColour;
+ if(m_online) elementColour = m_onlineElementColour;
+ else elementColour = m_offlineElementColour;
+
if(m_inserted) {
// Draw selection (layer 1).
if(m_selected) {
// Push the current matrix on stack.
glLineWidth(1.5 + m_borderSize * 2.0);
- glColor4d(0.0, 0.5, 1.0, 0.5);
+ glColor4dv(m_selectionColour.GetRGBA());
DrawLine(m_pointList);
glPushMatrix();
// Rotate the matrix around the object position.
@@ -124,12 +128,12 @@ void Transformer::Draw(wxPoint2DDouble translation, double scale) const
// Draw transformer (layer 2).
// Transformer line
glLineWidth(1.5);
- glColor4d(0.2, 0.2, 0.2, 1.0);
+ glColor4dv(elementColour.GetRGBA());
DrawLine(m_pointList);
// Draw nodes.
if(m_pointList.size() > 0) {
- glColor4d(0.2, 0.2, 0.2, 1.0);
+ glColor4dv(elementColour.GetRGBA());
DrawCircle(m_pointList[0], 5.0, 10, GL_POLYGON);
if(m_inserted) {
DrawCircle(m_pointList[m_pointList.size() - 1], 5.0, 10, GL_POLYGON);
@@ -150,7 +154,7 @@ void Transformer::Draw(wxPoint2DDouble translation, double scale) const
DrawCircle(m_rect.GetPosition() + wxPoint2DDouble(20.0, 20.0), 20, 20, GL_POLYGON);
DrawCircle(m_rect.GetPosition() + wxPoint2DDouble(50.0, 20.0), 20, 20, GL_POLYGON);
- glColor4d(0.2, 0.2, 0.2, 1.0);
+ glColor4dv(elementColour.GetRGBA());
DrawCircle(m_rect.GetPosition() + wxPoint2DDouble(20.0, 20.0), 20, 20);
DrawCircle(m_rect.GetPosition() + wxPoint2DDouble(50.0, 20.0), 20, 20);
@@ -374,3 +378,10 @@ void Transformer::SetPowerFlowDirection(PowerFlowDirection pfDirection)
m_pfDirection = pfDirection;
UpdatePowerFlowArrowsPosition();
}
+
+Element* Transformer::GetCopy()
+{
+ Transformer* copy = new Transformer();
+ *copy = *this;
+ return copy;
+}