Jump to content

DEVESC_SETUPBLITTERNOTIFY

From EDM2
Revision as of 00:39, 12 July 2025 by Martini (talk | contribs) (Created page with "{{DISPLAYTITLE:DEVESC_SETUPBLITTERNOTIFY}} GreEscape DEVESC_SETUPBLITTERNOTIFY is called by EnDIVE users to indicate whether the hardware can support the current image blitting parameters. ;Simulation support: None. ==Syntax== GreEscape(hdc, ICODE, lInCount, pbInData, plOutCount, pbOutData); ==Parameters== ;''hdc'' (HDC) - input: Device context handle. ;''ICODE'' (LONG) - input: DEVESC_SETUPBLITTERNOTIFY escape code. ;''lInCount'' (LONG) - input: Number...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

GreEscape DEVESC_SETUPBLITTERNOTIFY is called by EnDIVE users to indicate whether the hardware can support the current image blitting parameters.

Simulation support
None.

Syntax

GreEscape(hdc, ICODE, lInCount, pbInData, plOutCount, pbOutData);

Parameters

hdc (HDC) - input
Device context handle.
ICODE (LONG) - input
DEVESC_SETUPBLITTERNOTIFY escape code.
lInCount (LONG) - input
Number of bytes pointed to by pbInData.
pbInData (PBYTE) - input
Pointer to SETUPBLITTERNOTIFYIN data structure.
plOutCount (PLONG) - input
Number of bytes pointed to by pbOutData.
pbOutData (PBYTE) - output
Pointer to SETUPBLITTERNOTIFYOUT data structure.

Returns

rc (LONG) - returns
Return Codes.
The handling routine returns:
DEV_OK
Successful
DEVESC_NOTIMPLEMENTED
Escape is not implemented for the specified code
DEVESC_ERROR
Error

Remarks

If the hardware cannot support the blitting parameters for some reason (such as stretching or shrinking), the ulFlags of the SETUPBLITTERNOTIFYOUT data structure should be set. In such cases, the hardware will revert to software for blitting operation. If the user does not support this function, it is assumed that the hardware can handle the blitter operation being set.

Source Code Sample

Declaration:

#define INCL_GRE_DEVICE
#include <os2.h>

HDC      hdc;         /* Device context handle. */
LONG     ICODE;       /* DEVESC_SETUPBLITTERNOTIFY escape code. */
LONG     lInCount;    /* Number of bytes pointed to by pbInData. */
PBYTE    pbInData;    /* Pointer to SETUPBLITTERNOTIFYIN data structure. */
PLONG    plOutCount;  /* Number of bytes pointed to by pbOutData. */
PBYTE    pbOutData;   /* Pointer to SETUPBLITTERNOTIFYOUT data structure. */
LONG     rc;          /* Return Codes. */

rc = GreEscape(hdc, ICODE, lInCount, pbInData,
       plOutCount, pbOutData);