mirror of
https://github.com/J-D-K/JKSV.git
synced 2026-03-22 09:44:19 -05:00
48 lines
1.1 KiB
C++
48 lines
1.1 KiB
C++
#include "ui/TitleTile.hpp"
|
|
#include "colors.hpp"
|
|
|
|
ui::TitleTile::TitleTile(bool isFavorite, sdl::SharedTexture icon) : m_isFavorite(isFavorite), m_icon(icon) {};
|
|
|
|
void ui::TitleTile::update(bool isSelected)
|
|
{
|
|
if (isSelected && m_renderWidth < 164)
|
|
{
|
|
// I think it's safe to assume both are too small.
|
|
m_renderWidth += 18;
|
|
m_renderHeight += 18;
|
|
}
|
|
else if (!isSelected && m_renderWidth > 128)
|
|
{
|
|
m_renderWidth -= 9;
|
|
m_renderHeight -= 9;
|
|
}
|
|
}
|
|
|
|
void ui::TitleTile::render(SDL_Texture *target, int x, int y)
|
|
{
|
|
int renderX = x - ((m_renderWidth - 128) / 2);
|
|
int renderY = y - ((m_renderHeight - 128) / 2);
|
|
|
|
m_icon->render_stretched(target, renderX, renderY, m_renderWidth, m_renderHeight);
|
|
if (m_isFavorite)
|
|
{
|
|
sdl::text::render(target, renderX + 4, renderY + 2, 28, sdl::text::NO_TEXT_WRAP, colors::PINK, "\uE017");
|
|
}
|
|
}
|
|
|
|
void ui::TitleTile::reset()
|
|
{
|
|
m_renderWidth = 128;
|
|
m_renderHeight = 128;
|
|
}
|
|
|
|
int ui::TitleTile::get_width() const
|
|
{
|
|
return m_renderWidth;
|
|
}
|
|
|
|
int ui::TitleTile::get_height() const
|
|
{
|
|
return m_renderHeight;
|
|
}
|