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.

136 lines
4.3 KiB

  1. /**************************************************************************
  2. *
  3. * Copyright (c) 2000 Microsoft Corporation
  4. *
  5. * Module Name:
  6. *
  7. * This is where all the global variables in the Globals namespace
  8. * are actually declared.
  9. *
  10. * Created:
  11. *
  12. * 11/25/2000 asecchia
  13. * Created it.
  14. *
  15. **************************************************************************/
  16. #include "precomp.hpp"
  17. /**************************************************************************\
  18. *
  19. * Data Description:
  20. *
  21. * This namespace contains all (most?) of the GDI+ global state.
  22. * See the header file 'globals.hpp' for comments.
  23. *
  24. * Note that all global data are initialized automatically to zero.
  25. *
  26. * History:
  27. *
  28. * 12/02/1998 andrewgo
  29. * Created it.
  30. *
  31. \**************************************************************************/
  32. namespace Globals
  33. {
  34. BOOL IsNt;
  35. BOOL RuntimeInitialized;
  36. GpPath * PathLookAside;
  37. GpMatrix * MatrixLookAside;
  38. GpPen * PenLookAside;
  39. BOOL IsWin95;
  40. BOOL VersionInfoInitialized;
  41. OSVERSIONINFOA OsVer;
  42. UINT ACP;
  43. GpDevice *DesktopDevice;
  44. GpDeviceList *DeviceList;
  45. DpBitmap *DesktopSurface;
  46. DpDriver *DesktopDriver;
  47. DpDriver *EngineDriver;
  48. DpDriver *GdiDriver;
  49. DpDriver *D3DDriver;
  50. DpDriver *InfoDriver;
  51. DpDriver *MetaDriver;
  52. BOOL DirectDrawInitialized;
  53. BOOL DirectDrawInitAttempted;
  54. HINSTANCE DdrawHandle;
  55. IDirectDraw7 *DirectDraw;
  56. IDirect3D7 *Direct3D;
  57. DIRECTDRAWCREATEEXFUNCTION DirectDrawCreateExFunction;
  58. DIRECTDRAWENUMERATEEXFUNCTION DirectDrawEnumerateExFunction;
  59. EXTTEXTOUTFUNCTION ExtTextOutFunction;
  60. GETDDRAWSURFACEFROMDCFUNCTION GetDdrawSurfaceFromDcFunction;
  61. GDIISMETAPRINTDCFUNCTION GdiIsMetaPrintDCFunction;
  62. GETMONITORINFOFUNCTION GetMonitorInfoFunction;
  63. ENUMDISPLAYMONITORSFUNCTION EnumDisplayMonitorsFunction;
  64. ENUMDISPLAYDEVICESFUNCTION EnumDisplayDevicesFunction;
  65. HMODULE DcimanHandle;
  66. DCICREATEPRIMARYFUNCTION DciCreatePrimaryFunction;
  67. DCIDESTROYFUNCTION DciDestroyFunction;
  68. DCIBEGINACCESSFUNCTION DciBeginAccessFunction;
  69. DCIENDACCESSFUNCTION DciEndAccessFunction;
  70. GETWINDOWINFOFUNCTION GetWindowInfoFunction;
  71. GETANCESTORFUNCTION GetAncestorFunction;
  72. SETWINEVENTHOOKFUNCTION SetWinEventHookFunction;
  73. UNHOOKWINEVENTFUNCTION UnhookWinEventFunction;
  74. HWINEVENTHOOK WinEventHandle;
  75. CAPTURESTACKBACKTRACEFUNCTION CaptureStackBackTraceFunction;
  76. BOOL IsMoveSizeActive;
  77. HRGN CachedGdiRegion;
  78. HDC DesktopIc;
  79. REAL DesktopDpiX;
  80. REAL DesktopDpiY;
  81. GpInstalledFontCollection *FontCollection;
  82. GpCacheFaceRealizationList *FontCacheLastRecentlyUsedList;
  83. GpFontLink *FontLinkTable = NULL;
  84. GpFontFamily **SurrogateFontsTable = (GpFontFamily **) -1;
  85. WCHAR *FontsDirW;
  86. CHAR *FontsDirA;
  87. USHORT LanguageID;
  88. HWND HwndNotify;
  89. HANDLE ThreadNotify = NULL;
  90. DWORD ThreadId;
  91. ATOM WindowClassAtom;
  92. BOOL InitializeOleSuccess;
  93. LONG_PTR LookAsideCount;
  94. BYTE* LookAsideBuffer;
  95. INT LookAsideBufferSize = 0x7FFFFFFF;
  96. UINT PaletteChangeCount = 1;
  97. COLORREF SystemColors[20];
  98. HINSTANCE WinspoolHandle;
  99. WINSPOOLGETPRINTERDRIVERFUNCTION GetPrinterDriverFunction;
  100. HANDLE hCachedPrinter;
  101. INT CachedPSLevel = -1;
  102. WCHAR *FontsKeyW = L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Fonts";
  103. CHAR *FontsKeyA = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Fonts";
  104. BOOL TextCriticalSectionInitialized = FALSE;
  105. CRITICAL_SECTION TextCriticalSection;
  106. TextRenderingHint CurrentSystemRenderingHint;
  107. HMODULE UniscribeDllModule;
  108. IntMap<BYTE> *NationalDigitCache;
  109. BOOL UserDigitSubstituteInvalid;
  110. BOOL CurrentSystemRenderingHintInvalid;
  111. BOOL IsTerminalServer = FALSE;
  112. // GillesK: See bug NTBUG9 #409304
  113. // We cannot use DCI on Mirror Drivers since that doesn't get remoted.
  114. BOOL IsMirrorDriverActive = FALSE;
  115. ULONG_PTR LibraryInitToken = 0;
  116. INT LibraryInitRefCount = 0;
  117. ULONG_PTR HiddenWindowOwnerToken = NotificationModuleTokenNobody;
  118. ULONG_PTR NotificationInitToken = 0;
  119. HANDLE ThreadQuitEvent = NULL;
  120. BOOL g_fAccessibilityPresent = FALSE;
  121. UINT g_nAccessibilityMessage = 0;
  122. };