Allow setting of the starstyle via the set command.

ver1_5_1
Chris Laurel 2003-07-21 00:00:49 +00:00
parent e3dff78712
commit a91dc75873
2 changed files with 23 additions and 1 deletions

View File

@ -162,7 +162,21 @@ Command* CommandParser::parseCommand()
double value = 0.0;
string name;
paramList->getString("name", name);
paramList->getNumber("value", value);
if (!paramList->getNumber("value", value))
{
// Some values may be specified via strings
string valstr;
if (paramList->getString("value", valstr))
{
if (compareIgnoringCase(valstr, "fuzzypoints") == 0)
value = (double) Renderer::FuzzyPointStars;
else if (compareIgnoringCase(valstr, "points") == 0)
value = (double) Renderer::PointStars;
else if (compareIgnoringCase(valstr, "scaleddiscs") == 0)
value = (double) Renderer::ScaledDiscStars;
}
}
cmd = new CommandSet(name, value);
}
else if (commandName == "select")

View File

@ -541,6 +541,14 @@ void CommandSet::process(ExecutionEnvironment& env)
if (env.getRenderer() != NULL)
env.getRenderer()->setDistanceLimit((float) value);
}
else if (compareIgnoringCase(name, "StarStyle") == 0)
{
// The cast from double to an enum requires an intermediate cast to int
// Probably shouldn't be doing this at all, but other alternatives
// are more trouble than they're worth.
if (env.getRenderer() != NULL)
env.getRenderer()->setStarStyle((Renderer::StarStyle) (int) value);
}
}