Source code of Windows XP (NT5)
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.

104 lines
4.1 KiB

  1. ;***************************************************************************
  2. ; *
  3. ; Copyright (C) 1983,1984 by Microsoft Inc. *
  4. ; *
  5. ;***************************************************************************
  6. ; Macros for disabling and restoring hardware interrupt enable flag
  7. ;
  8. ; The LeaveCrit macro has been updated for the mask problem on
  9. ; the 80286 processor.
  10. include vint.inc
  11. EnterCrit MACRO
  12. pushf
  13. FCLI
  14. ENDM
  15. LeaveCrit MACRO
  16. POPFF
  17. ENDM
  18. POPFF MACRO
  19. local a
  20. jmp $+3
  21. a label near
  22. iret
  23. push cs
  24. call a
  25. ENDM
  26. ;***************************************************************************
  27. ; *
  28. ; Inquire data structures for Timer, Keyboard, Mouse and Cursor modules *
  29. ; *
  30. ;***************************************************************************
  31. TIMERINFO STRUC
  32. tiResolution DD 0 ; #microseconds each timer tick
  33. TIMERINFO ENDS
  34. KBINFO STRUC
  35. kbRanges DB 4 dup (0) ; Far East ranges for KANJI
  36. kbStateSize DW 0 ; #bytes of state info maintained by TOASCII
  37. kbNumFuncKeys DW 0 ; How many function keys are on the keyboard
  38. kbHasBreak DW 0 ; true => keyboard supplies make and break
  39. kbRate DW 0 ; maximum rate of keyboard input events
  40. KBINFO ENDS
  41. MOUSEINFO STRUC
  42. msExists DB 0 ; true => mouse exists
  43. msRelative DB 0 ; true => relative coordinate
  44. msNumButtons DW 0 ; number of buttons on the mouse
  45. msRate DW 0 ; maximum rate of mouse input events
  46. msXThresh DW 0 ; threshold before acceleration
  47. msYThresh DW 0 ;
  48. msXRes DW 0 ; x resolution
  49. msYRes DW 0 ; y resolution
  50. MOUSEINFO ENDS
  51. CURSORINFO STRUC
  52. dpXRate DW 0 ; horizontal mickey/pixel ratio
  53. dpYRate DW 0 ; vertical mickey/pixel ratio
  54. CURSORINFO ENDS
  55. ;***************************************************************************
  56. ; *
  57. ; Cursor data structure passed to OEM routines. Defines a graphics display*
  58. ; cursor in terms of a hotspot, an AND mask and an XOR mask. The hot *
  59. ; spot defines the pixel within the cursor that is the cursor is "pointing"*
  60. ; to. So when displaying a cursor at location X,Y the pixel that *
  61. ; is the hot spot should be painted at that X,Y coordinate. The "shape" *
  62. ; of the cursor is defined by two pixel masks. The first mask is ANDed *
  63. ; with the bits in the display bitmap and the second mask is XORed with *
  64. ; the result to determine the bits that will be placed in the display *
  65. ; bitmap. The bits for the masks are in the byte array that begins *
  66. ; at the csBits field, with the AND mask bits first, followed by the *
  67. ; XOR mask bits. The csWidthBytes field is the width of ONE mask, in *
  68. ; bytes. Currently, MS-WIN will only generate cursors whose width and *
  69. ; height are both 16. *
  70. ; *
  71. ;***************************************************************************
  72. cursorShape STRUC
  73. csHotX DW 0
  74. csHotY DW 0
  75. csWidth DW 0
  76. csHeight DW 0
  77. csWidthBytes DW 0
  78. csColor DW 0
  79. ; Beginning of an array of bytes that contain the bits for the AND and
  80. ; XOR masks. The first csHeight * csWidthBytes bytes contain the bits
  81. ; for the AND mask and the next csHeight * csWidthBytes bytes contain
  82. ; the bits for the XOR mask.
  83. ;csBits DB 2*2*16 DUP (?)
  84. cursorShape ENDS