From c0c336500955a23e344651e5412c9d9d441ef4ee Mon Sep 17 00:00:00 2001 From: Ash Wolf Date: Wed, 28 Jun 2023 22:22:32 +0100 Subject: first pass of T2DLL --- src/T2MWControl.cpp | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 src/T2MWControl.cpp (limited to 'src/T2MWControl.cpp') diff --git a/src/T2MWControl.cpp b/src/T2MWControl.cpp new file mode 100644 index 0000000..a6527f1 --- /dev/null +++ b/src/T2MWControl.cpp @@ -0,0 +1,69 @@ +#include "T2MWControl.h" +#include "T2TowerDoc.h" +#include "T2WorldDef.h" + +#line 19 +IMPLEMENT_DYNCREATE(T2MWControl, CWnd) + +T2MWControl::T2MWControl() { + mDocument = NULL; + mWorldDef = NULL; + mData = 0; +} + +/*virtual*/ T2MWControl::~T2MWControl() { +} + +BEGIN_MESSAGE_MAP(T2MWControl, CWnd) + ON_WM_ERASEBKGND() + ON_WM_QUERYNEWPALETTE() + ON_WM_LBUTTONDOWN() + ON_WM_LBUTTONUP() + ON_WM_MOUSEMOVE() +END_MESSAGE_MAP() + +/*virtual*/ void T2MWControl::Setup(T2TowerDoc *inDoc) { + mDocument = inDoc; + mWorldDef = inDoc->mWorldDef; + + InvalidateRect(NULL); +} + +afx_msg BOOL T2MWControl::OnEraseBkgnd(CDC* pDC) { + if (mWorldDef) + mWorldDef->DrawCtrl(mDocument, this); + return true; +} + +afx_msg BOOL T2MWControl::OnQueryNewPalette() { + return CWnd::OnQueryNewPalette(); +} + +/*virtual*/ void T2MWControl::SetData(int data) { + mData = data; + InvalidateRect(NULL); +} + +/*virtual*/ int T2MWControl::GetData() const { + return mData; +} + +afx_msg void T2MWControl::OnLButtonDown(UINT nFlags, CPoint point) { + if (mWorldDef) + mWorldDef->ButtonDownOnCtrl(mDocument, this, point, GetParent()); +} + +afx_msg void T2MWControl::OnLButtonUp(UINT nFlags, CPoint point) { + if (mWorldDef) + mWorldDef->ButtonUpOnCtrl(mDocument, this, point, GetParent()); +} + +afx_msg void T2MWControl::OnMouseMove(UINT nFlags, CPoint point) { + if (mWorldDef) { + HCURSOR cursor = AfxGetApp()->LoadStandardCursor(IDC_ARROW); + if (cursor) + SetCursor(cursor); + + mWorldDef->MouseMoveOnCtrl(mDocument, this, point, GetParent()); + } +} -- cgit v1.2.3