en:docs:fapi:vioscrolldn

This is part of Family API which allow to create dual-os version of program runs under OS/2 and DOS

Note: This is legacy API call. It is recommended to use 32-bit equivalent

2021/09/17 04:47 · prokushev · 0 Comments
2021/08/20 03:18 · prokushev · 0 Comments

VioScrollDn

This call scrolls the entire display buffer (or area specified within the display buffer) down.

Syntax

VioScrollDn (TopRow, LeftCol, BotRow, RightCol, Lines, Cell, VioHandle)

Parameters

  • TopRow (USHORT) - input : Top row to be scrolled.
  • LeftCol (USHORT) - input : Left column to be scrolled.
  • BotRow (USHORT) - input : Bottom row to be scrolled.
  • RightCol (USHORT) - input : Right column to be scrolled.
  • Lines (USHORT) - input : Number of lines to be inserted at the top of the screen area being scrolled. If 0 is specified, no lines are scrolled.
  • Cell (PBYTE) - input : Address of the character-attribute(s) pair (2 or 4 bytes) used as a fill character on inserted lines.
  • VioHandle (HVIO) - input : This must be zero unless the caller is a Presentation Manager application, in which case it must be the value returned by VioGetPs.

Return Code

rc (USHORT) - return

Return code descriptions are:

  • 0 NO_ERROR
  • 355 ERROR_VIO_MODE
  • 358 ERROR_VIO_ROW
  • 359 ERROR_VIO_COL
  • 436 ERROR_VIO_INVALID_HANDLE
  • 465 ERROR_VIO_DETACHED

Remarks

TopRow = 0 and LeftCol = 0 identifies the top left corner of the screen.

If a value greater than the maximum value is specified for TopRow, LeftCol, BotRow, RightCol, or Lines, the maximum value for that parameter is used.

If TopRow and LeftCol = 0 and if BotRow, RightCol, and Lines = 65535 (or -1 in assembler language), the entire screen is filled with the character-attribute pair defined by Cell.

Bindings

C Binding

#define INCL_VIO
 
USHORT  rc = VioScrollDn(TopRow, LeftCol, BotRow, RightCol, Lines, Cell,
                             VioHandle);
 
USHORT           TopRow;        /* Top row */
USHORT           LeftCol;       /* Left column */
USHORT           BotRow;        /* Bottom row */
USHORT           RightCol;      /* Right column */
USHORT           Lines;         /* Number of lines */
PBYTE            Cell;          /* Cell to be written */
HVIO             VioHandle;     /* Video handle */
 
USHORT           rc;            /* return code */

MASM Binding

EXTRN  VioScrollDn:FAR
INCL_VIO            EQU 1
 
PUSH   WORD    TopRow        ;Top row
PUSH   WORD    LeftCol       ;Left column
PUSH   WORD    BotRow        ;Bottom row
PUSH   WORD    RightCol      ;Right column
PUSH   WORD    Lines         ;Number of lines
PUSH@  OTHER   Cell          ;Cell to be written
PUSH   WORD    VioHandle     ;Video handle
CALL   VioScrollDn
 
Returns WORD

Note