Skip to content

Commit

Permalink
Update GallerySprite Code Style
Browse files Browse the repository at this point in the history
updates Gallery Sprite's code style including using constexpr and removing the USE_SFML_PRE_2_4 tag since moving to SFML 3.
  • Loading branch information
Hapaxia committed Feb 20, 2025
1 parent ab9c217 commit fe27447
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 48 deletions.
58 changes: 27 additions & 31 deletions src/SelbaWard/GallerySprite.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,8 @@
namespace
{

#ifdef USE_SFML_PRE_2_4
const sf::PrimitiveType primitiveType{ sf::PrimitiveType::TrianglesStrip };
#else // USE_SFML_PRE_2_4
const sf::PrimitiveType primitiveType{ sf::PrimitiveType::TriangleStrip };
#endif // USE_SFML_PRE_2_4
const unsigned int numberOfVertices{ 4u };
constexpr sf::PrimitiveType primitiveType{ sf::PrimitiveType::TriangleStrip };
constexpr std::size_t numberOfVertices{ 4u };

} // namespace

Expand All @@ -49,9 +45,9 @@ namespace selbaward

GallerySprite::GallerySprite()
: m_pTexture{ nullptr }
, m_vertices(4)
, m_vertices(4u)
, m_currentExhibit{ 0u }
, m_exhibits()
, m_exhibits{}
{
priv_updateVertices();
}
Expand Down Expand Up @@ -96,7 +92,7 @@ sf::Vector2f GallerySprite::getSize() const
return getSize(m_currentExhibit);
}

sf::Vector2f GallerySprite::getSize(const unsigned int exhibitNumber) const
sf::Vector2f GallerySprite::getSize(const std::size_t exhibitNumber) const
{
const sf::FloatRect& exhibitRectangle{ priv_getExhibit(exhibitNumber).rectangle };
return{ exhibitRectangle.size.x, exhibitRectangle.size.y };
Expand All @@ -107,42 +103,42 @@ void GallerySprite::setScaleFromTargetSize(const sf::Vector2f& targetSize)
setScaleFromTargetSize(targetSize, m_currentExhibit);
}

void GallerySprite::setScaleFromTargetSize(const sf::Vector2f& targetSize, const unsigned int exhibitNumber)
void GallerySprite::setScaleFromTargetSize(const sf::Vector2f& targetSize, const std::size_t exhibitNumber)
{
const sf::Vector2f exhibitSize{ getSize(exhibitNumber) };
this->setScale({ targetSize.x / exhibitSize.x, targetSize.y / exhibitSize.y });
}

unsigned int GallerySprite::getNumberOfExhibits() const
std::size_t GallerySprite::getNumberOfExhibits() const
{
return static_cast<unsigned int>(m_exhibits.size());
return m_exhibits.size();
}

void GallerySprite::set(const unsigned int exhibitNumber)
void GallerySprite::set(const std::size_t exhibitNumber)
{
m_currentExhibit = exhibitNumber;
priv_updateVertices();
}

unsigned int GallerySprite::get() const
std::size_t GallerySprite::get() const
{
return m_currentExhibit;
}

unsigned int GallerySprite::addExhibit(const Exhibit& exhibit)
std::size_t GallerySprite::addExhibit(const Exhibit& exhibit)
{
m_exhibits.emplace_back(exhibit);
return static_cast<unsigned int>(m_exhibits.size());
return m_exhibits.size();
}

void GallerySprite::setExhibit(const unsigned int exhibitNumber, const Exhibit& exhibit)
void GallerySprite::setExhibit(const std::size_t exhibitNumber, const Exhibit& exhibit)
{
m_exhibits[exhibitNumber - 1] = exhibit;
m_exhibits[exhibitNumber - 1u] = exhibit;
if (exhibitNumber == m_currentExhibit)
priv_updateVertices();
}

GallerySprite::Exhibit GallerySprite::getExhibit(const unsigned int exhibitNumber) const
GallerySprite::Exhibit GallerySprite::getExhibit(const std::size_t exhibitNumber) const
{
return priv_getExhibit(exhibitNumber);
}
Expand All @@ -152,14 +148,14 @@ GallerySprite::Exhibit GallerySprite::getExhibit() const
return priv_getCurrentExhibit();
}

void GallerySprite::setRect(const unsigned int exhibitNumber, const sf::FloatRect& textureRectangle)
void GallerySprite::setRect(const std::size_t exhibitNumber, const sf::FloatRect& textureRectangle)
{
m_exhibits[exhibitNumber - 1].rectangle = textureRectangle;
m_exhibits[exhibitNumber - 1u].rectangle = textureRectangle;
if (exhibitNumber == m_currentExhibit)
priv_updateVertices();
}

sf::FloatRect GallerySprite::getRect(const unsigned int exhibitNumber) const
sf::FloatRect GallerySprite::getRect(const std::size_t exhibitNumber) const
{
return priv_getExhibit(exhibitNumber).rectangle;
}
Expand All @@ -169,14 +165,14 @@ sf::FloatRect GallerySprite::getRect() const
return priv_getCurrentExhibit().rectangle;
}

void GallerySprite::setAnchor(const unsigned int exhibitNumber, const sf::Vector2f& anchor)
void GallerySprite::setAnchor(const std::size_t exhibitNumber, const sf::Vector2f& anchor)
{
m_exhibits[exhibitNumber - 1].anchor = anchor;
m_exhibits[exhibitNumber - 1u].anchor = anchor;
if (exhibitNumber == m_currentExhibit)
priv_updateVertices();
}

sf::Vector2f GallerySprite::getAnchor(const unsigned int exhibitNumber) const
sf::Vector2f GallerySprite::getAnchor(const std::size_t exhibitNumber) const
{
return priv_getExhibit(exhibitNumber).anchor;
}
Expand Down Expand Up @@ -213,7 +209,7 @@ GallerySprite& GallerySprite::operator++()
// prefix only
GallerySprite& GallerySprite::operator--()
{
if (m_currentExhibit > 0)
if (m_currentExhibit > 0u)
{
--m_currentExhibit;
priv_updateVertices();
Expand All @@ -222,7 +218,7 @@ GallerySprite& GallerySprite::operator--()
return *this;
}

void GallerySprite::operator+=(const unsigned int exhibits)
void GallerySprite::operator+=(const std::size_t exhibits)
{
if (exhibits == 0u)
return;
Expand All @@ -231,7 +227,7 @@ void GallerySprite::operator+=(const unsigned int exhibits)
priv_updateVertices();
}

void GallerySprite::operator-=(const unsigned int exhibits)
void GallerySprite::operator-=(const std::size_t exhibits)
{
if (exhibits == 0u || m_currentExhibit == 0u)
return;
Expand Down Expand Up @@ -276,23 +272,23 @@ GallerySprite::Exhibit GallerySprite::priv_getCurrentExhibit() const
return priv_getExhibit(m_currentExhibit);
}

GallerySprite::Exhibit GallerySprite::priv_getExhibit(unsigned int exhibitNumber) const
GallerySprite::Exhibit GallerySprite::priv_getExhibit(const std::size_t exhibitNumber) const
{
if (m_pTexture == nullptr || exhibitNumber > m_exhibits.size())
return Exhibit();

if (exhibitNumber == 0u)
return{ { { 0.f, 0.f }, { static_cast<float>(m_pTexture->getSize().x), static_cast<float>(m_pTexture->getSize().y) } }, { 0.f, 0.f } };

return m_exhibits[exhibitNumber - 1];
return m_exhibits[exhibitNumber - 1u];
}

sf::FloatRect GallerySprite::priv_getAdjustedLocalRectangleFromCurrentExhibit() const
{
return priv_getAdjustedLocalRectangleFromExhibit(m_currentExhibit);
}

sf::FloatRect GallerySprite::priv_getAdjustedLocalRectangleFromExhibit(unsigned int exhibitNumber) const
sf::FloatRect GallerySprite::priv_getAdjustedLocalRectangleFromExhibit(const std::size_t exhibitNumber) const
{
return{ -priv_getExhibit(exhibitNumber).anchor, getSize(exhibitNumber) };
}
Expand Down
34 changes: 17 additions & 17 deletions src/SelbaWard/GallerySprite.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -59,22 +59,22 @@ class GallerySprite : public sf::Drawable, public sf::Transformable
void setTexture();
const sf::Texture& getTexture() const;
sf::Vector2f getSize() const; // size of current exhibit
sf::Vector2f getSize(unsigned int exhibitNumber) const; // size of selected exhibit
sf::Vector2f getSize(std::size_t exhibitNumber) const; // size of selected exhibit
void setScaleFromTargetSize(const sf::Vector2f& targetSize); // note: this is based on the current exhibit. scale value will remain even if exhibit changes unless fixed by again calling this method
void setScaleFromTargetSize(const sf::Vector2f& targetSize, unsigned int exhibitNumber); // uses a specific exhibit rather than the current exhibit. sets the scale so that the exhibit specified would be the target size provided
unsigned int getNumberOfExhibits() const;
void set(unsigned int exhibitNumber);
unsigned int get() const;
void setScaleFromTargetSize(const sf::Vector2f& targetSize, std::size_t exhibitNumber); // uses a specific exhibit rather than the current exhibit. sets the scale so that the exhibit specified would be the target size provided
std::size_t getNumberOfExhibits() const;
void set(std::size_t exhibitNumber);
std::size_t get() const;

unsigned int addExhibit(const Exhibit& exhibit);
void setExhibit(unsigned int exhibitNumber, const Exhibit& exhibit);
Exhibit getExhibit(unsigned int exhibitNumber) const;
std::size_t addExhibit(const Exhibit& exhibit);
void setExhibit(std::size_t exhibitNumber, const Exhibit& exhibit);
Exhibit getExhibit(std::size_t exhibitNumber) const;
Exhibit getExhibit() const;
void setRect(unsigned int exhibitNumber, const sf::FloatRect& rect);
sf::FloatRect getRect(unsigned int exhibitNumber) const;
void setRect(std::size_t exhibitNumber, const sf::FloatRect& rect);
sf::FloatRect getRect(std::size_t exhibitNumber) const;
sf::FloatRect getRect() const;
void setAnchor(unsigned int exhibitNumber, const sf::Vector2f& anchor);
sf::Vector2f getAnchor(unsigned int exhibitNumber) const;
void setAnchor(std::size_t exhibitNumber, const sf::Vector2f& anchor);
sf::Vector2f getAnchor(std::size_t exhibitNumber) const;
sf::Vector2f getAnchor() const;

bool contains(const sf::Vector2f& point) const;
Expand All @@ -85,21 +85,21 @@ class GallerySprite : public sf::Drawable, public sf::Transformable
GallerySprite& operator++(); // prefix only
GallerySprite& operator--(); // prefix only

void operator+=(unsigned int numberOfExhibits);
void operator-=(unsigned int numberOfExhibits);
void operator+=(std::size_t numberOfExhibits);
void operator-=(std::size_t numberOfExhibits);

private:
const sf::Texture* m_pTexture;
std::vector<sf::Vertex> m_vertices;
unsigned int m_currentExhibit;
std::size_t m_currentExhibit;
std::vector<Exhibit> m_exhibits;

void draw(sf::RenderTarget&, sf::RenderStates) const override;
void priv_updateVertices();
Exhibit priv_getCurrentExhibit() const;
Exhibit priv_getExhibit(unsigned int exhibitNumber) const;
Exhibit priv_getExhibit(const std::size_t exhibitNumber) const;
sf::FloatRect priv_getAdjustedLocalRectangleFromCurrentExhibit() const;
sf::FloatRect priv_getAdjustedLocalRectangleFromExhibit(unsigned int exhibitNumber) const;
sf::FloatRect priv_getAdjustedLocalRectangleFromExhibit(const std::size_t exhibitNumber) const;
};

} // namespace selbaward
Expand Down

0 comments on commit fe27447

Please sign in to comment.