|
|
1.1 ! root 1: ;---------------------------Module-Header------------------------------; ! 2: ; Module Name: display.inc ! 3: ; ! 4: ; Copyright (c) 1992 Microsoft Corporation ! 5: ;-----------------------------------------------------------------------; ! 6: ! 7: NUMBER_PLANES equ 4 ;4 plane format ! 8: ! 9: ! 10: ! 11: ; The color structure is how this driver stores its physical ! 12: ; colors in memory. The color consists of four bytes (dword), ! 13: ; one byte for each of three planes of color, and a fourth ! 14: ; byte which is a combination of one bit from each plane, plus ! 15: ; other special information. ! 16: ; ! 17: ; C3Bit will have to be expanded as needed for the fourth plane. ! 18: ! 19: ! 20: phys_color struc ! 21: pcol_C0 db ? ;Plane C0 ! 22: pcol_C1 db ? ;Plane C1 ! 23: pcol_C2 db ? ;Plane C2 ! 24: pcol_C3 db ? ;Plane C3/Monochrome/Special information ! 25: phys_color ends ! 26: ! 27: ! 28: ; Definitions for the pcol_C3 byte of the physical color ! 29: ; ! 30: ; Some of these definitions have limitations as to when they ! 31: ; are valid. They are as follows: ! 32: ; ! 33: ; C0_BIT color device, phys color, solid brushes if SOLID_COLOR ! 34: ; C1_BIT color device, phys color, solid brushes if SOLID_COLOR ! 35: ; C2_BIT color device, phys color, solid brushes if SOLID_COLOR ! 36: ; C3_BIT color device, phys color, solid brushes if SOLID_COLOR ! 37: ; MONO_BIT mono device, phys color ! 38: ; ONES_OR_ZEROS color device, phys color, solid brushes if SOLID_COLOR ! 39: ; GREY_SCALE color device, dithered solid and hatched brushes ! 40: ; SOLID_BRUSH color device, solid brush qualifier ! 41: ; ! 42: ; There may be brushes where the accelerators could have been set, ! 43: ; but wasn't. That's life. ! 44: ! 45: ! 46: SPECIAL equ pcol_C3 ;Special information is here ! 47: C0_BIT equ 00000001b ; C0 color ! 48: C1_BIT equ 00000010b ; C1 color ! 49: C2_BIT equ 00000100b ; C2 color ! 50: C3_BIT equ 00001000b ; C3 color ! 51: MONO_BIT equ 00010000b ; Monochrome bit ! 52: ONES_OR_ZEROS equ 00100000b ; Color is really all 1's or all 0's ! 53: GREY_SCALE equ 01000000b ; Indicates a real grey scale brush ! 54: SOLID_BRUSH equ 10000000b ; Indicates a solid color brush ! 55: ! 56: .errnz (size phys_color) - 4 ;Must be a double word ! 57: ! 58: ! 59: ! 60: ; The brush structure is OEM dependant, and can contain whatever ! 61: ; information that is needed to realize the given brush. ! 62: ; ! 63: ; For this implementation, the brush will consist of an 8x8 ! 64: ; pattern for each of the planes, and another 8x8 pattern ! 65: ; for monochrome devices and for monochrome to color conversion ! 66: ; (for something like a hatched brush, this would contain the ! 67: ; monochrome mask used to create the brush). ! 68: ; ! 69: ; The style will also be stored in the brush and is used to ! 70: ; catch hollow brushes and exit early. ! 71: ; ! 72: ; A flag specific to the EGA is also stored in the brush. This ! 73: ; flag indicates that the brush is a solid brush and that the ! 74: ; color for each plane is a solid color (all 1's or all 0's). ! 75: ; Patterns which are solid in each plane can be handle as a ! 76: ; special case in Bitblt when the raster op is P or Pn. ! 77: ! 78: ! 79: SIZE_PATTERN equ 8 ;Size of an 8 by 8 pattern in bytes ! 80: ! 81: ! 82: oem_brush_def struc ! 83: oem_brush_C0 db SIZE_PATTERN dup (?) ;C0 plane ! 84: oem_brush_C1 db SIZE_PATTERN dup (?) ;C1 plane ! 85: oem_brush_C2 db SIZE_PATTERN dup (?) ;C2 plane ! 86: oem_brush_C3 db SIZE_PATTERN dup (?) ;C3 plane ! 87: oem_brush_mono db 32 dup (?) ;Mono portion ! 88: oem_brush_style dw 0 ;Style of the brush ! 89: oem_brush_accel db 0 ;Accellerator for solids ! 90: oem_brush_fg db 0 ;current foreground (text) color ! 91: oem_brush_bg db 0 ;current background color ! 92: oem_brush_rwidth db 0 ;pre expanded width ! 93: oem_brush_yshft db 0 ; ! 94: oem_brush_spar2 db 0 ;just a fill byte for now ! 95: oem_brush_width dd 0 ;Width of brush ! 96: oem_brush_height dd 0 ;Height of brush ! 97: oem_brush_planes db 32 dup (?) ;Special Plane Masks ! 98: oem_brush_pmono dd 0 ;pointer to mono pattern ! 99: oem_brush_def ends ; (same as "Special" above) ! 100: ! 101: ; Brush styles defined by GDI ! 102: ! 103: BS_SOLID equ 0 ! 104: BS_HOLLOW equ 1 ! 105: BS_HATCHED equ 2 ! 106: BS_PATTERN equ 3 ! 107: BS_MONO_PATTERN equ 4 ! 108: BS_COLOR_PATTERN equ 5
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.