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

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

?? event.svga

?? UBOOT 源碼
?? SVGA
?? 第 1 頁 / 共 3 頁
字號:
Halts program execution until a specified event occurs. The event isreturned. All pending events not in the specified mask will be ignored andremoved from the queue.****************************************************************************/void _WDAPI WD_haltEvent(    WD_event *evt,    uint mask){    do {                            /* Wait for an event    */        WD_getEvent(evt,EVT_EVERYEVT);        } while (!(evt->what & mask));}/****************************************************************************PARAMETERS:evt     - Place to store eventmask    - Event mask to useRETURNS:True if an event was pending.REMARKS:Retrieves the next pending event defined in 'mask' from the event queue.The event queue is adjusted to reflect the new state after the event hasbeen removed.****************************************************************************/ibool _WDAPI WD_getEvent(    WD_event *evt,    uint mask){    int     evtID,next,prev;    pumpEvents();    if (moveCursor)        moveCursor(mx,my);                  /* Move the mouse cursor    */    evt->what = EVT_NULLEVT;                /* Default to null event    */    if (count) {        for (evtID = head; evtID != -1; evtID = evtq[evtID].next) {            if (evtq[evtID].what & mask)                break;                      /* Found an event           */            }        if (evtID == -1)            return false;                   /* Event was not found      */        next = evtq[evtID].next;        prev = evtq[evtID].prev;        if (prev != -1)            evtq[prev].next = next;        else            head = next;        if (next != -1)            evtq[next].prev = prev;        else            tail = prev;        *evt = evtq[evtID];                 /* Return the event         */        evtq[evtID].next = freeHead;        /* and return to free list  */        freeHead = evtID;        count--;        if (evt->what == EVT_MOUSEMOVE)            oldMove = -1;        if (evt->what == EVT_KEYREPEAT)            oldKey = -1;        }    return evt->what != EVT_NULLEVT;}/****************************************************************************PARAMETERS:evt     - Place to store eventmask    - Event mask to useRETURNS:True if an event is pending.REMARKS:Peeks at the next pending event defined in 'mask' in the event queue. Theevent is not removed from the event queue.****************************************************************************/ibool _WDAPI WD_peekEvent(    WD_event *evt,    uint mask){    int     evtID;    pumpEvents();    if (moveCursor)        moveCursor(mx,my);                  /* Move the mouse cursor    */    evt->what = EVT_NULLEVT;                /* Default to null event    */    if (count) {        for (evtID = head; evtID != -1; evtID = evtq[evtID].next) {            if (evtq[evtID].what & mask)                break;                      /* Found an event           */            }        if (evtID == -1)            return false;                   /* Event was not found      */        *evt = evtq[evtID];                 /* Return the event         */        }    return evt->what != EVT_NULLEVT;}/****************************************************************************PARAMETERS:hwndMain    - Handle to main window_xRes       - X resolution of graphics mode to be used_yRes       - Y resolulion of graphics mode to be usedRETURNS:Handle to the fullscreen event window if (we return hwndMain on Linux)REMARKS:Initiliase the event handling module. Here we install our mouse handlingISR to be called whenever any button's are pressed or released. We alsobuild the free list of events in the event queue.****************************************************************************/WD_HWND _WDAPI WD_startFullScreen(    WD_HWND hwndMain,    int _xRes,    int _yRes){    int             i;    struct termios  conf;    if (!installed) {        Gpm_Connect gpm;        /* Build free list, and initialise global data structures */        for (i = 0; i < EVENTQSIZE; i++)            evtq[i].next = i+1;        evtq[EVENTQSIZE-1].next = -1;       /* Terminate list           */        count = freeHead = 0;        head = tail = -1;        oldMove = -1;        oldKey = -1;        xRes = _xRes;        yRes = _yRes;        /* Open the console device and initialise it for raw mode */        tty_fd = PM_openConsole();        /* Wait until virtual terminal is active and take over control */        wait_vt_active();        take_vt_control();        /* Initialise keyboard handling to raw mode */        if (ioctl(tty_fd, KDGKBMODE, &oldkbmode)) {            printf("WD_startFullScreen: cannot get keyboard mode.\n");            exit(-1);            }        old_flags = fcntl(tty_fd,F_GETFL);        fcntl(tty_fd,F_SETFL,old_flags |= O_NONBLOCK);        tcgetattr(tty_fd, &conf);        old_conf = conf;        conf.c_lflag &= ~(ICANON | ECHO | ECHOE | ECHOK | ECHONL | NOFLSH | ISIG);        conf.c_iflag &= ~(ISTRIP | IGNCR | ICRNL | INLCR | BRKINT | PARMRK | INPCK | IUCLC | IXON | IXOFF);        conf.c_iflag  |= (IGNBRK | IGNPAR);        conf.c_cc[VMIN] = 1;        conf.c_cc[VTIME] = 0;        conf.c_cc[VSUSP] = 0;        tcsetattr(tty_fd, TCSAFLUSH, &conf);        ioctl(tty_fd, KDSKBMODE, K_MEDIUMRAW);        /* Clear the keyboard state information */        memset(key_down, 0, sizeof(key_down));        ioctl(tty_fd,KDSETLED,key_modifiers = 0);        /* Initialize the mouse connection            The user *MUST* run gpm with the  option -R for this to work (or have a MouseSystems mouse)        */        if(Gpm_Open(&gpm,0) > 0){ /* GPM available */            if ((conn = open(GPM_NODE_FIFO,O_RDONLY|O_SYNC)) < 0)                fprintf(stderr,"WD_startFullScreen: Can't open mouse connection.\n");        }else{            fprintf(stderr,"Warning: when not using gpm -R, only MouseSystems mice are currently supported.\n");            if ((conn = open("/dev/mouse",O_RDONLY|O_SYNC)) < 0)                fprintf(stderr,"WD_startFullScreen: Can't open /dev/mouse.\n");        }        Gpm_Close();        /* TODO: Scale the mouse coordinates to the specific resolution */        /* Save the state of the console */        if ((stateBuf = malloc(PM_getConsoleStateSize())) == NULL) {            printf("Out of memory!\n");            exit(-1);            }        PM_saveConsoleState(stateBuf,tty_fd);        initmode = VBE_getVideoMode();        /* Initialize the signal handler for timer events */        signal(SIGALRM, timerHandler);        /* Capture termination signals so we can clean up properly */        signal(SIGTERM, exitHandler);        signal(SIGINT, exitHandler);        signal(SIGQUIT, exitHandler);        atexit(restore_term);        /* Signal that we are installed */        installed = true;        }    return hwndMain;}/****************************************************************************REMARKS:Lets the library know when fullscreen graphics mode has been initialized sothat we can properly scale the mouse driver coordinates.****************************************************************************/void _WDAPI WD_inFullScreen(void){    /* Nothing to do in here */}/****************************************************************************REMARKS:Suspends all of our event handling operations. This is also used tode-install the event handling code.****************************************************************************/void _WDAPI WD_restoreGDI(void){    restore_term();}/****************************************************************************PARAMETERS:ticks   - Number of ticks between timer tick messagesRETURNS:Previous value for the timer tick event spacing.REMARKS:The event module will automatically generate periodic timer tick events foryou, with 'ticks' between each event posting. If you set the value of'ticks' to 0, the timer tick events are turned off.****************************************************************************/int _WDAPI WD_setTimerTick(    int ticks){    int                 old;    struct itimerval    tim;    long                ms = TICKS_TO_USEC(ticks);    getitimer(ITIMER_REAL, &tim);    old = USEC_TO_TICKS(tim.it_value.tv_sec*1000000.0 + tim.it_value.tv_usec);    tim.it_interval.tv_sec  = ms / 1000000;    tim.it_interval.tv_usec = ms % 1000000;    setitimer(ITIMER_REAL, &tim, NULL);    return old;}/****************************************************************************PARAMETERS:saveState   - Address of suspend app callback to registerREMARKS:Registers a user application supplied suspend application callback so thatwe can properly handle virtual terminal switching.****************************************************************************/void _WDAPI WD_setSuspendAppCallback(    int (_ASMAPI *saveState)(int flags)){  suspendAppCallback = saveState;}/****************************************************************************PARAMETERS:x   - New X coordinate to move the mouse cursor toy   - New Y coordinate to move the mouse cursor toREMARKS:Moves to mouse cursor to the specified coordinate.****************************************************************************/void _WDAPI WD_setMousePos(    int x,    int y){    mx = x;    my = y;}/****************************************************************************PARAMETERS:x   - Place to store X coordinate of mouse cursory   - Place to store Y coordinate of mouse cursorREMARKS:Reads the current mouse cursor location int *screen* coordinates.****************************************************************************/void _WDAPI WD_getMousePos(    int *x,    int *y){    *x = mx;    *y = my;}/****************************************************************************PARAMETERS:mcb - Address of mouse callback functionREMARKS:Registers an application supplied mouse callback function that is calledwhenever the mouse cursor moves.****************************************************************************/void _WDAPI WD_setMouseCallback(    void (_ASMAPI *mcb)(int x,int y)){    moveCursor = mcb;}/****************************************************************************PARAMETERS:xRes    - New X resolution of graphics modeyRes    - New Y resolution of graphics modeREMARKS:This is called to inform the event handling code that the screen resolutionhas changed so that the mouse coordinates can be scaled appropriately.****************************************************************************/void _WDAPI WD_changeResolution(    int xRes,    int yRes){    //  Gpm_FitValues(xRes, yRes);  // ??}/****************************************************************************PARAMETERS:scancode    - Scan code to check if a key is downREMARKS:Determines if a particular key is down based on the scan code for the key.****************************************************************************/ibool _WDAPI WD_isKeyDown(    uchar scancode){       return key_down[scancode];}/****************************************************************************REMARKS:Determines if the application needs to run in safe mode. Not necessary foranything but broken Windows 95 display drivers so we return false forLinux.****************************************************************************/int _WDAPI WD_isSafeMode(void){    return false;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产免费一区二区三区四区| 无码av免费一区二区三区试看 | 中文字幕成人在线观看| 精品国产露脸精彩对白| 欧美大白屁股肥臀xxxxxx| 7777精品伊人久久久大香线蕉完整版| 欧美亚洲精品一区| 欧美精品色综合| 欧美一区二区三区在线观看| 日韩欧美一二区| 精品处破学生在线二十三| 精品国产乱码久久久久久图片 | 奇米精品一区二区三区四区| 美女免费视频一区二区| 精东粉嫩av免费一区二区三区| 国产在线一区二区| 国产99精品国产| 色偷偷88欧美精品久久久| 欧美日韩一区二区三区在线看| 91精品国产综合久久精品app| 日韩一区二区三区视频在线观看 | 国产原创一区二区三区| 国产成人日日夜夜| 91色porny在线视频| 欧美网站一区二区| 精品剧情在线观看| 日本一区二区三区四区在线视频 | 一区二区三区四区五区视频在线观看| 艳妇臀荡乳欲伦亚洲一区| 日韩精品亚洲专区| 国产91清纯白嫩初高中在线观看| 91国在线观看| 欧美va亚洲va在线观看蝴蝶网| 国产免费久久精品| 亚洲国产精品一区二区久久恐怖片| 日本不卡123| eeuss鲁片一区二区三区| 欧美v日韩v国产v| 国产欧美精品在线观看| 一区二区三区中文字幕精品精品 | 7777精品伊人久久久大香线蕉最新版 | 色综合色狠狠综合色| 4438成人网| 国产精品久久免费看| 午夜久久久久久电影| 国产成人av影院| 欧美性大战久久久久久久蜜臀| 久久久亚洲综合| 亚洲第一在线综合网站| 国产精品一级黄| 欧美日本在线视频| 国产精品美女久久久久aⅴ国产馆| 视频一区二区欧美| 成人av先锋影音| 欧美成人aa大片| 夜夜亚洲天天久久| 粉嫩aⅴ一区二区三区四区| 欧美一三区三区四区免费在线看| 国产精品成人网| 麻豆极品一区二区三区| 91福利在线看| 国产精品免费丝袜| 久久成人av少妇免费| 欧美亚洲一区三区| 中文字幕一区在线| 极品美女销魂一区二区三区免费| 欧美日韩在线不卡| 中文字幕一区二区三中文字幕| 久久国产生活片100| 欧美三级蜜桃2在线观看| 国产精品免费aⅴ片在线观看| 精品在线观看免费| 欧美精品黑人性xxxx| 一区二区三区在线免费视频| 成人在线视频首页| 久久久无码精品亚洲日韩按摩| 免费精品视频在线| 欧美日本高清视频在线观看| 亚洲狼人国产精品| 99精品在线观看视频| 久久久www免费人成精品| 日本不卡高清视频| 这里只有精品99re| 五月天精品一区二区三区| 欧美日韩一区二区三区不卡| 亚洲欧美一区二区三区极速播放| 国产成人精品免费| 久久久99免费| 国产一区91精品张津瑜| 日韩精品一区二区三区中文不卡| 亚洲123区在线观看| 欧美性受极品xxxx喷水| 亚洲一卡二卡三卡四卡五卡| 色综合久久久久久久久久久| **性色生活片久久毛片| av爱爱亚洲一区| 亚洲青青青在线视频| 色综合天天做天天爱| 亚洲免费大片在线观看| 精品国产免费人成电影在线观看四季 | 日韩一区二区在线观看视频 | 91美女精品福利| 亚洲色图制服诱惑| 色综合久久中文综合久久97| 亚洲人被黑人高潮完整版| 色哟哟国产精品| 亚洲超丰满肉感bbw| 91精品国产免费| 久久99久久久久| 久久综合精品国产一区二区三区| 国产呦萝稀缺另类资源| 国产免费久久精品| 97精品电影院| 亚洲成人777| 日韩视频免费观看高清在线视频| 蜜臀av亚洲一区中文字幕| xvideos.蜜桃一区二区| 国产成人精品免费| 亚洲精品久久嫩草网站秘色| 欧美精品一二三| 国产一区 二区| 亚洲欧美另类在线| 欧美日韩三级视频| 久久er精品视频| 国产精品日日摸夜夜摸av| 99精品一区二区| 日韩中文字幕区一区有砖一区| 日韩一区二区免费电影| 国产成a人亚洲精| 亚洲欧美色综合| 欧美色综合网站| 国产在线视视频有精品| 亚洲人成7777| 日韩免费性生活视频播放| 国产成人精品1024| 亚洲成a人片在线不卡一二三区| 欧美一卡2卡三卡4卡5免费| 国产成人h网站| 亚洲成a人片在线不卡一二三区| 欧美电影免费提供在线观看| 成人av网站免费| 午夜影院久久久| 中文字幕av资源一区| 欧美亚洲国产bt| 国产一区二区三区电影在线观看| 国产精品萝li| 在线观看91精品国产麻豆| 国产精选一区二区三区| 亚洲一区在线观看免费观看电影高清 | 精品久久五月天| 日本韩国一区二区三区视频| 激情成人综合网| 一区二区三区四区视频精品免费 | 日韩视频一区二区| 91热门视频在线观看| 精品写真视频在线观看| 一区二区三区在线观看动漫| 久久综合狠狠综合久久激情| 欧美日韩一区在线观看| 成人精品gif动图一区| 日本vs亚洲vs韩国一区三区| 亚洲欧美精品午睡沙发| 精品久久久影院| 欧美日韩一区二区三区四区五区| 国产不卡视频一区| 欧美aaaaaa午夜精品| 亚洲你懂的在线视频| 久久精品男人天堂av| 欧美一区中文字幕| 欧日韩精品视频| 99精品欧美一区二区三区综合在线| 久久99热狠狠色一区二区| 亚洲国产一区视频| 亚洲欧洲精品一区二区精品久久久 | 欧美精品久久天天躁| 91视频免费播放| 丁香激情综合五月| 狠狠色狠狠色合久久伊人| 亚洲成av人片www| 亚洲综合区在线| 亚洲欧美激情视频在线观看一区二区三区| wwwwww.欧美系列| 日韩女优电影在线观看| 欧美巨大另类极品videosbest | 欧美午夜影院一区| 91日韩精品一区| 99视频精品全部免费在线| 国产成a人亚洲| 国产电影精品久久禁18| 精品亚洲成a人| 精久久久久久久久久久| 麻豆精品一区二区三区| 日本午夜一本久久久综合| 日韩和欧美一区二区| 国产91综合一区在线观看| 国产精品一色哟哟哟| 国产精品一区三区| 国产精品一区二区三区乱码| 国产一区福利在线| 国产资源精品在线观看|