00001 00019 /* 00020 * $Id: animation.h 10865 2008-08-27 06:52:22Z wangjian $ 00021 * 00022 * MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks, 00023 * pSOS, ThreadX, NuCleus, OSE, and Win32. 00024 * 00025 * Copyright (C) 2002-2008 Feynman Software. 00026 * Copyright (C) 1998-2002 Wei Yongming. 00027 */ 00028 00029 #ifndef EXT_ANIMATION_H 00030 #define EXT_ANIMATION_H 00031 00032 00033 #ifdef __cplusplus 00034 extern "C" { 00035 #endif 00036 00048 typedef struct _ANIMATIONFRAME 00049 { 00059 int disposal; 00061 int off_x; 00063 int off_y; 00065 unsigned int width; 00067 unsigned int height; 00068 00070 unsigned int delay_time; 00072 HDC mem_dc; 00074 Uint8* bits; 00075 00077 struct _ANIMATIONFRAME* next; 00079 struct _ANIMATIONFRAME* prev; 00080 } ANIMATIONFRAME; 00081 00083 typedef struct _ANIMATION 00084 { 00086 unsigned int width; 00088 unsigned int height; 00089 00091 RGB bk; 00092 00094 int nr_frames; 00099 int time_unit; 00101 ANIMATIONFRAME* frames; 00102 } ANIMATION; 00103 00118 ANIMATION* CreateAnimationFromGIF89a (HDC hdc, MG_RWops* area); 00119 00134 MG_EXPORT ANIMATION* CreateAnimationFromGIF89aFile (HDC hdc, const char* file); 00135 00151 MG_EXPORT ANIMATION* CreateAnimationFromGIF89aMem (HDC hdc, const void* mem, int size); 00152 00165 MG_EXPORT void DestroyAnimation (ANIMATION* anim, BOOL free_it); 00166 00168 #define CTRL_ANIMATION ("Animation") 00169 00171 #define ANIMATION_OKAY 0 00172 00173 #define ANIMATION_ERR 1 00174 00206 #define ANS_AUTOLOOP 0x0001L 00207 00212 #define ANS_SCALED 0x0002L 00213 00218 #define ANS_FITTOANI 0x0004L 00219 00243 #define ANM_SETANIMATION 0xF110 00244 00260 #define ANM_GETANIMATION 0xF111 00261 00279 #define ANM_STARTPLAY 0xF112 00280 00297 #define ANM_PAUSE_RESUME 0xF113 00298 00316 #define ANM_STOPPLAY 0xF114 00317 00318 #define ANM_MSGMAX 0xF120 00319 00330 #define ANNC_CLICKED 1 00331 00336 #define ANNC_DBLCLK 2 00337 00344 #ifdef __cplusplus 00345 } 00346 #endif 00347 00348 #endif /* EXT_ANIMATION_H */ 00349