diff options
author | Thorbjørn Lindeijer <bjorn@lindeijer.nl> | 2024-10-23 12:43:08 +0200 |
---|---|---|
committer | Thorbjørn Lindeijer <bjorn@lindeijer.nl> | 2025-03-07 21:58:01 +0000 |
commit | b69210ddbf1e989e0093d40c8a5c1a6d9bb16a50 (patch) | |
tree | a71a76d156a1617aa12091e0973ec561c73aaa59 /src | |
parent | 36e61479d32809887aae6eb7f126e35dd32de4a5 (diff) | |
download | mana-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.cpp | 33 | ||||
-rw-r--r-- | src/gui/widgets/scrollarea.h | 1 |
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; |