ANICUR.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:2k
源码类别:

Windows编程

开发平台:

Visual C++

  1. /****************************** Module Header ******************************
  2. * Module Name: ANICUR.H
  3. *
  4. * This header contains all structures and constants needed for manipulating
  5. * Animated cursor files.
  6. *
  7. * History:
  8. *   28-Apr-1993 JonPa   Copied from Windows NT
  9. *
  10. ***************************************************************************/
  11. #include <mmsystem.h>
  12. // RIFF chunk header.
  13. typedef struct _RTAG {
  14.     FOURCC ckID;
  15.     DWORD ckSize;
  16. } RTAG, *PRTAG;
  17. // Valid TAG types.
  18. // 'ANI ' - simple ANImation file
  19. #define FOURCC_ACON  mmioFOURCC('A', 'C', 'O', 'N')
  20. // 'anih' - ANImation Header
  21. // Contains an ANIHEADER structure.
  22. #define FOURCC_anih mmioFOURCC('a', 'n', 'i', 'h')
  23. // 'rate' - RATE table (array of jiffies)
  24. // Contains an array of JIFs.  Each JIF specifies how long the corresponding
  25. // animation frame is to be displayed before advancing to the next frame.
  26. // If the AF_SEQUENCE flag is set then the count of JIFs == anih.cSteps,
  27. // otherwise the count == anih.cFrames.
  28. #define FOURCC_rate mmioFOURCC('r', 'a', 't', 'e')
  29. // 'seq ' - SEQuence table (array of frame index values)
  30. // Countains an array of DWORD frame indices.  anih.cSteps specifies how
  31. // many.
  32. #define FOURCC_seq  mmioFOURCC('s', 'e', 'q', ' ')
  33. // 'fram' - list type for the icon list that follows
  34. #define FOURCC_fram mmioFOURCC('f', 'r', 'a', 'm')
  35. // 'icon' - Windows ICON format image (replaces MPTR)
  36. #define FOURCC_icon mmioFOURCC('i', 'c', 'o', 'n')
  37. // Standard tags (but for some reason not defined in MMSYSTEM.H)
  38. #define FOURCC_INFO mmioFOURCC('I', 'N', 'F', 'O')      // INFO list
  39. #define FOURCC_IART mmioFOURCC('I', 'A', 'R', 'T')      // Artist
  40. #define FOURCC_INAM mmioFOURCC('I', 'N', 'A', 'M')      // Name/Title
  41. typedef DWORD JIF, *PJIF;
  42. typedef struct _ANIHEADER {     /* anih */
  43.     DWORD cbSizeof;
  44.     DWORD cFrames;
  45.     DWORD cSteps;
  46.     DWORD cx, cy;
  47.     DWORD cBitCount, cPlanes;
  48.     JIF   jifRate;
  49.     DWORD fl;
  50. } ANIHEADER, *PANIHEADER;
  51. /* If the AF_ICON flag is specified the fields cx, cy, cBitCount, and
  52.  * cPlanes are all unused.  Each frame will be of type ICON and will
  53.  * contain its own dimensional information.
  54.  */
  55. #define AF_ICON     0x0001L     /* Windows format icon/cursor animation */
  56. #define AF_SEQUENCE 0x0002L     /* Animation is sequenced */