mirror of https://github.com/lianthony/NT4.0
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.
108 lines
4.6 KiB
108 lines
4.6 KiB
;---------------------------Module-Header------------------------------;
|
|
; Module Name: display.inc
|
|
;
|
|
; Copyright (c) 1992 Microsoft Corporation
|
|
;-----------------------------------------------------------------------;
|
|
|
|
NUMBER_PLANES equ 4 ;4 plane format
|
|
|
|
|
|
|
|
; The color structure is how this driver stores its physical
|
|
; colors in memory. The color consists of four bytes (dword),
|
|
; one byte for each of three planes of color, and a fourth
|
|
; byte which is a combination of one bit from each plane, plus
|
|
; other special information.
|
|
;
|
|
; C3Bit will have to be expanded as needed for the fourth plane.
|
|
|
|
|
|
phys_color struc
|
|
pcol_C0 db ? ;Plane C0
|
|
pcol_C1 db ? ;Plane C1
|
|
pcol_C2 db ? ;Plane C2
|
|
pcol_C3 db ? ;Plane C3/Monochrome/Special information
|
|
phys_color ends
|
|
|
|
|
|
; Definitions for the pcol_C3 byte of the physical color
|
|
;
|
|
; Some of these definitions have limitations as to when they
|
|
; are valid. They are as follows:
|
|
;
|
|
; C0_BIT color device, phys color, solid brushes if SOLID_COLOR
|
|
; C1_BIT color device, phys color, solid brushes if SOLID_COLOR
|
|
; C2_BIT color device, phys color, solid brushes if SOLID_COLOR
|
|
; C3_BIT color device, phys color, solid brushes if SOLID_COLOR
|
|
; MONO_BIT mono device, phys color
|
|
; ONES_OR_ZEROS color device, phys color, solid brushes if SOLID_COLOR
|
|
; GREY_SCALE color device, dithered solid and hatched brushes
|
|
; SOLID_BRUSH color device, solid brush qualifier
|
|
;
|
|
; There may be brushes where the accelerators could have been set,
|
|
; but wasn't. That's life.
|
|
|
|
|
|
SPECIAL equ pcol_C3 ;Special information is here
|
|
C0_BIT equ 00000001b ; C0 color
|
|
C1_BIT equ 00000010b ; C1 color
|
|
C2_BIT equ 00000100b ; C2 color
|
|
C3_BIT equ 00001000b ; C3 color
|
|
MONO_BIT equ 00010000b ; Monochrome bit
|
|
ONES_OR_ZEROS equ 00100000b ; Color is really all 1's or all 0's
|
|
GREY_SCALE equ 01000000b ; Indicates a real grey scale brush
|
|
SOLID_BRUSH equ 10000000b ; Indicates a solid color brush
|
|
|
|
.errnz (size phys_color) - 4 ;Must be a double word
|
|
|
|
|
|
|
|
; The brush structure is OEM dependant, and can contain whatever
|
|
; information that is needed to realize the given brush.
|
|
;
|
|
; For this implementation, the brush will consist of an 8x8
|
|
; pattern for each of the planes, and another 8x8 pattern
|
|
; for monochrome devices and for monochrome to color conversion
|
|
; (for something like a hatched brush, this would contain the
|
|
; monochrome mask used to create the brush).
|
|
;
|
|
; The style will also be stored in the brush and is used to
|
|
; catch hollow brushes and exit early.
|
|
;
|
|
; A flag specific to the EGA is also stored in the brush. This
|
|
; flag indicates that the brush is a solid brush and that the
|
|
; color for each plane is a solid color (all 1's or all 0's).
|
|
; Patterns which are solid in each plane can be handle as a
|
|
; special case in Bitblt when the raster op is P or Pn.
|
|
|
|
|
|
SIZE_PATTERN equ 8 ;Size of an 8 by 8 pattern in bytes
|
|
|
|
|
|
oem_brush_def struc
|
|
oem_brush_C0 db SIZE_PATTERN dup (?) ;C0 plane
|
|
oem_brush_C1 db SIZE_PATTERN dup (?) ;C1 plane
|
|
oem_brush_C2 db SIZE_PATTERN dup (?) ;C2 plane
|
|
oem_brush_C3 db SIZE_PATTERN dup (?) ;C3 plane
|
|
oem_brush_mono db 32 dup (?) ;Mono portion
|
|
oem_brush_style dw 0 ;Style of the brush
|
|
oem_brush_accel db 0 ;Accellerator for solids
|
|
oem_brush_fg db 0 ;current foreground (text) color
|
|
oem_brush_bg db 0 ;current background color
|
|
oem_brush_rwidth db 0 ;pre expanded width
|
|
oem_brush_yshft db 0 ;
|
|
oem_brush_spar2 db 0 ;just a fill byte for now
|
|
oem_brush_width dd 0 ;Width of brush
|
|
oem_brush_height dd 0 ;Height of brush
|
|
oem_brush_pmono dd 0 ;pointer to mono pattern
|
|
oem_brush_def ends ; (same as "Special" above)
|
|
|
|
; Brush styles defined by GDI
|
|
|
|
BS_SOLID equ 0
|
|
BS_HOLLOW equ 1
|
|
BS_HATCHED equ 2
|
|
BS_PATTERN equ 3
|
|
BS_MONO_PATTERN equ 4
|
|
BS_COLOR_PATTERN equ 5
|
|
|