bool PAP::Down() { TRACE("PAP: Down() state=%d\n", State()); switch (Interface().Phase()) { case PPP_DOWN_PHASE: // interface finished terminating case PPP_ESTABLISHED_PHASE: // terminate this NCP individually (block until we finished terminating) NewState(INITIAL); DownEvent(); break; /* case PPP_TERMINATION_PHASE: // interface is terminating break; case PPP_ESTABLISHMENT_PHASE: // interface is reconfiguring break; */ default: ; } return true; }
VOID CComTouchDriver::ProcessInputEvent(const TOUCHINPUT* inData) { DWORD dwCursorID = inData->dwID; DWORD dwEvent = inData->dwFlags; BOOL bFoundObj = FALSE; // Check if contacts should be incremented if((dwEvent & TOUCHEVENTF_DOWN) && (dwCursorID != MOUSE_CURSOR_ID)) { m_uNumContacts++; } // Screen the types of inputs and the number of contacts if((m_uNumContacts == 0) && (dwCursorID != MOUSE_CURSOR_ID)) { return; } else if((m_uNumContacts > 0) && (dwCursorID == MOUSE_CURSOR_ID)) { return; } // Check if contacts should be decremented if((dwEvent & TOUCHEVENTF_UP) && (dwCursorID != MOUSE_CURSOR_ID)) { m_uNumContacts--; } // Find the object and associate the cursor id with the object if(dwEvent & TOUCHEVENTF_DOWN) { std::list<CCoreObject*>::iterator it; for(it = m_lCoreObjects.begin(); it != m_lCoreObjects.end(); it++) { DownEvent(*it, inData, &bFoundObj); if(bFoundObj) break; } } else if(dwEvent & TOUCHEVENTF_MOVE) { if(m_mCursorObject.count(inData->dwID) > 0) { MoveEvent(inData); } } else if(dwEvent & TOUCHEVENTF_UP) { if(m_mCursorObject.count(inData->dwID) > 0) { UpEvent(inData); } } }