diff options
Diffstat (limited to 'docshell/base/nsIScrollable.idl')
-rw-r--r-- | docshell/base/nsIScrollable.idl | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/docshell/base/nsIScrollable.idl b/docshell/base/nsIScrollable.idl new file mode 100644 index 000000000..931469528 --- /dev/null +++ b/docshell/base/nsIScrollable.idl @@ -0,0 +1,55 @@ +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * vim: set ts=2 sw=2 et tw=78: + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsISupports.idl" + +/** + * The nsIScrollable is an interface that can be implemented by a control that + * supports scrolling. This is a generic interface without concern for the + * type of content that may be inside. + */ +[scriptable, uuid(3507fc93-313e-4a4c-8ca8-4d0ea0f97315)] +interface nsIScrollable : nsISupports +{ + /** + * Constants declaring the two scroll orientations a scrollbar can be in. + * ScrollOrientation_X - Horizontal scrolling. When passing this + * in to a method you are requesting or setting data for the + * horizontal scrollbar. + * ScrollOrientation_Y - Vertical scrolling. When passing this + * in to a method you are requesting or setting data for the + * vertical scrollbar. + */ + const long ScrollOrientation_X = 1; + const long ScrollOrientation_Y = 2; + + /** + * Constants declaring the states of the scrollbars. + * ScrollPref_Auto - bars visible only when needed. + * ScrollPref_Never - bars never visible, even when scrolling still possible. + * ScrollPref_Always - bars always visible, even when scrolling is not possible + */ + const long Scrollbar_Auto = 1; + const long Scrollbar_Never = 2; + const long Scrollbar_Always = 3; + + /** + * Get or set the default scrollbar state for all documents in + * this shell. + */ + long getDefaultScrollbarPreferences(in long scrollOrientation); + void setDefaultScrollbarPreferences(in long scrollOrientation, + in long scrollbarPref); + + /** + * Get information about whether the vertical and horizontal scrollbars are + * currently visible. If you are only interested in one of the visibility + * settings pass nullptr in for the one you aren't interested in. + */ + void getScrollbarVisibility(out boolean verticalVisible, + out boolean horizontalVisible); +}; |