int Input::updateGameInput() { int event = kEvNone; if (!isMouseEnabled() || (_engineFlags & kEngineBlockInput) || (_engineFlags & kEngineWalking) || (_engineFlags & kEngineChangeLocation)) { debugC(3, kDebugInput, "updateGameInput: input flags (mouse: %i, block: %i, walking: %i, changeloc: %i)", isMouseEnabled(), (_engineFlags & kEngineBlockInput) == 0, (_engineFlags & kEngineWalking) == 0, (_engineFlags & kEngineChangeLocation) == 0 ); return event; } if (_gameType == GType_Nippon) { if (_hasKeyPressEvent && (_vm->getFeatures() & GF_DEMO) == 0) { if (_keyPressed.keycode == Common::KEYCODE_l) event = kEvLoadGame; if (_keyPressed.keycode == Common::KEYCODE_s) event = kEvSaveGame; } } else if (_gameType == GType_BRA) { if (_hasKeyPressEvent && (_vm->getFeatures() & GF_DEMO) == 0) { if (_keyPressed.keycode == Common::KEYCODE_F5) event = kEvIngameMenu; } } else { error("unsupported gametype in updateGameInput"); } if (event == kEvNone) { translateGameInput(); } return event; }
void animateFrameUC::Event(BSEventUC& event) { if( !isMouseEnabled() && event.Type > BEUCEventMouseBegin && event.Type < BEUCEventMouseEnd ) { if( m_pParent != NULL ) m_pParent->Event(event); else controlUC::Event(event); return; } switch(event.Type) { case BEUCEventTimer: { if(event.wParam == DEFAULT_FRAME_TIMERID) { //SEND_LOG(L"BEUCEventTimer ......"); invalidate(); return; } } break; } __super::Event(event); }
void comboUC::Event(BSEventUC &event) { if( !isMouseEnabled() && event.Type > BEUCEventMouseBegin && event.Type < BEUCEventMouseEnd ) { if( m_pParent != NULL ) m_pParent->Event(event); else containerUC::Event(event); return; } if( event.Type == BEUCEventSetFocus ) { invalidate(); } if( event.Type == BEUCEventKillFocus ) { invalidate(); } if( event.Type == BEUCEventButtonDown ) { if( isEnabled() ) { activate(); m_uButtonState |= UCSTATE_PUSHED | UCSTATE_CAPTURED; } return; } if( event.Type == BEUCEventButtonUp ) { if( (m_uButtonState & UCSTATE_CAPTURED) != 0 ) { m_uButtonState &= ~ UCSTATE_CAPTURED; invalidate(); } return; } if( event.Type == BEUCEventMouseMove ) { return; } if( event.Type == BEUCEventKeyDown ) { switch( event.chKey ) { case VK_F4: activate(); return; case VK_UP: selectItem(findSelectable(m_iCurSel - 1, false)); return; case VK_DOWN: selectItem(findSelectable(m_iCurSel + 1, true)); return; case VK_PRIOR: selectItem(findSelectable(m_iCurSel - 1, false)); return; case VK_NEXT: selectItem(findSelectable(m_iCurSel + 1, true)); return; case VK_HOME: selectItem(findSelectable(0, false)); return; case VK_END: selectItem(findSelectable(getCount() - 1, true)); return; } } if( event.Type == BEUCEventScrollWheel ) { bool bDownward = LOWORD(event.wParam) == SB_LINEDOWN; selectItem(findSelectable(m_iCurSel + (bDownward ? 1 : -1), bDownward)); return; } if( event.Type == BEUCEventContextMenu ) { return; } if( event.Type == BEUCEventMouseEnter ) { if( ::PtInRect(&m_rcItem, event.ptMouse ) ) { if( (m_uButtonState & UCSTATE_HOT) == 0 ) m_uButtonState |= UCSTATE_HOT; invalidate(); } return; } if( event.Type == BEUCEventMouseLeave ) { if( (m_uButtonState & UCSTATE_HOT) != 0 ) { m_uButtonState &= ~UCSTATE_HOT; invalidate(); } return; } controlUC::Event(event); }