Leaked source code of windows server 2003
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.

79 lines
3.7 KiB

  1. ;----------------------------Module-Header------------------------------;
  2. ; Module Name: GENLOCAL.BLT
  3. ;
  4. ; Parameters and generic local variables for BitBLT.
  5. ;
  6. ; Created: In Windows' distant past (c. 1983)
  7. ;
  8. ; Copyright (c) 1983 - 1987 Microsoft Corporation
  9. ;
  10. ; This file contains the parameters passed to BitBLT, as well as local
  11. ; variables that all of its code expects.
  12. ;
  13. ; The prefix "gl_" stands for "generic local". Other prefixes are "cl_"
  14. ; for "color-related local" and "dl_" for "device-related local".
  15. ;
  16. ; This file is part of a set that makes up the Windows BitBLT function
  17. ; at driver-level.
  18. ;-----------------------------------------------------------------------;
  19. parmD _PRT_FrameStart ;Get pointer to destination
  20. parmD _lpgBrush
  21. parmW _PRT_BytesPerScanline
  22. parmW _usBrushWidth
  23. parmW _PRT_Max_X
  24. parmW _PRT_Max_Y
  25. parmW _usgPosOff ; dstseng 08/06/92 To get correct Brush Offset
  26. parmW SrcxOrg ;Source origin - x coordinate
  27. parmW DestyOrg ;Destination origin - y coordinate
  28. parmW DestxOrg ;Destination origin - x coordinate
  29. parmW DestWarp ;Destination # of DWord per scanline
  30. parmW yExt ;y extent of the BLT
  31. parmW xExt ;x extent of the BLT
  32. parmD lpSrcDev ;--> to source bitmap descriptor
  33. parmD lpPBrush ;--> to a physical brush (pattern)
  34. parmD Rop ;Raster operation descriptor
  35. ; Generic locals (i.e. used by all BitBLT code)
  36. ifdef THIS_IS_DOS_3_STUFF
  37. else
  38. ; localW ScreenSelector
  39. endif
  40. localB gl_phase_h ;Horizontal phase (rotate count)
  41. localW gl_pat_row ;Current row for patterns [0..31]
  42. ;mslin localB gl_direction ;Increment/decrement flag
  43. localB local_enable_flag ;Local copy of the enable flag
  44. ; localB mask_flags ;Number of first fetches needed
  45. ;
  46. ;MF_PHASE equ 00000111b
  47. ;MF_PHASE_POSITIVE equ 00001000b
  48. ;MF_STEP_RIGHT equ 00010000b
  49. ;MF_WORD_FETCH equ 00100000b
  50. ;MF_BIG_PHASE equ 01000000b ; phase > 4
  51. ;MF_UN_USED equ 10000000b
  52. localB gl_the_flags
  53. localB gl_first_fetch ;Number of first fetches needed
  54. localB gl_step_direction ;Direction of move (left right)
  55. localW gl_start_mask ;Mask for first dest byte
  56. localW gl_last_mask ;Mask for last dest byte
  57. localW gl_mask_p ;Horizontal phase mask
  58. localW gl_inner_loop_count ;# of entire bytes to BLT in innerloop
  59. localW gl_operands ;Operand string
  60. localW gl_start_fl ;Start of fetch/logic operation
  61. localW gl_end_fl ;End of fetch/logic operation
  62. localW gl_end_fls ;End of fetch/logic/store operation
  63. localD gl_blt_addr ;BLT offset address
  64. localW WorkSelector ; selector to use
  65. localW cFetchCode ;size of the fetch code alone
  66. localW SrcxOrg ;Source origin - x coordinate
  67. localW SrcyOrg ;Source origin - y coordinate
  68. localW gl_pattern_ptr ;next fetch byte pattern address
  69. localW destOffset
  70. localW gl_pat_col ;Current row for patterns [0..3]
  71. localW gl_brush_width ;Current brush width in byte