|
|
1.1 root 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:
12: #include <mmsystem.h>
13:
14: // RIFF chunk header.
15:
16: typedef struct _RTAG {
17: FOURCC ckID;
18: DWORD ckSize;
19: } RTAG, *PRTAG;
20:
21:
22: // Valid TAG types.
23:
24: // 'ANI ' - simple ANImation file
25:
26: #define FOURCC_ACON mmioFOURCC('A', 'C', 'O', 'N')
27:
28:
29: // 'anih' - ANImation Header
30: // Contains an ANIHEADER structure.
31:
32: #define FOURCC_anih mmioFOURCC('a', 'n', 'i', 'h')
33:
34:
35: // 'rate' - RATE table (array of jiffies)
36: // Contains an array of JIFs. Each JIF specifies how long the corresponding
37: // animation frame is to be displayed before advancing to the next frame.
38: // If the AF_SEQUENCE flag is set then the count of JIFs == anih.cSteps,
39: // otherwise the count == anih.cFrames.
40:
41: #define FOURCC_rate mmioFOURCC('r', 'a', 't', 'e')
42:
43:
44: // 'seq ' - SEQuence table (array of frame index values)
45: // Countains an array of DWORD frame indices. anih.cSteps specifies how
46: // many.
47:
48: #define FOURCC_seq mmioFOURCC('s', 'e', 'q', ' ')
49:
50:
51: // 'fram' - list type for the icon list that follows
52:
53: #define FOURCC_fram mmioFOURCC('f', 'r', 'a', 'm')
54:
55: // 'icon' - Windows ICON format image (replaces MPTR)
56:
57: #define FOURCC_icon mmioFOURCC('i', 'c', 'o', 'n')
58:
59:
60: // Standard tags (but for some reason not defined in MMSYSTEM.H)
61:
62: #define FOURCC_INFO mmioFOURCC('I', 'N', 'F', 'O') // INFO list
63: #define FOURCC_IART mmioFOURCC('I', 'A', 'R', 'T') // Artist
64: #define FOURCC_INAM mmioFOURCC('I', 'N', 'A', 'M') // Name/Title
65:
66: typedef DWORD JIF, *PJIF;
67:
68: typedef struct _ANIHEADER { /* anih */
69: DWORD cbSizeof;
70: DWORD cFrames;
71: DWORD cSteps;
72: DWORD cx, cy;
73: DWORD cBitCount, cPlanes;
74: JIF jifRate;
75: DWORD fl;
76: } ANIHEADER, *PANIHEADER;
77:
78: /* If the AF_ICON flag is specified the fields cx, cy, cBitCount, and
79: * cPlanes are all unused. Each frame will be of type ICON and will
80: * contain its own dimensional information.
81: */
82:
83: #define AF_ICON 0x0001L /* Windows format icon/cursor animation */
84: #define AF_SEQUENCE 0x0002L /* Animation is sequenced */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.