You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
121 lines
4.1 KiB
121 lines
4.1 KiB
;---------------------------- Include File Header ---------------------------;
|
|
; Module Name: strucs.inc
|
|
;
|
|
; Most of these definitions are pulled straight from winddi.h. We have
|
|
; to copy these here because we don't have any good 'h2inc' C-include-to-
|
|
; Asm-include program for NT.
|
|
;
|
|
; Copyright (c) 1993-1994 Microsoft Corporation
|
|
;----------------------------------------------------------------------------;
|
|
|
|
BMF_1BPP equ 1
|
|
BMF_4BPP equ 2
|
|
BMF_8BPP equ 3
|
|
BMF_16BPP equ 4
|
|
BMF_24BPP equ 5
|
|
BMF_32BPP equ 6
|
|
|
|
;-----------------------------------------------------------------------;
|
|
; POINTL is used for points with a range of +/- 2G.
|
|
;-----------------------------------------------------------------------;
|
|
|
|
POINTL STRUC
|
|
ptl_x DD 0
|
|
ptl_y DD 0
|
|
POINTL ENDS
|
|
|
|
;-----------------------------------------------------------------------;
|
|
; SIZEL is used for extents with a range of +/- 2G
|
|
;-----------------------------------------------------------------------;
|
|
|
|
SIZEL STRUC
|
|
sizl_cx DD 0
|
|
sizl_cy DD 0
|
|
SIZEL ENDS
|
|
|
|
;-----------------------------------------------------------------------;
|
|
; Definition of a rectangle
|
|
;-----------------------------------------------------------------------;
|
|
|
|
|
|
RECTL struc ; /* rcl */
|
|
xLeft dd ?
|
|
yTop dd ?
|
|
xRight dd ?
|
|
yBottom dd ?
|
|
RECTL ends
|
|
|
|
;-----------------------------------------------------------------------;
|
|
; Definition of the physical device data structure
|
|
;
|
|
; NOTE: Changes to this structure must be reflected in driver.h!
|
|
;-----------------------------------------------------------------------;
|
|
|
|
PDEV struc ; /* pdev, ppdev */
|
|
pdev_xOffset dd ?
|
|
pdev_yOffset dd ?
|
|
pdev_xyOffset dd ?
|
|
pdev_pjBase dd ?
|
|
pdev_pjPorts dd ?
|
|
pdev_pjScreen dd ?
|
|
pdev_iBitmapFormat dd ?
|
|
pdev_ulChipID dd ?
|
|
pdev_ulChipNum dd ?
|
|
PDEV ends
|
|
|
|
;-----------------------------------------------------------------------;
|
|
; Definition of our realized brush structures.
|
|
;
|
|
; NOTE: Changes to these structure must be reflected in driver.h!
|
|
;-----------------------------------------------------------------------;
|
|
|
|
RBRUSH struc ; /* rb, prb */
|
|
rb_fl dd ?
|
|
rb_bTransparent dd ?
|
|
rb_ulForeColor dd ?
|
|
rb_ulBackColor dd ?
|
|
rb_ptlBrushOrg db (size POINTL) dup(?)
|
|
rb_apbe dd ?
|
|
|
|
; I haven't declared rb_aulPattern because we don't know the size of the
|
|
; rb_apbe array here.
|
|
|
|
RBRUSH ends
|
|
|
|
BRUSHENTRY struc ; /* be, pbe */
|
|
be_prbVerify dd ?
|
|
be_x dd ?
|
|
be_y dd ?
|
|
be_xy dd ?
|
|
BRUSHENTRY ends
|
|
|
|
;-----------------------------------------------------------------------;
|
|
; Definitions for text output
|
|
;-----------------------------------------------------------------------;
|
|
|
|
GLYPHPOS struc ; /* gp */
|
|
gp_hg dd ? ; hglyph (unused by vga)
|
|
gp_pgdf dd ? ; glyphdef
|
|
gp_x dd ? ; glyph x position
|
|
gp_y dd ? ; glyph y position
|
|
GLYPHPOS ends
|
|
|
|
GLYPHDEF struc ; /* gdf */
|
|
gdf_pgb dd ? ; points to GLYPHBITS
|
|
GLYPHDEF ends
|
|
|
|
GLYPHBITS struc ; /* gb */
|
|
gb_x dd ? ; glyph x offset
|
|
gb_y dd ? ; glyph y offset
|
|
gb_cx dd ? ; glyph width in pels
|
|
gb_cy dd ? ; glyph height in pels
|
|
gb_aj db ? ; glyph bit mask
|
|
GLYPHBITS ends
|
|
|
|
;-----------------------------------------------------------------------;
|
|
; Macro to do a simple RET, with no stack stuff, in a proc.
|
|
;-----------------------------------------------------------------------;
|
|
|
|
PLAIN_RET macro
|
|
db 0c3h
|
|
endm
|