summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
authorDennis Friis <peavey@placid.dk>2008-04-27 22:40:27 +0000
committerDennis Friis <peavey@placid.dk>2008-04-27 22:40:27 +0000
commit044151cee3dc6a65ba21f93db331844d6c8f3974 (patch)
treeed49f83b57a0fc85d26ceadf1d154b12fc324873 /src/gui
parentab08248a2da802de38bb017b994c22e8f7999424 (diff)
downloadmana-client-044151cee3dc6a65ba21f93db331844d6c8f3974.tar.gz
mana-client-044151cee3dc6a65ba21f93db331844d6c8f3974.tar.bz2
mana-client-044151cee3dc6a65ba21f93db331844d6c8f3974.tar.xz
mana-client-044151cee3dc6a65ba21f93db331844d6c8f3974.zip
Add methods to get width and height adjusted for any visible scrollbars.
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/scrollarea.cpp12
-rw-r--r--src/gui/scrollarea.h12
2 files changed, 24 insertions, 0 deletions
diff --git a/src/gui/scrollarea.cpp b/src/gui/scrollarea.cpp
index 255aa2d8..21f37510 100644
--- a/src/gui/scrollarea.cpp
+++ b/src/gui/scrollarea.cpp
@@ -296,3 +296,15 @@ void ScrollArea::drawHMarker(gcn::Graphics *graphics)
static_cast<Graphics*>(graphics)->
drawImageRect(dim.x, dim.y, dim.width, dim.height, vMarker);
}
+
+int ScrollArea::getAdjustedWidth() const
+{
+ return ScrollArea::getDimension().width -
+ (mVBarVisible ? ScrollArea::getScrollbarWidth() : 0);
+}
+
+int ScrollArea::getAdjustedHeight() const
+{
+ return ScrollArea::getDimension().height -
+ (mHBarVisible ? ScrollArea::getScrollbarWidth() : 0);
+}
diff --git a/src/gui/scrollarea.h b/src/gui/scrollarea.h
index be361f68..c714bf1f 100644
--- a/src/gui/scrollarea.h
+++ b/src/gui/scrollarea.h
@@ -78,6 +78,18 @@ class ScrollArea : public gcn::ScrollArea
*/
bool isOpaque() const { return mOpaque; }
+ /**
+ * Return the width of the scrollarea adjusting for visible
+ * vertical scrollbar.
+ */
+ int getAdjustedWidth() const;
+
+ /**
+ * Return the height of the scrollarea adjusting for visible
+ * horizontal scrollbar.
+ */
+ int getAdjustedHeight() const;
+
protected:
enum BUTTON_DIR {
UP,