-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
-<!--
+<!--
****************************************************************************
- * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
+ * Copyright 1998-2006,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_scroll.3x,v 1.9 2001/10/14 00:51:56 tom Exp @
+ * @Id: curs_scroll.3x,v 1.43 2024/04/20 18:54:36 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
-<TITLE>curs_scroll 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>curs_scroll 3x 2024-04-20 ncurses 6.4 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
</HEAD>
<BODY>
-<H1>curs_scroll 3x</H1>
-<HR>
+<H1 class="no-header">curs_scroll 3x 2024-04-20 ncurses 6.4 Library calls</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
+<STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>scroll</STRONG>, <STRONG>scrl</STRONG>, <STRONG>wscrl</STRONG> - scroll a <STRONG>curses</STRONG> window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>scroll</STRONG>, <STRONG>scrl</STRONG>, <STRONG>wscrl</STRONG> - scroll a <EM>curses</EM> window
+
+
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
- <STRONG>int</STRONG> <STRONG>scroll(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>scrl(int</STRONG> <STRONG>n);</STRONG>
- <STRONG>int</STRONG> <STRONG>wscrl(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+ <STRONG>int</STRONG> <STRONG>scroll(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>scrl(int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wscrl(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>scroll</STRONG> routine scrolls the window up one line. This
- involves moving the lines in the window data structure.
- As an optimization, if the scrolling region of the window
- is the entire screen, the physical screen may be scrolled
- at the same time.
- For positive <EM>n</EM>, the <STRONG>scrl</STRONG> and <STRONG>wscrl</STRONG> routines scroll the
- window up <EM>n</EM> lines (line <EM>i</EM>+<EM>n</EM> becomes <EM>i</EM>); otherwise scroll
- the window down <EM>n</EM> lines. This involves moving the lines
- in the window character image structure. The current cur-
- sor position is not changed.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ <STRONG>scroll</STRONG> scrolls the given window up one line. That is, every visible
+ line we might number <EM>i</EM> becomes line <EM>i</EM>-1. The text of the top line in
+ the window disappears and the bottom line is populated with blank
+ characters; see <STRONG><A HREF="curs_bkgd.3x.html">bkgd(3x)</A></STRONG> or <STRONG><A HREF="curs_bkgrnd.3x.html">bkgrnd(3x)</A></STRONG>. As an optimization, if the
+ scrolling region of the window is the entire screen, the physical
+ screen may be scrolled at the same time; see <STRONG><A HREF="curs_variables.3x.html">curscr(3x)</A></STRONG>.
- For these functions to work, scrolling must be enabled via
- <STRONG>scrollok</STRONG>.
+ <STRONG>scrl</STRONG> and <STRONG>wscrl</STRONG> scroll <STRONG>stdscr</STRONG> or the specified window up or down
+ depending on the sign of <EM>n</EM>.
+ <STRONG>o</STRONG> For positive <EM>n</EM>, line <EM>i</EM>+<EM>n</EM> becomes <EM>i</EM> (scrolling up);
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- These routines return <STRONG>ERR</STRONG> upon failure, and <STRONG>OK</STRONG> (SVr4 only
- specifies "an integer value other than <STRONG>ERR</STRONG>") upon success-
- ful completion.
+ <STRONG>o</STRONG> for negative <EM>n</EM>, line <EM>i</EM>-<EM>n</EM> becomes <EM>i</EM> (scrolling down).
+ The cursor does not move. These functions perform no operation unless
+ scrolling is enabled for the window via <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- Note that <STRONG>scrl</STRONG> and <STRONG>scroll</STRONG> may be macros.
- The SVr4 documentation says that the optimization of phys-
- ically scrolling immediately if the scroll region is the
- entire screen "is" performed, not "may be" performed.
- This implementation deliberately does not guarantee that
- this will occur, to leave open the possibility of smarter
- optimization of multiple scroll actions on the next
- update.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ These functions return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon success.
- Neither the SVr4 nor the XSI documentation specify whether
- the current attribute or current color-pair of blanks gen-
- erated by the scroll function is zeroed. Under this
- implementation it is.
+ <EM>ncurses</EM> returns <STRONG>ERR</STRONG> if scrolling is not enabled in the window, for
+ example with <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG>, or if the <EM>WINDOW</EM> pointer is null.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses standard, Issue 4 describes these func-
- tions.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Unusually, there is no <STRONG>wscroll</STRONG> function; <STRONG>scroll</STRONG> behaves as one would
+ expect <STRONG>wscroll</STRONG> to, accepting a <EM>WINDOW</EM> pointer argument.
+ <STRONG>scrl</STRONG> and <STRONG>scroll</STRONG> may be implemented as macros.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ X/Open Curses, Issue 4 describes these functions. It defines no error
+ conditions.
+
+ SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>" as a successful
+ return value.
+
+ SVr4 indicates that the optimization of physically scrolling
+ immediately if the scroll region is the entire screen "is" performed,
+ not "may be" performed. <EM>ncurses</EM> deliberately does not guarantee that
+ this will occur, to leave open the possibility of smarter optimization
+ of multiple scroll actions on the next update.
+
+ Neither SVr4 <EM>curses</EM> nor X/Open Curses specify whether the current
+ attribute or current color pair of blanks generated by the scroll
+ function are zeroed. <EM>ncurses</EM> does so.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+
+
+ncurses 6.4 2024-04-20 <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>