Browse Source

Merge remote-tracking branch 'gh/master' into develop

tags/2021-05-28
jules 11 years ago
parent
commit
4011549c70
1 changed files with 6 additions and 16 deletions
  1. +6
    -16
      modules/juce_gui_basics/drawables/juce_SVGParser.cpp

+ 6
- 16
modules/juce_gui_basics/drawables/juce_SVGParser.cpp View File

@@ -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…
Cancel
Save