Added setters for Widget properties
This commit is contained in:
parent
40df0f6e0c
commit
3f4e42d7ce
@ -22,6 +22,43 @@ m_bg_color(bg_color)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void WidgetImage::set_filename(const string& filename)
|
||||||
|
{
|
||||||
|
if (m_image_surface != nullptr)
|
||||||
|
{
|
||||||
|
SDL_FreeSurface(m_image_surface);
|
||||||
|
m_image_surface = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_filename = filename;
|
||||||
|
m_image_surface = IMG_Load(m_filename.c_str());
|
||||||
|
if (nullptr == m_image_surface)
|
||||||
|
{
|
||||||
|
// TODO: Print errors
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void WidgetImage::set_resize(ImageResize type)
|
||||||
|
{
|
||||||
|
m_resize_type = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
void WidgetImage::set_halign(HorizontalAlign halign)
|
||||||
|
{
|
||||||
|
m_halign = halign;
|
||||||
|
}
|
||||||
|
|
||||||
|
void WidgetImage::set_valign(VerticalAlign valign)
|
||||||
|
{
|
||||||
|
m_valign = valign;
|
||||||
|
}
|
||||||
|
|
||||||
|
void WidgetImage::set_bg_color(SDL_Color bg_color)
|
||||||
|
{
|
||||||
|
m_bg_color = bg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void WidgetImage::draw()
|
void WidgetImage::draw()
|
||||||
{
|
{
|
||||||
if (nullptr == m_surface)
|
if (nullptr == m_surface)
|
||||||
|
|||||||
@ -40,6 +40,12 @@ public:
|
|||||||
VerticalAlign valign = VALIGN_CENTER,
|
VerticalAlign valign = VALIGN_CENTER,
|
||||||
SDL_Color bg_color = SDL_Color{.r = 255, .g = 255, .b = 255, .a = SDL_ALPHA_TRANSPARENT});
|
SDL_Color bg_color = SDL_Color{.r = 255, .g = 255, .b = 255, .a = SDL_ALPHA_TRANSPARENT});
|
||||||
|
|
||||||
|
void set_filename(const std::string& filename);
|
||||||
|
void set_resize(ImageResize type);
|
||||||
|
void set_halign(HorizontalAlign halign);
|
||||||
|
void set_valign(VerticalAlign valign);
|
||||||
|
void set_bg_color(SDL_Color bg_color);
|
||||||
|
|
||||||
virtual void draw() override;
|
virtual void draw() override;
|
||||||
|
|
||||||
static std::unique_ptr<Widget> builder(const nlohmann::json& j);
|
static std::unique_ptr<Widget> builder(const nlohmann::json& j);
|
||||||
|
|||||||
@ -24,6 +24,21 @@ m_radius(radius)
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void WidgetRect::set_color(SDL_Color color)
|
||||||
|
{
|
||||||
|
m_color = color;
|
||||||
|
}
|
||||||
|
|
||||||
|
void WidgetRect::set_stroke_size(int stroke_size)
|
||||||
|
{
|
||||||
|
m_stroke_size = stroke_size
|
||||||
|
}
|
||||||
|
|
||||||
|
void WidgetRect::set_radius(int radius)
|
||||||
|
{
|
||||||
|
m_radius = radius;
|
||||||
|
}
|
||||||
|
|
||||||
void WidgetRect::draw()
|
void WidgetRect::draw()
|
||||||
{
|
{
|
||||||
if (nullptr == m_surface)
|
if (nullptr == m_surface)
|
||||||
|
|||||||
@ -27,6 +27,10 @@ public:
|
|||||||
WidgetRect(int x, int y, int width, int height,
|
WidgetRect(int x, int y, int width, int height,
|
||||||
int radius = 0, int stroke_size = -1);
|
int radius = 0, int stroke_size = -1);
|
||||||
|
|
||||||
|
void set_color(SDL_Color color);
|
||||||
|
void set_stroke_size(int stroke_size);
|
||||||
|
void set_radius(int radius);
|
||||||
|
|
||||||
virtual void draw() override;
|
virtual void draw() override;
|
||||||
|
|
||||||
static std::unique_ptr<Widget> builder(const nlohmann::json& j);
|
static std::unique_ptr<Widget> builder(const nlohmann::json& j);
|
||||||
|
|||||||
@ -168,6 +168,15 @@ void WidgetText::set_color(SDL_Color text_color)
|
|||||||
m_text_color = text_color;
|
m_text_color = text_color;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void WidgetText::set_halign_via_visible(bool value)
|
||||||
|
{
|
||||||
|
m_halign_via_visible = value;
|
||||||
|
}
|
||||||
|
void WidgetText::set_valign_via_visible(bool value)
|
||||||
|
{
|
||||||
|
m_valign_via_visible = value;
|
||||||
|
}
|
||||||
|
|
||||||
void WidgetText::draw()
|
void WidgetText::draw()
|
||||||
{
|
{
|
||||||
if (nullptr == m_surface)
|
if (nullptr == m_surface)
|
||||||
|
|||||||
@ -70,6 +70,8 @@ public:
|
|||||||
void set_halign(HorizontalAlign halign);
|
void set_halign(HorizontalAlign halign);
|
||||||
void set_valign(VerticalAlign valign);
|
void set_valign(VerticalAlign valign);
|
||||||
void set_color(SDL_Color text_color);
|
void set_color(SDL_Color text_color);
|
||||||
|
void set_halign_via_visible(bool value);
|
||||||
|
void set_valign_via_visible(bool value);
|
||||||
|
|
||||||
virtual void draw() override;
|
virtual void draw() override;
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user