Mypal/docshell/base/nsIScrollable.idl

55 lines
2.1 KiB
Plaintext

/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* 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);
};