From 391a2f6747246acd31c95118d225651658d58bb6 Mon Sep 17 00:00:00 2001 From: "troy%netscape.com" Date: Wed, 3 Feb 1999 04:25:31 +0000 Subject: [PATCH] Added GetScrollbarVisibility() --- view/public/nsIScrollableView.h | 7 +++++++ view/src/nsScrollingView.cpp | 8 ++++++++ view/src/nsScrollingView.h | 2 ++ 3 files changed, 17 insertions(+) diff --git a/view/public/nsIScrollableView.h b/view/public/nsIScrollableView.h index 917b9ce9c138..5e651ff268d8 100644 --- a/view/public/nsIScrollableView.h +++ b/view/public/nsIScrollableView.h @@ -139,6 +139,13 @@ public: */ NS_IMETHOD GetControlInsets(nsMargin &aInsets) const = 0; + /** + * Get information about whether the vertical and horizontal scrollbars + * are currently visible + */ + NS_IMETHOD GetScrollbarVisibility(PRBool *aVerticalVisible, + PRBool *aHorizontalVisible) const = 0; + private: NS_IMETHOD_(nsrefcnt) AddRef(void) = 0; NS_IMETHOD_(nsrefcnt) Release(void) = 0; diff --git a/view/src/nsScrollingView.cpp b/view/src/nsScrollingView.cpp index 937fc1b4903a..49778ac4b399 100644 --- a/view/src/nsScrollingView.cpp +++ b/view/src/nsScrollingView.cpp @@ -1295,6 +1295,14 @@ NS_IMETHODIMP nsScrollingView :: GetControlInsets(nsMargin &aInsets) const return NS_OK; } +NS_IMETHODIMP nsScrollingView :: GetScrollbarVisibility(PRBool *aVerticalVisible, + PRBool *aHorizontalVisible) const +{ + *aVerticalVisible = mVScrollBarView && ViewIsShowing(mVScrollBarView); + *aHorizontalVisible = mHScrollBarView && ViewIsShowing(mHScrollBarView); + return NS_OK; +} + void nsScrollingView :: AdjustChildWidgets(nsScrollingView *aScrolling, nsIView *aView, nscoord aDx, nscoord aDy, float scale) { PRInt32 numkids; diff --git a/view/src/nsScrollingView.h b/view/src/nsScrollingView.h index 8ae8c67dfb7f..5282197684de 100644 --- a/view/src/nsScrollingView.h +++ b/view/src/nsScrollingView.h @@ -60,6 +60,8 @@ public: NS_IMETHOD ScrollTo(nscoord aX, nscoord aY, PRUint32 aUpdateFlags); NS_IMETHOD SetControlInsets(const nsMargin &aInsets); NS_IMETHOD GetControlInsets(nsMargin &aInsets) const; + NS_IMETHOD GetScrollbarVisibility(PRBool *aVerticalVisible, + PRBool *aHorizontalVisible) const; //private virtual void HandleScrollEvent(nsGUIEvent *aEvent, PRUint32 aEventFlags);