]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - man/curs_scroll.3x
ncurses 6.4 - patch 20240420
[ncurses.git] / man / curs_scroll.3x
index ef0f8277df29b18f4e66dce73e16134a8f7a7203..16d5a501094f4c145790639c2a308842cc463980 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey                                *
+.\" 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  *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_scroll.3x,v 1.27 2023/07/01 14:31:54 tom Exp $
-.TH curs_scroll 3X 2023-07-01 "ncurses 6.4" "Library calls"
-.ie \n(.g .ds `` \(lq
-.el       .ds `` ``
-.ie \n(.g .ds '' \(rq
-.el       .ds '' ''
-.na
-.hy 0
+.\" $Id: curs_scroll.3x,v 1.43 2024/04/20 18:54:36 tom Exp $
+.TH curs_scroll 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.ie \n(.g \{\
+.ds `` \(lq
+.ds '' \(rq
+.\}
+.el \{\
+.ie t .ds `` ``
+.el   .ds `` ""
+.ie t .ds '' ''
+.el   .ds '' ""
+.\}
+.
+.de bP
+.ie n  .IP \(bu 4
+.el    .IP \(bu 2
+..
 .SH NAME
-\fBscroll\fP,
-\fBscrl\fP,
-\fBwscrl\fP \- scroll a \fBcurses\fP window
-.ad
-.hy
+\fB\%scroll\fP,
+\fB\%scrl\fP,
+\fB\%wscrl\fP \-
+scroll a \fIcurses\fR window
 .SH SYNOPSIS
-\fB#include <curses.h>\fP
-.sp
-\fBint scroll(WINDOW *\fIwin\fB);\fR
-.sp
-\fBint scrl(int \fIn\fB);\fR
-.br
-\fBint wscrl(WINDOW *\fIwin\fB, int \fIn\fB);\fR
-.SH DESCRIPTION
-The \fBscroll\fP 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 \fIphysical screen\fP may be scrolled at the same time.
+.nf
+\fB#include <curses.h>
+.PP
+\fBint scroll(WINDOW *\fIwin\fP);
 .PP
-For positive \fIn\fP, the \fBscrl\fP and \fBwscrl\fP routines scroll the
-window up \fIn\fP lines (line \fIi\fP+\fIn\fP becomes \fIi\fP); otherwise
-scroll the window down \fIn\fP lines.
-This involves moving the lines in the
-window character image structure.
-The current cursor position is not changed.
+\fBint scrl(int \fIn\fP);
+\fBint wscrl(WINDOW *\fIwin\fP, int \fIn\fP);
+.fi
+.SH DESCRIPTION
+\fBscroll\fP scrolls the given window up one line.
+That is,
+every visible line we might number
+.I i
+becomes line
+.IR i "\-1."
+The text of the top line in the window disappears and the bottom line
+is populated with blank characters;
+see \fB\%bkgd\fP(3X) or \fB\%bkgrnd\fP(3X).
+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 \fB\%curscr\fP(3X).
 .PP
-For these functions to work, scrolling must be enabled via \fBscrollok\fP(3X).
-.SH RETURN VALUE
-These routines return \fBERR\fP upon failure, and \fBOK\fP (SVr4 only specifies
-"an integer value other than \fBERR\fP") upon successful completion.
+\fB\%scrl\fP and \fB\%wscrl\fP scroll
+.B \%stdscr
+or the specified window up or down depending on the sign of
+.IR n .
+.bP
+For positive
+.IR n ,
+line \fIi\fP+\fIn\fP becomes \fIi\fP (scrolling up);
+.bP
+for negative
+.IR n ,
+line \fIi\fP-\fIn\fP becomes \fIi\fP (scrolling down).
 .PP
-X/Open defines no error conditions.
+The cursor does not move.
+These functions perform no operation unless scrolling is enabled for the
+window via \fB\%scrollok\fP(3X).
+.SH "RETURN VALUE"
+These functions return
+.B ERR
+upon failure and
+.B OK
+upon success.
 .PP
-This implementation returns an error
-if the window pointer is null, or
-if scrolling is not enabled in the window, e.g., with \fBscrollok\fP(3X).
+.I \%ncurses
+returns \fBERR\fP if scrolling is not enabled in the window,
+for example with \fB\%scrollok\fP(3X),
+or if the
+.I \%WINDOW
+pointer is null.
 .SH NOTES
-Note that \fBscrl\fP and \fBscroll\fP may be macros.
-.PP
-The SVr4 documentation says that the optimization of physically 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.
+Unusually,
+there is no \fB\%wscroll\fP function;
+\fBscroll\fP behaves as one would expect \fB\%wscroll\fP to,
+accepting a \fI\%WINDOW\fP pointer argument.
 .PP
-Neither the SVr4 nor the XSI documentation specify whether the current
-attribute or
-current color-pair of blanks generated by the scroll function is zeroed.
-Under this implementation it is.
+\fB\%scrl\fP and \fB\%scroll\fP may be implemented as macros.
 .SH PORTABILITY
-The XSI Curses standard, Issue 4 describes these functions.
+X/Open Curses,
+Issue 4 describes these functions.
+It defines no error conditions.
+.PP
+SVr4 specifies only
+\*(``an integer value other than \fBERR\fP\*('' as a successful return
+value.
+.PP
+SVr4 indicates that the optimization of physically scrolling immediately
+if the scroll region is the entire screen \*(``is\*('' performed,
+not \*(``may be\*('' performed.
+.I \%ncurses
+deliberately does not guarantee that this will occur,
+to leave open the possibility of smarter optimization of multiple scroll
+actions on the next update.
+.PP
+Neither SVr4
+.I curses
+nor X/Open Curses specify whether the current attribute or current color
+pair of blanks generated by the scroll function are zeroed.
+.I \%ncurses
+does so.
 .SH SEE ALSO
-\fBcurses\fP(3X), \fBcurs_outopts\fP(3X)
+\fB\%curses\fP(3X),
+\fB\%curs_outopts\fP(3X)