reactos/win32ss/include/ntusrtyp.h

138 lines
4.0 KiB
C

/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Win32 Graphical Subsystem (WIN32K)
* FILE: win32ss/include/ntusrtyp.h
* PURPOSE: Win32 Shared USER Types for NtUser*
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
*/
/* INCLUDES ******************************************************************/
#ifndef _NTUSRTYP_
#define _NTUSRTYP_
#include <ntwin32.h>
/* ENUMERATIONS **************************************************************/
/* TYPES *********************************************************************/
/* Bitfields for UserpreferencesMask SPI_ values (with defaults) */
/* See also http://technet.microsoft.com/nl-nl/library/cc957204(en-us).aspx */
typedef struct {
DWORD bActiveWindowTracking:1; //0 SPI_GETACTIVEWINDOWTRACKING
DWORD bMenuAnimation:1; //1 SPI_GETMENUANIMATION
DWORD bComboBoxAnimation:1; //1 SPI_GETCOMBOBOXANIMATION
DWORD bListBoxSmoothScrolling:1; //1 SPI_GETLISTBOXSMOOTHSCROLLING
DWORD bGradientCaptions:1; //1 SPI_GETGRADIENTCAPTIONS
DWORD bKeyboardCues:1; //0 SPI_GETKEYBOARDCUES
DWORD bActiveWndTrkZorder:1; //0 SPI_GETACTIVEWNDTRKZORDER
DWORD bHotTracking:1; //1 SPI_GETHOTTRACKING
DWORD bReserved1:1; //0 Reserved
DWORD bMenuFade:1; //1 SPI_GETMENUFADE
DWORD bSelectionFade:1; //1 SPI_GETSELECTIONFADE
DWORD bTooltipAnimation:1; //1 SPI_GETTOOLTIPANIMATION
DWORD bTooltipFade:1; //1 SPI_GETTOOLTIPFADE
DWORD bCursorShadow:1; //1 SPI_GETCURSORSHADOW
DWORD bReserved2:17; //0 Reserved
DWORD bUiEffects:1; //1 SPI_GETUIEFFECTS
} USERPREFERENCESMASK, *PUSERPREFERENCESMASK;
/* Structures for reading icon/cursor files and resources */
#pragma pack(push,1)
typedef struct _ICONIMAGE
{
BITMAPINFOHEADER icHeader; // DIB header
RGBQUAD icColors[1]; // Color table
BYTE icXOR[1]; // DIB bits for XOR mask
BYTE icAND[1]; // DIB bits for AND mask
} ICONIMAGE, *LPICONIMAGE;
typedef struct _CURSORIMAGE
{
BITMAPINFOHEADER icHeader; // DIB header
RGBQUAD icColors[1]; // Color table
BYTE icXOR[1]; // DIB bits for XOR mask
BYTE icAND[1]; // DIB bits for AND mask
} CURSORIMAGE, *LPCURSORIMAGE;
typedef struct
{
BYTE bWidth;
BYTE bHeight;
BYTE bColorCount;
BYTE bReserved;
} ICONRESDIR;
typedef struct
{
WORD wWidth;
WORD wHeight;
} CURSORRESDIR;
typedef struct
{
WORD wPlanes; // Number of Color Planes in the XOR image
WORD wBitCount; // Bits per pixel in the XOR image
} ICONDIR;
typedef struct
{
WORD wWidth;
WORD wHeight;
} CURSORDIR;
typedef struct
{ union
{
ICONRESDIR icon;
CURSORRESDIR cursor;
} ResInfo;
WORD wPlanes;
WORD wBitCount;
DWORD dwBytesInRes;
WORD wResId;
} CURSORICONDIRENTRY;
typedef struct
{
WORD idReserved;
WORD idType;
WORD idCount;
CURSORICONDIRENTRY idEntries[1];
} CURSORICONDIR;
typedef struct
{
union
{
ICONRESDIR icon;
CURSORRESDIR cursor;
} ResInfo;
WORD wPlanes; // Color Planes
WORD wBitCount; // Bits per pixel
DWORD dwBytesInRes; // how many bytes in this resource?
WORD nID; // the ID
} GRPCURSORICONDIRENTRY;
typedef struct
{
WORD idReserved; // Reserved (must be 0)
WORD idType; // Resource type (1 for icons)
WORD idCount; // How many images?
GRPCURSORICONDIRENTRY idEntries[1]; // The entries for each image
} GRPCURSORICONDIR;
#pragma pack(pop)
typedef struct _THRDCARETINFO
{
HWND hWnd;
HBITMAP Bitmap;
POINT Pos;
SIZE Size;
BYTE Visible;
BYTE Showing;
} THRDCARETINFO, *PTHRDCARETINFO;
#endif