1 /* 2 * COPYRIGHT: See COPYING in the top level directory 3 * PROJECT: ReactOS Win32 Graphical Subsystem (WIN32K) 4 * FILE: win32ss/include/ntusrtyp.h 5 * PURPOSE: Win32 Shared USER Types for NtUser* 6 * PROGRAMMER: Alex Ionescu (alex@relsoft.net) 7 */ 8 9 /* INCLUDES ******************************************************************/ 10 11 #ifndef _NTUSRTYP_ 12 #define _NTUSRTYP_ 13 14 #include <ntwin32.h> 15 16 /* ENUMERATIONS **************************************************************/ 17 18 /* TYPES *********************************************************************/ 19 20 /* Bitfields for UserpreferencesMask SPI_ values (with defaults) */ 21 /* See also http://technet.microsoft.com/nl-nl/library/cc957204(en-us).aspx */ 22 typedef struct { 23 DWORD bActiveWindowTracking:1; //0 SPI_GETACTIVEWINDOWTRACKING 24 DWORD bMenuAnimation:1; //1 SPI_GETMENUANIMATION 25 DWORD bComboBoxAnimation:1; //1 SPI_GETCOMBOBOXANIMATION 26 DWORD bListBoxSmoothScrolling:1; //1 SPI_GETLISTBOXSMOOTHSCROLLING 27 DWORD bGradientCaptions:1; //1 SPI_GETGRADIENTCAPTIONS 28 DWORD bKeyboardCues:1; //0 SPI_GETKEYBOARDCUES 29 DWORD bActiveWndTrkZorder:1; //0 SPI_GETACTIVEWNDTRKZORDER 30 DWORD bHotTracking:1; //1 SPI_GETHOTTRACKING 31 DWORD bReserved1:1; //0 Reserved 32 DWORD bMenuFade:1; //1 SPI_GETMENUFADE 33 DWORD bSelectionFade:1; //1 SPI_GETSELECTIONFADE 34 DWORD bTooltipAnimation:1; //1 SPI_GETTOOLTIPANIMATION 35 DWORD bTooltipFade:1; //1 SPI_GETTOOLTIPFADE 36 DWORD bCursorShadow:1; //1 SPI_GETCURSORSHADOW 37 DWORD bReserved2:17; //0 Reserved 38 DWORD bUiEffects:1; //1 SPI_GETUIEFFECTS 39 } USERPREFERENCESMASK, *PUSERPREFERENCESMASK; 40 41 /* Structures for reading icon/cursor files and resources */ 42 #pragma pack(push,1) 43 typedef struct _ICONIMAGE 44 { 45 BITMAPINFOHEADER icHeader; // DIB header 46 RGBQUAD icColors[1]; // Color table 47 BYTE icXOR[1]; // DIB bits for XOR mask 48 BYTE icAND[1]; // DIB bits for AND mask 49 } ICONIMAGE, *LPICONIMAGE; 50 51 typedef struct _CURSORIMAGE 52 { 53 BITMAPINFOHEADER icHeader; // DIB header 54 RGBQUAD icColors[1]; // Color table 55 BYTE icXOR[1]; // DIB bits for XOR mask 56 BYTE icAND[1]; // DIB bits for AND mask 57 } CURSORIMAGE, *LPCURSORIMAGE; 58 59 typedef struct 60 { 61 BYTE bWidth; 62 BYTE bHeight; 63 BYTE bColorCount; 64 BYTE bReserved; 65 } ICONRESDIR; 66 67 typedef struct 68 { 69 WORD wWidth; 70 WORD wHeight; 71 } CURSORRESDIR; 72 73 typedef struct 74 { 75 WORD wPlanes; // Number of Color Planes in the XOR image 76 WORD wBitCount; // Bits per pixel in the XOR image 77 } ICONDIR; 78 79 typedef struct 80 { 81 WORD wWidth; 82 WORD wHeight; 83 } CURSORDIR; 84 85 typedef struct 86 { union 87 { 88 ICONRESDIR icon; 89 CURSORRESDIR cursor; 90 } ResInfo; 91 WORD wPlanes; 92 WORD wBitCount; 93 DWORD dwBytesInRes; 94 WORD wResId; 95 } CURSORICONDIRENTRY; 96 97 typedef struct 98 { 99 WORD idReserved; 100 WORD idType; 101 WORD idCount; 102 CURSORICONDIRENTRY idEntries[1]; 103 } CURSORICONDIR; 104 105 typedef struct 106 { 107 union 108 { 109 ICONRESDIR icon; 110 CURSORRESDIR cursor; 111 } ResInfo; 112 WORD wPlanes; // Color Planes 113 WORD wBitCount; // Bits per pixel 114 DWORD dwBytesInRes; // how many bytes in this resource? 115 WORD nID; // the ID 116 } GRPCURSORICONDIRENTRY; 117 118 typedef struct 119 { 120 WORD idReserved; // Reserved (must be 0) 121 WORD idType; // Resource type (1 for icons) 122 WORD idCount; // How many images? 123 GRPCURSORICONDIRENTRY idEntries[1]; // The entries for each image 124 } GRPCURSORICONDIR; 125 #pragma pack(pop) 126 127 typedef struct _THRDCARETINFO 128 { 129 HWND hWnd; 130 HBITMAP Bitmap; 131 POINT Pos; 132 SIZE Size; 133 BYTE Visible; 134 BYTE Showing; 135 } THRDCARETINFO, *PTHRDCARETINFO; 136 137 #endif 138