亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? event.c

?? LTris a tetris clone for Linux
?? C
字號:
/***************************************************************************                          event.c  -  description                             -------------------    begin                : Sat Sep 8 2001    copyright            : (C) 2001 by Michael Speck    email                : kulkanie@gmx.net ***************************************************************************//*************************************************************************** *                                                                         * *   This program is free software; you can redistribute it and/or modify  * *   it under the terms of the GNU General Public License as published by  * *   the Free Software Foundation; either version 2 of the License, or     * *   (at your option) any later version.                                   * *                                                                         * ***************************************************************************/#include "ltris.h"#include "event.h"extern Sdl sdl;extern SDL_Cursor *empty_cursor;extern SDL_Cursor *std_cursor;extern Config config;int keystate[SDLK_LAST];int buttonstate[BUTTON_COUNT];int rel_motion = 0; /* relative mouse motion? */int motion_x = 0, motion_y = 0; /* current position of mouse */int motion_rel_x = 0; /* position of mouse relative to old position */int motion = 0; /* motion occured? */int motion_button = 0; /* button pressed while moving */float motion_mod;/* interna */int intern_motion = 0; /* event_filter noted a motion so event_poll will set motion next time */int intern_motion_rel_x = 0;int intern_motion_x = 0, intern_motion_y = 0;int intern_motion_last_x, intern_motion_last_y = 0;int intern_motion_button = 0;int intern_block_motion = 0;/*====================================================================Event filter used to get motion x.====================================================================*/int event_filter( const SDL_Event *event ){    /* if this is a mousemotion event get the latest mouse position    and set motion and motion_x and drop this event */    /* event_poll does not return any motion events instead motion_x    is used directly */    if ( event->type == SDL_MOUSEMOTION ) {        if ( intern_block_motion ) return 0;        /* mouse warp to keep in window */        if ( !intern_motion ) {            intern_motion_last_x = intern_motion_x;            intern_motion_last_y = intern_motion_y;            intern_motion = 1;            intern_motion_rel_x = event->motion.xrel;        }        else            intern_motion_rel_x += event->motion.xrel;        intern_motion_x = event->motion.x;        intern_motion_y = event->motion.y;        intern_motion_button = event->motion.state;        return 0;    }    return 1;}/*====================================================================Reset event states====================================================================*/void event_reset(){    memset( &keystate, 0, sizeof( int ) * SDLK_LAST );    memset( &buttonstate, 0, sizeof( int ) * BUTTON_COUNT );    motion_mod = (float)(config.motion_mod) / 100;    intern_motion = motion = 0;}/*====================================================================Grab or release input. Hide cursor if events are kept in window.Use relative mouse motion and grab if config tells so.====================================================================*/void event_grab_input(){    /* if rel_motion is set the global rel_motion_x is updated by event_poll()    (internal value is always updated by event_filter()) */    rel_motion = config.rel_motion;    /* use empty cursor if fullscreen or grab is set */    if ( config.grab || sdl.screen->flags & SDL_FULLSCREEN ) SDL_SetCursor( empty_cursor );    /* grab input if grab activated or rel_motion is set as we have to grab the input    and hide the cursor if so */    if ( config.grab || rel_motion ) SDL_WM_GrabInput( SDL_GRAB_ON );    /* if rel_motion is set hide the cursor to get relative motion events even when    cursor hits the border (due to grab) */    if ( rel_motion ) SDL_ShowCursor( 0 );}void event_ungrab_input(){    /* show cursor, grab nothing */    SDL_WM_GrabInput( SDL_GRAB_OFF );    rel_motion = 0;    SDL_ShowCursor( 1 ); SDL_SetCursor( std_cursor );}/*====================================================================Poll next event and set key and mousestate.Return Value: True if event occured====================================================================*/int event_poll( SDL_Event *event ){    motion = 0;    /* check if motion occured: does not cause an event */    if ( intern_motion ) {        /* gather all motion events to one absolute/relative position until        event_poll is called next time */        intern_motion = 0;        /* if either absolute position is used or relative motion occured set motion flag        so paddle may move */        if ( !rel_motion || intern_motion_rel_x ) motion = 1;        /* absolute position */        motion_x = intern_motion_x;        motion_y = intern_motion_y;        /* button */        motion_button = intern_motion_button;        /* use motion modifier and invert if wanted */        if ( rel_motion && motion ) {            motion_rel_x = (int)( motion_mod * intern_motion_rel_x );            if ( config.invert ) motion_rel_x = -motion_rel_x;#ifdef MOUSE_WARP            /* reset mouse pointer as current solution does not work for            BeOS */            SDL_EventState( SDL_MOUSEMOTION, SDL_IGNORE );            SDL_WarpMouse(sdl.screen->w >> 1, sdl.screen->h >> 1);            SDL_EventState( SDL_MOUSEMOTION, SDL_ENABLE );#endif        }    }    /* check queued events */    if ( SDL_PollEvent( event ) ) {       if( event->key.keysym.sym >= SDLK_LAST )	   	return -1;		        switch ( event->type ) {            case SDL_QUIT: return 1;            case SDL_MOUSEBUTTONUP: buttonstate[event->button.button] = 0; return 1;            case SDL_MOUSEBUTTONDOWN: buttonstate[event->button.button] = 1; return 1;            case SDL_KEYUP: keystate[event->key.keysym.sym] = 0; return 1;            case SDL_KEYDOWN: keystate[event->key.keysym.sym] = 1; return 1;            default: return 1;        }    }    return 0;}/*====================================================================Block/unblock motion event====================================================================*/void event_block_motion( int block ){    intern_block_motion = block;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩成人一区二区| 欧美一区二区三区成人| 手机精品视频在线观看| 久久精品人人做人人综合| 成人aa视频在线观看| 三级欧美在线一区| 亚洲三级在线播放| 久久先锋影音av鲁色资源网| 欧美日韩国产另类一区| 成人av免费在线播放| 久久国产精品99精品国产| 一区二区三区精品| 国产精品欧美久久久久无广告 | 热久久一区二区| 中日韩av电影| 欧美成人综合网站| 欧美日韩国产三级| 色婷婷av一区二区三区gif| 国产尤物一区二区| 秋霞国产午夜精品免费视频| 亚洲精品视频观看| 国产精品视频在线看| 久久嫩草精品久久久久| 欧美剧情片在线观看| 91视频免费观看| www.爱久久.com| 成人精品视频一区二区三区| 国产精品一区在线| 国产一区二区三区免费看| 日韩精品一二三| 午夜影视日本亚洲欧洲精品| 一区二区三区中文字幕精品精品| 国产午夜精品一区二区| 精品国产一区二区三区四区四| 在线播放91灌醉迷j高跟美女 | 欧美天堂亚洲电影院在线播放| av中文字幕不卡| av电影天堂一区二区在线| 成人福利在线看| 成人精品在线视频观看| 成人动漫在线一区| av亚洲精华国产精华精华| 不卡的av网站| 色综合天天做天天爱| 99久久综合精品| 色先锋aa成人| 欧美在线观看视频在线| 欧美三电影在线| 欧美高清精品3d| 欧美一区二区视频在线观看| 在线播放欧美女士性生活| 日韩欧美一二三四区| 欧美大片在线观看一区| 久久久99免费| 中文字幕日韩av资源站| 综合精品久久久| 亚洲成人免费视频| 日本sm残虐另类| 国产一区二区伦理| 高清在线成人网| 色婷婷久久久综合中文字幕 | 日韩在线一二三区| 蜜桃av一区二区在线观看| 国产一区二区视频在线播放| 国产aⅴ综合色| 91精品91久久久中77777| 欧美在线免费播放| 日韩欧美123| 亚洲国产精品二十页| 一区二区欧美精品| 美女免费视频一区| 成人动漫中文字幕| 欧美日韩免费视频| 久久激情五月婷婷| 大陆成人av片| 欧美视频在线不卡| 日韩女优毛片在线| 亚洲四区在线观看| 男人的天堂亚洲一区| 成人黄色一级视频| 欧美日韩午夜精品| 国产欧美日韩亚州综合| 亚洲激情图片一区| 国产一区二区剧情av在线| 91在线小视频| 日韩欧美国产一区二区三区| 中文字幕佐山爱一区二区免费| 日韩av不卡在线观看| 粉嫩嫩av羞羞动漫久久久| 欧美亚洲自拍偷拍| 久久久综合网站| 亚洲电影一级片| 国产精品一区二区久激情瑜伽| 欧美伊人久久久久久午夜久久久久| 精品奇米国产一区二区三区| 亚洲人被黑人高潮完整版| 久久精品噜噜噜成人88aⅴ | 日韩欧美自拍偷拍| 亚洲手机成人高清视频| 久久精品国产99| 欧美午夜精品一区二区蜜桃| 国产三级一区二区| 日韩精品福利网| 91福利在线播放| 国产欧美日韩视频在线观看| 日韩 欧美一区二区三区| 91丨九色丨黑人外教| 亚洲精品一区在线观看| 午夜伊人狠狠久久| 97精品视频在线观看自产线路二| 日韩欧美中文字幕精品| 一区二区高清免费观看影视大全| 粉嫩一区二区三区性色av| 欧美tickling网站挠脚心| 亚洲亚洲精品在线观看| 91麻豆免费观看| 国产精品网站导航| 国产一区二区导航在线播放| 欧美高清性hdvideosex| 亚洲影院理伦片| 色综合久久66| 最新国产成人在线观看| 成人av影视在线观看| 久久午夜羞羞影院免费观看| 伦理电影国产精品| 日韩一区二区三区电影在线观看| 亚洲午夜精品网| 欧美在线一区二区| 一区二区视频在线看| 成人激情文学综合网| 久久亚洲私人国产精品va媚药| 亚洲国产日韩a在线播放性色| 99国内精品久久| 亚洲日本一区二区| 色狠狠综合天天综合综合| 一区视频在线播放| 成人ar影院免费观看视频| 国产精品美女久久久久av爽李琼| 国产精品1区2区3区| 久久久久久久久久久久久女国产乱| 欧美一级理论片| 美女一区二区在线观看| 欧美一区二区三区播放老司机| 天天爽夜夜爽夜夜爽精品视频| 欧美三级视频在线观看| 亚洲成av人片在线观看| 欧美日本乱大交xxxxx| 午夜视频在线观看一区二区三区| 欧美精品九九99久久| 男女性色大片免费观看一区二区| 欧美一区二区三区在线| 久久国产夜色精品鲁鲁99| 精品国产乱码久久久久久久久| 国内精品嫩模私拍在线| 国产日韩精品一区| 一本大道综合伊人精品热热| 一区二区三区.www| 欧美一级艳片视频免费观看| 久久精品噜噜噜成人av农村| 国产视频一区二区在线观看| 91一区二区在线| 天天色综合天天| 欧美精品一区二区三区很污很色的 | 日本一区二区在线不卡| 成人小视频在线| 亚洲午夜三级在线| 91精品国产一区二区三区蜜臀| 国产一区二区三区精品欧美日韩一区二区三区| 久久影院视频免费| 91论坛在线播放| 轻轻草成人在线| 亚洲国产电影在线观看| 在线观看网站黄不卡| 蜜臀av性久久久久蜜臀av麻豆| 国产三级欧美三级日产三级99| 99精品在线观看视频| 日韩精品一二三四| 欧美激情在线一区二区| 欧美日韩一区久久| 国产成人自拍在线| 亚洲成人综合网站| 久久久久国产精品麻豆| 91久久精品一区二区三| 美国av一区二区| 亚洲美女区一区| 久久久激情视频| 在线电影欧美成精品| 成人av电影在线网| 免费看日韩精品| 亚洲摸摸操操av| 久久久久久久久一| 制服.丝袜.亚洲.另类.中文| 99热国产精品| 国产原创一区二区| 图片区小说区区亚洲影院| 国产女人aaa级久久久级| 制服.丝袜.亚洲.中文.综合| 91亚洲资源网| 国产精品1区2区3区| 日韩精品电影在线|