Reactos
at master 137 lines 4.2 kB view raw
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 https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-2000-server/cc957204(v=technet.10) */ 22typedef 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) 43typedef 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 51typedef 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 59typedef struct 60{ 61 BYTE bWidth; 62 BYTE bHeight; 63 BYTE bColorCount; 64 BYTE bReserved; 65} ICONRESDIR; 66 67typedef struct 68{ 69 WORD wWidth; 70 WORD wHeight; 71} CURSORRESDIR; 72 73typedef 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 79typedef struct 80{ 81 WORD wWidth; 82 WORD wHeight; 83} CURSORDIR; 84 85typedef 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 97typedef struct 98{ 99 WORD idReserved; 100 WORD idType; 101 WORD idCount; 102 CURSORICONDIRENTRY idEntries[1]; 103} CURSORICONDIR; 104 105typedef 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 118typedef 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 127typedef 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