ximaico.h
上传用户:gnaf34
上传日期:2022-04-22
资源大小:1657k
文件大小:2k
源码类别:

IP电话/视频会议

开发平台:

Visual C++

  1. /*
  2.  * File: ximaico.h
  3.  * Purpose: ICON Image Class Loader and Writer
  4.  */
  5. /* === C R E D I T S  &  D I S C L A I M E R S ==============
  6.  * CxImageICO (c) 07/Aug/2001 <ing.davide.pizzolato@libero.it>
  7.  * Permission is given by the author to freely redistribute and include
  8.  * this code in any program as long as this credit is given where due.
  9.  *
  10.  * CxImage version 5.00 23/Aug/2002
  11.  * See the file history.htm for the complete bugfix and news report.
  12.  *
  13.  * Parts of the code come from FreeImage 2
  14.  * Design and implementation by Floris van den Berg (flvdberg@wxs.nl)
  15.  *
  16.  * COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY
  17.  * OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES
  18.  * THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE
  19.  * OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED
  20.  * CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT
  21.  * THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY
  22.  * SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL
  23.  * PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER
  24.  * THIS DISCLAIMER.
  25.  *
  26.  * Use at your own risk!
  27.  * ==========================================================
  28.  */
  29. #if !defined(__ximaICO_h)
  30. #define __ximaICO_h
  31. #include "ximage.h"
  32. #if CXIMAGE_SUPPORT_ICO
  33. class CxImageICO: public CxImage
  34. {
  35. typedef struct tagIconDirectoryEntry {
  36.     BYTE  bWidth;
  37.     BYTE  bHeight;
  38.     BYTE  bColorCount;
  39.     BYTE  bReserved;
  40.     WORD  wPlanes;
  41.     WORD  wBitCount;
  42.     DWORD dwBytesInRes;
  43.     DWORD dwImageOffset;
  44. } ICONDIRENTRY;
  45. typedef struct tagIconDir {
  46.     WORD          idReserved;
  47.     WORD          idType;
  48.     WORD          idCount;
  49. } ICONHEADER;
  50. public:
  51. CxImageICO(): CxImage(CXIMAGE_FORMAT_ICO) {}
  52. // bool Load(const char * imageFileName){ return CxImage::Load(imageFileName,CXIMAGE_FORMAT_ICO);}
  53. // bool Save(const char * imageFileName){ return CxImage::Save(imageFileName,CXIMAGE_FORMAT_ICO);}
  54. bool Decode(CxFile * hFile);
  55. bool Encode(CxFile * hFile);
  56. bool Decode(FILE *hFile) { CxIOFile file(hFile); return Decode(&file); }
  57. bool Encode(FILE *hFile) { CxIOFile file(hFile); return Encode(&file); }
  58. };
  59. #endif
  60. #endif