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

📄 mocascript.h

📁 图像处理的压缩算法
💻 H
📖 第 1 页 / 共 5 页
字号:
/// end OBJECT_PROPERTY_ACCESS
/// end TREE_IN_OC





//////////////////////////////////////////////////////////////////////////////
//
// Symbolic constatnts -- Flags for the exported function MOCA_XPORT_CREATEOBJ
//

#define MOCA_CREATE_FROM_LPCSTR						0x0000/// TD 12/18/2000 ALLOW_COMPILATION_OF_VAR_INITIALIZATION
#define MOCA_CREATE_SET_CALLBACK					0x0001
#define MOCA_CREATE_FROM_LPDOUBLE					0x0002/// TD 12/18/2000 ALLOW_COMPILATION_OF_VAR_INITIALIZATION
#define MOCA_CREATE_FROM_LPSCRPTOBJ					0x0003/// TD 12/18/2000 ALLOW_COMPILATION_OF_VAR_INITIALIZATION
#define MOCA_CREATE_UPDATE_DEBUGMODE				0x0004///	TD 2-12-02 QA70-771 v6.9211 ORIGINC_DEBUG_MODE
#define MOCA_SET_CREATION_ERROR_CALLBK				0x0005/// TD 5-24-02 QA70-1882 v7.0310 TEMPLATE_DATA_ATTACHMENT_FAILURE_TREATED_AS_RUN_TIME_ERROR

#define MOCA_SET_NAG_RELATED_CALLBACKS				0x0006   // AW 06/26/02 v7.0328 QA70-2116 MOCABASETYPE_NAG_DLL_SUPPORT
#define MOCA_SET_GET_LTVECTOR_CALLBK				0x0007   /// TD 7-01-02 QA70-2181 v7.0331 LABTALK_STRING_VECTORS_TO_OCVECTORS
/// TD 5-24-02 QA70-1882 v7.0310 TEMPLATE_DATA_ATTACHMENT_FAILURE_TREATED_AS_RUN_TIME_ERROR
//typedef  CArray<UINT, UINT>		Index;
typedef		int		MoCreateErr;
typedef void (*LPFNSetLtErr)(MoCreateErr&);
typedef int (CALLBACK * CBkLTVect)(CStringArray*, LPSTR, bool); /// TD 7-01-02 QA70-2181 v7.0331 LABTALK_STRING_VECTORS_TO_OCVECTORS
/// end TEMPLATE_DATA_ATTACHMENT_FAILURE_TREATED_AS_RUN_TIME_ERROR

/// YuI 3/25/2 QA70-1043 v7.0255 GET_ROI_DATA
///// YuI 3/13/2 QA70-1043 v7.0233 GET_ROI_DATA
//typedef enum tagGETROIDATACNTRL
//{
//	GET_ROI_DATA	=	0,
//	GET_ROI_I,
//	GET_ROI_J,
//}	GETROIDATACNTRL;
//
//typedef enum tagOCGRAPHOBJGETINFOMSG
//{
//	OCGIM_GetROIData	=	0,
//}	OCGRAPHOBJGETINFOMSG;
///// end GET_ROI_DATA
/// end GET_ROI_DATA
/// TD 2/29/2001 UNUSED_CODES
/*
////////////////////////////////////////////////////////////////////////////
//		COperationInfo header/body class
//
class COperationInfo : public CObject
{
	DECLARE_DYNAMIC(COperationInfo);
public:

   COperationInfo(char cOperator, DWORD dwValidBits, DWORD dwValidReturns);
   COperationInfo(COperationInfo& oOperationInfo);
   ~COperationInfo();


   BOOL	IsTypeBitValid(DWORD dwTypeBit);
   BOOL	IsOperator(char cOperator);

private:

	DWORD m_dwValidBits;
	char  m_cOperator;

public:

	DWORD m_dwValidReturns;
};





////////////////////////////////////////////////////////////////////////////
//		COPCompatTable header/body class
//
class COPCompatTable : public CObject
{
	DECLARE_DYNAMIC(COPCompatTable);
public:
	COPCompatTable();
	~COPCompatTable();

public:

	DWORD CanOperate(char cOperator, int nLType, int nRType);
private:

	CMap<DWORD, DWORD, COperationInfo*, COperationInfo*> m_GrpOIMap;
};
*/
/// end----------------TD 2/29/2001 UNUSED_CODES


/// ML 7/11/2001 MUST_CHECK_FOR_ZERO_DENOMINATOR
///// ML 6/6/2001 SAFE_FLOATING_DIVIDE_FIX
////#define		MOCA_SAFE_DOUBLE_DIVIDE(_rNum, _rDen)   ( (1. <= (_rDen) || fabs(_rNum) < (_rDen) * 1.7E+308) ? (_rNum) / (_rDen) : NANUM )
//#define		MOCA_SAFE_DOUBLE_DIVIDE(_rNum, _rDen)   ( (1. <= fabs(_rDen) || fabs(_rNum) < fabs(_rDen) * 1.7E+308) ? (_rNum) / (_rDen) : NANUM )
///// end SAFE_FLOATING_DIVIDE_FIX
///  end MUST_CHECK_FOR_ZERO_DENOMINATOR
/// TD 8-17-02 QA70-2715 v7.0374 GETDATAOBJECTC_IN_APPLICATION
#define		DISPL_INVALID_WRAPPER	_T("Invalid Object")
/// end GETDATAOBJECTC_IN_APPLICATION
/// ML 1/24/2000 EXPRESSION_HANDLING_USING_OBJECT
typedef	struct	tagSMOOPERATECTXT {
	DWORD			dwParam;
	/// ML 5/11/2001 PTR_COMPARISONS
	// Possible bits:
	#define			DWORDSMOOPERATECTXT_TRUE												0x00010000UL
	/// end PTR_COMPARISONS
	/// ML 6/22/2001 VECTOR_OR_MATRIX_ASSIGNMENT_LHS_TEMPORARY_BUG
	#define			DWORDSMOOPERATECTXT_KEEP_DEST_SOURCE_SIZE_IF_NO_SOURCE_VECTOR_OR_MATRIX	0x00020000UL
	/// end VECTOR_OR_MATRIX_ASSIGNMENT_LHS_TEMPORARY_BUG
	/// ML 10/2/2001 MULTIPLE_MEMORY_PTR_DEREFERENCING_IMPROVEMENTS
	#define			DWORDSMOOPERATECTXT_PTR_DEREF											0x00040000UL
	/// end MULTIPLE_MEMORY_PTR_DEREFERENCING_IMPROVEMENTS
	/// ML 2/21/2002 QA70-965 APPENDING_TO_VECTORS_AND_DATASETS
	#define			DWORDSMOOPERATECTXT_APPEND												0x00080000UL
	/// ML end QA70-965 APPENDING_TO_VECTORS_AND_DATASETS
	/// ML 5/6/2003 QA70-4373 BETTER_CURVE_ARITHMETICS
	#define			DWORDSMOOPERATECTXT_TEMP_FOR_FIRST_BINARY_OPERAND						0x00100000UL
	/// end QA70-4373 BETTER_CURVE_ARITHMETICS
	/// AW 06/25/03 QA70-4714 v7.0606 SUPPORT_REF_RETURN
	#define			DWORDSMOOPERATECTXT_CALLED_FROM_RETURN									0x00200000UL
	/// END SUPPORT_REF_RETURN
	/// ML 10/12/2001 MORE_WORK_SUBTRACTING_PTRS
	PUINT			pnPtrSubtractSizeOfOne;	// in:		double	*p1, *p2; ...; int nn = p2 - p1;
	/// TD 8-26-03 QA70-NEEDTRACKER POINTER_CREATION_AND_ASSIGNMENT_BUG
	#define			DWORDSMOOPERATECTXT_PTR_ACTUAL_TARGET									0x00400000UL
	/// end POINTER_CREATION_AND_ASSIGNMENT_BUG
											// pnPtrSubtractSizeOfOne will point at sizeof(double)
	/// end MORE_WORK_SUBTRACTING_PTRS
} SMOOPERATECTXT, FAR	*LPSMOOPERATECTXT;


/// ML 5/11/2001 PTR_COMPARISONS
#define			SET_DWORDSMOOPERATECTXT_TRUE(_lpOperctxt, _bSet)		((_bSet) ? ((_lpOperctxt)->dwParam |= DWORDSMOOPERATECTXT_TRUE) : ((_lpOperctxt)->dwParam &= ~DWORDSMOOPERATECTXT_TRUE))

#define			IS_DWORDSMOOPERATECTXT_TRUE(_lpOperctxt)				(((_lpOperctxt)->dwParam & DWORDSMOOPERATECTXT_TRUE) ? TRUE : FALSE)
/// end PTR_COMPARISONS


// dwOperator in 'OperateEx()'

#define		CSMOOPERATOR_MASK_NO_OTHER			0x00000080UL	// those that do not require the other term (pSMO)
/// ML 5/11/2001 PTR_COMPARISONS
/// ML 6/11/2001 CORRECT_TYPES_FOR_RELATIONAL_COMPARISONS
//#define		CSMOOPERATOR_RELATIONAL_MASK		0x00000100UL
#define		CSMOOPERATOR_RELATIONAL_MASK		0x00000040UL		// must be within CSMOOP_GET_BASIC_OPERATOR()
/// end CORRECT_TYPES_FOR_RELATIONAL_COMPARISONS
/// end PTR_COMPARISONS

/// ML 1/29/2000 ARRAY_MORE_WORK
#define		CSMOOPERATOR_APPLY_INDEX_TO_SOURCE	0x00010000UL	// the source should be indexed, rather than the destination
/// end ARRAY_MORE_WORK
/// ML 2/21/2001 OPERATIONS_WITH_SIMPLE_UNARY
#define		CSMOOPERATOR_CHANGE_SOURCE_SIGN		0x00020000UL	// unary "-"
#define		CSMOOPERATOR_NOT_SOURCE				0x00040000UL	// unary "!"
#define		CSMOOPERATOR_BINARY_NOT_SOURCE		0x00080000UL	// unary "~"
/// ML 5/11/2001 IT_HAS_TO_CALL_OperateMultiDim
#define		CSMOOPERATOR_ARRAY_TO_PTR			0x00100000UL
/// end IT_HAS_TO_CALL_OperateMultiDim
/// ML 5/11/2001 INITIALIZING_CHAR_ARRAY_FROM_ANOTHER_CHAR_ARRAY
#define		CSMOOPERATOR_INIT_VARIABLE_COMPILE	0x00200000UL	// not really used inside the types DLL, only in compiler
/// end INITIALIZING_CHAR_ARRAY_FROM_ANOTHER_CHAR_ARRAY
/// ML 5/11/2001 MEMORY_POINTER_RETURNING_FROM_FUNCTIONS
#define		CSMOOPERATOR_INIT_RETURN_TYPE		0x00400000UL	// not really used inside the types DLL
/// end MEMORY_POINTER_RETURNING_FROM_FUNCTIONS
/// ML 6/8/2001 PASSING_PTR_DEREFERENCE_TO_REFERENCE
#define		CSMOOPERATOR_SET_TO_MEM_POINTER_TARGET		0x00800000UL	// must be a bit, instead of a value
/// end PASSING_PTR_DEREFERENCE_TO_REFERENCE
/// ML 7/5/2001 STRING_TO_CHARACTER_PTR
#define		CSMOOPERATOR_STRING_TO_CHARMEM_POINTER		0x01000000UL
/// end STRING_TO_CHARACTER_PTR

#define		CSMOOPERATOR_SIMPLE_UNARY_MASK		(CSMOOPERATOR_CHANGE_SOURCE_SIGN | CSMOOPERATOR_NOT_SOURCE | CSMOOPERATOR_BINARY_NOT_SOURCE)

#define		CSMOOP_GET_SIMPLE_UNARY(_dwOperator)	(CSMOOPERATOR_SIMPLE_UNARY_MASK & (_dwOperator))
/// end OPERATIONS_WITH_SIMPLE_UNARY
/// TD 7-30-03 EXPLICIT_DOWNCAST
#define		CSMOOPERATOR_MASK_EC_PTR_DOWNCAST			0x02000000UL
/// end EXPLICIT_DOWNCAST



// Basic operators:
enum {
	CSMOOPERATOR_SET_VALUE = 1,
	CSMOOPERATOR_PLUS,					
	CSMOOPERATOR_MINUS,					
	CSMOOPERATOR_MULTIPLY,				
	CSMOOPERATOR_DIVIDE,				
	CSMOOPERATOR_REMAINDER,				// a % b
	CSMOOPERATOR_BIT_OR,				
	CSMOOPERATOR_BIT_XOR,				
	CSMOOPERATOR_BIT_AND,				
	CSMOOPERATOR_BIT_SHIFT_LEFT,			
	CSMOOPERATOR_BIT_SHIFT_RIGHT,			
	/// ML 2/21/2001 POINTERS_FIRST_PHASE
	CSMOOPERATOR_SET_POINTER_TARGET,	// it sets to the pointer object what it should point to
	/// end POINTERS_FIRST_PHASE
	/// ML 6/8/2001 PASSING_PTR_DEREFERENCE_TO_REFERENCE
	///// ML 5/8/2001 MEMORY_PTR_FURTHER_WORK
	//CSMOOPERATOR_SET_TO_MEM_POINTER_TARGET,
	///// end MEMORY_PTR_FURTHER_WORK
	/// end PASSING_PTR_DEREFERENCE_TO_REFERENCE
	/// ML 6/27/2001 t9281 ORIGINC_EXPLICIT_CASTS
	CSMOOPERATOR_EC_NUMERIC_TO_PTR,	// "EC" in the name stands for "explicit cast".
	/// end ORIGINC_EXPLICIT_CASTS
	/// ML 7/3/2001 EXPLICITLY_CASTING_PTRS_TO_SIMPLE_NUMERIC_TYPES_AND_TO_STRUCTURES_TO_SIMPLE_NUMERIC_TYPES
	CSMOOPERATOR_EC_STRUCT_PTR_TO_PTR,			// "EC" in the name stands for "explicit cast".
	CSMOOPERATOR_EC_SIMPLE_NUMERIC_PTR_TO_PTR,	// "EC" in the name stands for "explicit cast".
	/// end EXPLICITLY_CASTING_PTRS_TO_SIMPLE_NUMERIC_TYPES_AND_TO_STRUCTURES_TO_SIMPLE_NUMERIC_TYPES
	/// TD 11-20-01 ALLOW_EXPLICIT_CAST_OF_CATMAP_TO_VECTORSTRING
	CSMOOPERATOR_EC_CATMAP_TO_VECSTR,	// "EC" in the name stands for "explicit cast".
	/// end ALLOW_EXPLICIT_CAST_OF_CATMAP_TO_VECTORSTRING
	/// TD 7-1-03 QA70-4490 POINTER_TO_DWORD_TO_POINTER
	CSMOOPERATOR_EC_PTR_TO_NUMERIC,
	CSMOOPERATOR_EC_NUMERIC_TO_OCPTR,
	/// end POINTER_TO_DWORD_TO_POINTER
	/// TD 8-22-03 QA70-5050 FUNCTION_POINTERS_TO_DWORD
	CSMOOPERATOR_EC_PFN_TO_PINT,
	CSMOOPERATOR_EC_PINT_TO_PFN,
	/// end FUNCTION_POINTERS_TO_DWORD
	CSMOOPERATOR_EXPONENTIATION,//-------- CPY 3/27/01 t9012 OPTION_TO_SWITCH_EXPONENENT_XOR

	/// ML 12/5/2002 QA70-3458 CASTING_LPVOID_TO_DOUBLE_MEMORY_PTR
	CSMOOPERATOR_EC_VOIDPTR_TO_SIMPLE_NUMERIC_PTR_PTR,
	/// end CASTING_LPVOID_TO_DOUBLE_MEMORY_PTR
	
	CSMOOPERATOR_INCREMENT = CSMOOPERATOR_MASK_NO_OTHER,
	CSMOOPERATOR_DECREMENT,

	/// ML 5/11/2001 PTR_COMPARISONS
	CSMOOPERATOR_RELATIONAL_EQUAL = CSMOOPERATOR_RELATIONAL_MASK,
	CSMOOPERATOR_RELATIONAL_NOT_EQUAL,
	CSMOOPERATOR_RELATIONAL_LESS_THAN,
	CSMOOPERATOR_RELATIONAL_LESS_THAN_OR_EQUAL_TO,
	CSMOOPERATOR_RELATIONAL_GREATER_THAN,
	CSMOOPERATOR_RELATIONAL_GREATER_THAN_OR_EQUAL_TO,
	/// end PTR_COMPARISONS
};


/// ML 2/27/2001 GETTING_EXPRESSION_TYPES
#define		IS_INTEGER_ONLY_BASIC_OPERATOR(_nBasicOp)				(CSMOOPERATOR_REMAINDER == (_nBasicOp) || CSMOOPERATOR_BIT_OR == (_nBasicOp) || CSMOOPERATOR_BIT_XOR == (_nBasicOp)\
																	|| CSMOOPERATOR_BIT_AND == (_nBasicOp) || CSMOOPERATOR_BIT_SHIFT_LEFT == (_nBasicOp) || CSMOOPERATOR_BIT_SHIFT_RIGHT == (_nBasicOp)\
																	 || CSMOOPERATOR_INCREMENT == (_nBasicOp) || CSMOOPERATOR_DECREMENT == (_nBasicOp))
/// end GETTING_EXPRESSION_TYPES

⌨️ 快捷键说明

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