mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-19 00:37:25 +01:00
[python/turtle] Clean Turtle::setColor
This commit is contained in:
@@ -146,28 +146,24 @@ void Turtle::setVisible(bool visible) {
|
||||
}
|
||||
|
||||
void Turtle::setColor(const char * color) {
|
||||
if (strcmp("blue", color) == 0) {
|
||||
m_color = KDColorBlue;
|
||||
} else if (strcmp("red", color) == 0) {
|
||||
m_color = KDColorRed;
|
||||
} else if (strcmp("green", color) == 0) {
|
||||
m_color = Palette::Green;
|
||||
} else if (strcmp("yellow", color) == 0) {
|
||||
m_color = KDColorYellow;
|
||||
} else if (strcmp("brown", color) == 0) {
|
||||
m_color = Palette::Brown;
|
||||
} else if (strcmp("black", color) == 0) {
|
||||
m_color = KDColorBlack;
|
||||
} else if (strcmp("white", color) == 0) {
|
||||
m_color = KDColorWhite;
|
||||
} else if (strcmp("pink", color) == 0) {
|
||||
m_color = Palette::Pink;
|
||||
} else if (strcmp("orange", color) == 0) {
|
||||
m_color = Palette::Orange;
|
||||
} else if (strcmp("purple", color) == 0) {
|
||||
m_color = Palette::Purple;
|
||||
} else if (strcmp("grey", color) == 0) {
|
||||
m_color = Palette::GreyDark;
|
||||
constexpr NameColorPair pairs[] = {
|
||||
NameColorPair("blue", KDColorBlue),
|
||||
NameColorPair("red", KDColorRed),
|
||||
NameColorPair("green", Palette::Green),
|
||||
NameColorPair("yellow", KDColorYellow),
|
||||
NameColorPair("brown", Palette::Brown),
|
||||
NameColorPair("black", KDColorBlack),
|
||||
NameColorPair("white", KDColorWhite),
|
||||
NameColorPair("pink", Palette::Pink),
|
||||
NameColorPair("orange", Palette::Orange),
|
||||
NameColorPair("purple", Palette::Purple),
|
||||
NameColorPair("grey", Palette::GreyDark)
|
||||
};
|
||||
for (NameColorPair p : pairs) {
|
||||
if (strcmp(p.name(), color) == 0) {
|
||||
m_color = p.color();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -99,6 +99,19 @@ private:
|
||||
Forward = 4
|
||||
};
|
||||
|
||||
class NameColorPair {
|
||||
public:
|
||||
constexpr NameColorPair(const char * name, KDColor color) :
|
||||
m_name(name),
|
||||
m_color(color)
|
||||
{}
|
||||
const char * name() const { return m_name; }
|
||||
KDColor color() const { return m_color; }
|
||||
private:
|
||||
const char * m_name;
|
||||
KDColor m_color;
|
||||
};
|
||||
|
||||
void setHeadingPrivate(mp_float_t angle);
|
||||
KDPoint position(mp_float_t x, mp_float_t y) const;
|
||||
KDPoint position() const { return position(m_x, m_y); }
|
||||
|
||||
Reference in New Issue
Block a user