diff options
author | Hugues Ross <hugues.ross@gmail.com> | 2019-12-09 15:06:51 -0500 |
---|---|---|
committer | rubenwardy <rw@rubenwardy.com> | 2019-12-09 20:06:51 +0000 |
commit | 9284313d17ba906de449c6d39ef3ddacb6c73791 (patch) | |
tree | dd1ce7e801fbd5ed9e8a7446560d3343ffb2f15a /src/gui/guiButtonItemImage.cpp | |
parent | a462181e5fe631b816cb67a4e2cb8a870ed71840 (diff) | |
download | minetest-9284313d17ba906de449c6d39ef3ddacb6c73791.tar.gz minetest-9284313d17ba906de449c6d39ef3ddacb6c73791.tar.bz2 minetest-9284313d17ba906de449c6d39ef3ddacb6c73791.zip |
Refactor to centralize GUIButton styling/rendering code (#9090)
Diffstat (limited to 'src/gui/guiButtonItemImage.cpp')
-rw-r--r-- | src/gui/guiButtonItemImage.cpp | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/gui/guiButtonItemImage.cpp b/src/gui/guiButtonItemImage.cpp new file mode 100644 index 000000000..5c48b2acd --- /dev/null +++ b/src/gui/guiButtonItemImage.cpp @@ -0,0 +1,57 @@ +/* +Minetest +Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com> + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +#include "guiButtonItemImage.h" + +#include "client/client.h" +#include "client/hud.h" // drawItemStack +#include "guiItemImage.h" +#include "IGUIEnvironment.h" +#include "itemdef.h" + +using namespace irr; +using namespace gui; + +GUIButtonItemImage::GUIButtonItemImage(gui::IGUIEnvironment *environment, gui::IGUIElement *parent, + s32 id, core::rect<s32> rectangle, std::string item, Client *client, bool noclip) + : GUIButton (environment, parent, id, rectangle, noclip) +{ + m_image = new GUIItemImage(environment, this, id, + core::rect<s32>(0,0,rectangle.getWidth(),rectangle.getHeight()), + item, getActiveFont(), client); + sendToBack(m_image); + + m_item_name = item; + m_client = client; +} + +GUIButtonItemImage *GUIButtonItemImage::addButton(IGUIEnvironment *environment, + const core::rect<s32> &rectangle, IGUIElement *parent, s32 id, + const wchar_t *text, std::string item, Client *client) +{ + GUIButtonItemImage *button = new GUIButtonItemImage(environment, + parent ? parent : environment->getRootGUIElement(), + id, rectangle, item, client); + + if (text) + button->setText(text); + + button->drop(); + return button; +} |