X-Git-Url: http://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=man%2Fcurs_scroll.3x;h=9a99adfad9a9b4e7e7e8a5d1b81edcdd6799e02f;hb=HEAD;hp=ef0f8277df29b18f4e66dce73e16134a8f7a7203;hpb=d79ff7b4d5f5ac63e7d9d7e76706d95a1ddb243c;p=ncurses.git diff --git a/man/curs_scroll.3x b/man/curs_scroll.3x index ef0f8277..6dee97c5 100644 --- a/man/curs_scroll.3x +++ b/man/curs_scroll.3x @@ -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 * @@ -27,68 +27,136 @@ .\" 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.45 2024/05/25 20:16:27 tom Exp $ +.TH curs_scroll 3X 2024-05-25 "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\fP window .SH SYNOPSIS -\fB#include \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 +.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 +.B scroll +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. +.B \%scrl +and +.B \%wscrl +scroll +.B \%stdscr +or the specified window up or down depending on the sign of +.IR n "." +.bP +For positive +.IR n "," +line +.IR i + n +becomes +.I i +(scrolling up); +.bP +for negative +.IR n "," +line +.IR i \- n +becomes +.I i +(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 +.B ERR +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. +.B \%scrl +and +.B \%wscrl +may be implemented as macros. .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. +Unusually, +there is no +.B \%wscroll +function; +.B scroll +behaves as one would expect +.B \%wscroll +to, +accepting a +.I \%WINDOW +pointer argument. .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 +.BR ERR \*('' +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)