Jump to content

VioScrollDn

From EDM2
Revision as of 19:43, 12 January 2017 by Ak120 (talk | contribs) (Ak120 moved page OS2 API:CPI:LEGACY:VioScrollDn to VioScrollDn)

Description

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.


OS/2 Toolkit 4.52

This function is defined on bsesub.h header of the OS/2 Toolkit on 4.52.

   #define VioScrollDn             VIO16SCROLLDN
  APIRET16 APIENTRY16  VioScrollDn (USHORT usTopRow,
                                    USHORT usLeftCol,
                                    USHORT usBotRow,
                                    USHORT usRightCol,
                                    USHORT cbLines,
                                    PBYTE pCell,
                                    HVIO hvio);

Example Code

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

Related Functions