664 lines
18 KiB
C++
664 lines
18 KiB
C++
/*=========================================================================
|
|
*
|
|
* SECTdVis.cpp : Visual Environment dialog - Implementation file
|
|
*
|
|
*
|
|
* Version 1.0
|
|
* Creation date
|
|
* Revision date
|
|
*
|
|
* Shaitan
|
|
*=======================================================================*/
|
|
/*
|
|
#include "stdafx.h"
|
|
#include "acp_base.h"
|
|
#include "SECTint.hpp"
|
|
|
|
#include "SECdVis.hpp"
|
|
|
|
#include "SECmodif.hpp"
|
|
#include "SECdEnv.hpp"
|
|
#include "SEClEnvs.hpp"
|
|
#include "SECdEnvs.hpp"
|
|
#include "SECdSrfs.hpp"
|
|
|
|
#include "..\Main\Inc\_EditID.h"
|
|
#include "TUT.h"
|
|
*/
|
|
//#################################################################################
|
|
// SECT_DialogVis dialog
|
|
//#################################################################################
|
|
|
|
/*----------------------------------------
|
|
----------------------------------------*/
|
|
/*
|
|
SECT_DialogVis::SECT_DialogVis(CWnd* pParent)
|
|
: CFormView(SECT_DialogVis::IDD)
|
|
{
|
|
//{{AFX_DATA_INIT(SECT_DialogVis)
|
|
//}}AFX_DATA_INIT
|
|
}
|
|
*/
|
|
|
|
|
|
/*----------------------------------------
|
|
----------------------------------------*/
|
|
/*
|
|
void SECT_DialogVis::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CFormView::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(SECT_DialogVis)
|
|
DDX_Control(pDX, SECT_IDC_VISNAME, m_cName);
|
|
DDX_Control(pDX, SECT_IDC_VISDEFAULT, m_cDefault);
|
|
|
|
DDX_Control(pDX, SECT_IDC_VISSAVE, m_cSave);
|
|
DDX_Control(pDX, SECT_IDC_VISCANCEL, m_cCancel);
|
|
|
|
DDX_Control(pDX, SECT_IDC_NEAR, m_cNear);
|
|
DDX_Control(pDX, SECT_IDC_FAR, m_cFar);
|
|
DDX_Control(pDX, SECT_IDC_BLENDNEAR, m_cBlendNear);
|
|
DDX_Control(pDX, SECT_IDC_BLENDFAR, m_cBlendFar);
|
|
DDX_Control(pDX, SECT_IDC_INFINITE, m_cInfinite);
|
|
|
|
DDX_Control(pDX, SECT_IDC_COLOR, m_cColor);
|
|
DDX_Control(pDX, SECT_IDC_REDSLIDER, m_cRSlider);
|
|
DDX_Control(pDX, SECT_IDC_GREENSLIDER, m_cGSlider);
|
|
DDX_Control(pDX, SECT_IDC_BLUESLIDER, m_cBSlider);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
*/
|
|
|
|
/*----------------------------------------
|
|
----------------------------------------*/
|
|
/*
|
|
BEGIN_MESSAGE_MAP(SECT_DialogVis, CFormView)
|
|
//{{AFX_MSG_MAP(SECT_DialogVis)
|
|
ON_WM_SIZE()
|
|
ON_WM_DESTROY()
|
|
ON_WM_DRAWITEM()
|
|
|
|
ON_BN_CLICKED(SECT_IDC_VISSAVE, OnSave)
|
|
ON_BN_CLICKED(SECT_IDC_VISCANCEL, OnCancel)
|
|
|
|
ON_EN_KILLFOCUS(SECT_IDC_VISNAME, OnChangeName)
|
|
ON_BN_CLICKED(SECT_IDC_VISDEFAULT, OnDefault)
|
|
|
|
ON_EN_KILLFOCUS(SECT_IDC_NEAR, OnChangeNear)
|
|
ON_EN_KILLFOCUS(SECT_IDC_FAR, OnChangeFar)
|
|
ON_EN_KILLFOCUS(SECT_IDC_INFINITE, OnChangeInfinite)
|
|
|
|
ON_WM_VSCROLL()
|
|
ON_WM_HSCROLL()
|
|
ON_BN_DOUBLECLICKED(SECT_IDC_COLOR, OnEditColor)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
*/
|
|
|
|
//#################################################################################
|
|
// SECT_DialogVis Inits
|
|
//#################################################################################
|
|
|
|
/*===========================================================================
|
|
* Description: Init dialog
|
|
* Creation date:
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
/*
|
|
void SECT_DialogVis::fn_vInitDialog (Sector_Interface *p_oDLL, CWnd *pParent)
|
|
{
|
|
// create the dialog
|
|
m_bInitialised = FALSE;
|
|
m_pSectorInterface = p_oDLL;
|
|
CFormView::Create(NULL, "", AFX_WS_DEFAULT_VIEW, CRect(0,0,120,180), pParent, AFX_IDW_PANE_FIRST, NULL);
|
|
|
|
// init data for dialog
|
|
CFormView::UpdateData(FALSE);
|
|
|
|
// FOR TUTORIAL
|
|
TUT_M_vGetTutDll();
|
|
// visual environment
|
|
TUT_M_vRegisterControl(m_cName.m_hWnd, "OSC_DVIS_EDIT_VISENV", TUT_e_TextEdit);
|
|
TUT_M_vRegisterControl(m_cDefault.m_hWnd, "OSC_DVIS_BUTTON_DEFAULT", TUT_e_Button);
|
|
TUT_M_vRegisterControl(m_cCancel.m_hWnd, "OSC_DVIS_BUTTON_CANCEL", TUT_e_Button);
|
|
TUT_M_vRegisterControl(m_cSave.m_hWnd, "OSC_DVIS_BUTTON_SAVE", TUT_e_Button);
|
|
// parameters
|
|
TUT_M_vRegisterControl(m_cNear.m_hWnd, "OSC_DVIS_EDIT_NEAR", TUT_e_TextEdit);
|
|
TUT_M_vRegisterControl(m_cFar.m_hWnd, "OSC_DVIS_EDIT_FAR", TUT_e_TextEdit);
|
|
TUT_M_vRegisterControl(m_cInfinite.m_hWnd, "OSC_DVIS_EDIT_INFINITE", TUT_e_TextEdit);
|
|
TUT_M_vRegisterControl(m_cBlendNear.m_hWnd, "OSC_DVIS_EDIT_BLENDNEAR", TUT_e_Slider);
|
|
TUT_M_vRegisterControl(m_cBlendFar.m_hWnd, "OSC_DVIS_EDIT_BLENDFAR", TUT_e_Slider);
|
|
// color
|
|
TUT_M_vRegisterControl(m_cRSlider.m_hWnd, "OSC_DVIS_SLIDER_RED", TUT_e_Slider);
|
|
TUT_M_vRegisterControl(m_cGSlider.m_hWnd, "OSC_DVIS_SLIDER_GREEN", TUT_e_Slider);
|
|
TUT_M_vRegisterControl(m_cBSlider.m_hWnd, "OSC_DVIS_SLIDER_BLUE", TUT_e_Slider);
|
|
TUT_M_vRegisterControl(m_cColor.m_hWnd, "OSC_DVIS_BUTTON_COLOR", TUT_e_Button);
|
|
// END TUTORIAL
|
|
|
|
// init blend
|
|
m_cBlendNear.SetRange(0, 255);
|
|
m_cBlendFar.SetRange(0, 255);
|
|
// init range
|
|
m_cRSlider.SetRange(0, 254);
|
|
m_cGSlider.SetRange(0, 254);
|
|
m_cBSlider.SetRange(0, 254);
|
|
// init environment values
|
|
m_pDefaultVisEnv = NULL;
|
|
fn_vInitVisEnvironment(NULL, FALSE);
|
|
|
|
m_bInitialised = TRUE;
|
|
}
|
|
*/
|
|
|
|
/*===========================================================================
|
|
* Description: Init default vis env
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
/*
|
|
void SECT_DialogVis::fn_vReinitDialog (void)
|
|
{
|
|
if (!m_pDefaultVisEnv)
|
|
{
|
|
m_pDefaultVisEnv = new SECT_VisEnvironment(m_pSectorInterface, "");
|
|
m_pDefaultVisEnv->fn_bUnValidate();
|
|
m_pDefaultVisEnv->fn_vNotifyUnSave();
|
|
}
|
|
}
|
|
*/
|
|
/*===========================================================================
|
|
* Description: Init controls
|
|
* Creation date:
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
/*
|
|
void SECT_DialogVis::fn_vInitControls (BOOL bEnable)
|
|
{
|
|
// init button states
|
|
m_cSave.EnableWindow(bEnable);
|
|
m_cCancel.EnableWindow(bEnable);
|
|
|
|
// init name
|
|
m_cName.SetReadOnly(!bEnable);
|
|
m_cDefault.EnableWindow(bEnable);
|
|
// init fog controls
|
|
m_cNear.SetReadOnly(!bEnable);
|
|
m_cFar.SetReadOnly(!bEnable);
|
|
m_cBlendNear.EnableWindow(bEnable);
|
|
m_cBlendFar.EnableWindow(bEnable);
|
|
m_cInfinite.SetReadOnly(!bEnable);
|
|
// init color controls
|
|
m_cRSlider.EnableWindow(bEnable);
|
|
m_cGSlider.EnableWindow(bEnable);
|
|
m_cBSlider.EnableWindow(bEnable);
|
|
}
|
|
*/
|
|
/*===========================================================================
|
|
* Description: register initial values
|
|
* Creation date:
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
/*
|
|
void SECT_DialogVis::fn_vInitVisEnvironment (SECT_VisEnvironment *pVisEnv, BOOL bEnable)
|
|
{
|
|
char szVal[256];
|
|
int iRValue, iGValue, iBValue;
|
|
|
|
// update or create mec env
|
|
if ((!pVisEnv) && bEnable)
|
|
m_pVisEnv = m_pDefaultVisEnv;
|
|
else
|
|
m_pVisEnv = pVisEnv;
|
|
// update all controls
|
|
fn_vInitControls(bEnable);
|
|
|
|
// init name
|
|
m_csName = (m_pVisEnv) ? m_pVisEnv->GetName() : "";
|
|
|
|
// init fog parameters
|
|
m_xNear = (m_pVisEnv) ? m_pVisEnv->GetFogNear() : 0;
|
|
m_xFar = (m_pVisEnv) ? m_pVisEnv->GetFogFar() : 0;
|
|
m_xBlendNear = (m_pVisEnv) ? m_pVisEnv->GetFogBlendNear() : 0;
|
|
m_xBlendFar = (m_pVisEnv) ? m_pVisEnv->GetFogBlendFar() : 0;
|
|
m_xInfinite = (m_pVisEnv) ? m_pVisEnv->GetFogInfinite() : 0;
|
|
// init fog color
|
|
iRValue = (m_pVisEnv) ? (int) (254 * m_pVisEnv->GetFogColor()->xR) : 0;
|
|
iGValue = (m_pVisEnv) ? (int) (254 * m_pVisEnv->GetFogColor()->xG) : 0;
|
|
iBValue = (m_pVisEnv) ? (int) (254 * m_pVisEnv->GetFogColor()->xB) : 0;
|
|
m_stColor = RGB(iRValue, iGValue, iBValue);
|
|
|
|
// init controls
|
|
if (!m_pVisEnv)
|
|
{
|
|
m_cName.SetWindowText("");
|
|
m_cNear.SetWindowText("");
|
|
m_cFar.SetWindowText("");
|
|
m_cBlendNear.SetPos((int) m_xBlendNear);
|
|
m_cBlendFar.SetPos((int) m_xBlendFar);
|
|
m_cInfinite.SetWindowText("");
|
|
fn_vUpdateSliders();
|
|
fn_vUpdateColor();
|
|
}
|
|
else
|
|
{
|
|
// name
|
|
m_cName.SetWindowText(m_csName);
|
|
// near
|
|
sprintf(szVal, "%5.2f", m_xNear);
|
|
m_cNear.SetWindowText(szVal);
|
|
// far
|
|
sprintf(szVal, "%5.2f", m_xFar);
|
|
m_cFar.SetWindowText(szVal);
|
|
// blend near
|
|
m_cBlendNear.SetPos((int) m_xBlendNear);
|
|
// blend far
|
|
m_cBlendFar.SetPos((int) m_xBlendFar);
|
|
// infinite
|
|
sprintf(szVal, "%5.2f", m_xInfinite);
|
|
m_cInfinite.SetWindowText(szVal);
|
|
// color
|
|
fn_vUpdateSliders();
|
|
fn_vUpdateColor();
|
|
}
|
|
}
|
|
*/
|
|
|
|
/*===========================================================================
|
|
* Description: Update sliders
|
|
* Creation date:
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
/*
|
|
void SECT_DialogVis::fn_vUpdateSliders (void)
|
|
{
|
|
m_cRSlider.SetPos(254 - GetRValue(m_stColor));
|
|
m_cGSlider.SetPos(254 - GetGValue(m_stColor));
|
|
m_cBSlider.SetPos(254 - GetBValue(m_stColor));
|
|
}
|
|
*/
|
|
/*===========================================================================
|
|
* Description: Update Color
|
|
* Creation date:
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
/*
|
|
void SECT_DialogVis::fn_vUpdateColor (void)
|
|
{
|
|
RECT rColor;
|
|
CDC *pColorDC;
|
|
|
|
// get controls parameters
|
|
pColorDC = m_cColor.GetDC();
|
|
m_cColor.GetClientRect(&rColor);
|
|
// fill control
|
|
pColorDC->FillSolidRect(&rColor, m_stColor);
|
|
}
|
|
*/
|
|
|
|
|
|
//#################################################################################
|
|
// SECT_DialogVis Messages
|
|
//#################################################################################
|
|
|
|
/*----------------------------------------
|
|
----------------------------------------*/
|
|
/*
|
|
void SECT_DialogVis::OnChangeName (void)
|
|
{
|
|
CString csFinalName;
|
|
char szNewName[256];
|
|
|
|
// no mec env => no changes
|
|
if ((!m_pVisEnv)||(!m_cName.GetModify()))
|
|
return;
|
|
|
|
// get corresponding name
|
|
m_cName.GetWindowText(szNewName, 255);
|
|
if (!strcmp(szNewName, ""))
|
|
{
|
|
m_cName.SetWindowText(m_csName);
|
|
return;
|
|
}
|
|
|
|
// get prefixed name
|
|
csFinalName = m_pSectorInterface->GetInterface()->GetPrefixedName(szNewName);
|
|
// check name validity
|
|
if (m_pVisEnv->fn_eCheckValidity(csFinalName) == E_mc_None)
|
|
m_csName = csFinalName;
|
|
// update window
|
|
m_cName.SetWindowText(m_csName);
|
|
|
|
m_cName.SetModify(FALSE);
|
|
}
|
|
*/
|
|
|
|
/*----------------------------------------
|
|
----------------------------------------*/
|
|
/*
|
|
void SECT_DialogVis::OnChangeNear (void)
|
|
{
|
|
float xNear;
|
|
char szVal[15];
|
|
|
|
if (m_cNear.GetModify())
|
|
{
|
|
m_cNear.GetWindowText(szVal, 15);
|
|
xNear = (float) atof(szVal);
|
|
if ((xNear <= m_xFar) && (xNear <= m_xInfinite) && (xNear >= 0))
|
|
m_xNear = xNear;
|
|
else
|
|
{
|
|
sprintf(szVal, "%5.2f", m_xNear);
|
|
m_cNear.SetWindowText(szVal);
|
|
}
|
|
m_cNear.SetModify(FALSE);
|
|
}
|
|
}
|
|
|
|
/*----------------------------------------
|
|
----------------------------------------*/
|
|
/*
|
|
void SECT_DialogVis::OnChangeFar (void)
|
|
{
|
|
float xFar;
|
|
char szVal[15];
|
|
|
|
if (m_cFar.GetModify())
|
|
{
|
|
m_cFar.GetWindowText(szVal, 15);
|
|
xFar = (float) atof(szVal);
|
|
if ((xFar >= m_xNear) && (xFar <= m_xInfinite) && (xFar >= 0))
|
|
m_xFar = xFar;
|
|
else
|
|
{
|
|
sprintf(szVal, "%5.2f", m_xFar);
|
|
m_cFar.SetWindowText(szVal);
|
|
}
|
|
m_cFar.SetModify(FALSE);
|
|
}
|
|
}
|
|
*/
|
|
|
|
/*----------------------------------------
|
|
----------------------------------------*/
|
|
/*
|
|
void SECT_DialogVis::OnChangeInfinite (void)
|
|
{
|
|
float xInfinite;
|
|
char szVal[15];
|
|
|
|
if (m_cInfinite.GetModify())
|
|
{
|
|
m_cInfinite.GetWindowText(szVal, 15);
|
|
xInfinite = (float) atof(szVal);
|
|
if ((xInfinite >= m_xNear) && (xInfinite >= m_xFar) && (xInfinite >= 0))
|
|
m_xInfinite = xInfinite;
|
|
else
|
|
{
|
|
sprintf(szVal, "%5.2f", m_xInfinite);
|
|
m_cInfinite.SetWindowText(szVal);
|
|
}
|
|
m_cInfinite.SetModify(FALSE);
|
|
}
|
|
}
|
|
*/
|
|
|
|
/*----------------------------------------
|
|
----------------------------------------*/
|
|
/*
|
|
void SECT_DialogVis::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
|
|
{
|
|
int iRValue, iGValue, iBValue;
|
|
|
|
// color
|
|
if ((pScrollBar == (void*) &m_cRSlider) ||
|
|
(pScrollBar == (void*) &m_cGSlider) ||
|
|
(pScrollBar == (void*) &m_cBSlider))
|
|
{
|
|
// update color
|
|
iRValue = 254 - m_cRSlider.GetPos();
|
|
iGValue = 254 - m_cGSlider.GetPos();
|
|
iBValue = 254 - m_cBSlider.GetPos();
|
|
m_stColor = RGB(iRValue, iGValue, iBValue);
|
|
// update control
|
|
fn_vUpdateColor();
|
|
}
|
|
CFormView::OnVScroll(nSBCode, nPos, pScrollBar);
|
|
}
|
|
*/
|
|
|
|
/*----------------------------------------
|
|
----------------------------------------*/
|
|
/*
|
|
void SECT_DialogVis::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
|
|
{
|
|
if (pScrollBar == (void*) &m_cBlendNear)
|
|
{
|
|
// get new near value
|
|
m_xBlendNear = (float) m_cBlendNear.GetPos();
|
|
// if necessary, update far value
|
|
if (m_xBlendFar < m_xBlendNear)
|
|
{
|
|
m_xBlendFar = m_xBlendNear + 1;
|
|
m_cBlendFar.SetPos((int)m_xBlendFar);
|
|
}
|
|
}
|
|
|
|
if (pScrollBar == (void*) &m_cBlendFar)
|
|
{
|
|
// get new far value
|
|
m_xBlendFar = (float) m_cBlendFar.GetPos();
|
|
// if necessary, update near value
|
|
if (m_xBlendFar < m_xBlendNear)
|
|
{
|
|
m_xBlendNear = m_xBlendFar - 1;
|
|
m_cBlendNear.SetPos((int)m_xBlendNear);
|
|
}
|
|
}
|
|
|
|
CFormView::OnHScroll(nSBCode, nPos, pScrollBar);
|
|
}
|
|
*/
|
|
|
|
/*----------------------------------------
|
|
----------------------------------------*/
|
|
/*
|
|
void SECT_DialogVis::OnEditColor ()
|
|
{
|
|
CColorDialog oColorDialog;
|
|
|
|
// display color dialog
|
|
if (oColorDialog.DoModal() == IDOK)
|
|
{
|
|
// get selected color
|
|
m_stColor = oColorDialog.GetColor();
|
|
// update controls
|
|
fn_vUpdateSliders();
|
|
fn_vUpdateColor();
|
|
}
|
|
}
|
|
*/
|
|
/*----------------------------------------
|
|
----------------------------------------*/
|
|
/*
|
|
void SECT_DialogVis::OnSave()
|
|
{
|
|
SECT_ModifVisEnvParams *pModif;
|
|
GLI_tdstColor stColor;
|
|
int iRValue, iGValue, iBValue;
|
|
|
|
// no mec env => no changes
|
|
if (!m_pVisEnv)
|
|
return;
|
|
|
|
// default mec env => create new one
|
|
if (m_pVisEnv == m_pDefaultVisEnv)
|
|
m_pVisEnv = new SECT_VisEnvironment(m_pSectorInterface, m_csName);
|
|
|
|
// get real color
|
|
iRValue = GetRValue(m_stColor);
|
|
iGValue = GetGValue(m_stColor);
|
|
iBValue = GetBValue(m_stColor);
|
|
stColor.xR = ((float) iRValue) / ((float) 254.0);
|
|
stColor.xG = ((float) iGValue) / ((float) 254.0);
|
|
stColor.xB = ((float) iBValue) / ((float) 254.0);
|
|
// modif
|
|
pModif = new SECT_ModifVisEnvParams(m_pSectorInterface, E_tm_ModifVisEnv, m_pVisEnv,
|
|
m_csName, m_xNear, m_xFar, m_xBlendNear,
|
|
m_xBlendFar, m_xInfinite, &stColor);
|
|
|
|
m_pSectorInterface->M_GetEditManager()->AskFor(pModif);
|
|
// give controtl to dialog env & update combo meca
|
|
m_pSectorInterface->GetDialogEnv()->fn_vInitVisListBox();
|
|
m_pSectorInterface->GetDialogEnv()->fn_vSelectVisual(m_pVisEnv);
|
|
m_pSectorInterface->GetDialogEnv()->fn_vInitControls(TRUE);
|
|
m_pSectorInterface->GetDialogSrf()->fn_vInitControls(TRUE);
|
|
m_pSectorInterface->GetDialogEnvs()->fn_vInitControls(TRUE);
|
|
m_pSectorInterface->GetDialogEnvList()->fn_vInitControls(TRUE);
|
|
}
|
|
*/
|
|
/*----------------------------------------
|
|
----------------------------------------*/
|
|
/*
|
|
void SECT_DialogVis::OnCancel()
|
|
{
|
|
// new mec env => cancel
|
|
if (m_pVisEnv == m_pDefaultVisEnv)
|
|
m_pVisEnv = NULL;
|
|
|
|
// reinit controls
|
|
fn_vInitVisEnvironment(m_pVisEnv, FALSE);
|
|
// give controtl to dialog env
|
|
m_pSectorInterface->GetDialogEnv()->fn_vInitControls(TRUE);
|
|
m_pSectorInterface->GetDialogSrf()->fn_vInitControls(TRUE);
|
|
m_pSectorInterface->GetDialogEnvs()->fn_vInitControls(TRUE);
|
|
m_pSectorInterface->GetDialogEnvList()->fn_vInitControls(TRUE);
|
|
}
|
|
*/
|
|
/*----------------------------------------
|
|
----------------------------------------*/
|
|
/*
|
|
void SECT_DialogVis::OnDefault()
|
|
{
|
|
if (m_cName.GetModify())
|
|
{
|
|
OnChangeName();
|
|
m_cName.SetFocus();
|
|
}
|
|
if (m_cNear.GetModify())
|
|
{
|
|
OnChangeNear();
|
|
m_cNear.SetFocus();
|
|
}
|
|
if (m_cFar.GetModify())
|
|
{
|
|
OnChangeFar();
|
|
m_cFar.SetFocus();
|
|
}
|
|
if (m_cInfinite.GetModify())
|
|
{
|
|
OnChangeInfinite();
|
|
m_cInfinite.SetFocus();
|
|
}
|
|
|
|
}
|
|
*/
|
|
|
|
/*----------------------------------------
|
|
----------------------------------------*/
|
|
/*
|
|
void SECT_DialogVis::OnSize(UINT, int, int)
|
|
{
|
|
|
|
RECT WindowPosition;
|
|
int ecx, ecy;
|
|
|
|
if (!m_bInitialised)
|
|
return;
|
|
|
|
// calculate name position
|
|
GetWindowRect(&WindowPosition);
|
|
ecx = WindowPosition.right - WindowPosition.left;
|
|
ecx = (ecx < 160) ? 10 : ecx - 150;
|
|
ecy = WindowPosition.bottom - WindowPosition.top;
|
|
ecy = (ecy < 180) ? 0 : ecy-180;
|
|
|
|
// buttons
|
|
m_cCancel.MoveWindow(ecx/2, 5, 40, 16);
|
|
m_cSave.MoveWindow(ecx/2+110, 5, 40, 16);
|
|
// name
|
|
m_cName.MoveWindow(ecx/2, 25, 150, 20);
|
|
// Fog
|
|
GetDlgItem(SECT_IDC_STATICFOG)->MoveWindow(ecx/2, 50, 150, 120);
|
|
// parameters
|
|
GetDlgItem(SECT_IDC_STATICINFINITE)->MoveWindow(ecx/2+5, 65, 40, 15);
|
|
GetDlgItem(SECT_IDC_STATICNEAR)->MoveWindow(ecx/2+5, 80, 40 , 15);
|
|
GetDlgItem(SECT_IDC_STATICFAR)->MoveWindow(ecx/2+5, 95, 40, 15);
|
|
m_cInfinite.MoveWindow(ecx/2+50, 65, 45, 15);
|
|
m_cNear.MoveWindow(ecx/2+50, 80, 45, 15);
|
|
m_cFar.MoveWindow(ecx/2+50, 95, 45, 15);
|
|
GetDlgItem(SECT_IDC_STATICBLEND)->MoveWindow(ecx/2+100, 65, 45 , 15);
|
|
m_cBlendNear.MoveWindow(ecx/2+100, 80, 45, 15);
|
|
m_cBlendFar.MoveWindow(ecx/2+100, 95, 45, 15);
|
|
// color
|
|
GetDlgItem(SECT_IDC_STATICCOLOR)->MoveWindow(ecx/2+5, 133, 40, 15);
|
|
m_cColor.MoveWindow(ecx/2+100, 117, 40, 40);
|
|
m_cRSlider.MoveWindow(ecx/2+50, 123, 15, 40);
|
|
m_cGSlider.MoveWindow(ecx/2+67, 123, 15, 40);
|
|
m_cBSlider.MoveWindow(ecx/2+84, 123, 15, 40);
|
|
// update
|
|
fn_vUpdateColor();
|
|
}
|
|
*/
|
|
/*----------------------------------------
|
|
----------------------------------------*/
|
|
/*
|
|
void SECT_DialogVis::OnDrawItem (int nIDCtl, LPDRAWITEMSTRUCT lpDIS)
|
|
{
|
|
|
|
// not interested => default handling
|
|
if ((lpDIS->itemID == LB_ERR) || (nIDCtl != SECT_IDC_COLOR))
|
|
return;
|
|
|
|
// draw item
|
|
fn_vUpdateColor();
|
|
}
|
|
*/
|
|
/*----------------------------------------
|
|
----------------------------------------*/
|
|
/*
|
|
void SECT_DialogVis::OnDestroy (void)
|
|
{
|
|
// FOR TUTORIAL
|
|
TUT_M_vGetTutDll();
|
|
|
|
// visual environment
|
|
TUT_M_vUnregisterControl(m_cName.m_hWnd);
|
|
TUT_M_vUnregisterControl(m_cDefault.m_hWnd);
|
|
TUT_M_vUnregisterControl(m_cCancel.m_hWnd);
|
|
TUT_M_vUnregisterControl(m_cSave.m_hWnd);
|
|
// parameters
|
|
TUT_M_vUnregisterControl(m_cNear.m_hWnd);
|
|
TUT_M_vUnregisterControl(m_cFar.m_hWnd);
|
|
TUT_M_vUnregisterControl(m_cInfinite.m_hWnd);
|
|
// color
|
|
TUT_M_vUnregisterControl(m_cRSlider.m_hWnd);
|
|
TUT_M_vUnregisterControl(m_cGSlider.m_hWnd);
|
|
TUT_M_vUnregisterControl(m_cBSlider.m_hWnd);
|
|
TUT_M_vUnregisterControl(m_cColor.m_hWnd);
|
|
// END TUTORIAL
|
|
|
|
CFormView::OnDestroy();
|
|
}
|
|
*/
|