Rien de t’empêche de créer toi même ces 2 fonctions.
Je l'ai fais pour les sf::Vector2 et sf::Vector3 pour leur rajouter des fonctions mathématiques ( produit scalaire, vectoriel, norme et autres)
il suffit de créer un fichier .hpp et de l'appeler à la place de SFML/Graphics/Rect.hpp
#include <SFML/Graphics/Rect.hpp>
template <class T>
sf::Vector2<T> GetPosition(const sf::Rect<T>& rect)
{
return sf::Vector2<T>(rect.left, rect.top);
}
template <class T>
sf::Vector2<T> GetSize(const sf::Rect<T>& rect)
{
return sf::Vector2<T>(rect.width, rect.height);
}
après il suffit d'appeler un:
- SetPosition(GetPosition(unrect));
ou
- SetSize(GetSize(unrect));
Biensur c'est qu'un exemple de ce qui est possible, mais ça gène pas trop vu que les attributs de Rect sont publics. Comme y a les 2 implémentations avec Vector2 et avec (x, y) ca me dérange pas plus que ça.