From bc981a2e29bf0fcdd8ea77bcb50dd85d6282eb94 Mon Sep 17 00:00:00 2001 From: SmallJoker Date: Thu, 5 Jun 2025 18:53:21 +0200 Subject: [PATCH] revertt --- games/devtest/mods/testformspec/formspec.lua | 2 +- src/gui/StyleSpec.h | 3 +++ src/gui/guiButton.cpp | 9 ++++----- src/gui/guiButtonImage.cpp | 5 ----- src/gui/guiButtonImage.h | 3 --- src/gui/guiFormSpecMenu.h | 1 - 6 files changed, 8 insertions(+), 15 deletions(-) diff --git a/games/devtest/mods/testformspec/formspec.lua b/games/devtest/mods/testformspec/formspec.lua index 94c2ceba6..f2f632fa0 100644 --- a/games/devtest/mods/testformspec/formspec.lua +++ b/games/devtest/mods/testformspec/formspec.lua @@ -235,7 +235,7 @@ local style_fs = [[ style[one_btn15;border=false;bgcolor=#1cc;bgimg=testformspec_bg.png;bgimg_hovered=testformspec_bg_hovered.png;bgimg_pressed=testformspec_bg_pressed.png] item_image_button[1.25,9.6;1,1;testformspec:item;one_btn15;Bg] - style[one_btn16;bgimg=testformspec_bg_9slice.png;bgimg_middle=4,6;padding=5,7;fgimg=testformspec_bg.png;fgimg_middle=1] + style[one_btn16;border=false;bgimg=testformspec_bg_9slice.png;bgimg_middle=4,6;padding=5,7;fgimg=testformspec_bg.png;fgimg_middle=1] style[one_btn16:hovered;bgimg=testformspec_bg_9slice_hovered.png;fgimg=testformspec_bg_hovered.png] style[one_btn16:pressed;bgimg=testformspec_bg_9slice_pressed.png;fgimg=testformspec_bg_pressed.png] style[one_btn16:focused;bgimg=testformspec_bg_9slice_focused.png;fgimg=testformspec_bg_focused.png] diff --git a/src/gui/StyleSpec.h b/src/gui/StyleSpec.h index a952e855a..1003c5865 100644 --- a/src/gui/StyleSpec.h +++ b/src/gui/StyleSpec.h @@ -13,6 +13,9 @@ #include #include +class StyleSpec; + +using StyleSpecMap = std::unordered_map>; class StyleSpec { diff --git a/src/gui/guiButton.cpp b/src/gui/guiButton.cpp index a8cd2cafa..f4ded8b18 100644 --- a/src/gui/guiButton.cpp +++ b/src/gui/guiButton.cpp @@ -255,10 +255,9 @@ void GUIButton::draw() video::IVideoDriver* driver = Environment->getVideoDriver(); IGUISkin *skin = Environment->getSkin(); - const bool is_9_slice_border = BgMiddle.getArea() > 0; // END PATCH - if (DrawBorder && !is_9_slice_border) + if (DrawBorder) { if (!Pressed) { @@ -307,14 +306,14 @@ void GUIButton::draw() // FIXME: Vertices can only be darkened because [0, 255] is normalized to [0, 1] // For reference: irr/src/OpenGL/Driver.cpp -> `vt2DImage` video::SColor image_colors[] = { BgColor, BgColor, BgColor, BgColor }; - if (!is_9_slice_border) { + if (BgMiddle.getArea() == 0) { // Regular image button driver->draw2DImage(texture, ScaleImage? AbsoluteRect : core::rect(pos, sourceRect.getSize()), sourceRect, &AbsoluteClippingRect, image_colors, UseAlphaChannel); - } else if (DrawBorder) { - // The background image is 9-slice --> use as new border style + } else { + // This is generally used to replace the default border style draw2DImage9Slice(driver, texture, ScaleImage ? AbsoluteRect : core::rect(pos, sourceRect.getSize()), sourceRect, BgMiddle, &AbsoluteClippingRect, image_colors); diff --git a/src/gui/guiButtonImage.cpp b/src/gui/guiButtonImage.cpp index 61849be22..fd3481d85 100644 --- a/src/gui/guiButtonImage.cpp +++ b/src/gui/guiButtonImage.cpp @@ -24,11 +24,6 @@ GUIButtonImage::GUIButtonImage(gui::IGUIEnvironment *environment, sendToBack(m_image.get()); } -void GUIButtonImage::draw() -{ - GUIButton::draw(); -} - void GUIButtonImage::setForegroundImage(irr_ptr image, const core::rect &middle) { diff --git a/src/gui/guiButtonImage.h b/src/gui/guiButtonImage.h index dd84b2569..c07be178b 100644 --- a/src/gui/guiButtonImage.h +++ b/src/gui/guiButtonImage.h @@ -19,9 +19,6 @@ public: s32 id, core::rect rectangle, ISimpleTextureSource *tsrc, bool noclip = false); - //! draws the element and its children - virtual void draw() override; - void setForegroundImage(irr_ptr image = nullptr, const core::rect &middle = core::rect()); diff --git a/src/gui/guiFormSpecMenu.h b/src/gui/guiFormSpecMenu.h index 8380bb5a4..b732fe0f4 100644 --- a/src/gui/guiFormSpecMenu.h +++ b/src/gui/guiFormSpecMenu.h @@ -302,7 +302,6 @@ protected: bool precheckElement(const std::string &name, const std::string &element, size_t args_min, size_t args_max, std::vector &parts); - using StyleSpecMap = std::unordered_map>; StyleSpecMap theme_by_type, theme_by_name; std::unordered_set property_warned;