X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Feffectcolor.cpp;fp=source%2Feffectcolor.cpp;h=bd31fbfd0169bb3d608382d4d97dbf525196f8b5;hb=b4df72b647f47c25a0ccada832eda9bc0dfb5504;hp=0000000000000000000000000000000000000000;hpb=e1d95ecdf6c4b1a29d5ef32d493f1266be57d642;p=poefilter.git diff --git a/source/effectcolor.cpp b/source/effectcolor.cpp new file mode 100644 index 0000000..bd31fbf --- /dev/null +++ b/source/effectcolor.cpp @@ -0,0 +1,38 @@ +#include +#include "effectcolor.h" + +using namespace std; +using namespace Msp; + +void operator>>(const LexicalConverter &conv, EffectColor &color) +{ + const string &str = conv.get(); + if(str=="White") + color = WHITE; + else if(str=="Red") + color = RED; + else if(str=="Green") + color = GREEN; + else if(str=="Blue") + color = BLUE; + else if(str=="Brown") + color = BROWN; + else if(str=="Yellow") + color = YELLOW; + else + throw lexical_error(format("Conversion of %s to EffectColor", str)); +} + +void operator<<(LexicalConverter &conv, EffectColor color) +{ + switch(color) + { + case WHITE: conv.result("White"); return; + case RED: conv.result("Red"); return; + case GREEN: conv.result("Green"); return; + case BLUE: conv.result("Blue"); return; + case BROWN: conv.result("Brown"); return; + case YELLOW: conv.result("Yellow"); return; + default: conv.result(format("EffectColor(%d)", static_cast(color))); return; + } +}