mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-10 23:44:24 +00:00
Tidied up some SVG transform parsing code.
This commit is contained in:
parent
e58a0ace65
commit
bce3aefadd
1 changed files with 6 additions and 16 deletions
|
|
@ -1157,9 +1157,9 @@ private:
|
|||
|
||||
tokens.removeEmptyStrings (true);
|
||||
|
||||
float numbers [6];
|
||||
float numbers[6];
|
||||
|
||||
for (int i = 0; i < 6; ++i)
|
||||
for (int i = 0; i < numElementsInArray (numbers); ++i)
|
||||
numbers[i] = tokens[i].getFloatValue();
|
||||
|
||||
AffineTransform trans;
|
||||
|
|
@ -1171,33 +1171,23 @@ private:
|
|||
}
|
||||
else if (t.startsWithIgnoreCase ("translate"))
|
||||
{
|
||||
jassert (tokens.size() == 2);
|
||||
trans = AffineTransform::translation (numbers[0], numbers[1]);
|
||||
}
|
||||
else if (t.startsWithIgnoreCase ("scale"))
|
||||
{
|
||||
if (tokens.size() == 1)
|
||||
trans = AffineTransform::scale (numbers[0]);
|
||||
else
|
||||
trans = AffineTransform::scale (numbers[0], numbers[1]);
|
||||
trans = AffineTransform::scale (numbers[0], numbers[tokens.size() > 1 ? 1 : 0]);
|
||||
}
|
||||
else if (t.startsWithIgnoreCase ("rotate"))
|
||||
{
|
||||
if (tokens.size() != 3)
|
||||
trans = AffineTransform::rotation (numbers[0] / (180.0f / float_Pi));
|
||||
else
|
||||
trans = AffineTransform::rotation (numbers[0] / (180.0f / float_Pi),
|
||||
numbers[1], numbers[2]);
|
||||
trans = AffineTransform::rotation (numbers[0] / (180.0f / float_Pi), numbers[1], numbers[2]);
|
||||
}
|
||||
else if (t.startsWithIgnoreCase ("skewX"))
|
||||
{
|
||||
trans = AffineTransform (1.0f, std::tan (numbers[0] * (float_Pi / 180.0f)), 0.0f,
|
||||
0.0f, 1.0f, 0.0f);
|
||||
trans = AffineTransform::shear (std::tan (numbers[0] * (float_Pi / 180.0f)), 0.0f);
|
||||
}
|
||||
else if (t.startsWithIgnoreCase ("skewY"))
|
||||
{
|
||||
trans = AffineTransform (1.0f, 0.0f, 0.0f,
|
||||
std::tan (numbers[0] * (float_Pi / 180.0f)), 1.0f, 0.0f);
|
||||
trans = AffineTransform::shear (0.0f, std::tan (numbers[0] * (float_Pi / 180.0f)));
|
||||
}
|
||||
|
||||
result = trans.followedBy (result);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue