Implementation Scrolling is often carried out on a computer by the CPU (
software scrolling) or by a
graphics processor. Some systems feature
hardware scrolling, where an image may be offset as it is displayed, without any
frame buffer manipulation (see also
hardware windowing). This was especially common in 8 and 16bit video game consoles.
UI paradigms In a
WIMP-style
graphical user interface (GUI), user-controlled scrolling is carried out by manipulating a
scrollbar with a mouse, or using
keyboard shortcuts, often the
arrow keys. Scrolling is often supported by
text user interfaces and
command line interfaces. Older
computer terminals changed the entire contents of the display one screenful ("page") at a time; this paging mode requires fewer resources than scrolling. Scrolling displays often also support page mode. Typically certain keys or
key combinations page up or down; on
PC-compatible keyboards the
page up and page down keys or the
space bar are used; earlier computers often used
control key combinations. Some
computer mice have a
scroll wheel, which scrolls the display, often vertically, when rolled; others have
scroll balls or
tilt wheels which allow both vertical and horizontal scrolling. Some software supports other ways of scrolling.
Adobe Reader has a mode identified by a small hand icon ("hand tool") on the document, which can then be dragged by clicking on it and moving the mouse as if sliding a large sheet of paper. When this feature is implemented on a
touchscreen it is called
kinetic scrolling. Touch-screens often use
inertial scrolling, in which the scrolling motion of an object continues in a decaying fashion after release of the touch, simulating the appearance of an object with
inertia. An early implementation of such behavior was in the "Star7"
PDA of
Sun Microsystems ca. 1991–1992. Scrolling can be controlled in other software-dependent ways by a PC mouse. Some scroll wheels can be pressed down, functioning like a button. Depending on the software, this allows both horizontal and vertical scrolling by dragging in the direction desired; when the mouse is moved to the original position, scrolling stops. A few scroll wheels can also be tilted, scrolling horizontally in one direction until released. On
touchscreen devices, scrolling is a
multi-touch gesture, done by swiping a finger on the screen vertically in the direction opposite to where the user wants to scroll to. If any content is too wide to fit on a display, horizontal scrolling is required to view all of it. In applications such as
graphics and
spreadsheets there is often more content than can fit either the width or the height of the screen at a comfortable scale, and scrolling in both directions is necessary.
Infinite scrolling In contrast to
material divided into discrete pages, the web design approach of
infinite scrolling dynamically adds new material to the user display, leading to a continuous, apparently bottomless or endless scrolling experience.
Text In
languages written horizontally, such as most Western languages, text documents longer than will fit on the screen are often displayed
wrapped and sized to fit the screen width, and scrolled vertically to bring desired content into view. It is possible to display lines too long to fit the display without wrapping, scrolling horizontally to view each entire line. However, this requires inconvenient constant line-by-line scrolling, while vertical scrolling is only needed after reading a full screenful. Software such as
word processors and
web browsers normally uses word-wrapping to display as many words in a single line as will fit the width of the screen or window or, for text organised in columns, each column.
Demos Scrolling texts, also referred to as
scrolltexts or
scrollers, played an important part in the birth of the computer
demo culture. The
software crackers often used their deep knowledge of
computer platforms to transform the information that accompanied their releases into
crack intros. The sole role of these intros was to scroll the text on the screen in an impressive way. ==Film and television==