X-Git-Url: http://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=man%2Fcurs_scroll.3x;h=16d5a501094f4c145790639c2a308842cc463980;hb=HEAD;hp=4e694c33b1f932e3b00594f02d925f71c092a3b2;hpb=a8987e73ec254703634802b4f7ee30d3a485524d;p=ncurses.git diff --git a/man/curs_scroll.3x b/man/curs_scroll.3x index 4e694c33..6dee97c5 100644 --- a/man/curs_scroll.3x +++ b/man/curs_scroll.3x @@ -1,5 +1,6 @@ .\"*************************************************************************** -.\" Copyright (c) 1998-2001,2003 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 * @@ -26,59 +27,136 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_scroll.3x,v 1.10 2003/05/10 20:33:49 jmc Exp $ -.TH curs_scroll 3X "" +.\" $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\fR, \fBscrl\fR, \fBwscrl\fR - scroll a \fBcurses\fR window +\fB\%scroll\fP, +\fB\%scrl\fP, +\fB\%wscrl\fP \- +scroll a \fIcurses\fP window .SH SYNOPSIS -\fB#include \fR - -\fBint scroll(WINDOW *win);\fR -.br -\fBint scrl(int n);\fR -.br -\fBint wscrl(WINDOW *win, int n);\fR -.br +.nf +\fB#include +.PP +\fBint scroll(WINDOW * \fIwin\fP); +.PP +\fBint scrl(int \fIn\fP); +\fBint wscrl(WINDOW * \fIwin\fP, int \fIn\fP); +.fi .SH DESCRIPTION -The \fBscroll\fR 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 \fIn\fR, the \fBscrl\fR and \fBwscrl\fR routines scroll the -window up \fIn\fR lines (line \fIi\fR+\fIn\fR becomes \fIi\fR); otherwise -scroll the window down \fIn\fR lines. -This involves moving the lines in the -window character image structure. -The current cursor position is not changed. - -For these functions to work, scrolling must be enabled via \fBscrollok\fR. -.SH RETURN VALUE -These routines return \fBERR\fR upon failure, and \fBOK\fR (SVr4 only specifies -"an integer value other than \fBERR\fR") upon successful completion. +.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 +.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 +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 +.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\fR and \fBscroll\fR may be macros. - -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. - -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. +.B \%scrl +and +.B \%wscrl +may be implemented as macros. +.PP +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\fR(3X), \fBcurs_outopts\fR(3X) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: +\fB\%curses\fP(3X), +\fB\%curs_outopts\fP(3X)