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.  It simply deals blindly with scroll
 position as a composite of the lowest possible scroll position, the highest
 possible position and the current position lying somewhere between the 
 min and the max. 
[scriptable, uuid(919e792a-6490-40b8-bba5-f9e9ad5640c8)]
interface nsIScrollable : nsISupports


const long ScrollOrientation_X = 1

const long ScrollOrientation_Y = 2

const long Scrollbar_Auto = 1

const long Scrollbar_Never = 2

const long Scrollbar_Always = 3


long getCurScrollPos(in long scrollOrientation)

long getDefaultScrollbarPreferences(in long scrollOrientation)

void getScrollRange(in long scrollOrientation, out long minPos, out long maxPos)

void getScrollbarVisibility(out boolean verticalVisible, out boolean horizontalVisible)

void setCurScrollPos(in long scrollOrientation, in long curPos)

void setCurScrollPosEx(in long curHorizontalPos, in long curVerticalPos)

void setDefaultScrollbarPreferences(in long scrollOrientation, in long scrollbarPref)

void setScrollRange(in long scrollOrientation, in long minPos, in long maxPos)

void setScrollRangeEx(in long minHorizontalPos, in long maxHorizontalPos, in long minVerticalPos, in long maxVerticalPos)