#pragma once #include "CcosLock.h" #include "ResDataObject.h" #include "ShareMemory_Circle.h" #ifndef UnvalidSMBid #define UnvalidSMBid 0xffffffff #endif #define FetchImagePool ("ImageFetchPool") #define MaxFrameLimits ("MaxFrameLimits") #define ImageLeftCount ("ImageLeftCount") #define TotalFrameCount ("TotalFrameCount") #define CurrentImageIndex ("CurrentImageIndex") typedef enum _CurFramePos { FRAME_POS_CUR, FRAME_POS_FIRST, FRAME_POS_LAST, FRAME_POS_INCREASE, FRAME_POS_DECREASE, FRAME_POS_MAX }CURFRAMEPOS; typedef enum _Block_Image_Type { FULL_BLOCK_IMG, PREV_BLOCK_IMG, MAX_BLOCK_IMG }BLOCK_IMAGE_TYPE; class ImagePoolEx : public CcosLock { //FullImageQueue Of ShareMemObject void* m_pFullImageQueue; //PrevImageQueue Of ShareMemObject void* m_pPrevImageData; // public: ImagePoolEx(); virtual ~ImagePoolEx(); bool SetMaxBlockSize(const char *pQueName, DWORD BlockSize, DWORD FulBlockCount, DWORD PrevBlockSize, DWORD PrevBlockCount); unsigned long AddFrameWithHead(BLOCK_IMAGE_TYPE Type, string &imageHead, char* pFrameBuff, DWORD FrameSize); void ClearPool(); };