summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <bjorn@lindeijer.nl>2024-10-23 12:43:08 +0200
committerThorbjørn Lindeijer <bjorn@lindeijer.nl>2025-03-07 21:58:01 +0000
commitb69210ddbf1e989e0093d40c8a5c1a6d9bb16a50 (patch)
treea71a76d156a1617aa12091e0973ec561c73aaa59 /src
parent36e61479d32809887aae6eb7f126e35dd32de4a5 (diff)
downloadmana-b69210ddbf1e989e0093d40c8a5c1a6d9bb16a50.tar.gz
mana-b69210ddbf1e989e0093d40c8a5c1a6d9bb16a50.tar.bz2
mana-b69210ddbf1e989e0093d40c8a5c1a6d9bb16a50.tar.xz
mana-b69210ddbf1e989e0093d40c8a5c1a6d9bb16a50.zip
Reuse gcn::ScrollArea::draw
Code appeared duplicated just because we don't draw the background, but this could be done by overriding drawBackground instead.
Diffstat (limited to 'src')
-rw-r--r--src/gui/widgets/scrollarea.cpp33
-rw-r--r--src/gui/widgets/scrollarea.h1
2 files changed, 7 insertions, 27 deletions
diff --git a/src/gui/widgets/scrollarea.cpp b/src/gui/widgets/scrollarea.cpp
index 44065580..e99e19e5 100644
--- a/src/gui/widgets/scrollarea.cpp
+++ b/src/gui/widgets/scrollarea.cpp
@@ -213,34 +213,8 @@ void ScrollArea::updateAlpha()
void ScrollArea::draw(gcn::Graphics *graphics)
{
- if (mVBarVisible)
- {
- drawUpButton(graphics);
- drawDownButton(graphics);
- drawVBar(graphics);
- drawVMarker(graphics);
- }
-
- if (mHBarVisible)
- {
- drawLeftButton(graphics);
- drawRightButton(graphics);
- drawHBar(graphics);
- drawHMarker(graphics);
- }
-
- if (mHBarVisible && mVBarVisible)
- {
- graphics->setColor(getBaseColor());
- graphics->fillRectangle(gcn::Rectangle(getWidth() - mScrollbarWidth,
- getHeight() - mScrollbarWidth,
- mScrollbarWidth,
- mScrollbarWidth));
- }
-
updateAlpha();
-
- drawChildren(graphics);
+ gcn::ScrollArea::draw(graphics);
}
void ScrollArea::drawFrame(gcn::Graphics *graphics)
@@ -291,6 +265,11 @@ void ScrollArea::drawButton(gcn::Graphics *graphics, BUTTON_DIR dir)
drawImage(buttons[dir][state], dim.x, dim.y);
}
+void ScrollArea::drawBackground(gcn::Graphics *graphics)
+{
+ // background is drawn as part of the frame instead
+}
+
void ScrollArea::drawUpButton(gcn::Graphics *graphics)
{
drawButton(graphics, UP);
diff --git a/src/gui/widgets/scrollarea.h b/src/gui/widgets/scrollarea.h
index faec0e8f..ac45e4c8 100644
--- a/src/gui/widgets/scrollarea.h
+++ b/src/gui/widgets/scrollarea.h
@@ -121,6 +121,7 @@ class ScrollArea : public gcn::ScrollArea, public gcn::WidgetListener
void init();
void drawButton(gcn::Graphics *graphics, BUTTON_DIR dir);
+ void drawBackground(gcn::Graphics *graphics) override;
void drawUpButton(gcn::Graphics *graphics) override;
void drawDownButton(gcn::Graphics *graphics) override;
void drawLeftButton(gcn::Graphics *graphics) override;