92 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| ///////////////////////////////////////////////////////////////////////////////
 | |
| // Name:        wx/private/icondir.h
 | |
| // Purpose:     Declarations of structs used for loading MS icons
 | |
| // Author:      wxWidgets team
 | |
| // Created:     2017-05-19
 | |
| // Copyright:   (c) 2017 wxWidgets team
 | |
| // Licence:     wxWindows licence
 | |
| ///////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| #ifndef _WX_PRIVATE_ICONDIR_H_
 | |
| #define _WX_PRIVATE_ICONDIR_H_
 | |
| 
 | |
| #include "wx/defs.h"          // wxUint* declarations
 | |
| 
 | |
| 
 | |
| // Structs declared here are used for loading group icons from
 | |
| // .ICO files or MS Windows resources.
 | |
| // Icon entry and directory structs for .ICO files and
 | |
| // MS Windows resources are very similar but not identical.
 | |
| 
 | |
| #if wxUSE_ICO_CUR
 | |
| 
 | |
| #if wxUSE_STREAMS
 | |
| 
 | |
| // icon entry in .ICO files
 | |
| struct ICONDIRENTRY
 | |
| {
 | |
|     wxUint8         bWidth;               // Width of the image
 | |
|     wxUint8         bHeight;              // Height of the image (times 2)
 | |
|     wxUint8         bColorCount;          // Number of colors in image (0 if >=8bpp)
 | |
|     wxUint8         bReserved;            // Reserved
 | |
| 
 | |
|     // these two are different in icons and cursors:
 | |
|                                           // icon           or  cursor
 | |
|     wxUint16        wPlanes;              // Color Planes   or  XHotSpot
 | |
|     wxUint16        wBitCount;            // Bits per pixel or  YHotSpot
 | |
| 
 | |
|     wxUint32        dwBytesInRes;         // how many bytes in this resource?
 | |
|     wxUint32        dwImageOffset;        // where in the file is this image
 | |
| };
 | |
| 
 | |
| // icon directory in .ICO files
 | |
| struct ICONDIR
 | |
| {
 | |
|     wxUint16     idReserved;   // Reserved
 | |
|     wxUint16     idType;       // resource type (1 for icons, 2 for cursors)
 | |
|     wxUint16     idCount;      // how many images?
 | |
| };
 | |
| 
 | |
| #endif // wxUSE_STREAMS
 | |
| 
 | |
| 
 | |
| #ifdef __WINDOWS__
 | |
| 
 | |
| #pragma pack(push)
 | |
| #pragma pack(2)
 | |
| 
 | |
| // icon entry in MS Windows resources
 | |
| struct GRPICONDIRENTRY
 | |
| {
 | |
|     wxUint8         bWidth;               // Width of the image
 | |
|     wxUint8         bHeight;              // Height of the image (times 2)
 | |
|     wxUint8         bColorCount;          // Number of colors in image (0 if >=8bpp)
 | |
|     wxUint8         bReserved;            // Reserved
 | |
| 
 | |
|     // these two are different in icons and cursors:
 | |
|                                           // icon           or  cursor
 | |
|     wxUint16        wPlanes;              // Color Planes   or  XHotSpot
 | |
|     wxUint16        wBitCount;            // Bits per pixel or  YHotSpot
 | |
| 
 | |
|     wxUint32        dwBytesInRes;         // how many bytes in this resource?
 | |
| 
 | |
|     wxUint16        nID;                  // actual icon resource ID
 | |
| };
 | |
| 
 | |
| // icon directory in MS Windows resources
 | |
| struct GRPICONDIR
 | |
| {
 | |
|     wxUint16        idReserved;   // Reserved
 | |
|     wxUint16        idType;       // resource type (1 for icons, 2 for cursors)
 | |
|     wxUint16        idCount;      // how many images?
 | |
|     GRPICONDIRENTRY idEntries[1]; // The entries for each image
 | |
| };
 | |
| 
 | |
| #pragma pack(pop)
 | |
| 
 | |
| #endif // __WINDOWS__
 | |
| 
 | |
| #endif // wxUSE_ICO_CUR
 | |
| 
 | |
| #endif // _WX_PRIVATE_ICONDIR_H_
 |