// 3dParametersDlg.h // // (c)1998-2025 Codejock Software, All Rights Reserved. // // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN // CONSENT OF CODEJOCK SOFTWARE. // // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A // SINGLE COMPUTER. // // CONTACT INFORMATION: // support@codejock.com // http://www.codejock.com // ///////////////////////////////////////////////////////////////////////////// #if !defined(AFX_3DPARAMETERSDLG_H__2F232CF4_BD1C_427D_8217_910BB61799AF__INCLUDED_) # define AFX_3DPARAMETERSDLG_H__2F232CF4_BD1C_427D_8217_910BB61799AF__INCLUDED_ # if _MSC_VER > 1000 # pragma once # endif // _MSC_VER > 1000 class CComponentSliderCtrl; class I3dParametersDlgHost; ///////////////////////////////////////////////////////////////////////////// // C3dParametersDlg dialog class C3dParametersDlg : public CTabCtrlDialog { // Construction public: C3dParametersDlg(I3dParametersDlgHost& host, CWnd* pParent = NULL); // standard constructor ~C3dParametersDlg(); // Dialog Data //{{AFX_DATA(C3dParametersDlg) enum { IDD = IDD_VIEW_3D_PARAMETERS_TAB }; // NOTE: the ClassWizard will add data members here //}}AFX_DATA void SetRotation(const CXTPChart3dRotation& rotation); void SetLightPosition(const CXTPPoint3f& position); void SetLightModelAmbient(const CXTPChartColor& color); void SetLightAmbient(const CXTPChartColor& color); void SetLightDiffuse(const CXTPChartColor& color); void SetLightSpecular(const CXTPChartColor& color); void SetMaterialEmission(const CXTPChartColor& color); void SetMaterialDiffuse(const CXTPChartColor& color); void SetMaterialSpecular(const CXTPChartColor& color); void SetMaterialShininess(float fShininess); void SetAntialiasing(BOOL bAntialiasing); // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(C3dParametersDlg) protected: virtual BOOL OnInitDialog(); //}}AFX_VIRTUAL void OnRotationChanged(const float* pfYaw, const float* pfPitch, const float* pfRoll); void OnLightPositionChanged(const float* pX, const float* pY, const float* pZ); void OnLightModelAmbientChanged(const int* pR, const int* pG, const int* pB, const int* pA); void OnLightAmbientChanged(const int* pR, const int* pG, const int* pB, const int* pA); void OnLightDiffuseChanged(const int* pR, const int* pG, const int* pB, const int* pA); void OnLightSpecularChanged(const int* pR, const int* pG, const int* pB, const int* pA); void OnMaterialEmissionChanged(const int* pR, const int* pG, const int* pB, const int* pA); void OnMaterialDiffuseChanged(const int* pR, const int* pG, const int* pB, const int* pA); void OnMaterialSpecularChanged(const int* pR, const int* pG, const int* pB, const int* pA); void OnMaterialShininessChanged(float fShininess); afx_msg void OnBtnAntialiasingClicked(); struct ComponentSliderCtrlCallback : IComponentSliderCtrlCallback { C3dParametersDlg* pThis; virtual void OnBeforeValueChanged(int nItem); virtual void OnAfterValueChanged(int nItem); }; struct XRotationCallback : ComponentSliderCtrlCallback { virtual void OnValueChanged(int nItem, int nValue); } m_xRotationCallback; struct XLightPositionCallback : ComponentSliderCtrlCallback { virtual void OnValueChanged(int nItem, float fValue); } m_xLightPositionCallback; struct XLightModelAmbientCallback : ComponentSliderCtrlCallback { virtual void OnValueChanged(int nItem, int nValue); } m_xLightModelAmbientCallback; struct XLightAmbientCallback : ComponentSliderCtrlCallback { virtual void OnValueChanged(int nItem, int nValue); } m_xLightAmbientCallback; struct XLightDiffuseCallback : ComponentSliderCtrlCallback { virtual void OnValueChanged(int nItem, int nValue); } m_xLightDiffuseCallback; struct XLightSpecularCallback : ComponentSliderCtrlCallback { virtual void OnValueChanged(int nItem, int nValue); } m_xLightSpecularCallback; struct XMaterialEmissionCallback : ComponentSliderCtrlCallback { virtual void OnValueChanged(int nItem, int nValue); } m_xMaterialEmissionCallback; struct XMaterialDiffuseCallback : ComponentSliderCtrlCallback { virtual void OnValueChanged(int nItem, int nValue); } m_xMaterialDiffuseCallback; struct XMaterialSpecularCallback : ComponentSliderCtrlCallback { virtual void OnValueChanged(int nItem, int nValue); } m_xMaterialSpecularCallback; struct XMaterialShininessCallback : ComponentSliderCtrlCallback { virtual void OnValueChanged(int nItem, float fValue); } m_xMaterialShininessCallback; friend struct ComponentSliderCtrlCallback; friend struct XRotationCallback; friend struct XLightPositionCallback; friend struct XLightModelAmbientCallback; friend struct XLightAmbientCallback; friend struct XLightDiffuseCallback; friend struct XLightSpecularCallback; friend struct XMaterialEmissionCallback; friend struct XMaterialDiffuseCallback; friend struct XMaterialSpecularCallback; friend struct XMaterialShininessCallback; // Implementation protected: // Generated message map functions //{{AFX_MSG(C3dParametersDlg) //}}AFX_MSG DECLARE_MESSAGE_MAP() I3dParametersDlgHost& m_host; CXTPChartControl& m_wndChartControl; CComponentSliderCtrl* m_pwndRotation; CComponentSliderCtrl* m_pwndLightPosition; CComponentSliderCtrl* m_pwndLightModelAmbient; CComponentSliderCtrl* m_pwndLightAmbient; CComponentSliderCtrl* m_pwndLightDiffuse; CComponentSliderCtrl* m_pwndLightSpecular; CComponentSliderCtrl* m_pwndMaterialEmission; CComponentSliderCtrl* m_pwndMaterialDiffuse; CComponentSliderCtrl* m_pwndMaterialSpecular; CComponentSliderCtrl* m_pwndMaterialShininess; CButton* m_pwndAntialiasing; CFont m_fntCtrl; }; //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_3DPARAMETERSDLG_H__2F232CF4_BD1C_427D_8217_910BB61799AF__INCLUDED_)