en:docs:fapi:vioscrolllf

This is an old revision of the document!


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

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

Syntax

VioScrollLf (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 columns to be inserted at the right 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 columns. ;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.

Example Code

C Binding

<PRE> #define INCL_VIO

USHORT rc = VioScrollLf(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 */ </PRE>

MASM Binding

<PRE> EXTRN VioScrollLf: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 VioScrollLf

Returns WORD </PRE>

Note