void CKey::OnMouseMove(const UINT nFlags, CPoint point) { if (nFlags & MK_LBUTTON) { ClientToScreen(&point); CKeyboardLayout *parent = (CKeyboardLayout *)GetParent(); if (m_nKeyType == PUSHED_KEY) { int nPointedKey = parent->GetPointedKey(point); if (nPointedKey) { if (nPointedKey != m_nDroppableKey) { if (m_nDroppableKey) { reinterpret_cast<CKey*>(parent->GetDlgItem(m_nDroppableKey))->SetKeyType(m_nDroppableKeyType); SetNoCursor(); } if (IsDroppableKey(nPointedKey)) { m_nDroppableKey = nPointedKey; m_nDroppableKeyType = ((CKey*)parent->GetDlgItem(m_nDroppableKey))->GetKeyType(); reinterpret_cast<CKey*>(parent->GetDlgItem(m_nDroppableKey))->SetKeyType(DROPPABLE_KEY); SetDraggingCursor(); } } } else { if (m_nDroppableKey) { reinterpret_cast<CKey*>(parent->GetDlgItem(m_nDroppableKey))->SetKeyType(m_nDroppableKeyType); m_nDroppableKey = 0; m_nDroppableKeyType = NORMAL_KEY; SetNoCursor(); } } } if (m_nKeyType == REMAPPED_PUSHED_KEY) { if (m_nKey != parent->GetPointedKey(point)) { SetKeyType(REMAPPED_KEY); } } if (m_nKeyType == REMAPPED_KEY) { if (m_nKey == parent->GetPointedKey(point)) { SetKeyType(REMAPPED_PUSHED_KEY); } } } CButton::OnMouseMove(nFlags, point); }
ALERROR CGameSession::OnInit (CString *retsError) // OnInit // // Initialize session { m_rcScreen = g_pTrans->m_rcScreen; SetNoCursor(true); m_HUD.Init(m_rcScreen); m_SystemMap.Init(m_rcScreen); // In the future, m_CurrentDock should be our member, but for legacy // reasons, it is part of CTranscendenceWnd. Either way we need to give it // a pointer to us so it can tells us things. g_pTrans->m_CurrentDock.SetGameSession(this); return NOERROR; }