window: support 'previous' background value for better composability

This commit is contained in:
Andrzej Rybczak
2014-11-11 17:37:59 +01:00
parent d26c3c8fc5
commit 059db198be
6 changed files with 72 additions and 71 deletions

View File

@@ -189,14 +189,18 @@ expressions<CharT> parseBracket(const string<CharT> &s,
{
++it;
rangeCheck(s, it, end);
auto jt = it;
string<CharT> scolor;
do
scolor += *it++;
while (it != end && *it != ')');
rangeCheck(s, it, end);
result.push_back(boost::lexical_cast<NC::Color>(
convertString<char, CharT>::apply(scolor)
));
auto value = convertString<char, CharT>::apply(scolor);
try {
result.push_back(boost::lexical_cast<NC::Color>(value));
} catch (boost::bad_lexical_cast &) {
throwError(s, jt, "invalid color \"" + value + "\"");
}
}
else
throwError(s, it, invalidCharacter(*it));