00001 /* 00002 Free Download Manager Copyright (c) 2003-2007 FreeDownloadManager.ORG 00003 Open Download Manager Copyright (c) 2008-2010 OpenDownloadManager.ORG 00004 */ 00005 00006 #ifndef __FOURCC__ 00007 #define __FOURCC__ 00008 00009 class FOURCCMap : public GUID 00010 { 00011 00012 public: 00013 FOURCCMap(); 00014 FOURCCMap(DWORD Fourcc); 00015 FOURCCMap(const GUID *); 00016 00017 DWORD GetFOURCC(void); 00018 void SetFOURCC(DWORD fourcc); 00019 void SetFOURCC(const GUID *); 00020 00021 private: 00022 void InitGUID(); 00023 }; 00024 00025 #define GUID_Data2 0 00026 #define GUID_Data3 0x10 00027 #define GUID_Data4_1 0xaa000080 00028 #define GUID_Data4_2 0x719b3800 00029 00030 inline void 00031 FOURCCMap::InitGUID() { 00032 Data2 = GUID_Data2; 00033 Data3 = GUID_Data3; 00034 ((DWORD *)Data4)[0] = GUID_Data4_1; 00035 ((DWORD *)Data4)[1] = GUID_Data4_2; 00036 } 00037 00038 inline 00039 FOURCCMap::FOURCCMap() { 00040 InitGUID(); 00041 SetFOURCC( DWORD(0)); 00042 } 00043 00044 inline 00045 FOURCCMap::FOURCCMap(DWORD fourcc) 00046 { 00047 InitGUID(); 00048 SetFOURCC(fourcc); 00049 } 00050 00051 inline 00052 FOURCCMap::FOURCCMap(const GUID * pGuid) 00053 { 00054 InitGUID(); 00055 SetFOURCC(pGuid); 00056 } 00057 00058 inline void 00059 FOURCCMap::SetFOURCC(const GUID * pGuid) 00060 { 00061 FOURCCMap * p = (FOURCCMap*) pGuid; 00062 SetFOURCC(p->GetFOURCC()); 00063 } 00064 00065 inline void 00066 FOURCCMap::SetFOURCC(DWORD fourcc) 00067 { 00068 Data1 = fourcc; 00069 } 00070 00071 inline DWORD 00072 FOURCCMap::GetFOURCC(void) 00073 { 00074 return Data1; 00075 } 00076 00077 #endif 00078
1.5.6