Widgets: Improve default theme

This commit is contained in:
Jérôme Leclercq
2021-12-01 10:37:48 +01:00
parent 8582b94c44
commit b62d5f6846
4 changed files with 46 additions and 17 deletions

View File

@@ -17,7 +17,9 @@ namespace Nz
class NAZARA_WIDGETS_API SimpleButtonWidgetStyle : public ButtonWidgetStyle
{
public:
SimpleButtonWidgetStyle(ButtonWidget* buttonWidget, std::shared_ptr<Material> material, std::shared_ptr<Material> hoveredMaterial = {}, std::shared_ptr<Material> pressedMaterial = {}, std::shared_ptr<Material> pressedHoveredMaterial = {});
struct StyleConfig;
SimpleButtonWidgetStyle(ButtonWidget* buttonWidget, StyleConfig config);
SimpleButtonWidgetStyle(const SimpleButtonWidgetStyle&) = delete;
SimpleButtonWidgetStyle(SimpleButtonWidgetStyle&&) = default;
~SimpleButtonWidgetStyle() = default;
@@ -34,6 +36,16 @@ namespace Nz
SimpleButtonWidgetStyle& operator=(const SimpleButtonWidgetStyle&) = delete;
SimpleButtonWidgetStyle& operator=(SimpleButtonWidgetStyle&&) = default;
struct StyleConfig
{
std::shared_ptr<Material> hoveredMaterial;
std::shared_ptr<Material> material;
std::shared_ptr<Material> pressedMaterial;
std::shared_ptr<Material> pressedHoveredMaterial;
float cornerSize;
float cornerTexCoords;
};
protected:
virtual void UpdateMaterial(bool hovered, bool pressed);