コード例 #1
0
ファイル: SYSZIBM.C プロジェクト: carriercomm/citadel-86
/*
 * getCh()
 *
 * This function gets char from console.  We do not use a para. define
 * here because we must have a pointer to function elsewhere, and the way we
 * do it here should save a bit of space.
 */
int getCh()
{
#ifdef REALWAY
    return KeyStroke();
#else
int c;

c = KeyStroke();
if (c == F1_KEY) return 0;
return c;
#endif
}
コード例 #2
0
//-----------------------------------------------------------------
    void
InputAgent::own_update()
{
    //FFNG event loop from jni
    SDL_Event event;
    while (FFNGInputEvent::pollEvent/*FFNG SDL_PollEvent*/(&event)) {
        switch (event.type) {
            case /*FFNG SDL_QUIT*/SDL_Event::QUIT:
                {
                    BaseMsg *msg = new SimpleMsg(Name::APP_NAME, "quit");
                    MessagerAgent::agent()->forwardNewMsg(msg);
                    break;
                }
            case /*FFNG SDL_KEYDOWN*/SDL_Event::KEYDOWN:
                m_keyBinder->keyDown(event.key/*FFNG .keysym*/);
                if (m_handler) {
                    m_handler->keyEvent(KeyStroke(event.key/*FFNG .keysym*/));
                }
                break;
            case /*FFNG SDL_KEYUP*/SDL_Event::KEYUP:
                if (m_handler) {
                    m_handler->keyUp(KeyStroke(event.key/*FFNG .keysym*/));
                }
                break;
            case /*FFNG SDL_MOUSEBUTTONDOWN*/SDL_Event::MOUSEBUTTONDOWN:
                if (m_handler) {
                    m_handler->mouseEvent(MouseStroke(event.button));
                }
                break;
            default:
                break;
        }
    }

    if (m_handler) {
        Uint8 buttons;
        V2 mouseLoc = getMouseState(&buttons);
        m_handler->mouseState(mouseLoc, buttons);
    }
}