en:docs:fapi:viosetcurtype

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

VioSetCurType

This call sets the cursor type.

Syntax

VioSetCurType (CursorData, VioHandle)

Parameters

  • CursorData (PVIOCURSORINFO) - input : Address of the cursor characteristics structure:
    • startline (USHORT) : Horizontal scan line in the character cell that marks the top line of the cursor. If the character cell has n scan lines, 0 is the top scan line of the character cell and (n - 1) is the bottom scan line.
    • endline (USHORT) : Horizontal scan line in the character cell that marks the bottom line of the cursor. Scan lines within a character cell are numbered as defined in startline. The maximum value allowed is 31.
    • cursorwidth (USHORT) : Width of the cursor. In text modes, cursorwidth is the number of columns. The maximum number supported by the OS/2 base video subsystem is 1. In graphics modes, cursorwidth is the number of pels.

A value of 0 specifies the default width. In text modes, this is 1 column. In graphics modes, this is the number of pels equivalent to the width of one character.

  • cursorattrib (USHORT) : A value of -1 denotes a hidden cursor, all other values denote a normal cursor.
  • 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
  • 356 ERROR_VIO_WIDTH
  • 421 ERROR_VIO_INVALID_PARMS
  • 436 ERROR_VIO_INVALID_HANDLE
  • 465 ERROR_VIO_DETACHED

Remarks

Bindings

C Binding

typedef struct _VIOCURSORINFO {  /* vioci */
  USHORT   yStart;               /*cursor start line */
  USHORT   cEnd;                 /* cursor end line */
  USHORT   cx;                   /* cursor width */
  USHORT   attr;                 /* -1=hidden cursor, any other=normal
                                       cursor */
} VIOCURSORINFO;
 
#define INCL_VIO
 
USHORT  rc = VioSetCurType(CursorData, VioHandle);
 
PVIOCURSORINFO   CursorData;    /* Cursor characteristics */
HVIO             VioHandle;     /* Video handle */
 
USHORT           rc;            /* return code */

MASM Binding

VIOCURSORINFO struc
  vioci_yStart dw  ? ;cursor start line
  vioci_cEnd   dw  ? ;cursor end line
  vioci_cx     dw  ? ;cursor width
  vioci_attr   dw  ? ;-1=hidden cursor, any other=normal cursor
VIOCURSORINFO ends
 
EXTRN  VioSetCurType:FAR
INCL_VIO            EQU 1
 
PUSH@  OTHER   CursorData    ;Cursor characteristics
PUSH   WORD    VioHandle     ;Video handle
CALL   VioSetCurType
 
Returns WORD

Note