⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wxmp_common.hpp

📁 flash xmp sdk,flash官方SDK
💻 HPP
字号:
#if ! __WXMP_Common_hpp__#define __WXMP_Common_hpp__ 1// =================================================================================================// Copyright 2002-2007 Adobe Systems Incorporated// All Rights Reserved.//// NOTICE:  Adobe permits you to use, modify, and distribute this file in accordance with the terms// of the Adobe license agreement accompanying it.// =================================================================================================#ifndef XMP_Inline	#if TXMP_EXPAND_INLINE		#define XMP_Inline inline	#else		#define XMP_Inline /* not inline */	#endif#endif#define XMP_CTorDTorIntro(Class) template <class tStringObj> XMP_Inline Class<tStringObj>#define XMP_MethodIntro(Class,ResultType) template <class tStringObj> XMP_Inline ResultType Class<tStringObj>struct WXMP_Result {    XMP_StringPtr errMessage;    void *        ptrResult;    double        floatResult;    XMP_Uns64     int64Result;    XMP_Uns32     int32Result;    WXMP_Result() : errMessage(0) {};};#if __cplusplusextern "C" {#endif#ifndef TraceXMPCalls	#define TraceXMPCalls	0#endif    #define PropagateException(res)	\        if ( res.errMessage != 0 ) throw XMP_Error ( res.int32Result, res.errMessage );#if ! TraceXMPCalls	#define InvokeCheck(WCallProto) \    	WXMP_Result wResult;        \		WCallProto;                 \		PropagateException ( wResult )#else	#define InvokeCheck(WCallProto)                                                              \    	WXMP_Result wResult;                                                                     \    	fprintf ( stderr, "WXMP calling: %s\n", #WCallProto ); fflush ( stderr );                \    	WCallProto;                                                                              \    	if ( wResult.errMessage == 0 ) {                                                         \			fprintf ( stderr, "WXMP back, no error\n" ); fflush ( stderr );                      \    	} else {                                                                                 \			fprintf ( stderr, "WXMP back, error: %s\n", wResult.errMessage ); fflush ( stderr ); \    	}                                                                                        \		PropagateException ( wResult )#endif// -------------------------------------------------------------------------------------------------#define WrapNoCheckVoid(WCallProto) \	WCallProto;#define WrapCheckVoid(WCallProto) \    InvokeCheck(WCallProto)#define WrapCheckMetaRef(result,WCallProto) \    InvokeCheck(WCallProto);                \    XMPMetaRef result = XMPMetaRef(wResult.ptrResult)#define WrapCheckIterRef(result,WCallProto) \    InvokeCheck(WCallProto);                \    XMPIteratorRef result = XMPIteratorRef(wResult.ptrResult)#define WrapCheckBool(result,WCallProto) \    InvokeCheck(WCallProto);             \    bool result = bool(wResult.int32Result)#define WrapCheckOptions(result,WCallProto) \    InvokeCheck(WCallProto);                \    XMP_OptionBits result = XMP_OptionBits(wResult.int32Result)#define WrapCheckStatus(result,WCallProto) \    InvokeCheck(WCallProto);               \    XMP_Status result = XMP_Status(wResult.int32Result)#define WrapCheckIndex(result,WCallProto) \    InvokeCheck(WCallProto);              \    XMP_Index result = XMP_Index(wResult.int32Result)#define WrapCheckInt32(result,WCallProto) \    InvokeCheck(WCallProto);              \    XMP_Int32 result = wResult.int32Result#define WrapCheckInt64(result,WCallProto) \    InvokeCheck(WCallProto);              \    XMP_Int64 result = wResult.int64Result#define WrapCheckFloat(result,WCallProto) \    InvokeCheck(WCallProto);              \    double result = wResult.floatResult// =================================================================================================#if __cplusplus} /* extern "C" */#endif#endif  // __WXMP_Common_hpp__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -