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.

150 lines
2.6 KiB

  1. /*++
  2. Copyright (c) 1993 Microsoft Corporation
  3. Module Name:
  4. fevideo.h
  5. Abstract:
  6. Header file for FarEast-specific display routines.
  7. Author:
  8. Ted Miller (tedm) 4-July-1995
  9. Revision History:
  10. Adapted from NTJ version of textmode\kernel\spvideop.h
  11. --*/
  12. //
  13. // Vga Grahics mode display routine (spvidgv.c).
  14. //
  15. VOID
  16. VgaGraphicsModeDisplayString(
  17. IN PSTR String,
  18. IN UCHAR Attribute,
  19. IN ULONG X, // 0-based coordinates (character units)
  20. IN ULONG Y
  21. );
  22. VOID
  23. VgaGraphicsModeClearRegion(
  24. IN ULONG X,
  25. IN ULONG Y,
  26. IN ULONG W,
  27. IN ULONG H,
  28. IN UCHAR Attribute
  29. );
  30. VOID
  31. VgaGraphicsModeSpecificInit(
  32. IN PVIDEO_MODE_INFORMATION VideoModes,
  33. IN ULONG NumberOfModes,
  34. IN ULONG ModeSize
  35. );
  36. VOID
  37. VgaGraphicsModeSpecificReInit(
  38. VOID
  39. );
  40. VOID
  41. VgaGraphicsModeSpecificTerminate(
  42. VOID
  43. );
  44. BOOLEAN
  45. VgaGraphicsModeSpecificInitPalette(
  46. VOID
  47. );
  48. BOOLEAN
  49. VgaGraphicsModeSpecificScrollUp(
  50. IN ULONG TopLine,
  51. IN ULONG BottomLine,
  52. IN ULONG LineCount,
  53. IN UCHAR FillAttribute
  54. );
  55. extern VIDEO_FUNCTION_VECTOR VgaGraphicsModeVideoVector;
  56. //
  57. // Frame buffer routines (spvidgfb.c).
  58. //
  59. VOID
  60. FrameBufferKanjiDisplayString(
  61. IN PSTR String,
  62. IN UCHAR Attribute,
  63. IN ULONG X, // 0-based coordinates (character units)
  64. IN ULONG Y
  65. );
  66. VOID
  67. FrameBufferKanjiClearRegion(
  68. IN ULONG X,
  69. IN ULONG Y,
  70. IN ULONG W,
  71. IN ULONG H,
  72. IN UCHAR Attribute
  73. );
  74. VOID
  75. FrameBufferKanjiSpecificInit(
  76. IN PVIDEO_MODE_INFORMATION VideoModes,
  77. IN ULONG NumberOfModes,
  78. IN ULONG ModeSize
  79. );
  80. VOID
  81. FrameBufferKanjiSpecificReInit(
  82. VOID
  83. );
  84. VOID
  85. FrameBufferKanjiSpecificTerminate(
  86. VOID
  87. );
  88. BOOLEAN
  89. FrameBufferKanjiSpecificInitPalette(
  90. VOID
  91. );
  92. BOOLEAN
  93. FrameBufferKanjiSpecificScrollUp(
  94. IN ULONG TopLine,
  95. IN ULONG BottomLine,
  96. IN ULONG LineCount,
  97. IN UCHAR FillAttribute
  98. );
  99. extern VIDEO_FUNCTION_VECTOR FrameBufferKanjiVideoVector;
  100. //
  101. // Stuff shared between fefb.c and fevga.c.
  102. //
  103. extern ULONG FEFontCharacterHeight,FEFontCharacterWidth;
  104. extern PSP_VIDEO_VARS VideoVariables;
  105. extern USHORT FEFontDefaultChar;
  106. #ifdef SP_IS_UPGRADE_GRAPHICS_MODE
  107. #undef SP_IS_UPGRADE_GRAPHICS_MODE
  108. #endif
  109. #define SP_IS_UPGRADE_GRAPHICS_MODE() (VideoVariables->UpgradeGraphicsMode)
  110. #ifdef SP_SET_UPGRADE_GRAPHICS_MODE
  111. #undef SP_SET_UPGRADE_GRAPHICS_MODE
  112. #endif
  113. #define SP_SET_UPGRADE_GRAPHICS_MODE(_Value) \
  114. (VideoVariables->UpgradeGraphicsMode = (_Value))