wxWidgets/include/wx/msw/curicop.h

64 lines
2.1 KiB
C
Raw Normal View History

// PRIVATE STUFF FOLLOWS UNTIL END
// Header signatures for various resources
#define BFT_ICON 0x4349 /* 'IC' */
#define BFT_BITMAP 0x4d42 /* 'BM' */
#define BFT_CURSOR 0x5450 /* 'PT(' */
// This WIDTHBYTES macro determines the number of BYTES per scan line.
#define WIDTHBYTES( i) ((i + 31) / 32 * 4)
#define IS_WIN30_DIB( lpbi) ((*(LPDWORD)( lpbi)) == sizeof( BITMAPINFOHEADER))
WORD DIBNumColors(LPSTR pv);
WORD PaletteSize(LPSTR lpbi);
struct tagCURFILEHEADER { WORD wReserved; // Always 0
WORD wResourceType; // 2 = cursor
WORD wResourceCount; // Number of icons in the file
};
typedef struct tagCURFILEHEADER CURFILEHEADER;
struct tagCURFILERES {
BYTE bWidth; // Width of image
BYTE bHeight; // Height of image
BYTE bColorCount; // Number of colors in image (2, 8, or 16)
BYTE bReserved1; // Reserved
WORD wXHotspot; // x coordinate of hotspot
WORD wYHotspot; // y coordinate of hotspot
DWORD dwDIBSize; // Size of DIB for this image
DWORD dwDIBOffset; // Offset to DIB for this image
};
typedef struct tagCURFILERES CURFILERES;
HANDLE ReadCur( LPTSTR szFileName, LPPOINT lpptHotSpot, int *W = 0, int *H = 0);
HBITMAP ColorDDBToMonoDDB( HBITMAP hbm);
HCURSOR MakeCursor( HANDLE hDIB, LPPOINT lpptHotSpot, HINSTANCE hInst);
struct tagICONFILEHEADER {
WORD wReserved; // Always 0
WORD wResourceType; // 1 = icon
WORD wResourceCount; // Number of icons in the file
};
typedef struct tagICONFILEHEADER ICONFILEHEADER;
struct tagICONFILERES {
BYTE bWidth; // Width of image
BYTE bHeight; // Height of image
BYTE bColorCount; // Number of colors in image (2, 8, or 16)
BYTE bReserved1; // Reserved
WORD wReserved2;
WORD wReserved3;
DWORD dwDIBSize; // Size of DIB for this image
DWORD dwDIBOffset; // Offset to DIB for this image
};
typedef struct tagICONFILERES ICONFILERES;
HANDLE ReadIcon( wxChar *szFileName, int *W = 0, int *H = 0);
HICON MakeIcon( HANDLE hDIB, HINSTANCE hInst);