75 lines
2.8 KiB
PHP
75 lines
2.8 KiB
PHP
page ,132
|
|
;-----------------------------Module-Header-----------------------------;
|
|
; Module Name: POINTER.INC
|
|
;
|
|
; This file contains definitions relating to the pointer shape.
|
|
;
|
|
; Copyright (c) 1992 Microsoft Corporation
|
|
;
|
|
; Exported Functions: none
|
|
;
|
|
; Public Functions: none
|
|
;
|
|
; Public Data: PTR_ROUND_RIGHT
|
|
; PTR_ROUND_LEFT
|
|
; General Description:
|
|
;
|
|
; Constants are defined for the pointer drawing routine describing
|
|
; the size of the poinetr shape. Some of these constants are also
|
|
; required for memory allocation in EGA/VGA VRAM.
|
|
;
|
|
; Restrictions:
|
|
;
|
|
;-----------------------------------------------------------------------;
|
|
|
|
public PTR_ROUND_RIGHT ;Pointer exclusion needs these
|
|
public PTR_ROUND_LEFT
|
|
public PTR_WIDTH_BITS
|
|
public PTR_HEIGHT
|
|
|
|
|
|
;-----------------------------------------------------------------------;
|
|
; The pointer parameters are the size of the pointer as received from
|
|
; DeviceSetCursor.
|
|
;-----------------------------------------------------------------------;
|
|
|
|
PTR_HEIGHT equ 32 ;Height of pointer in scanlines
|
|
PTR_WIDTH equ 4 ;Width in bytes of pointer
|
|
PTR_WIDTH_BITS equ PTR_WIDTH*8 ;Width in bits of pointer
|
|
|
|
|
|
;-----------------------------------------------------------------------;
|
|
; The work width/height is the size of a pointer as manipulated by
|
|
; the pointer drawing code.
|
|
;-----------------------------------------------------------------------;
|
|
|
|
WORK_WIDTH equ PTR_WIDTH+1 ;Width of mask, work area
|
|
uWORK_HEIGHT equ PTR_HEIGHT+0 ;Height of mask, work area
|
|
MASK_LENGTH equ WORK_WIDTH*WORK_HEIGHT ;#bytes in mask, work area
|
|
CLR_MASK_LENGTH equ WORK_WIDTH*WORK_HEIGHT*BITS_PEL ;#bytes in color mask
|
|
.errnz BITS_PEL-4
|
|
|
|
|
|
;-----------------------------------------------------------------------;
|
|
; The save area parameters control the size of the buffer used for
|
|
; saveing the bits underneath the pointer image. It should be a
|
|
; power of two to allow for easy wrap calculations.
|
|
;-----------------------------------------------------------------------;
|
|
|
|
SAVE_BUFFER_WIDTH equ 8 ;Width of the save area
|
|
SAVE_BUFFER_HEIGHT equ 32 ;Height of the save area
|
|
.errnz PTR_WIDTH GT SAVE_BUFFER_WIDTH
|
|
.errnz PTR_HEIGHT GT SAVE_BUFFER_HEIGHT
|
|
|
|
|
|
;-----------------------------------------------------------------------;
|
|
; The following values allow us to set rounding for cursor exclusion.
|
|
; These values are applied as an AND mask (for rounding left) and as
|
|
; an OR mask (for rounding right).
|
|
;-----------------------------------------------------------------------;
|
|
|
|
ROUNDING_SIZE equ 8 ;Round to byte boundaries
|
|
.errnz ROUNDING_SIZE and 111b ;Must be at least byte boundary
|
|
PTR_ROUND_RIGHT equ ROUNDING_SIZE-1
|
|
PTR_ROUND_LEFT equ -ROUNDING_SIZE
|