1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-08-01 17:38:41 +00:00
luanti/src/gui/guiSkin.h

37 lines
1 KiB
C++

// Luanti
// SPDX-License-Identifier: LGPL-2.1-or-later
// Copyright (C) 2025 Krock/SmallJoker <mk939@ymail.com>
#pragma once
#include "StyleSpec.h" // StyleSpecMap
#include "../../irr/src/CGUISkin.h"
class GUISkin : public gui::CGUISkin {
public:
GUISkin(video::IVideoDriver *driver);
virtual ~GUISkin();
void setTextureSource(ISimpleTextureSource *src) { m_texture_source = src; }
virtual void drawColored3DButtonPaneStandard(gui::IGUIElement *element,
const core::rect<s32> &rect,
const core::rect<s32> *clip = 0,
const video::SColor *colors = 0) override;
virtual void drawColored3DButtonPanePressed(gui::IGUIElement *element,
const core::rect<s32> &rect,
const core::rect<s32> *clip = 0,
const video::SColor *colors = 0) override;
StyleSpecMap &getThemeRef() { return m_theme; }
private:
bool tryDrawPane(const char *type, StyleSpec::State state,
const core::rect<s32> &rect,
const core::rect<s32> *clip = 0);
ISimpleTextureSource *m_texture_source = nullptr;
StyleSpecMap m_theme;
};