Sparkle 0.0.1
Loading...
Searching...
No Matches
spk_frame.hpp
1#pragma once
2
3#include "structure/widget/components/spk_nine_slice_background.hpp"
4#include "structure/widget/spk_widget.hpp"
5
6namespace spk
7{
18 class Frame : public spk::Widget
19 {
20 private:
21 NineSliceBackground _background;
22
23 void _updateSizeHint();
24
25 protected:
29 void _onGeometryChange() override;
34 void _onPaintEvent(spk::PaintEvent &p_event) override;
35
36 public:
42 Frame(const std::wstring &p_name, spk::Widget *p_parent);
43
48 void setCornerSize(const spk::Vector2UInt &p_cornerSize);
53 const spk::Vector2UInt &cornerSize() const;
54
59 void setTexture(const spk::SpriteSheet *p_spriteSheet);
64 const spk::SpriteSheet *texture() const;
65 };
66}
void setTexture(const spk::SpriteSheet *p_spriteSheet)
Sets the sprite sheet texture for the frame background.
Definition spk_frame.cpp:34
void _onGeometryChange() override
Updates background geometry when size changes.
Definition spk_frame.cpp:44
void _onPaintEvent(spk::PaintEvent &p_event) override
Paints the frame background.
Definition spk_frame.cpp:49
void setCornerSize(const spk::Vector2UInt &p_cornerSize)
Sets the corner size for nine-slice rendering.
Definition spk_frame.cpp:22
const spk::SpriteSheet * texture() const
Returns the sprite sheet texture.
Definition spk_frame.cpp:39
const spk::Vector2UInt & cornerSize() const
Returns the current corner size.
Definition spk_frame.cpp:29
Frame(const std::wstring &p_name, spk::Widget *p_parent)
Builds a frame widget.
Definition spk_frame.cpp:5
Renders a scalable nine-slice background using a sprite sheet.
Definition spk_nine_slice_background.hpp:25
Loads an image and exposes individual sprite regions.
Definition spk_sprite_sheet.hpp:21
Base class for interactive UI elements handling focus and events.
Definition spk_widget.hpp:52
Event emitted when a drawable region needs repainting.
Definition spk_paint_event.hpp:19