Complete disaster-recovery snapshot: engine/game source, game data assets, VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive. Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false, no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
123 lines
2.7 KiB
C++
123 lines
2.7 KiB
C++
// ChildFrm.cpp : implementation of the CChildFrame class
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "ImageGrinder.h"
|
|
|
|
#include "ChildFrm.h"
|
|
#include "ImageGrinderView.h"
|
|
#include "FeatureLibView.h"
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CChildFrame
|
|
|
|
IMPLEMENT_DYNCREATE(CChildFrame, CMDIChildWnd)
|
|
|
|
BEGIN_MESSAGE_MAP(CChildFrame, CMDIChildWnd)
|
|
//{{AFX_MSG_MAP(CChildFrame)
|
|
ON_WM_SIZE()
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CChildFrame construction/destruction
|
|
|
|
CChildFrame::CChildFrame()
|
|
{
|
|
// TODO: add member initialization code here
|
|
Initalized=false;
|
|
}
|
|
|
|
CChildFrame::~CChildFrame()
|
|
{
|
|
}
|
|
|
|
BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs)
|
|
{
|
|
// TODO: Modify the Window class or styles here by modifying
|
|
// the CREATESTRUCT cs
|
|
|
|
if( !CMDIChildWnd::PreCreateWindow(cs) )
|
|
return FALSE;
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CChildFrame diagnostics
|
|
|
|
#ifdef _DEBUG
|
|
void CChildFrame::AssertValid() const
|
|
{
|
|
CMDIChildWnd::AssertValid();
|
|
}
|
|
|
|
void CChildFrame::Dump(CDumpContext& dc) const
|
|
{
|
|
CMDIChildWnd::Dump(dc);
|
|
}
|
|
|
|
#endif //_DEBUG
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CChildFrame message handlers
|
|
|
|
BOOL CChildFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
|
|
{
|
|
// CG: The following block was added by the Splitter Bar component.
|
|
/*
|
|
{
|
|
if (!m_wndSplitter.Create(this,
|
|
1, 2, // TODO: adjust the number of rows, columns
|
|
CSize(10, 10), // TODO: adjust the minimum pane size
|
|
pContext))
|
|
{
|
|
TRACE0("Failed to create splitter bar ");
|
|
return FALSE; // failed to create
|
|
}
|
|
|
|
return TRUE;
|
|
}
|
|
*/
|
|
{
|
|
if (!m_wndSplitter.CreateStatic(this,1,2) )
|
|
{
|
|
TRACE0("Failed to create splitter bar ");
|
|
return FALSE; // failed to create
|
|
}
|
|
|
|
m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CImageGrinderView),CSize(500,100), pContext);
|
|
m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CFeatureLibView),CSize(100,100), pContext);
|
|
AdjustSplitter();
|
|
Initalized=true;
|
|
return TRUE;
|
|
}
|
|
|
|
}
|
|
|
|
void CChildFrame::AdjustSplitter()
|
|
{
|
|
CFeatureLibView *view;
|
|
if(Initalized)
|
|
{
|
|
CRect rct;
|
|
GetClientRect(&rct);
|
|
view=(CFeatureLibView *)m_wndSplitter.GetPane(0,1);
|
|
m_wndSplitter.SetColumnInfo(1,view->GetMaxWidth(),10);
|
|
m_wndSplitter.SetColumnInfo(0,rct.Width()-(GetSystemMetrics(SM_CYSIZEFRAME)*2+view->GetMaxWidth()),10);
|
|
m_wndSplitter.RecalcLayout();
|
|
}
|
|
}
|
|
|
|
void CChildFrame::OnSize(UINT nType, int cx, int cy)
|
|
{
|
|
CMDIChildWnd::OnSize(nType, cx, cy);
|
|
|
|
// TODO: Add your message handler code here
|
|
AdjustSplitter();
|
|
}
|