204 lines
5.1 KiB
C++
204 lines
5.1 KiB
C++
// Global private functions
|
|
//
|
|
// YB
|
|
//////////////////////////////
|
|
#include "StdAfx.h"
|
|
|
|
#include "Others\CTL_Pri.hpp"
|
|
|
|
#include "Controls\CTL_BCtl.hpp"
|
|
#include "Controls\CTL_Ctl.hpp"
|
|
|
|
//External Modules
|
|
#include "CTL_ErO.hpp"
|
|
#include "IncTUT.h"
|
|
//End of External Modules
|
|
|
|
//------------------------------------------------------------------------
|
|
// Global vars
|
|
CString CTL_g_csModuleNameForErO;
|
|
|
|
//Module
|
|
HMODULE CTL_g_hModule = 0;
|
|
|
|
//Cursors for BaseFormView class
|
|
HCURSOR CTL_g_hcursor_CloseHand;
|
|
HCURSOR CTL_g_hcursor_UpDownHand;
|
|
|
|
#ifndef CTL_WITH_NO_TUT
|
|
//The TUT Dll Functions
|
|
CTL_td_p_fn_vRegisterControl CTL_p_fn_vRegisterControl = NULL;
|
|
CTL_td_p_fn_bUnregisterControl CTL_p_fn_bUnregisterControl = NULL;
|
|
|
|
//For TUT Module
|
|
CString CTL_g_csCurrentTAG;
|
|
CString CTL_g_csCurrentSecondaryInfo;
|
|
#endif //CTL_WITH_NO_TUT
|
|
|
|
// End of Global vars
|
|
//------------------------------------------------------------------------
|
|
|
|
|
|
//******************************************************************************
|
|
void CTL_fn_vInternalInitModule()
|
|
{
|
|
//Computes version String
|
|
CTL_g_csVersion = "2.0.3 [" + CString(__DATE__) + " (using TUT)]";
|
|
|
|
//Registers Module for ErO
|
|
CTL_g_csModuleNameForErO = "Data / Controls DLL";
|
|
|
|
ERROR_g_fn_vAddAModuleDescriptor( CTL_g_csModuleNameForErO,
|
|
CTL_g_csVersion,
|
|
"Yves BABITCH",
|
|
"01 48 18 53 32 (Montreuil)",
|
|
"ybabitch@ubisoft.fr",
|
|
"Daniel PALIX",
|
|
"04 50 51 26 63 (Annecy)",
|
|
"dpalix@ubisoft.fr",
|
|
"","",""
|
|
);
|
|
}
|
|
|
|
//******************************************************************************
|
|
long CTL_fn_lComputeSizeOfStaticForName(class CTL_Editor_BaseControl *_pclSenderBaseControl)
|
|
{
|
|
CTL_Editor_Control *pclControl = _pclSenderBaseControl->m_pub_fn_pclGetParentControl();
|
|
|
|
ERROR_ASSERT( pclControl != NULL );
|
|
|
|
CString csTextToDisplay = pclControl->m_pub_fn_csGetControlName();
|
|
|
|
CClientDC dc(_pclSenderBaseControl->m_fn_pclGetWnd());
|
|
dc.SelectObject(_pclSenderBaseControl->m_fn_pclGetWnd()->GetFont());
|
|
|
|
return ( dc.GetTextExtent(csTextToDisplay).cx + 6 );
|
|
}
|
|
|
|
#ifndef CTL_WITH_NO_TUT
|
|
//******************************************************************************
|
|
BOOL CTL_fn_bGetTUT_DLLFunctions()
|
|
{
|
|
if ( CTL_p_fn_vRegisterControl == NULL )
|
|
{
|
|
//Gets Module
|
|
#ifdef _DEBUG
|
|
HMODULE hTUTModule = (HMODULE)LoadLibrary("Edt_Data\\Tools\\TUTDFEvd.dll");
|
|
#else
|
|
HMODULE hTUTModule = (HMODULE)LoadLibrary("Edt_Data\\Tools\\TUTDFEvr.dll");
|
|
#endif //_DEBUG_
|
|
|
|
if ( hTUTModule != NULL )
|
|
{
|
|
//Gets functions
|
|
FARPROC Function = GetProcAddress(hTUTModule, "fn_vRegisterControl");
|
|
|
|
CTL_p_fn_vRegisterControl = (CTL_td_p_fn_vRegisterControl)Function;
|
|
|
|
if ( CTL_p_fn_bUnregisterControl == NULL )
|
|
{
|
|
Function = GetProcAddress(hTUTModule, "fn_bUnregisterControl");
|
|
CTL_p_fn_bUnregisterControl = (CTL_td_p_fn_bUnregisterControl)Function;
|
|
}
|
|
}
|
|
}
|
|
|
|
return ( (CTL_p_fn_vRegisterControl != NULL) && (CTL_p_fn_bUnregisterControl != NULL) );
|
|
}
|
|
#endif //CTL_WITH_NO_TUT
|
|
|
|
//**************************************************************************
|
|
void CTL_fn_vSetMemoryForFloat(void *pvDest,
|
|
long double ldfSourceValue,
|
|
char cDataLength)
|
|
{
|
|
//ANNECY CB
|
|
#if 0
|
|
ERROR_PREPARE_M(CTL_g_csModuleNameForErO,
|
|
"Seting memory to update a motor data",
|
|
"CTL_fn_vSetMemoryForFloat(...)",
|
|
E_ERROR_GRAVITY_INSTABLE,
|
|
"The destination is not a valid pointer : memory has not been updated");
|
|
ERROR_ASSERT( pvDest != NULL );
|
|
#endif
|
|
//END
|
|
if ( pvDest != NULL )
|
|
{
|
|
switch ( cDataLength )
|
|
{
|
|
case sizeof(float)/*FLOAT*/ :
|
|
{
|
|
float fTempValue = (float)ldfSourceValue;
|
|
memcpy(pvDest, &fTempValue, sizeof(float));
|
|
}
|
|
break;
|
|
|
|
/* case DOUBLE :
|
|
{
|
|
double dfTempValue = (double)ldfSourceValue;
|
|
memcpy(pvDest, &dfTempValue, sizeof(double));
|
|
}
|
|
break;
|
|
|
|
case LONG_DOUBLE :
|
|
{
|
|
long double ldfTempValue = (long double)ldfSourceValue;
|
|
memcpy(pvDest, &ldfTempValue, sizeof(long double));
|
|
}
|
|
break;
|
|
*/
|
|
}
|
|
}
|
|
}
|
|
|
|
//**************************************************************************
|
|
void CTL_fn_vGetMemoryForFloat(void *pvSource,
|
|
long double &r_ldfEditorValue,
|
|
char cDataLength)
|
|
{
|
|
//ANNECY CB
|
|
#if 0
|
|
ERROR_PREPARE_M(CTL_g_csModuleNameForErO,
|
|
"Seting memory to update a motor data",
|
|
"CTL_fn_vGetMemoryForFloat(...)",
|
|
E_ERROR_GRAVITY_INSTABLE,
|
|
"The source is not a valid pointer : memory has not been updated");
|
|
ERROR_ASSERT( pvSource != NULL );
|
|
#endif
|
|
//END
|
|
|
|
if ( pvSource != NULL )
|
|
{
|
|
switch ( cDataLength )
|
|
{
|
|
case sizeof(float) :
|
|
{
|
|
float fTempValue;
|
|
memcpy(&fTempValue, pvSource, sizeof(float));
|
|
r_ldfEditorValue = fTempValue;
|
|
}
|
|
break;
|
|
|
|
/* case DOUBLE :
|
|
{
|
|
double dfTempValue;
|
|
memcpy(&dfTempValue, pvSource, sizeof(double));
|
|
r_ldfEditorValue = dfTempValue;
|
|
}
|
|
break;
|
|
|
|
case LONG_DOUBLE :
|
|
{
|
|
long double ldfTempValue;
|
|
memcpy(&ldfTempValue, pvSource, sizeof(long double));
|
|
r_ldfEditorValue = ldfTempValue;
|
|
}
|
|
break;
|
|
*/
|
|
default:
|
|
ERROR_ASSERT( FALSE );
|
|
}
|
|
}
|
|
}
|
|
|