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

📄 orgdll.h

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

///CPY v3.98 1/15/95 EGO_MESSAGE, remove below
//#ifndef	EGO_CMD
/* return codes for set_value, get_value */
#define	EGOR_NO		0
#define	EGOR_YES	1
#define	EGOR_ERR	2
#define	EGO_SET_VALUE	17	/* set single value */
#define	EGO_GET_VALUE	18	/* get single value */
#define	EGO_SET_STR	19
#define	EGO_GET_STR	20
///CPY v3.98 1/15/95 EGO_MESSAGE, move here from labgobj.h
//#define	EGO_CMD		21
///EJP v3.98 01-02-96 UIM_OBJ_HANDLING
///sth v4.09 5/21/96 REMOVING_DOUBLE_EGO_CMD_DEFINITION
//#ifdef WNDBASED_UIM_OBJ
///end REMOVING_DOUBLE_EGO_CMD_DEFINITION
	//CPY v3.98 1/16/95 EGO_MSG_CONSISTANT
	//#define EGO_CMD         (21 + (MASK_COMMON_MSG | MASK_MSG_NEED_CALLBACK))
	//#define EGO_CMD_INIT    (22 + (MASK_COMMON_MSG))
	#define EGO_CMD         (1 + (MASK_COMMON_MSG | MASK_MSG_NEED_CALLBACK))
	#define EGO_CMD_INIT    (2 + (MASK_COMMON_MSG))
	///
///sth v4.09 5/21/96 REMOVING_DOUBLE_EGO_CMD_DEFINITION
//#else
	//#define EGO_CMD         21
	//#define EGO_CMD_INIT    22
//#endif // NO_WNDBASED_UIM_OBJ
///end REMOVING_DOUBLE_EGO_CMD_DEFINITION
///end UIM_OBJ_HANDLING

//#endif //EGO_CMD

///CPY v3.98 VECTOR_ASSIGNMENT, can not use 22 and 23
///EJP v3.98 UIM_OBJ_HANDLING, add common mask for wndbased uim objs.
///#define	EGO_GET_VECTOR_SIZE	37
///#define	EGO_SET_VECTOR_SIZE	38
#define EGO_GET_VECTOR_SIZE	(3 + (MASK_COMMON_MSG)) //CPY v3.98 1/16/95 EGO_MSG_CONSISTANT, after EGO_CMD_INIT
#define EGO_SET_VECTOR_SIZE	(4 + (MASK_COMMON_MSG))
/// see labgobj.h for range of other numbers

#ifndef	LFS_NOT_IN_LIST

/* copied from labstr.h on 7/28/93 */

typedef struct	STRLIST {
	USHORT	id;
	LPSTR	str;
}STRLIST,FAR *LPSTRLIST;

int FAR PASCAL LABUTIL_FindString(LPSTRLIST lpList,LPSTR lpstr);
#define	LFS_NOT_IN_LIST	32764

#endif







/*******************
 * LabCntrl definitions and messages
 *******************/
typedef	ULONG	(FAR PASCAL *LPFNPROCESS)(HWND,USHORT,LPSTR,LPSTR,LPCALLBK);

#define	LABCNTRL_PROCESS	2
#define	LABCNTRL_STATE_CHANGE	3
#define	LABCNTRL_WIN_OPEN	4/* any window opens */
#define	LABCNTRL_WIN_CLOSE	5
#define	LABCNTRL_BEGIN_EDIT	6
#define	LABCNTRL_END_EDIT	7

#define	LABCNTRL_START		10
#define	LABCNTRL_STOP		11



#ifdef	DDE_DATA_STRING		
/******** lpwks processing ********/
int ProcessOneCol(LPDATAWKS lpWks,int nCol,FARPROC lpfn,ULONG lParam1,ULONG lParam2);
#define	POC_BEGIN	0
#define POC_END		1
#define POC_PROCESS	2

/** callback function has the following form

int FAR PASCAL callback(LPSTR lpData,USHORT wFormat,ULONG lParam1,ULONG lParam2,USHORT msg);

**/

#endif

/* process info function
 * ULONG FAR PASCAL ProcInfo(int type,int msg,LPSTR lpstr)
 * and msg is defined below
 */
#define	PIF_LPFN_BY_TYPE	0
#define	PIF_LPFN_BY_NAME	1
	/* get function ptr of specified type */
#define	PIF_GET_TOTAL_OBJS	2	/* number of objects */
#define	PIF_GET_BMP		3	/* get the bmp of the specified obj */
#define PIF_RELEASE_BMP		4
#define PIF_GET_NAME		5	/* get the name of the spec obj */

/// Module Error codes  12/6/94

// error message groups
#define 	ERRGP_ORIGIN 		0x0000  // from A
#define		ERRGP_SETTING		0x2000
#define 	ERRGP_ARGUMENT		0x4000
#define 	ERRGP_HARDWARE		0x6000
#define 	ERRGP_EXTERNAL    	0x8000
#define 	ERRGP_MEMORY	 	0xA000
#define  	ERRGP_MISC              0xC000
// 12/28 km, the above errors are all in a module error    
//#define  	ERRGP_MODULE		0xC000 /// interface to Origin 
// 0xE000 reserved for later use 
// error message handling methods, IN .errout
enum {
	ERROUT_NO_OUTPUT,
	ERROUT_SCRIPT_WINDOW,
	ERROUT_SAVE_FILE,
	ERROUT_DIALOG_BOX,
	ERROUT_STATIS_WINDOW,
}; 


//------------- CPY v5.036 1/22/98 t3479 MODATA_SET_RANGE_CHANGE
// constants for when data is changed in a series(dataset), what kind of redraw should take place
// used mainly in the SET_RANGE_REDRAW callback function
#define SR_REDRAW_NONE			0x8000	/// for debug purpose to ensure proper calling parameter range
#define SR_REDRAW_REALTIME		0x8001
#define	SR_REDRAW_REFRESH		0x8002
#define	SR_REDRAW_REALTIME_WKS	(SR_REDRAW_REALTIME | 0x8004)
#define SR_REDRAW_REALTIME_SCOPE (SR_REDRAW_REALTIME |0x8008) // CPY v6.0187 4/22/99 OPP_SCOPE_MODE
#define	SR_MASK_REALTIME_ON_IDLE	0x0010	///---- CPY v5.039 b3558 REALTIME_DRAW_BUFFERRING
//------------- MODATA_SET_RANGE_CHANGE



/// ML v4.09 4/26/96 MOVED_TO_PSDLL_H
/*

#ifdef ORG_DATA_MASK

/// ML 3.981 1/23/96 MOVED_FROM_MARK_H_TO_ORGDLL_H
#define		MAX_NUM_MASKS					255
#define		MASK_VARIABLE_NAME_SIZE			WORD_SIZE
/// end MOVED_FROM_MARK_H_TO_ORGDLL_H


/// ML v4.00 1/25/96 TO_PROVIDE_COMMUNICATION_WITH_LABMASK

/// ML v4.08 4/11/96 NAME_OF_SUBJECT_COLUMN_PLUS_ADDITIONAL_STILL_UNUSED_MEMBERS
// Must be a multiple of 8, because it will be in a structure
#define		TW_COLUMN_NAME_SIZE				32		
/// end NAME_OF_SUBJECT_COLUMN_PLUS_ADDITIONAL_STILL_UNUSED_MEMBERS

#define		TWOWAYMEMOBJNAME	"_TWY"

typedef	struct	tagTwoWayMemObjHeader {
	ULONG	ulSizeOfThisHeader;	// it has to be set to the size of this header when created.
	DWORD	dwKindOfWorksheet;	// 0 for the original (masked) worksheet (it should be when object is
								//	 created),
								// 1 for the fully (two-way) extracted cells
								// 2 for the twoway-ANOVA arranged worksheet (after 'mark.BoxesToCols()')
	ULONG	ulNumLevsFirstWay;
	ULONG	ulNumLevsSecondWay;
	DWORD	dwOnlyNumTextSize;	// HIWORD contains the size of the strings
								// used to store formatted numeric levels for
								// the first way if it is numeric (otherwise it has to be zero)
								// LOWORD for the second way.
/// ML v4.08 4/7/96 STORE_GAPSIZE_IN_MEMORY_OBJECT
	//DWORD	dwNotUsed;
	DWORD	dwGapSize;			// Used by MARK object (Boxes To Cols) to store the size
								// of the gap.
/// end STORE_GAPSIZE_IN_MEMORY_OBJECT
	DWORD	dwKinds;			// first bit for first way, second bit for second way
	DWORD	dwSizes;			// HIWORD contains the size of the first way variable 
								// (for example: for double it will be eight (which is automatic
								// if the kind is numeric), for textual it will be the string
								// length).
								// LOWORD contains the size of the second way variable
	ULONG	ulTotNumMasks;
	ULONG	dwNumCellObservations;	// the size of the cell with the maximum number of observations
	/// ML v4.08 4/11/96 NAME_OF_SUBJECT_COLUMN_PLUS_ADDITIONAL_STILL_UNUSED_MEMBERS
	// The two character buffers are used to store the names of the two columns
	// to which the masks are set. The first one must be the name of the subject
	// column, the second one the name of the response column. 
	// If these two are empty, then it is not any of the two repeated measurement
	// cases (subject column is relevant only if it is a repeated measurements case).
	char	szSubjectColumnName[TW_COLUMN_NAME_SIZE];		// multiple of 8
	char	szResponseColumnName[TW_COLUMN_NAME_SIZE];		// multiple of 8
	/// ML v4.08 4/17/96 STORE_THE_NAME_OF_THE_SECOND_FACTOR_COLUMN
	// We need to store the name of the second factor column so that we can 
	// know those names when transforming the worksheet in mark object
	char	szSecFactColumnName[TW_COLUMN_NAME_SIZE];
	/// end STORE_THE_NAME_OF_THE_SECOND_FACTOR_COLUMN
	DWORD	dwUnusedOne;
	DWORD	dwUnusedTwo;
	DWORD	dwUnusedThree;
	DWORD	dwUnusedFour;
	DWORD	dwUnusedFive;
	DWORD	dwUnusedSix;
	DWORD	dwUnusedSeven;
	DWORD	dwUnusedEight;
	/// end NAME_OF_SUBJECT_COLUMN_PLUS_ADDITIONAL_STILL_UNUSED_MEMBERS
} TWHEADER,	FAR *	LPTWHEADER;

// Total size of the memory that follows the header must be:
//         HIWORD(dwSizes) * ulNumLevsFirstWay + LOWORD(dwSizes) * ulNumLevsSecondWay + 
//			+ HIWORD(dwOnlyNumTextSize) * ulNumLevsFirstWay + 
//			+ LOWORD(dwOnlyNumTextSize) * ulNumLevsSecondWay + 
//			+ ulTotNumMasks * [ HIWORD(dwSizes) + LOWORD(dwSizes) ]
//	The first row stores the levels for both ways, while the second stores the
//	associations for each mask (starting with mask number 1).
//
//	The memory structure that follows the header looks like this:
//	1)	a series of ulNumLevsFirstWay elements of size HIWORD(dwSizes),
//	2)	a series of ulNumLevsSecondWay elements of size LOWORD(dwSizes),
//	3)	a series of ulNumLevsFirstWay elements of size HIWORD(dwOnlyNumTextSize)
//		(does not exist if the first way is textual).
//	4)	a series of ulNumLevsSecondWay elements of size LOWORD(dwOnlyNumTextSize)
//		(does not exist if the second way is textual).
//	5)	a series of ulTotNumMasks elements of the size [ HIWORD(dwSizes) + LOWORD(dwSizes) ].
//
// The purposes are the following:
//	1) and 2) store the levels for the first and second factor. If any of these factors
//				is numeric, they are stored as numbers (not text).
//	3) and 4) are used to store according to the numeric format
//				of the orginal column the numeric levels (they do not exist for textual).
//	5) stores the mask associations (beginning with the mask number one).
//

/// end TO_PROVIDE_COMMUNICATION_WITH_LABMASK
///sth v4.08 4/8/96 DOUBLE_ANOVA_WKS
#define TWH_TWO_ANOVA_ARRANGED	2
///end DOUBLE_ANOVA_WKS




/// ML 4/20/96 ONE_WAY_MEMORY_OBJECT_FOR_ONEWAY_REPEATED_MEASUREMENT_PURPOSES 
#define		OW_COLUMN_NAME_SIZE		TW_COLUMN_NAME_SIZE
#define		ONEWAYMEMOBJNAME		"_OWY"

typedef	struct	tagOWHEADER {
	ULONG		ulSizeOfThisHeader;		
	DWORD		dwKindOfWorksheet;	// 0 for the original worksheet (with masks set), 1 for fully extracted
	DWORD		dwNumLevels;
	DWORD		dwUnused;
	char		szSubjectColumnName[OW_COLUMN_NAME_SIZE];		// multiple of 8
	char		szResponseColumnName[OW_COLUMN_NAME_SIZE];		// multiple of 8
	DWORD		dwUnusedOne;
	DWORD		dwUnusedTwo;
} OWHEADER, FAR	*LPOWHEADER;
/// end ONE_WAY_MEMORY_OBJECT_FOR_ONEWAY_REPEATED_MEASUREMENT_PURPOSES



#endif	// ORG_DATA_MASK
*/

///JLIU nad DSC v4.982 5/7/97 MOVE_FROM_ORGDLL_TO_MODLL for the ati modll
///#ifdef		POWER_STAT
///	#include	"psdll.h"
///#endif
///	end MOVE_FROM_ORGDLL_TO_MODLL


/// end MOVED_TO_PSDLL_H





///CPY v4.10 6/11/96 WKS_DLL_MODI_ADD_CALLBACK, add last argument as lpCallBack, define this as a separate one for used in Origin
#define	ORG_WKS_DLL_MODI_PARAMS						HWND hWnd,UINT msg,LONG nParam,DWORD lParam
///CPY v4.10 6/10/96 WKS_DLL_MODIFICATION_SUPPORT
/// DLL export this function as ORDINAL number 30
#define	WKS_DLL_MODI_PARAMS							ORG_WKS_DLL_MODI_PARAMS, LPCALLBK lpOriginCallBack						
typedef DWORD (CALLBACK* O_WKS_DLL_MODI)(WKS_DLL_MODI_PARAMS);
///hWnd=wks window for all messages
/// messages are defined as

	/// All the messages should return this if no handling:
	#define	DLL_DID_NOT_HANDLE		0xEDCBABCD


	#define WDM_BEGIN		0x1000				/// nParam=0, lParam = (LPSTR) wksName, return 0 if OK, DLL_DID_NOT_HANDLE if no handling
	#define	WDM_END			(WDM_BEGIN + 1)		/// nParam=lParam=0, hWnd=wks window, return 0 if OK, 1 if error 
	
	
	#define	WDM_START_MSG				0x0100
	#define	WDM_GET_CELL_COLOR_INDEX	(WDM_START_MSG + 1) 
	/// lParam = lpLong is pointer to two LONGs:
	///////  lpLong[0] = col number, 1,2,3,..., lpLong[1] =row num. = 0,1,2,..., 
	//  lpLong[0] = col number, 0,1,2,3,..., lpLong[1] =row num. = 0,1,2,...,  // ML v4.11 7/8/96 CHANGE_OFFSET (only comment changes)
	// nParam shoould contain the color number which needs to be skipped
	// return color index :0,1,2,.., or -1 for the particular cell not to be colored
	// WDM_WILL_COLOR should be sent first to see if the DLL will
	// bother to color at all.
	
	#define	WDM_WILL_COLOR				(WDM_START_MSG + 2)
	// returns FALSE if nothing colored
	
	#define	WDM_COLUMN_DLG				(WDM_START_MSG + 3)		
	// when doubleclicking on a column header. nParam = col. number 1-offset
	///CPY: lParam contains the Origin instance handle HINSTANCE
	// returns DLL_DID_NOT_HANDLE to indicate proceeding as usual
	// 0 if handled.
	
	/// more messages are defined with base id + n
/// end WKS_DLL_MODIFICATION_SUPPORT


/// ML v4.133 9/24/96 EXE_CALLING_DLL_FOR_GRAPH 
#ifdef		EXE_CALLING_DLL_FOR_GRAPH
	#define	ORG_GRAPH_DLL_ACCESS_PARAMS						HWND hWnd, UINT msg, DWORD dwParam, LPARAM lParam
	#define	GRAPH_DLL_ACCESS_PARAMS							ORG_GRAPH_DLL_ACCESS_PARAMS, LPCALLBK lpOriginCallBack

	// the function must be exported at ID_EXPORT_GRAPH_ACCESS:						
	typedef DWORD (CALLBACK* O_GRAPH_DLL_ACCESS)(GRAPH_DLL_ACCESS_PARAMS);

	// Possible values of msg: 
	#define		GDA_MESSAGE_START		1
	enum {
		GDA_BOXCHARTS_ETC = GDA_MESSAGE_START, 
		/// ML v4.133 9/27/96 IDS_OF_BASIC_POWERSTAT_METHODS
		GDA_GET_METHOD_TEMPL_SUBDIR,
		/// end IDS_OF_BASIC_POWERSTAT_METHODS
	};

///  YN  11/18/96  ADD_CONDITIONAL_COMPILATION
#else		// ! EXE_CALLING_DLL_FOR_GRAPH
	#define	ORG_GRAPH_DLL_ACCESS_PARAMS						
	#define	GRAPH_DLL_ACCESS_PARAMS							
///  end  ADD_CONDITIONAL_COMPILATION
#endif		// EXE_CALLING_DLL_FOR_GRAPH
/// end EXE_CALLING_DLL_FOR_GRAPH 


/// ML 7/20/98 SCRIPT_RESOURCE_DLL_DIALOGS
#ifdef SCRIPT_RESOURCE_DLL_DIALOGS /// added by CPY 8/11/98
typedef double FAR *LPDOUBLE;///CPY 4/19/99 added for compile release problem
/// ML 4/19/99 t4345 ADDING_SUPPORT_FOR_SCRIPT_BASED_RESOURCE_DLLS
//#define		ORESPRDLLENTRYARGUMENTS		DWORD dwMsg, LPSTR lpszFirst, LPSTR lpszSecond, LPSTR lpszThird, LPSTR lpszArg, LPDOUBLE lpValue

// dwCtrl: 
#define				OKSCRIPTRESDLL_EXECUTE					1UL 
#define				OKSCRIPTRESDLL_UNINIT					2UL 
#define				OKSCRIPTRESDLL_SET_CALLBACK				3UL 
#define				OKSCRIPTRESDLL_SET_TEXTCALLBACK			4UL 
#define				OKSCRIPTRESDLL_OBJEXECUTE				5UL 
#define		ORESPRDLLENTRYARGUMENTS		DWORD dwCtrl, DWORD dwMsg, LPSTR lpszFirst, LPSTR lpszSecond, LPSTR lpszThird, LPSTR lpszArg, LPDOUBLE lpValue	
/// end ADDING_SUPPORT_FOR_SCRIPT_BASED_RESOURCE_DLLS
typedef	LONG	(WINAPI	*PFNORESPRDLL)(ORESPRDLLENTRYARGUMENTS);

#endif //SCRIPT_RESOURCE_DLL_DIALOGS

/// end SCRIPT_RESOURCE_DLL_DIALOGS


/// DSB v3.980 12/15/95 TITLE_DEFS
#define ORIGIN_EXE_TITLE	"ORIGIN40.EXE"
#define LABENG_DLL_TITLE	"LABENG40.DLL" 
/// End TITLE_DEFS

///sth v4.982 b2083 5/7/97 RIGHT_MOUSE_DOWN_CODE_BLOCK
#define SM_WPARAM_DO_NOT_PROCESS_LBUP_SCRIPT	99
///end RIGHT_MOUSE_DOWN_CODE_BLOCK

///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
#ifdef	__cplusplus
} /* end of __cplusplus */
#endif




/////////////////////////////////////////////////////////////////////////////////
#endif //#ifndef _ORGDLL_H

⌨️ 快捷键说明

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