/*		 
			SCOL PLUGIN TEMPLATE . 1999 . by Sylvain HUET

*/



#include <stdio.h>
#include <string.h>

#include "x/Version.h"
#include "x/scolplugin.h"
#include "Lib2dSrc/Macro.h"
#include "Lib2dSrc/container.h"
#include "Lib2dSrc/CObjectBitmap.h"
#include "Lib2dSrc/CObjectRollOver.h"
#include "Lib2dSrc/CObjectCheck.h"
#include "Lib2dSrc/CObjectText.h"
#include "Lib2dSrc/CObjectSlideBar.h"
#include "Lib2dSrc/CObjectSizeBar.h"
#include "Lib2dSrc/CObjectList.h"
#include "Lib2dSrc/CObjectCombo.h"
#include "Lib2dSrc/CObjectTree.h"
//$BLG - v5.01: Add
#include "Lib2dSrc/CObjectWindow.h"
//$BLG: End
#include "Lib2dSrc/CObjLink.h"
#include "Lib2dSrc/container_trans.h"

#ifdef HTML_INCLUDE

#include "LibHtmlSrc/htmlfunctions.h"

extern int OBJTYPHTML;
extern char* mHTMLname[];
extern int (*mHTMLfun[])(mmachine m);
extern int mHTMLnarg[];
extern char* mHTMLtype[];

#endif

cbmachine ww;
mmachine  mm;

int (*mt_start)(int per,int param,int (*fun)(int i,int param));
int (*mt_del)(int i);

//$BLG: v4.6a5 - Add
HCURSOR   arrowCursor;


//$LB (11/11/2003)  : add _SETcontainerCursor
//$LB (16/12/2003)  : add _SETcontainerTransparency and _SIMULATEcontainerTransparency 
//$LB (31/10/2004)  : add _GETcontainerCursorPos
//$BLG							: add CO_NOSCOL (v4.a4)
//$BLG (2006/10/25) : add _CBcompTextClick (v4.6a5)
//$BLG (2006/10/26) : add _CBcompTextCursorMoveIn (v4.6a5)
//$BLG (2006/10/26) : add _CBcompTextCursorMoveOut (v4.6a5)
//$BLG (2007/04/03) : add _FORCEcompCheckROverDisplay (v4.6a6)
//												CHK_ROVER_NO
//												CHK_ROVER_YES
//												CHK_ROVER_FRC
//$BLG							: add CO_EX_LAYERED (v4.6a6)
//$BLG							: add _TOPMOSTcontainer (v4.6a7)
//												CO_TOPMOST
//$BLG							: add 10 entries for CompWindow object (v5.01)
//												 2 more entries for CompWindow (v5.01)
//$BLG							: add _CBcompRollOverUnClick (v5.11)
//$BLG							: add _SETcontainerBackgroundColor (v5.11)
//												OBJ_CONTAINER_ALLEVENTS filter flag
//$BLG							: add _CBcompCheckUnClick (v5.11)

#define NLIB2DPKG 353

int		OBJCONTAINER;
int		OBJNODE;
HINSTANCE hinst;
char* mLIB2Dname[NLIB2DPKG]=
{	
	
	/********************************************************************************/
	/*                            Le container                                      */
	/********************************************************************************/
	"ObjContainer",				//33 - v4.6a7 34 - v5.11 35
	"_CRcontainerFromObjCont",
	"_CRcontainerFromObjWin",
	"_CRcontainer",
	"_GETcontainerMap",
	"_DScontainer",
	"_SHOWcontainer",
	"_MOVEcontainer",
	"_SETcontainerName",
	"_SIZEcontainer",
	"_SIZEEXcontainer",
	"_TOPcontainer",
	//$BLG: v4.6a7 - Add
	"_TOPMOSTcontainer",
	//$BLG - v5.11: Add
	"_SETcontainerBackgroundColor",
	
	"_ENcontainer",
	"_GETcontainerPositionSize",
	"_GETcontainerExPositionSize",
	"_SETfocusContainer",
	"_PAINTcontainer",
	"_PAINTcontainerArea",
	//$LB (11/11/2003)
	"_SETcontainerCursor",
	//$LB (16/12/2003)
	"_SETcontainerTransparency",
	"_SIMULATEcontainerTransparency",
	//$LB (31/10/2004)
	"_GETcontainerCursorPos",
	
	"_METHODcontainerPreDestroy", //16
	"_METHODcontainerDestroy",
	"_METHODcontainerPaint",
	"_METHODcontainerSize",
	"_METHODcontainerMove",
	"_METHODcontainerFocus",
	"_METHODcontainerKillFocus",
	"_METHODcontainerKeyDown",
	"_METHODcontainerKeyUp",
	"_METHODcontainerClick",
	"_METHODcontainerUnClick",
	"_METHODcontainerDblClick",
	"_METHODcontainerMouseHover",
	"_METHODcontainerMouseLeave",
	"_METHODcontainerMouseWheel",
	"_METHODcontainerMouseMove",

	"_CBcontainerPreDestroy",
	"_CBcontainerDestroy",
	"_CBcontainerMove",
	"_CBcontainerSize",
	"_CBcontainerFocus",
	"_CBcontainerKillFocus",
	"_CBcontainerPaint",
	"_CBcontainerKeyUp",
	"_CBcontainerKeyDown",
	"_CBcontainerClick",
	"_CBcontainerUnClick",
	"_CBcontainerDblClick",
	"_CBcontainerMouseWheel",
	"_CBcontainerCursorMove",
	"_CBcontainerCursorHover",
	"_CBcontainerCursorLeave",
	"_CBcontainerPreRender",
	"_CBcontainerPostRender",

	"RFL wincontainer Click",	//les callbacks de la fenetre pour pouvair etre positionnées à la
	"RFL wincontainer UnClick",	//creation du container	14
	"RFL wincontainer DblClick",
	"RFL wincontainer KeyDown",
	"RFL wincontainer KeyUp",
	"RFL wincontainer Focus",
	"RFL wincontainer KillFocus",
	"RFL wincontainer Move",
	"RFL wincontainer Size",
	"RFL wincontainer Close",
	"RFL wincontainer Destroy",
	"RFL wincontainer CursorMove",
	"RFL wincontainer MouseWheel",
	"RFL wincontainer Paint",

	/* constantes du container */
	"CO_MENU",					//26 - v4.6a4:27 - v4.6a7:29
	"CO_NOBORDER",
	"CO_NOCAPTION",
	"CO_NOCLIPCHILDREN",
	"CO_CHILDINSIDE",
	"CO_MINBOX",
	"CO_MAXBOX",
	"CO_SIZEBOX",
	"CO_HIDE",
	"CO_MINIMIZE",
	"CO_MAXIMIZE",
	"CO_DISABLE",
	"CO_3DBORDER",
	//$BLG - v4.6a4
	"CO_NOSCOL",
	//$BLG - v4.6a6 (Added for Containers in v4.6a7)
	"CO_EX_LAYERED",
	//$BLG - v4.6a7
	"CO_TOPMOST",
	

	"CONTAINER_MINIMIZED",		
	"CONTAINER_MAXIMIZED",
	"CONTAINER_RESTORED",
	"CONTAINER_HIDDEN",
	"CONTAINER_UNHIDDEN",

	"LBUTTON",
	"RBUTTON",
	"MBUTTON",
	
	"MK_LBUTTON",
	"MK_RBUTTON",
	"MK_SHIFT",
	"MK_CONTROL",
	"MK_MBUTTON",


	/********************************************************************************/
	/*                                    Node                                      */
	/********************************************************************************/
	"ObjNode",					
	"_CHANGEobjNodeFlags",
	"_GETobjNodeFlags",
	"_CHANGEobjNodeCoordinates",
	"_GETobjNodePositionSizeInFatherRef",
	"_GETobjNodePositionSizeInContainerRef",
	"_PAINTobjNode",
	"_TOPobjNode",
	"_SIZEobjNode",
	"_SETobjNodeFocus",
	"_SETobjNodeTabStopOrder",

	"_CRtoolTip",				//3
	"_CRtoolTipDefault",
	"_DStoolTip",

	"OBJ_ENABLE",
	"OBJ_DISABLE",
	"OBJ_VISIBLE",
	"OBJ_HIDE",
	"OBJ_CBNOPAINT",
	"OBJ_TABSTOP",
	
	"OBJ_LH_FLEX",
	"OBJ_MH_FLEX",
	"OBJ_RH_FLEX",
	"OBJ_LW_FLEX",
	"OBJ_MW_FLEX",
	"OBJ_RW_FLEX",

	"OBJ_CONTAINER_MOVE",
	"OBJ_CONTAINER_CLICK",
	"OBJ_CONTAINER_UNCLICK",
	"OBJ_CONTAINER_DBLCLICK",
	"OBJ_CONTAINER_KEYUP",
	"OBJ_CONTAINER_KEYDOWN",
	"OBJ_CONTAINER_MOUSEWHEEL",
	//$BLG - v5.11: Add
	"OBJ_CONTAINER_ALLEVENTS",

	/********************************************************************************/
	/*                                    Bitmap	                                */
	/********************************************************************************/
	"CompBitmap",				//10
	"_CRcompBitmap",
	"_DScompBitmap",
	"_CONVERTcompBitmapToObjNode",
	"_CBcompBitmapCursorMove",
	"_CBcompBitmapCursorMoveIn",
	"_CBcompBitmapCursorMoveOut",
	"_CBcompBitmapClick",
	"_CBcompBitmapUnClick",
	"_CBcompBitmapDblClick",
	"_CBcompBitmapResizeResource",
	"_CBcompBitmapResize",

	/********************************************************************************/
	/*                                    RollOver                                  */
	/********************************************************************************/
	"CompRollOver",				//9 - v5.11: 10
	"_CRcompRollOver",
	"_DScompRollOver",
	"_CONVERTcompRollOverToObjNode",
	"_CBcompRollOverCursorMoveIn",
	"_CBcompRollOverCursorMoveOut",
	"_CBcompRollOverClick",
	//$BLG: v5.11 - Add _CBcompRollOverUnClick
	"_CBcompRollOverUnClick",
	"_CBcompRollOverResizeResource",
	"_CBcompRollOverResize",

	
	"ROL_MASK",					//3
	"ROL_DISABLE",
	"ROL_CLICK",

	/********************************************************************************/
	/*                                    Check                                     */
	/********************************************************************************/
	"CompCheck",				//12 - $BLG: 4.v6a6 - 13, $BLG: v5.11 - 14
	"_CRcompCheck",
	"_DScompCheck",
	"_CONVERTcompCheckToObjNode",
	"_GETcompCheckState",
	"_SETcompCheckState",
	//$BLG: v4.6a6 - Add
	"_FORCEcompCheckROverDisplay",
	
	"_CBcompCheckCursorMoveIn",
	"_CBcompCheckCursorMoveOut",
	"_CBcompCheckClick",
	//$BLG - v5.11: Add _CBcompCheckUnClick
	"_CBcompCheckUnClick",
	
	"_CBcompCheckStateChanged",
	"_CBcompCheckResizeResource",
	"_CBcompCheckResize",


	"CHK_CHECKED",				//2 - $BLG: v4.6a6 - 5
	"CHK_UNCHECKED",
	//$BLG: v4.6a6 - Added 3 next lines
	"CHK_DSPL_RO_NO",
	"CHK_DSPL_RO_YES",
	"CHK_DSPL_RO_FRC",
	

	/********************************************************************************/
	/*                                   Text                                       */
	/********************************************************************************/
	"CompText",					//14
	"_CRcompText",
	"_DScompText",
	"_CONVERTcompTextToObjNode",
	"_SETcompText",
	"_ADDcompText",
	"_GETcompText",
	"_GETcompTextLine",
	"_GETcompTextLineCount",
	"_GETcompTextFirstLine",
	"_DELcompTextLine",
	"_SETcompTextForbiddenChar",
	"_SETcompTextAuthorizedChar",
	"_SETcompTextFirstLine",

	"_CBcompTextChange",		//4 - $BLG: v4.6a5 - 7
	"_CBcompTextValidation",
	"_CBcompTextResizeResource",
	"_CBcompTextResize",
	//$BLG: v4.6a5 - Added 3 next lines
	"_CBcompTextClick",
	"_CBcompTextCursorMoveIn",
	"_CBcompTextCursorMoveOut",


	"CT_LEFT",					//12
	"CT_RIGHT",
	"CT_BOTTOM",
	"CT_TOP",
	"CT_CENTER",
	"CT_LABEL",
	"CT_EDITLINE",
	"CT_MULTIEDITLINE",
	"CT_WORDWRAP",
	"CT_MULTIFONT",
	"CT_SELECT",
	"CT_PASSWORD",

	"CT_NOCHANGE",				//3
	"CT_BEGIN",
	"CT_END",

	"CT_VALIDENTER",			//2
	"CT_VALIDCLICK",


	/********************************************************************************/
	/*                                    SlideBar                                  */
	/********************************************************************************/
	"CompSlideBar",             // 12
	"_CRcompSlideBar",
	"_DScompSlideBar",
	"_CONVERTcompSlideBarToObjNode",
	"_SETcompSlideBarValue",
	"_SETcompSlideBarMax",
	"_SETcompSlideBarMin",
	"_SETcompSlideBarStep",
	"_CBcompSlideBarValue",
	"_SETcompSlideBarRange",
	"_CBcompSlideBarResizeResource",
	"_CBcompSlideBarResize",

	"SLB_MASK",                 // 6
	"SLB_DISABLE",
	"SLB_GAUGE",
	"SLB_ROLLOVER",
	"SLB_HORIZONTAL",
	"SLB_VERTICAL",

	/********************************************************************************/
	/*                                      List                                    */
	/********************************************************************************/
	"CompList",       // 24
	"_CRcompList",
	"_DScompList",
	"_CONVERTcompListToObjNode",
	"_CBcompListClick",
    "_CBcompListSClick",
	"_CBcompListDblClick",
    "_CBcompListChange",
	"_CBcompListResizeResource",
	"_CBcompListResize",
	"_SETcompListFirst",
	"_SSETcompListFirst",
	"_ADDcompList",
	"_DELcompList",
	"_SETcompListValue",
	"_SDELcompList",
	"_SSETcompListValue",
	"_POScompList",
	"_GETcompListCount",
	"_RSTcompList",
	"_GETcompListValue",
	"_GETcompListClicked",
	"_SETcompListClicked",
	"_SSETcompListClicked",

	"LST_VERTICAL",   // 11
	"LST_HORIZONTAL",
	"LST_LEFT",
	"LST_RIGHT",
	"LST_TOP",
	"LST_BOTTOM",
	"LST_IMG_RIGHT",
	"LST_IMG_TOP",
	"LST_IMG_BOTTOM",
	"LST_HIGHLIGHT_SELECTED",
	"LST_HIGHLIGHT_CLICKED",

	/********************************************************************************/
	/*                                     Combo                                    */
	/********************************************************************************/
	"CompCombo", // 20
	"_CRcompCombo",
	"_DScompCombo",
	"_CONVERTcompComboToObjNode",
	"_ADDcompCombo",
	"_DELcompCombo",
	"_SDELcompCombo",
	"_RSTcompCombo",
	"_GETcompComboCount",
	"_GETcompComboValue",
	"_SETcompComboValue",
	"_SSETcompComboValue",
	"_POScompCombo",
	"_GETcompComboClicked",
	"_SETcompComboClicked",
	"_SSETcompComboClicked",
	"_SETcompComboState",
	"_CBcompComboClick",
	"_CBcompComboResizeResource",
	"_CBcompComboResize",

	"CBO_OPENED", // 2
	"CBO_CLOSED",

	/********************************************************************************/
	/*                                     Tree                                     */
	/********************************************************************************/
	"CompTree", // 24
	"_CRcompTree",
	"_DScompTree",
	"_CONVERTcompTreeToObjNode",
	"_ADDcompTree",
	"_DELcompTree",
	"_SDELcompTree",
	"_RSTcompTree",
	"_GETcompTreeCount",
	"_GETcompTreeValue",
	"_SETcompTreeValue",
	"_SSETcompTreeValue",
	"_SETcompTreeFirst",
	"_SSETcompTreeFirst",
	"_GETcompTreeState",
	"_SETcompTreeState",
	"_GETcompTreeClicked",
	"_SETcompTreeClicked",
	"_SSETcompTreeClicked",
	"_POScompTree",
	"_CBcompTreeClick",
	"_CBcompTreeDblClick",
	"_CBcompTreeStateChanged",
	"_CBcompTreeResizeResource",
	"_CBcompTreeResize",

	"TRE_HIGHLIGHT_SELECTED", // 8
	"TRE_HIGHLIGHT_CLICKED",
	"TRE_SHRINK",
	"TRE_EXPAND",
	"TRE_PRE_ORDER",
	"TRE_LEVEL_ORDER",
	"TRE_FIXED_ROOT",
	"TRE_HIDDEN_ROOT",
	
	/********************************************************************************/
	/*                                  SizeBar                                     */
	/********************************************************************************/
	"CompSizeBar",		//8
	"_CRcompSizeBar",
	"_DScompSizeBar",
	"_SETcompSizeBarMinMax",
	"_CONVERTcompSizeBarToObjNode",
	"_CBcompSizeBarEndResize",
	"_CBcompSizeBarResizeResource",
	"_CBcompSizeBarResize",

	"SB_HORIZONTAL",	//3
	"SB_VERTICAL",
	"SB_SHADOW",

	/********************************************************************************/
	/*                                      Link                                    */
	/********************************************************************************/

	"_CRnodeLink",       // 2
	"_DSnodeLink",

	"LINK_MOVE",         // 3
	"LINK_RESIZE",
	"LINK_SELECT",

	
	//$BLG - v5.01: Adding CompWindow object
	/********************************************************************************/
	/*                                    Window  	                                */
	/********************************************************************************/
	"CompWindow",				//10+2
	"_CRcompWindow",
	"_DScompWindow",
	"_CONVERTcompWindowToObjNode",
	"_CBcompWindowCursorMove",
	"_CBcompWindowClick",
	"_CBcompWindowUnClick",
	"_CBcompWindowDblClick",
	"_CBcompWindowResizeResource",
	"_CBcompWindowResize",
	//$BLG - v5.01: Add
	"_CBcompWindowKeyDown",
	"_CBcompWindowKeyUp"
	
};

int (*mLIB2Dfun[NLIB2DPKG])(mmachine m)=
{	
	
	/********************************************************************************/
	/*                            Le container                                      */
	/********************************************************************************/
	NULL,
	_CRcontainerFromObjCont,
	_CRcontainerFromObjWin,
	_CRcontainer,
	_GETcontainerMap,
	_DScontainer,
	_SHOWcontainer,
	_MOVEcontainer,
	_SETcontainerName,
	_SIZEcontainer,
	_SIZEEXcontainer,
	_TOPcontainer,
	//$BLG: v4.6a7 - Add
	_TOPMOSTcontainer,
	//$BLG - v5.11: Add
	_SETcontainerBackgroundColor,
	
	_ENcontainer,
	_GETcontainerPositionSize,
	_GETcontainerExPositionSize,
	_SETfocusContainer,
	_PAINTcontainer,
	_PAINTcontainerArea,

	//$LB (11/11/2003)
	_SETcontainerCursor,
	//$LB (16/12/2003)
	_SETcontainerTransparency,
	_SIMULATEcontainerTransparency,
	//$LB (31/10/2004)
	_GETcontainerCursorPos,

	_METHODcontainerPreDestroy, //16
	_METHODcontainerDestroy,
	_METHODcontainerPaint,
	_METHODcontainerSize,
	_METHODcontainerMove,
	_METHODcontainerFocus,
	_METHODcontainerKillFocus,
	_METHODcontainerKeyDown,
	_METHODcontainerKeyUp,
	_METHODcontainerClick,
	_METHODcontainerUnClick,
	_METHODcontainerDblClick,
	_METHODcontainerMouseHover,
	_METHODcontainerMouseLeave,
	_METHODcontainerMouseWheel,
	_METHODcontainerMouseMove,

	rflPreDestroyContainer,
	rflDestroyContainer,
	rflMoveContainer,
	rflSizeContainer,
	rflSetFocusContainer,
	rflKillFocusContainer,
	rflPaintContainer,
	rflKeyUpContainer,
	rflKeyDownContainer,
	rflClickContainer,
	rflUnClickContainer,
	rflDblClickContainer,
	rflMouseWheelContainer,
	rflCursorMoveContainer,
	rflMouseHoverContainer,
	rflMouseLeaveContainer,
	rflPreRenderContainer,
	rflPostRenderContainer,

	RFLwincontainerClick,		//les callbacks de la fenetre pour pouvair etre positionnées à la
	RFLwincontainerUnClick,		//creation du container	14
	RFLwincontainerDblClick,
	RFLwincontainerKeyDown,
	RFLwincontainerKeyUp,
	RFLwincontainerFocus,
	RFLwincontainerKillFocus,
	RFLwincontainerMove,
	RFLwincontainerSize,
	RFLwincontainerClose,
	RFLwincontainerDestroy,
	RFLwincontainerCursorMove,
	RFLwincontainerMouseWheel,
	RFLwincontainerPaint,
	
	(int (__cdecl *)(struct Mmachine *)) ITOM(CO_MENU),
	(int (__cdecl *)(struct Mmachine *)) ITOM(CO_NOBORDER),
	(int (__cdecl *)(struct Mmachine *)) ITOM(CO_NOCAPTION),
	(int (__cdecl *)(struct Mmachine *)) ITOM(CO_NOCLIPCHILDREN),
	(int (__cdecl *)(struct Mmachine *)) ITOM(CO_CHILDINSIDE),
	(int (__cdecl *)(struct Mmachine *)) ITOM(CO_MINBOX),
	(int (__cdecl *)(struct Mmachine *)) ITOM(CO_MAXBOX),
	(int (__cdecl *)(struct Mmachine *)) ITOM(CO_SIZEBOX),
	(int (__cdecl *)(struct Mmachine *)) ITOM(CO_HIDE),
	(int (__cdecl *)(struct Mmachine *)) ITOM(CO_MINIMIZE),
	(int (__cdecl *)(struct Mmachine *)) ITOM(CO_MAXIMIZE),
	(int (__cdecl *)(struct Mmachine *)) ITOM(CO_DISABLE),
	(int (__cdecl *)(struct Mmachine *)) ITOM(CO_3DBORDER),
	//$BLG - v4.6a4
	(int (__cdecl *)(struct Mmachine *)) ITOM(CO_NOSCOL),
	//$BLG - v4.6a6 (Added for Containers in v4.6a7)
	(int (__cdecl *)(struct Mmachine *)) ITOM(CO_EX_LAYERED),
	//$BLG - v4.6a7
	(int (__cdecl *)(struct Mmachine *)) ITOM(CO_TOPMOST),

	(int (__cdecl *)(struct Mmachine *)) ITOM(CONTAINER_MINIMIZED),
	(int (__cdecl *)(struct Mmachine *)) ITOM(CONTAINER_MAXIMIZED),
	(int (__cdecl *)(struct Mmachine *)) ITOM(CONTAINER_RESTORED),
	(int (__cdecl *)(struct Mmachine *)) ITOM(CONTAINER_HIDDEN),
	(int (__cdecl *)(struct Mmachine *)) ITOM(CONTAINER_UNHIDDEN),

	(int (__cdecl *)(struct Mmachine *)) ITOM(LBUTTON),
	(int (__cdecl *)(struct Mmachine *)) ITOM(RBUTTON),
	(int (__cdecl *)(struct Mmachine *)) ITOM(MBUTTON),


	(int (__cdecl *)(struct Mmachine *)) ITOM(MK_LBUTTON),
	(int (__cdecl *)(struct Mmachine *)) ITOM(MK_RBUTTON),
	(int (__cdecl *)(struct Mmachine *)) ITOM(MK_SHIFT),
	(int (__cdecl *)(struct Mmachine *)) ITOM(MK_CONTROL),
	(int (__cdecl *)(struct Mmachine *)) ITOM(MK_MBUTTON),

	/********************************************************************************/
	/*                                    Node                                      */
	/********************************************************************************/
	NULL,				//21
	_CHANGEobjNodeFlags,
	_GETobjNodeFlags,
	_CHANGEobjNodeCoordinates,
	_GETobjNodePositionSizeInFatherRef,
	_GETobjNodePositionSizeInContainerRef,
	_PAINTobjNode,
	_TOPobjNode,
	_SIZEobjNode,
	_SETobjNodeFocus,
	_SETobjNodeTabStopOrder,

	_CRtoolTip,			//3
	_CRtoolTipDefault,
	_DStoolTip,

	(int (__cdecl *)(struct Mmachine *)) ITOM(OBJ_ENABLE),
	(int (__cdecl *)(struct Mmachine *)) ITOM(OBJ_DISABLE),
	(int (__cdecl *)(struct Mmachine *)) ITOM(OBJ_VISIBLE),
	(int (__cdecl *)(struct Mmachine *)) ITOM(OBJ_HIDE),
	(int (__cdecl *)(struct Mmachine *)) ITOM(OBJ_CBNOPAINT),
	(int (__cdecl *)(struct Mmachine *)) ITOM(OBJ_TABSTOP),
	
	(int (__cdecl *)(struct Mmachine *)) ITOM(OBJ_LH_FLEX),
	(int (__cdecl *)(struct Mmachine *)) ITOM(OBJ_MH_FLEX),
	(int (__cdecl *)(struct Mmachine *)) ITOM(OBJ_RH_FLEX),
	(int (__cdecl *)(struct Mmachine *)) ITOM(OBJ_LW_FLEX),
	(int (__cdecl *)(struct Mmachine *)) ITOM(OBJ_MW_FLEX),
	(int (__cdecl *)(struct Mmachine *)) ITOM(OBJ_RW_FLEX),


	(int (__cdecl *)(struct Mmachine *)) ITOM(OBJ_CONTAINER_MOVE),
	(int (__cdecl *)(struct Mmachine *)) ITOM(OBJ_CONTAINER_CLICK),
	(int (__cdecl *)(struct Mmachine *)) ITOM(OBJ_CONTAINER_UNCLICK),
	(int (__cdecl *)(struct Mmachine *)) ITOM(OBJ_CONTAINER_DBLCLICK),
	(int (__cdecl *)(struct Mmachine *)) ITOM(OBJ_CONTAINER_KEYUP),
	(int (__cdecl *)(struct Mmachine *)) ITOM(OBJ_CONTAINER_KEYDOWN),
	(int (__cdecl *)(struct Mmachine *)) ITOM(OBJ_CONTAINER_MOUSEWHEEL),
	//$BLG - v5.11: Add
	(int (__cdecl *)(struct Mmachine *)) ITOM(OBJ_CONTAINER_ALLEVENTS),
	
	
	/********************************************************************************/
	/*                                    Bitmap	                                */
	/********************************************************************************/
	NULL,				//10
	_CRcompBitmap,
	_DScompBitmap,
	_CONVERTcompBitmapToObjNode,
	_CBcompBitmapCursorMove,
	_CBcompBitmapCursorMoveIn,
	_CBcompBitmapCursorMoveOut,
	_CBcompBitmapClick,
	_CBcompBitmapUnClick,
	_CBcompBitmapDblClick,
	_CBcompBitmapResizeResource,
	_CBcompBitmapResize,

	
	
	/********************************************************************************/
	/*                                    RollOver                                  */
	/********************************************************************************/
	NULL,				//9 - v5.11: 10
	_CRcompRollOver,
	_DScompRollOver,
	_CONVERTcompRollOverToObjNode,
	_CBcompRollOverCursorMoveIn,
	_CBcompRollOverCursorMoveOut,
	_CBcompRollOverClick,
	//$BLG: v5.11 - Add _CBcompRollOverUnClick
	_CBcompRollOverUnClick,
	_CBcompRollOverResizeResource,
	_CBcompRollOverResize,

	(int (__cdecl *)(struct Mmachine *)) ITOM(ROL_MASK),		//3
	(int (__cdecl *)(struct Mmachine *)) ITOM(ROL_DISABLE),
	(int (__cdecl *)(struct Mmachine *)) ITOM(ROL_CLICK),


	/********************************************************************************/
	/*                                    Check                                     */
	/********************************************************************************/
	NULL,				//12 - $BLG: v4.6a5 - 13, $BLG: v5.11 - 14
	_CRcompCheck,
	_DScompCheck,
	_CONVERTcompCheckToObjNode,
	_GETcompCheckState,
	_SETcompCheckState,
	//$BLG: v4.6a6 - Add
	_FORCEcompCheckROverDisplay,
	
	_CBcompCheckCursorMoveIn,
	_CBcompCheckCursorMoveOut,
	_CBcompCheckClick,
	//$BLG - v5.11: Add _CBcompCheckUnClick
	_CBcompCheckUnClick,
	
	_CBcompCheckStateChanged,
	_CBcompCheckResizeResource,
	_CBcompCheckResize,


	(int (__cdecl *)(struct Mmachine *)) ITOM(STATE_CHECKED),		//2 - $BLG: v4.6a6 - 5
	(int (__cdecl *)(struct Mmachine *)) ITOM(STATE_UNCHECKED),
	//$BLG: v4.6a6 - Added 3 next lines
	(int (__cdecl *)(struct Mmachine *)) ITOM(DISPLAY_ROVER_NO),
	(int (__cdecl *)(struct Mmachine *)) ITOM(DISPLAY_ROVER_YES),
	(int (__cdecl *)(struct Mmachine *)) ITOM(DISPLAY_ROVER_FRC),
	

	/********************************************************************************/
	/*                                   Text                                       */
	/********************************************************************************/
	NULL,						//14
	_CRcompText,
	_DScompText,
	_CONVERTcompTextToObjNode,
	_SETcompText,
	_ADDcompText,
	_GETcompText,
	_GETcompTextLine,
	_GETcompTextLineCount,
	_GETcompTextFirstLine,
	_DELcompTextLine,
	_SETcompTextForbiddenChar,
	_SETcompTextAuthorizedChar,
	_SETcompTextFirstLine,

	rflcompTextChange,			//4 - $BLG: v4.6a5 - 7
	rflcompTextValidation,
	_CBcompTextResizeResource,
	_CBcompTextResize,
	//$BLG: v4.6a5 - Added 3 next lines
	_CBcompTextClick,
	_CBcompTextCursorMoveIn,
	_CBcompTextCursorMoveOut,

	
	(int (__cdecl *)(struct Mmachine *)) ITOM(CT_LEFT),					//12
	(int (__cdecl *)(struct Mmachine *)) ITOM(CT_RIGHT),
	(int (__cdecl *)(struct Mmachine *)) ITOM(CT_BOTTOM),
	(int (__cdecl *)(struct Mmachine *)) ITOM(CT_TOP),
	(int (__cdecl *)(struct Mmachine *)) ITOM(CT_CENTER),
	(int (__cdecl *)(struct Mmachine *)) ITOM(CT_LABEL),
	(int (__cdecl *)(struct Mmachine *)) ITOM(CT_EDITLINE),
	(int (__cdecl *)(struct Mmachine *)) ITOM(CT_MULTIEDITLINE),
	(int (__cdecl *)(struct Mmachine *)) ITOM(CT_WORDWRAP),
	(int (__cdecl *)(struct Mmachine *)) ITOM(CT_MULTIFONT),
	(int (__cdecl *)(struct Mmachine *)) ITOM(CT_SELECT),
	(int (__cdecl *)(struct Mmachine *)) ITOM(CT_PASSWORD),

	(int (__cdecl *)(struct Mmachine *)) ITOM(CT_NOCHANGE),				//3
	(int (__cdecl *)(struct Mmachine *)) ITOM(CT_BEGIN),
	(int (__cdecl *)(struct Mmachine *)) ITOM(CT_END),

	(int (__cdecl *)(struct Mmachine *)) ITOM(CT_VALIDENTER),			//2
	(int (__cdecl *)(struct Mmachine *)) ITOM(CT_VALIDCLICK),


	/********************************************************************************/
	/*                                    SlideBar                                  */
	/********************************************************************************/
	NULL,                        // 12
	_CRcompSlideBar,
	_DScompSlideBar,
	_CONVERTcompSlideBarToObjNode,
	_SETcompSlideBarValue,
	_SETcompSlideBarMax,
	_SETcompSlideBarMin,
	_SETcompSlideBarStep,
	_CBcompSlideBarValue,
	_SETcompSlideBarRange,
	_CBcompSlideBarResizeResource,
	_CBcompSlideBarResize,

	(int (__cdecl *)(struct Mmachine *)) ITOM(SLB_MASK),                 // 6
	(int (__cdecl *)(struct Mmachine *)) ITOM(SLB_DISABLE),
	(int (__cdecl *)(struct Mmachine *)) ITOM(SLB_GAUGE),
	(int (__cdecl *)(struct Mmachine *)) ITOM(SLB_ROLLOVER),
	(int (__cdecl *)(struct Mmachine *)) ITOM(SLB_HORIZONTAL),
	(int (__cdecl *)(struct Mmachine *)) ITOM(SLB_VERTICAL),

	/********************************************************************************/
	/*                                      List                                    */
	/********************************************************************************/
	NULL,				// 23
	_CRcompList,
	_DScompList,
	_CONVERTcompListToObjNode,
	_CBcompListClick,
	_CBcompListSClick,
    _CBcompListDblClick,
    _CBcompListChange,
	_CBcompListResizeResource,
	_CBcompListResize,
	_SETcompListFirst,
	_SSETcompListFirst,
	_ADDcompList,
	_DELcompList,
	_SETcompListValue,
	_SDELcompList,
	_SSETcompListValue,
	_POScompList,
	_GETcompListCount,
	_RSTcompList,
	_GETcompListValue,
	_GETcompListClicked,
	_SETcompListClicked,
	_SSETcompListClicked,

	(int (__cdecl *)(struct Mmachine *)) ITOM(LST_VERTICAL),   // 11
	(int (__cdecl *)(struct Mmachine *)) ITOM(LST_HORIZONTAL),
	(int (__cdecl *)(struct Mmachine *)) ITOM(LST_LEFT),
	(int (__cdecl *)(struct Mmachine *)) ITOM(LST_RIGHT),
	(int (__cdecl *)(struct Mmachine *)) ITOM(LST_TOP),
	(int (__cdecl *)(struct Mmachine *)) ITOM(LST_BOTTOM),
	(int (__cdecl *)(struct Mmachine *)) ITOM(LST_IMG_RIGHT),
	(int (__cdecl *)(struct Mmachine *)) ITOM(LST_IMG_TOP),
	(int (__cdecl *)(struct Mmachine *)) ITOM(LST_IMG_BOTTOM),
	(int (__cdecl *)(struct Mmachine *)) ITOM(LST_HIGHLIGHT_SELECTED),
	(int (__cdecl *)(struct Mmachine *)) ITOM(LST_HIGHLIGHT_CLICKED),


	/********************************************************************************/
	/*                                     Combo                                    */
	/********************************************************************************/
	NULL,				 // 20
	_CRcompCombo,
	_DScompCombo,
	_CONVERTcompComboToObjNode,
	_ADDcompCombo,
	_DELcompCombo,
	_SDELcompCombo,
	_RSTcompCombo,
	_GETcompComboCount,
	_GETcompComboValue,
	_SETcompComboValue,
	_SSETcompComboValue,
	_POScompCombo,
	_GETcompComboClicked,
	_SETcompComboClicked,
	_SSETcompComboClicked,
	_SETcompComboState,
	_CBcompComboClick,
	_CBcompComboResizeResource,
	_CBcompComboResize,

	(int (__cdecl *)(struct Mmachine *)) ITOM(STATE_CHECKED), // 2
	(int (__cdecl *)(struct Mmachine *)) ITOM(STATE_UNCHECKED),

	/********************************************************************************/
	/*                                     Tree                                     */
	/********************************************************************************/
	NULL,				 // 24
	_CRcompTree,
	_DScompTree,
	_CONVERTcompTreeToObjNode,
	_ADDcompTree,
	_DELcompTree,
	_SDELcompTree,
	_RSTcompTree,
	_GETcompTreeCount,
	_GETcompTreeValue,
	_SETcompTreeValue,
	_SSETcompTreeValue,
	_SETcompTreeFirst,
	_SSETcompTreeFirst,
	_GETcompTreeState,
	_SETcompTreeState,
	_GETcompTreeClicked,
	_SETcompTreeClicked,
	_SSETcompTreeClicked,
	_POScompTree,
	_CBcompTreeClick,
	_CBcompTreeDblClick,
	_CBcompTreeStateChanged,
	_CBcompTreeResizeResource,
	_CBcompTreeResize,

	(int (__cdecl *)(struct Mmachine *)) ITOM(TRE_HIGHLIGHT_SELECTED), // 8
	(int (__cdecl *)(struct Mmachine *)) ITOM(TRE_HIGHLIGHT_CLICKED),
	(int (__cdecl *)(struct Mmachine *)) ITOM(TRE_SHRINK),
	(int (__cdecl *)(struct Mmachine *)) ITOM(TRE_EXPAND),
	(int (__cdecl *)(struct Mmachine *)) ITOM(TRE_PRE_ORDER),
	(int (__cdecl *)(struct Mmachine *)) ITOM(TRE_LEVEL_ORDER),
	(int (__cdecl *)(struct Mmachine *)) ITOM(TRE_FIXED_ROOT),
	(int (__cdecl *)(struct Mmachine *)) ITOM(TRE_HIDDEN_ROOT),

	/********************************************************************************/
	/*                                  SizeBar                                     */
	/********************************************************************************/
	NULL,				//8
	_CRcompSizeBar,
	_DScompSizeBar,
	_SETcompSizeBarMinMax,
	_CONVERTcompSizeBarToObjNode,
	_CBcompSizeBarEndResize,
	_CBcompSizeBarResizeResource,
	_CBcompSizeBarResize,


	(int (__cdecl *)(struct Mmachine *)) ITOM(SB_HORIZONTAL),	//3
	(int (__cdecl *)(struct Mmachine *)) ITOM(SB_VERTICAL),
	(int (__cdecl *)(struct Mmachine *)) ITOM(SB_SHADOW),


	/********************************************************************************/
	/*                                      Link                                    */
	/********************************************************************************/

	_CRnodeLink,      // 2
	_DSnodeLink,

	(int (__cdecl *)(struct Mmachine *)) ITOM(LINK_MOVE),         // 3
	(int (__cdecl *)(struct Mmachine *)) ITOM(LINK_RESIZE),
	(int (__cdecl *)(struct Mmachine *)) ITOM(LINK_SELECT),


	//$BLG - v5.01: Adding CompWindow object
	/********************************************************************************/
	/*                                    Window  	                                */
	/********************************************************************************/
	NULL,				//10+2
	_CRcompWindow,
	_DScompWindow,
	_CONVERTcompWindowToObjNode,
	_CBcompWindowCursorMove,
	_CBcompWindowClick,
	_CBcompWindowUnClick,
	_CBcompWindowDblClick,
	_CBcompWindowResizeResource,
	_CBcompWindowResize,
	//$BLG - v5.01: Add
	_CBcompWindowKeyDown,
	_CBcompWindowKeyUp

};

int mLIB2Dnarg[NLIB2DPKG]=
{
	/********************************************************************************/
	/*                            Le container                                      */
	/********************************************************************************/
	TYPTYPE,
	9,
	9,
	4,
	1,
	1,
	2,
	3,
	2,
	5,
	5,
	1,
	//$BLG: v4.6a7 - Add - _TOPMOSTcontainer
	3,
	//$BLG: v5.11: Add - _SETcontainerBackgroundColor
	3,
	
	2,
	1,
	1,
	1,
	1,
	5,

	//$LB (11/11/2003)
	2,
	//$LB (16/12/2003)
	4, 2,
	//$LB (31/10/2004)
	1,
	
	1, //16
	1,
	1,
	3,
	3,
	1,
	1,
	3,
	2,
	4,
	4,
	4,
	1,
	1,
	5,
	4,


	3,
	3,
	3,
	3,
	3,
	3,
	3,
	3,
	3,
	3,
	3,
	3,
	3,
	3,
	3,
	3,
	3,
	3,

	5,		//14
	5,
	5,
	4,
	3,
	2,
	2,
	4,
	4,
	2,
	2,
	5,
	6,
	2,

	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
  //$BLG - v4.6a4 (CO_NOSCOL)
  TYPVAR,
  //$BLG - v4.6a6 (CO_EX_LAYERED) (Added for Containers in v4.6a7)
  TYPVAR,
  //$BLG - v4.6a7 (CO_TOPMOST)
  TYPVAR,

	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,

	TYPVAR,
	TYPVAR,
	TYPVAR,

	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,

	/********************************************************************************/
	/*                                    Node                                      */
	/********************************************************************************/
	TYPTYPE,				//21 (22)
	3,
	1,
	3,
	1,
	1,
	1,
	1,
	4,
	1,
	2,
	
	7,						//3
	6,
	1,

	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,

	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,


	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	//$BLG - v5.11: Add OBJ_CONTAINER_ALLEVENTS
	TYPVAR,

	/********************************************************************************/
	/*                                    Bitmap	                                */
	/********************************************************************************/
	TYPTYPE,				//10
	11,
	1,
	1,
	3,
  3,
  3,
	3,
	3,
	3,
	3,
	3,

	/********************************************************************************/
	/*                                    RollOver                                  */
	/********************************************************************************/
	TYPTYPE,				//9 - v5.11: 10
	7,
	1,
	1,
	3,
	3,
	3,
	//$BLG: v5.11 - Add _CBcompRollOverUnClick
	3,
	3,
	3,

	TYPVAR,					//3
	TYPVAR,
	TYPVAR,

	/********************************************************************************/
	/*                                    Check	                                    */
	/********************************************************************************/
	TYPTYPE,				//12 - $BLG: v4.6a6 - 13, $BLG: v5.11 - 14
	7,
	1,
	1,
	1,
	2,
	//$BLG: v4.6a6 - Add
	3,
	
	3,
	3,
	3,
	//$BLG - v5.11: Add _CBcompCheckUnClick
	3,
	
	3,
	3,
	3,


	TYPVAR,					//2 - $BLG: v4.6a6 - 5
	TYPVAR,
	//$BLG: v4.6a6 - Added 3 next lines
	TYPVAR,
	TYPVAR,
	TYPVAR,
	

	/********************************************************************************/
	/*                                   Text                                       */
	/********************************************************************************/
	TYPTYPE,						//14
	14,
	1,
	1,
	5,
	5,
	1,
	2,
	1,
	1,
	3,
	2,
	2,
	2,

	3,								//4 - $BLG: v4.6a5 - 7
	4,
	5,
	7,
	//$BLG: v4.6a5 - Added 3 next lines
	3,
	3,
	3,


	TYPVAR,							//12
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,

	TYPVAR,							//3
	TYPVAR,
	TYPVAR,

	TYPVAR,							//2
	TYPVAR,

	/********************************************************************************/
	/*                                    SlideBar                                  */
	/********************************************************************************/
	TYPTYPE,                        // 12
	12,
	1,
	1,
	2,
	2,
	2,
	2,
	3,
	2,
	3,
	3,

	TYPVAR,                 // 6
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	
	/********************************************************************************/
	/*                                      List                                    */
	/********************************************************************************/
	TYPTYPE,
	15,    // 23
	1,
	1,
	3,
    3,
	3,
    3,
	3,
	5,
	2,
	2,
	3,
	2,
	3,
	2,
	3,
	2,
	1,
	1,
	2,
	1,
	2,
	2,

	TYPVAR,   // 11
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,


	/********************************************************************************/
	/*                                     Combo                                    */
	/********************************************************************************/
	TYPTYPE, // 19
	14,
	1,
	1,
	3,
	2,
	2,
	1,
	1,
	2,
	3,
	3,
	2,
	1,
	2,
	2,
	2,
	3,
	7,
	11,

	TYPVAR,   // 2
	TYPVAR,

	/********************************************************************************/
	/*                                     Tree                                     */
	/********************************************************************************/
	TYPTYPE, // 24
	18,
	1,
	1,
	3,
	2,
	3,
	1,
	2,
	2,
	3,
	4,
	2,
	3,
	2,
	3,
	1,
	2,
	3,
	4,
	3,
	3,
	3,
	5,
	7,

	TYPVAR,  // 8
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	TYPVAR,
	
	/********************************************************************************/
	/*                                  SizeBar                                     */
	/********************************************************************************/
	TYPTYPE,				//8
	8,
	1,
	3,
	1,
	3,
	3,
	3,

	TYPVAR,					//3
	TYPVAR,
	TYPVAR,

	/********************************************************************************/
	/*                                      Link                                    */
	/********************************************************************************/

	3,      // 2
	3,

	TYPVAR,         // 3
	TYPVAR,
	TYPVAR,


	//$BLG - v5.01: Adding CompWindow object
	/********************************************************************************/
	/*                                    Window  	                                */
	/********************************************************************************/
	TYPTYPE,				//10+2
	//$BLG - Modif
	//11,
	9,
	1,
	1,
	3,
	3,
	3,
	3,
	3,
	3,
	//$BLG - v5.01: Add
	3,
	3

};

char* mLIB2Dtype[NLIB2DPKG]=
{
	/********************************************************************************/
	/*                            Le container                                      */
	/********************************************************************************/
	NULL,
	"fun [Chn ObjContainer I I I I I I S] ObjContainer",
	"fun [Chn ObjWin I I I I I I S] ObjContainer",
	"fun [Chn I I I] ObjContainer",
	"fun [ObjContainer] ObjBitmap",
	"fun [ObjContainer] I",
	"fun [ObjContainer I] ObjContainer",
	"fun [ObjContainer I I] ObjContainer",
	"fun [ObjContainer S] ObjContainer",
	"fun [ObjContainer I I I I] ObjContainer",
	"fun [ObjContainer I I I I] ObjContainer",
	"fun [ObjContainer] ObjContainer",
	//$BLG: v4.6a7 - Add - _TOPMOSTcontainer
	"fun [ObjContainer I I] ObjContainer",
	//$BLG - v5.11: Add _SETcontainerBackgroundColor
	"fun [ObjContainer I I] ObjContainer",
	
	"fun [ObjContainer I] ObjContainer",
	"fun [ObjContainer] [I I I I]",
	"fun [ObjContainer] [I I I I]",
	"fun [ObjContainer] ObjContainer",
	"fun [ObjContainer] ObjContainer",
	"fun [ObjContainer I I I I] ObjContainer",

	//$LB (11/11/2003)
	"fun [ObjContainer ObjCursor] ObjContainer",
	//$LB (16/12/2003)
	"fun [ObjContainer I I I] ObjContainer",
	"fun [ObjContainer I] ObjContainer",
	//$LB (31/10/2004)
	"fun [ObjContainer] [I I]",

	"fun [ObjContainer] ObjContainer", //16
	"fun [ObjContainer] ObjContainer",
	"fun [ObjContainer] ObjContainer",
	"fun [ObjContainer I I] ObjContainer",
	"fun [ObjContainer I I] ObjContainer",
	"fun [ObjContainer] ObjContainer",
	"fun [ObjContainer] ObjContainer",
	"fun [ObjContainer I I] ObjContainer",
	"fun [ObjContainer I] ObjContainer",
	"fun [ObjContainer I I I] ObjContainer",
	"fun [ObjContainer I I I] ObjContainer",
	"fun [ObjContainer I I I] ObjContainer",
	"fun [ObjContainer] ObjContainer",
	"fun [ObjContainer] ObjContainer",
	"fun [ObjContainer I I I I] ObjContainer",
	"fun [ObjContainer I I I] ObjContainer",


	"fun [ObjContainer fun [ObjContainer u0] u1 u0] ObjContainer",
	"fun [ObjContainer fun [ObjContainer u0] u1 u0] ObjContainer",
	"fun [ObjContainer fun [ObjContainer u0 I I] u1 u0] ObjContainer",
	"fun [ObjContainer fun [ObjContainer u0 I I I] u1 u0] ObjContainer",
	"fun [ObjContainer fun [ObjContainer u0] u1 u0] ObjContainer",
	"fun [ObjContainer fun [ObjContainer u0] u1 u0] ObjContainer",
	"fun [ObjContainer fun [ObjContainer u0] u1 u0] ObjContainer",
	"fun [ObjContainer fun [ObjContainer u0 I] u1 u0] ObjContainer",
	"fun [ObjContainer fun [ObjContainer u0 I I] u1 u0] ObjContainer",
	"fun [ObjContainer fun [ObjContainer u0 I I I I] u1 u0] ObjContainer",
	"fun [ObjContainer fun [ObjContainer u0 I I I I] u1 u0] ObjContainer",
	"fun [ObjContainer fun [ObjContainer u0 I I I I] u1 u0] ObjContainer",
	"fun [ObjContainer fun [ObjContainer u0 I I I I] u1 u0] ObjContainer",
	"fun [ObjContainer fun [ObjContainer u0 I I I] u1 u0] ObjContainer",
	"fun [ObjContainer fun [ObjContainer u0] u1 u0] ObjContainer",
	"fun [ObjContainer fun [ObjContainer u0] u1 u0] ObjContainer",
	"fun [ObjContainer fun [ObjContainer u0 [I I I I]] u1 u0] ObjContainer",
	"fun [ObjContainer fun [ObjContainer u0 [I I I I]] u1 u0] ObjContainer",

	"fun [ObjWin ObjContainer I I I] ObjWin", //14
	"fun [ObjWin ObjContainer I I I] ObjWin",
	"fun [ObjWin ObjContainer I I I] ObjWin",
	"fun [ObjWin ObjContainer I I] ObjWin",
	"fun [ObjWin ObjContainer I] ObjWin",
	"fun [ObjWin ObjContainer] ObjWin",
	"fun [ObjWin ObjContainer] ObjWin",
	"fun [ObjWin ObjContainer I I] ObjWin",
	"fun [ObjWin ObjContainer I I] ObjWin",
	"fun [ObjWin ObjContainer] ObjWin",
	"fun [ObjWin ObjContainer] ObjWin",
	"fun [ObjWin ObjContainer I I I] ObjWin",
	"fun [ObjWin ObjContainer I I I I] ObjWin",
	"fun [ObjWin ObjContainer] ObjWin",

	"I",
	"I",
	"I",
	"I",
	"I",
	"I",
	"I",
	"I",
	"I",
	"I",
	"I",
	"I",
	"I",
	//$BLG - v4.6a4 - CO_NOSCOL
	"I",
	//$BLG - v4.6a6 - CO_EX_LAYERED (Added for Containers in v4.6a7)
	"I",
	//$BLG - v4.6a7 - CO_TOPMOST
	"I",

	"I",
	"I",
	"I",
	"I",
	"I",
	
	"I",
	"I",
	"I",

	"I",
	"I",
	"I",
	"I",
	"I",

	/********************************************************************************/
	/*                                    Node                                      */
	/********************************************************************************/
	NULL,						//21
	"fun [ObjNode I I] ObjNode",
	"fun [ObjNode] I",
	"fun [ObjNode [I I] I] ObjNode",
	"fun [ObjNode] [I I I I]",
	"fun [ObjNode] [I I I I]",
	"fun [ObjNode] ObjNode]",
	"fun [ObjNode] ObjNode",
	"fun [ObjNode I I I] ObjNode",
	"fun [ObjNode] ObjNode",
	"fun [ObjContainer [ObjNode r1]] I",

	"fun [ObjNode I S fun [ObjNode u0 S I I] u1 u0 fun [ObjNode u2 S] u3 u2] ObjNode",//3
	"fun [ObjNode I S I ObjFont I] ObjNode",
	"fun [ObjNode] ObjNode",

	"I",
	"I",
	"I",
	"I",
	"I",

	"I",
	"I",
	"I",
	"I",
	"I",
	"I",
	"I",

	"I",
	"I",
	"I",
	"I",
	"I",
	"I",
	"I",
	//$BLG - v5.11: Add OBJ_CONTAINER_ALLEVENTS
	"I",
	
	/********************************************************************************/
	/*                                    Bitmap	                                */
	/********************************************************************************/
	NULL,				//10
	"fun [Chn ObjContainer ObjNode [I I] I I AlphaBitmap I I I I] CompBitmap",
	"fun [CompBitmap] I",
	"fun [CompBitmap] ObjNode",
	"fun [CompBitmap fun [CompBitmap u0 I I I] u1 u0] CompBitmap",
	"fun [CompBitmap fun [CompBitmap u0 I I I] u1 u0] CompBitmap",
	"fun [CompBitmap fun [CompBitmap u0 I I I] u1 u0] CompBitmap",
	"fun [CompBitmap fun [CompBitmap u0 I I I I] u1 u0] CompBitmap",
	"fun [CompBitmap fun [CompBitmap u0 I I I I] u1 u0] CompBitmap",
	"fun [CompBitmap fun [CompBitmap u0 I I I I] u1 u0] CompBitmap",
	"fun [CompBitmap fun [CompBitmap u0 I I [I I I I]] [AlphaBitmap [I I I I]] u0] CompBitmap",
	"fun [CompBitmap fun [CompBitmap u0 I I] u1 u0] CompBitmap",
	
	/********************************************************************************/
	/*                                    RollOver                                  */
	/********************************************************************************/
	NULL,                       //9 - v5.11: 10
	"fun [Chn ObjContainer ObjNode [I I] I I AlphaBitmap] CompRollOver",
	"fun [CompRollOver] I",
	"fun [CompRollOver] ObjNode",
	"fun [CompRollOver fun [CompRollOver u0 I I I] u1 u0] CompRollOver",
	"fun [CompRollOver fun [CompRollOver u0 I I I] u1 u0] CompRollOver",
	"fun [CompRollOver fun [CompRollOver u0 I I I I] u1 u0] CompRollOver",
	//$BLG: v5.11 - Add _CBcompRollOverUnClick
	"fun [CompRollOver fun [CompRollOver u0 I I I I] u1 u0] CompRollOver",
	"fun [CompRollOver fun [CompRollOver u0 I I] AlphaBitmap u0] CompRollOver",
	"fun [CompRollOver fun [CompRollOver u0 I I] u1 u0] CompRollOver",

	"I",                        //3
	"I",
	"I",

	/********************************************************************************/
	/*                                    Check                                     */
	/********************************************************************************/
	NULL,                       //12 - $BLG: v4.6a6 - 13, $BLG: v5.11 - 14
	"fun [Chn ObjContainer ObjNode [I I] I I AlphaBitmap] CompCheck",
	"fun [CompCheck] I",
	"fun [CompCheck] ObjNode",
	"fun [CompCheck] I",
	"fun [CompCheck I] I",
	//$BLG: v4.6a6 - Add
	"fun [CompCheck I I] I",
	
	"fun [CompCheck fun [CompCheck u0 I I I] u1 u0] CompCheck",
	"fun [CompCheck fun [CompCheck u0 I I I] u1 u0] CompCheck",
	"fun [CompCheck fun [CompCheck u0 I I I I] u1 u0] CompCheck",
	//$BLG - v5.11: Add _CBcompCheckUnClick
	"fun [CompCheck fun [CompCheck u0 I I I I] u1 u0] CompCheck",
	
	"fun [CompCheck fun [CompCheck u0 I] u1 u0] CompCheck",
	"fun [CompCheck fun [CompCheck u0 I I] AlphaBitmap u0] CompCheck",
	"fun [CompCheck fun [CompCheck u0 I I] u1 u0] CompCheck",


	"I",                        //2 - $BLG: v4.6a6 - 5
	"I",
	//$BLG: v4.6a6 - Added 3 next lines
	"I",
	"I",
	"I",
	

	/********************************************************************************/
	/*                                   Text                                       */
	/********************************************************************************/
	NULL,						//13
	"fun [Chn ObjContainer ObjNode [I I] I I I I S ObjFont [I I I I] [I I] [ [I I] I AlphaBitmap [I I I] ] [ [I I] I AlphaBitmap [I I I] ] ] CompText",
	"fun [CompText] I",
	"fun [CompText] ObjNode",
	"fun [CompText S ObjFont [I I I I] I] CompText",
	"fun [CompText S ObjFont [I I I I] I] CompText",
	"fun [CompText] S",
	"fun [CompText I] S",
	"fun [CompText] I",
	"fun [CompText] I",
	"fun [CompText I I] CompText",
	"fun [CompText S] CompText",
	"fun [CompText S] CompText",
	"fun [CompText I] CompText",

	"fun [CompText fun [CompText u0 ] u1 u0] CompText", //4 - $BLG: v4.6a5 - 7
	"fun [CompText fun [CompText u0 I S] u1 u0 I] CompText",
	"fun [CompText fun [CompSlideBar u0 I I [I I I]] [AlphaBitmap [I I I]] u0 fun [CompSlideBar u1 I I [I I I]] [AlphaBitmap [I I I]] u1] CompText",
	"fun [CompText fun [CompText u0 I I] u1 u0 fun [CompSlideBar u2 I I] u3 u2 fun [CompSlideBar u4 I I] u5 u4] CompText",
	//$BLG: v4.6a5 - Added 3 next lines
	"fun [CompText fun [CompText u0 I I I I] u1 u0] CompText",
	"fun [CompText fun [CompText u0 I I I] u1 u0] CompText",
	"fun [CompText fun [CompText u0 I I I] u1 u0] CompText",

	"I",						//12
	"I",
	"I",
	"I",
	"I",
	"I",
	"I",
	"I",
	"I",
	"I",
	"I",
	"I",
	
	"I",						//3
	"I",
	"I",
	
	"I",						//2
	"I",
	
	/********************************************************************************/
	/*                                    SlideBar                                  */
	/********************************************************************************/
	NULL,                        // 12
	"fun [Chn ObjContainer ObjNode [I I] I I AlphaBitmap [I I I] I I I I] CompSlideBar",
	"fun [CompSlideBar] I",
	"fun [CompSlideBar] ObjNode",
	"fun [CompSlideBar I] CompSlideBar",
	"fun [CompSlideBar I] CompSlideBar",
	"fun [CompSlideBar I] CompSlideBar",
	"fun [CompSlideBar I] CompSlideBar",
	"fun [CompSlideBar fun [CompSlideBar u0 I] u1 u0] CompSlideBar",
	"fun [CompSlideBar [I I]] CompSlideBar",
	"fun [CompSlideBar fun [CompSlideBar u0 I I [I I I]] [AlphaBitmap [I I I]] u0] CompSlideBar",
	"fun [CompSlideBar fun [CompSlideBar u0 I I] u1 u0] CompSlideBar",

	"I",                 // 6
	"I",
	"I",
	"I",
	"I",
	"I",
	
	/********************************************************************************/
	/*                                      List                                    */
	/********************************************************************************/
	NULL,        // 23
	"fun [Chn ObjContainer ObjNode [I I] I I I I I I ObjFont I [I I I I] [I I] [[I I] I AlphaBitmap [I I I]]] CompList",
	"fun [CompList] I",
	"fun [CompList] ObjNode",
	"fun [CompList fun [CompList u0 I] u1 u0] CompList",
    "fun [CompList fun [CompList u0 I I I] u1 u0] CompList",
	"fun [CompList fun [CompList u0 I] u1 u0] CompList",
    "fun [CompList fun [CompList u0 I] u1 u0] CompList",
	"fun [CompList fun [CompSlideBar u0 I I [I I I]] [AlphaBitmap [I I I]] u0] CompList",
	"fun [CompList fun [CompList u0 I I] u1 u0 fun [CompSlideBar u2 I I] u3 u2] CompList",

	"fun [CompList I] CompList",
	"fun [CompList S] CompList",
	"fun [CompList I [S AlphaBitmap]] CompList",
	"fun [CompList I] CompList",
	"fun [CompList I [S AlphaBitmap]] CompList",
	"fun [CompList S] CompList",
	"fun [CompList S [S AlphaBitmap]] CompList",
	"fun [CompList S] I",
	"fun [CompList] I",
	"fun [CompList] CompList",
	"fun [CompList I] [S AlphaBitmap]",
	"fun [CompList] [I [S AlphaBitmap]]",
	"fun [CompList I] CompList",
	"fun [CompList S] CompList",

	"I",   // 11
	"I",
	"I",
	"I",
	"I",
	"I",
	"I",
	"I",
	"I",
	"I",
	"I",


	/********************************************************************************/
	/*                                     Combo                                    */
	/********************************************************************************/
	NULL, // 19
	"fun [Chn ObjContainer ObjNode [I I] I I I I ObjFont [I I I I] [I I] [I AlphaBitmap] [I I I AlphaBitmap] [I AlphaBitmap [I I I]]] CompCombo",
	"fun [CompCombo] I",
	"fun [CompCombo] ObjNode",
	"fun [CompCombo I [S AlphaBitmap]] CompCombo",
	"fun [CompCombo I] CompCombo",
	"fun [CompCombo S] CompCombo",
	"fun [CompCombo] CompCombo",
	"fun [CompCombo] I",
	"fun [CompCombo I] [S AlphaBitmap]",
	"fun [CompCombo I [S AlphaBitmap]] CompCombo",
	"fun [CompCombo S [S AlphaBitmap]] CompCombo",
	"fun [CompCombo S] I",
	"fun [CompCombo] [I [S AlphaBitmap]]",
	"fun [CompCombo I] CompCombo",
	"fun [CompCombo S] CompCombo",
	"fun [CompCombo I] CompCombo",
	"fun [CompCombo fun [CompCombo u0 I] u1 u0] CompCombo",
	"fun [CompCombo fun [CompCheck u0 I I] AlphaBitmap u0 fun [CompBitmap u1 I I [I I I I]] [AlphaBitmap [I I I I]] u1 fun [CompSlideBar u2 I I [I I I]] [AlphaBitmap [I I I]] u2 ] CompCombo",
	"fun [CompCombo fun [CompText u0 I I] u1 u0 fun [CompCheck u2 I I] u3 u2 fun [CompBitmap u4 I I] u5 u4 fun [CompList u6 I I] u7 u6 fun [CompSlideBar u8 I I] u9 u8] CompCombo",

	"I",   // 2
	"I",

	/********************************************************************************/
	/*                                     Tree                                     */
	/********************************************************************************/
	NULL, // 24
	"fun [Chn ObjContainer ObjNode [I I] I I I I I I ObjFont I I [I I I I] [I I] [[I I] I AlphaBitmap [I I I]] [[I I] I AlphaBitmap [I I I]] AlphaBitmap] CompTree",
	"fun [CompTree] I",
	"fun [CompTree] ObjNode",
	"fun [CompTree [I r1] [S AlphaBitmap]] CompTree",
	"fun [CompTree [I r1]] CompTree",
	"fun [CompTree S I] CompTree",
	"fun [CompTree] CompTree",
	"fun [CompTree [I r1]] I",
	"fun [CompTree [I r1]] [S AlphaBitmap]",
	"fun [CompTree [I r1] [S AlphaBitmap]] CompTree",
	"fun [CompTree S I [S AlphaBitmap]] CompTree",
	"fun [CompTree [I r1]] CompTree",
	"fun [CompTree S I] CompTree",
	"fun [CompTree [I r1]] I",
	"fun [CompTree [I r1] I] CompTree",
	"fun [CompTree] [[I r1] [S AlphaBitmap]]",
	"fun [CompTree [I r1]] CompTree",
	"fun [CompTree S I] CompTree",
	"fun [CompTree [I r1] S I] [I r1]",
	"fun [CompTree fun [CompTree u0 [I r1] I I] u1 u0] CompTree",
	"fun [CompTree fun [CompTree u0 [I r1] I I] u1 u0] CompTree",
	"fun [CompTree fun [CompTree u0 [I r1] I] u1 u0] CompTree",
	"fun [CompTree fun [CompSlideBar u0 I I [I I I]] [AlphaBitmap [I I I]] u0 fun [CompSlideBar u1 I I [I I I]] [AlphaBitmap [I I I]] u1] CompTree",
	"fun [CompTree fun [CompTree u0 I I] u1 u0 fun [CompSlideBar u2 I I] u3 u2 fun [CompSlideBar u4 I I] u5 u4] CompTree",

	"I",   // 8
	"I",
	"I",
	"I",
	"I",
	"I",
	"I",
	"I",

	/********************************************************************************/
	/*                                  SizeBar                                     */
	/********************************************************************************/
	NULL,				//8
	"fun [Chn ObjContainer ObjNode [I I] I I I AlphaBitmap] CompSizeBar",
	"fun [CompSizeBar] I",
	"fun [CompSizeBar I I] CompSizeBar",
	"fun [CompSizeBar] ObjNode",
	"fun [CompSizeBar fun [CompSizeBar u0 I I] u1 u0] CompSizeBar",
	"fun [CompSizeBar fun [CompSizeBar u0 I I] AlphaBitmap u0] CompSizeBar",
	"fun [CompSizeBar fun [CompSizeBar u0 I I] u1 u0] CompSizeBar",

	"I",				//3
	"I",
	"I",
	
	/********************************************************************************/
	/*                                      Link                                    */
	/********************************************************************************/

	"fun [ObjNode ObjNode I] I",      // 2
	"fun [ObjNode ObjNode I] I",

	"I",         // 3
	"I",
	"I",


	//$BLG - v5.01: Adding CompWindow object
	/********************************************************************************/
	/*                                    Window  	                                */
	/********************************************************************************/
	NULL,				//10+2
	//$BLG - Modif
	//"fun [Chn ObjContainer ObjNode [I I] I I AlphaBitmap I I I I] CompWindow",
	"fun [Chn ObjContainer ObjNode [I I] I I ObjWin ObjWin I] CompWindow",
	"fun [CompWindow] I",
	"fun [CompWindow] ObjNode",
	"fun [CompWindow fun [CompWindow u0 I I I] u1 u0] CompWindow",
	"fun [CompWindow fun [CompWindow u0 I I I I] u1 u0] CompWindow",
	"fun [CompWindow fun [CompWindow u0 I I I I] u1 u0] CompWindow",
	"fun [CompWindow fun [CompWindow u0 I I I I] u1 u0] CompWindow",
	"fun [CompWindow fun [CompWindow u0 I I [I I I I]] [AlphaBitmap [I I I I]] u0] CompWindow",
	"fun [CompWindow fun [CompWindow u0 I I] u1 u0] CompWindow",
	//$BLG - v5.01: Add
	"fun [CompWindow fun [CompWindow u0 I I] u1 u0] CompWindow",
	"fun [CompWindow fun [CompWindow u0 I] u1 u0] CompWindow"
	
};




/***********************************************************************************/
/*              FONCTION DE CHARGEMENT ET DECHARGEMENT DE LA LIBRAIRIE             */
/***********************************************************************************/
extern "C" __declspec (dllexport) int ScolLoadPlugin(mmachine m,cbmachine w)
{
    int k;
	ww=w;
	mm=m;

  //$BLG: v4.6a5 - Add
  arrowCursor = LoadCursor( NULL, IDC_ARROW );

	InitContainer(hinst=(HINSTANCE)SCgetExtra("this_inst"));

	mt_start=(int (__cdecl *)(int,int,int (__cdecl *)(int,int)))SCgetExtra("mt_start");
	mt_del=(int (__cdecl *)(int))SCgetExtra("mt_del");

	OBJCONTAINER=OBJregister(NB_RFLCONTAINER,0,DsContainer2,"OBJCONTAINER");
	OBJNODE     =OBJregister(NB_RFLOBJNODE,1,DsNode2,"OBJNODE");

#ifdef _DEBUG
	k=PKhardpak(m,"lib2d.pkg-1.7.1-debug",NLIB2DPKG,mLIB2Dname,mLIB2Dfun,mLIB2Dnarg,mLIB2Dtype);
#else
	k=PKhardpak(m,"lib2d.pkg-1.7.1",NLIB2DPKG,mLIB2Dname,mLIB2Dfun,mLIB2Dnarg,mLIB2Dtype);
#endif

#ifdef HTML_INCLUDE
	OBJTYPHTML=OBJregister(RFLHTML_NB,0,DestroyHtmlH,"OBJTYPHTML");
	k=PKhardpak(m,"libHTML.pkg 1.0a2release",NHTMLPKG,mHTMLname,mHTMLfun,mHTMLnarg,mHTMLtype);	
#endif
	return k;
}

extern "C" __declspec (dllexport) int ScolUnloadPlugin()
{
	//$BLG: v4.6a5 - Add
	DeleteObject(arrowCursor);
	
	UnLoadContainer();
	return 0;
}


