I'm unsure as to whether this was intentional or not, but when scaling anything in SFML 2, it also scales the origin. This for example -
#include <SFML/Graphics.hpp>
int main()
{
sf::RenderWindow window(sf::VideoMode(800, 600), "Origin Scaling");
sf::RectangleShape rectangle;
rectangle.setSize(sf::Vector2f(100, 50));
rectangle.setScale(0.25, 0.25);
rectangle.setOrigin(-300, -300);
while (1)
{
window.draw(rectangle);
window.display();
}
}
will not move the rectangle 300 pixels away from the left and 300 from the top, but rather a quarter of that.