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
 |