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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? sdl_nxevents.c

?? Simple DirectMedia Layer - Simple DirectMedia Layer 是一個(gè)跨平臺(tái)的多媒體庫設(shè)計(jì)用來提供快速圖形framebuffer和音頻驅(qū)動(dòng)。應(yīng)用MPEG為軟件
?? C
字號(hào):
/*    SDL - Simple DirectMedia Layer    Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002  Sam Lantinga    Copyright (C) 2001  Hsieh-Fu Tsai    Copyright (C) 2002  Greg Haerr <greg@censoft.com>    This library is free software; you can redistribute it and/or    modify it under the terms of the GNU Library General Public    License as published by the Free Software Foundation; either    version 2 of the License, or (at your option) any later version.    This library is distributed in the hope that it will be useful,    but WITHOUT ANY WARRANTY; without even the implied warranty of    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU    Library General Public License for more details.    You should have received a copy of the GNU Library General Public    License along with this library; if not, write to the Free    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA    Sam Lantinga    slouken@libsdl.org        Hsieh-Fu Tsai    clare@setabox.com*/#include "SDL_keysym.h"#include "SDL_events_c.h"#include "SDL_nxevents_c.h"#include "SDL_nximage_c.h"// The translation tables from a nanox keysym to a SDL keysymstatic SDLKey NX_NONASCII_keymap [MWKEY_LAST + 1] ;void NX_InitOSKeymap (_THIS){    int i ;    Dprintf ("enter NX_InitOSKeymap\n") ;    // Map the nanox scancodes to SDL keysyms    for (i = 0; i < SDL_TABLESIZE (NX_NONASCII_keymap); ++ i)        NX_NONASCII_keymap [i] = SDLK_UNKNOWN ;    NX_NONASCII_keymap [MWKEY_LEFT        & 0xFF] = SDLK_LEFT ;    NX_NONASCII_keymap [MWKEY_RIGHT       & 0xFF] = SDLK_RIGHT ;    NX_NONASCII_keymap [MWKEY_UP          & 0xFF] = SDLK_UP ;    NX_NONASCII_keymap [MWKEY_DOWN        & 0xFF] = SDLK_DOWN ;    NX_NONASCII_keymap [MWKEY_INSERT      & 0xFF] = SDLK_INSERT ;    NX_NONASCII_keymap [MWKEY_DELETE      & 0xFF] = SDLK_DELETE ;    NX_NONASCII_keymap [MWKEY_HOME        & 0xFF] = SDLK_HOME ;    NX_NONASCII_keymap [MWKEY_END         & 0xFF] = SDLK_END ;    NX_NONASCII_keymap [MWKEY_PAGEUP      & 0xFF] = SDLK_PAGEUP ;    NX_NONASCII_keymap [MWKEY_PAGEDOWN    & 0xFF] = SDLK_PAGEDOWN ;    NX_NONASCII_keymap [MWKEY_KP0         & 0xFF] = SDLK_KP0 ;    NX_NONASCII_keymap [MWKEY_KP1         & 0xFF] = SDLK_KP1 ;    NX_NONASCII_keymap [MWKEY_KP2         & 0xFF] = SDLK_KP2 ;    NX_NONASCII_keymap [MWKEY_KP3         & 0xFF] = SDLK_KP3 ;    NX_NONASCII_keymap [MWKEY_KP4         & 0xFF] = SDLK_KP4 ;    NX_NONASCII_keymap [MWKEY_KP5         & 0xFF] = SDLK_KP5 ;    NX_NONASCII_keymap [MWKEY_KP6         & 0xFF] = SDLK_KP6 ;    NX_NONASCII_keymap [MWKEY_KP7         & 0xFF] = SDLK_KP7 ;    NX_NONASCII_keymap [MWKEY_KP8         & 0xFF] = SDLK_KP8 ;    NX_NONASCII_keymap [MWKEY_KP9         & 0xFF] = SDLK_KP9 ;    NX_NONASCII_keymap [MWKEY_KP_PERIOD   & 0xFF] = SDLK_KP_PERIOD ;    NX_NONASCII_keymap [MWKEY_KP_DIVIDE   & 0xFF] = SDLK_KP_DIVIDE ;    NX_NONASCII_keymap [MWKEY_KP_MULTIPLY & 0xFF] = SDLK_KP_MULTIPLY ;    NX_NONASCII_keymap [MWKEY_KP_MINUS    & 0xFF] = SDLK_KP_MINUS ;    NX_NONASCII_keymap [MWKEY_KP_PLUS     & 0xFF] = SDLK_KP_PLUS ;    NX_NONASCII_keymap [MWKEY_KP_ENTER    & 0xFF] = SDLK_KP_ENTER ;    NX_NONASCII_keymap [MWKEY_KP_EQUALS   & 0xFF] = SDLK_KP_EQUALS ;    NX_NONASCII_keymap [MWKEY_F1          & 0xFF] = SDLK_F1 ;    NX_NONASCII_keymap [MWKEY_F2          & 0xFF] = SDLK_F2 ;    NX_NONASCII_keymap [MWKEY_F3          & 0xFF] = SDLK_F3 ;    NX_NONASCII_keymap [MWKEY_F4          & 0xFF] = SDLK_F4 ;    NX_NONASCII_keymap [MWKEY_F5          & 0xFF] = SDLK_F5 ;    NX_NONASCII_keymap [MWKEY_F6          & 0xFF] = SDLK_F6 ;    NX_NONASCII_keymap [MWKEY_F7          & 0xFF] = SDLK_F7 ;    NX_NONASCII_keymap [MWKEY_F8          & 0xFF] = SDLK_F8 ;    NX_NONASCII_keymap [MWKEY_F9          & 0xFF] = SDLK_F9 ;    NX_NONASCII_keymap [MWKEY_F10         & 0xFF] = SDLK_F10 ;    NX_NONASCII_keymap [MWKEY_F11         & 0xFF] = SDLK_F11 ;    NX_NONASCII_keymap [MWKEY_F12         & 0xFF] = SDLK_F12 ;    NX_NONASCII_keymap [MWKEY_NUMLOCK     & 0xFF] = SDLK_NUMLOCK ;    NX_NONASCII_keymap [MWKEY_CAPSLOCK    & 0xFF] = SDLK_CAPSLOCK ;    NX_NONASCII_keymap [MWKEY_SCROLLOCK   & 0xFF] = SDLK_SCROLLOCK ;    NX_NONASCII_keymap [MWKEY_LSHIFT      & 0xFF] = SDLK_LSHIFT ;    NX_NONASCII_keymap [MWKEY_RSHIFT      & 0xFF] = SDLK_RSHIFT ;    NX_NONASCII_keymap [MWKEY_LCTRL       & 0xFF] = SDLK_LCTRL ;    NX_NONASCII_keymap [MWKEY_RCTRL       & 0xFF] = SDLK_RCTRL ;    NX_NONASCII_keymap [MWKEY_LALT        & 0xFF] = SDLK_LALT ;    NX_NONASCII_keymap [MWKEY_RALT        & 0xFF] = SDLK_RALT ;    NX_NONASCII_keymap [MWKEY_LMETA       & 0xFF] = SDLK_LMETA ;    NX_NONASCII_keymap [MWKEY_RMETA       & 0xFF] = SDLK_RMETA ;    NX_NONASCII_keymap [MWKEY_ALTGR       & 0xFF] = SDLK_MODE ;    NX_NONASCII_keymap [MWKEY_PRINT       & 0xFF] = SDLK_PRINT ;    NX_NONASCII_keymap [MWKEY_SYSREQ      & 0xFF] = SDLK_SYSREQ ;    NX_NONASCII_keymap [MWKEY_PAUSE       & 0xFF] = SDLK_PAUSE ;    NX_NONASCII_keymap [MWKEY_BREAK       & 0xFF] = SDLK_BREAK ;    NX_NONASCII_keymap [MWKEY_MENU        & 0xFF] = SDLK_MENU ;    Dprintf ("leave NX_InitOSKeymap\n") ;}SDL_keysym * NX_TranslateKey (GR_EVENT_KEYSTROKE * keystroke, SDL_keysym * keysym){    GR_KEY ch = keystroke -> ch ;    Dprintf ("enter NX_TranslateKey\n") ;    keysym -> scancode = keystroke -> scancode ;    keysym -> sym = SDLK_UNKNOWN ;    if (ch & MWKEY_NONASCII_MASK) {        keysym -> sym = NX_NONASCII_keymap [ch & 0xFF] ;    } else {        keysym -> sym = ch & 0x7F ;    }    keysym -> mod = KMOD_NONE ;    #if 1   //   Retrieve more mode information    {        GR_KEYMOD   mod = keystroke -> modifiers ;        if (mod & MWKMOD_LSHIFT)            keysym -> mod |= KMOD_LSHIFT ;        if (mod & MWKMOD_RSHIFT)            keysym -> mod |= KMOD_RSHIFT ;        if (mod & MWKMOD_LCTRL)            keysym -> mod |= KMOD_LCTRL ;        if (mod & MWKMOD_RCTRL)            keysym -> mod |= KMOD_RCTRL ;        if (mod & MWKMOD_LALT)            keysym -> mod |= KMOD_LALT ;        if (mod & MWKMOD_RALT)            keysym -> mod |= KMOD_RALT ;        if (mod & MWKMOD_LMETA)            keysym -> mod |= KMOD_LMETA ;        if (mod & MWKMOD_RMETA)            keysym -> mod |= KMOD_RMETA ;        if (mod & MWKMOD_NUM)            keysym -> mod |= KMOD_NUM ;        if (mod & MWKMOD_CAPS)            keysym -> mod |= KMOD_CAPS ;        if (mod & MWKMOD_ALTGR)            keysym -> mod |= KMOD_MODE ;    }#endif    keysym -> unicode = ch ;    Dprintf ("leave NX_TranslateKey\n") ;    return keysym ;}static int check_boundary (_THIS, int x, int y){    if (x < OffsetX || y < OffsetY || x > OffsetX + this -> screen -> w ||        y > OffsetY + this -> screen -> h)        return 0 ;                return 1 ;}void NX_PumpEvents (_THIS){    GR_EVENT         event ;    static GR_BUTTON last_button_down = 0 ;    GrCheckNextEvent (& event) ;    while (event.type != GR_EVENT_TYPE_NONE) {        // dispatch event        switch (event.type) {            case GR_EVENT_TYPE_MOUSE_ENTER :            {                Dprintf ("mouse enter\n") ;                SDL_PrivateAppActive (1, SDL_APPMOUSEFOCUS) ;                break ;            }            case GR_EVENT_TYPE_MOUSE_EXIT :            {                Dprintf ("mouse exit\n") ;                SDL_PrivateAppActive (0, SDL_APPMOUSEFOCUS) ;                break ;            }            case GR_EVENT_TYPE_FOCUS_IN :            {                Dprintf ("focus in\n") ;                SDL_PrivateAppActive (1, SDL_APPINPUTFOCUS) ;                break ;            }            case GR_EVENT_TYPE_FOCUS_OUT :            {                Dprintf ("focus out\n") ;                SDL_PrivateAppActive (0, SDL_APPINPUTFOCUS) ;                break ;            }            case GR_EVENT_TYPE_MOUSE_MOTION :            {                               Dprintf ("mouse motion\n") ;                if (SDL_VideoSurface) {                    if (currently_fullscreen) {                        if (check_boundary (this, event.button.x, event.button.y)) {                            SDL_PrivateMouseMotion (0, 0, event.button.x - OffsetX,                                 event.button.y - OffsetY) ;                        }                    } else {                        SDL_PrivateMouseMotion (0, 0, event.button.x, event.button.y) ;                    }                }                break ;            }            case GR_EVENT_TYPE_BUTTON_DOWN :            {                int button = event.button.buttons ;                                Dprintf ("button down\n") ;                switch (button) {                    case MWBUTTON_L :                        button = 1 ;                        break ;                    case MWBUTTON_M :                        button = 2 ;                        break ;                    case MWBUTTON_R :                        button = 3 ;                        break ;                    default :                        button = 0 ;                }                last_button_down = button ;                                if (currently_fullscreen) {                    if (check_boundary (this, event.button.x, event.button.y)) {                        SDL_PrivateMouseButton (SDL_PRESSED, button,                             event.button.x - OffsetX, event.button.y - OffsetY) ;                    }                } else {                    SDL_PrivateMouseButton (SDL_PRESSED, button,                         event.button.x, event.button.y) ;                }                break ;            }            // do not konw which button is released            case GR_EVENT_TYPE_BUTTON_UP :            {                   Dprintf ("button up\n") ;                if (currently_fullscreen) {                    if (check_boundary (this, event.button.x, event.button.y)) {                        SDL_PrivateMouseButton (SDL_RELEASED, last_button_down,                             event.button.x - OffsetX, event.button.y - OffsetY) ;                    }                } else {                    SDL_PrivateMouseButton (SDL_RELEASED, last_button_down,                         event.button.x, event.button.y) ;                }                last_button_down = 0 ;                break ;            }            case GR_EVENT_TYPE_KEY_DOWN :            {                SDL_keysym keysym ;                Dprintf ("key down\n") ;                SDL_PrivateKeyboard (SDL_PRESSED,                    NX_TranslateKey (& event.keystroke, & keysym)) ;                break ;            }            case GR_EVENT_TYPE_KEY_UP :            {                SDL_keysym keysym ;                Dprintf ("key up\n") ;                SDL_PrivateKeyboard (SDL_RELEASED,                    NX_TranslateKey (& event.keystroke, & keysym)) ;                break ;            }            case GR_EVENT_TYPE_CLOSE_REQ :            {                Dprintf ("close require\n") ;                SDL_PrivateQuit () ;                break ;            }            case GR_EVENT_TYPE_EXPOSURE :            {                Dprintf ("event_type_exposure\n") ;                if (SDL_VideoSurface) {                    NX_RefreshDisplay (this) ;//, & event.exposure) ;                }                break ;            }            case GR_EVENT_TYPE_UPDATE :            {                switch (event.update.utype) {                    case GR_UPDATE_MAP :                    {                        Dprintf ("GR_UPDATE_MAP\n") ;                        // If we're not active, make ourselves active                        if (!(SDL_GetAppState () & SDL_APPACTIVE)) {                            // Send an internal activate event                            SDL_PrivateAppActive (1, SDL_APPACTIVE) ;                        }                        if (SDL_VideoSurface) {                            NX_RefreshDisplay (this) ;                        }                        break ;                    }                                        case GR_UPDATE_UNMAP :                    case GR_UPDATE_UNMAPTEMP :                    {                        Dprintf ("GR_UPDATE_UNMAP or GR_UPDATE_UNMAPTEMP\n") ;                        // If we're active, make ourselves inactive                        if (SDL_GetAppState () & SDL_APPACTIVE) {                            // Send an internal deactivate event                            SDL_PrivateAppActive (0, SDL_APPACTIVE | SDL_APPINPUTFOCUS) ;                        }                        break ;                     }                                        case GR_UPDATE_SIZE :                    {                        Dprintf ("GR_UPDATE_SIZE\n") ;                        SDL_PrivateResize (event.update.width, event.update.height) ;                        break ;                     }                    case GR_UPDATE_MOVE :		    case GR_UPDATE_REPARENT :                    {                        Dprintf ("GR_UPDATE_MOVE or GR_UPDATE_REPARENT\n") ;#ifdef ENABLE_NANOX_DIRECT_FB			if (Clientfb) {			    /* Get current window position and fb pointer*/			    if (currently_fullscreen) 				GrGetWindowFBInfo(FSwindow, &fbinfo);			    else				GrGetWindowFBInfo(SDL_Window, &fbinfo);			}#endif                        break ;                     }                                        default :                        Dprintf ("unknown GR_EVENT_TYPE_UPDATE\n") ;                        break ;                 }                break ;             }                            default :            {                Dprintf ("pump event default\n") ;            }        }        GrCheckNextEvent (& event) ;    }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91免费版pro下载短视频| 欧美午夜视频网站| 亚洲成人av免费| 久久精品一区二区三区不卡| 欧美亚洲动漫另类| 成人综合激情网| 日韩精彩视频在线观看| 国产精品久久久久久久久果冻传媒| 正在播放亚洲一区| 91啪亚洲精品| 成人在线视频一区二区| 免费黄网站欧美| 一区二区不卡在线播放| 日本一区二区免费在线观看视频| 69p69国产精品| 欧美午夜精品久久久久久超碰 | av午夜精品一区二区三区| 蜜桃在线一区二区三区| 亚洲福利视频导航| 亚洲美女免费在线| 中文字幕av一区二区三区高| 精品久久国产97色综合| 91精品国产综合久久蜜臀| 欧美三日本三级三级在线播放| 成人免费高清在线观看| 国产**成人网毛片九色| 久久99久久精品| 免费三级欧美电影| 午夜成人在线视频| 亚洲午夜久久久久久久久久久 | 亚洲成a人v欧美综合天堂下载| 亚洲欧洲精品一区二区精品久久久| 2020国产精品自拍| 精品免费日韩av| 欧美电视剧免费观看| 日韩一区二区三区精品视频| 欧美巨大另类极品videosbest| 欧美亚洲国产一区二区三区va| 91亚洲精品一区二区乱码| av电影在线观看完整版一区二区| 高清不卡在线观看av| 成人午夜大片免费观看| 国产91精品一区二区| 成人激情av网| 91啪九色porn原创视频在线观看| 9色porny自拍视频一区二区| voyeur盗摄精品| 一本色道综合亚洲| 在线观看亚洲专区| 欧美日韩一区 二区 三区 久久精品| 欧美视频中文字幕| 91精品国产入口| 欧美电影免费观看高清完整版在线| 欧美一区二区视频在线观看2022| 91精品国产全国免费观看| 日韩一区和二区| 精品国产露脸精彩对白| 久久精品男人天堂av| 中文在线一区二区| 亚洲人成在线播放网站岛国| 亚洲影视在线观看| 日本午夜一区二区| 国产精品1区2区3区| 99国产精品久久久久| 在线观看日韩精品| 日韩一级精品视频在线观看| 久久久久久久久久久久电影| 中文成人综合网| 亚洲午夜视频在线观看| 麻豆一区二区三区| 99综合影院在线| 欧美电影一区二区三区| 久久久久久久综合日本| 亚洲精品视频免费观看| 日韩不卡一区二区三区| 高清免费成人av| 欧美日韩精品是欧美日韩精品| 精品人伦一区二区色婷婷| 中文字幕精品一区二区精品绿巨人| 一区二区三区小说| 久久国产麻豆精品| 91麻豆精品在线观看| 制服丝袜亚洲精品中文字幕| 国产精品美女久久久久久2018| 亚洲一区二区欧美| 成人综合婷婷国产精品久久| 欧美一区二区视频在线观看2022| 国产精品久久99| 免费高清视频精品| 在线日韩一区二区| 欧美激情一区二区三区蜜桃视频| 香蕉影视欧美成人| 成人91在线观看| 欧美成人高清电影在线| 亚洲自拍欧美精品| 国产成人av电影| 日韩欧美一二区| 一区二区三区在线视频免费 | av一区二区三区| 欧美成人精精品一区二区频| 夜夜嗨av一区二区三区| 国产精品一线二线三线精华| 欧美性淫爽ww久久久久无| 国产片一区二区三区| 日韩国产一区二| 色老汉一区二区三区| 国产午夜精品理论片a级大结局 | 国产一区二区三区在线看麻豆| 色婷婷综合激情| 国产女同互慰高潮91漫画| 日韩国产精品91| 欧洲精品一区二区三区在线观看| 久久精品欧美一区二区三区麻豆| 日本视频在线一区| 欧美日韩一区在线观看| 亚洲日本在线观看| 成人av在线电影| 久久精品人人做人人爽人人| 久久99这里只有精品| 欧美老肥妇做.爰bbww| 亚洲自拍欧美精品| 91国偷自产一区二区三区观看 | 欧美日韩精品免费观看视频| 国产精品久久一卡二卡| 国产精品456露脸| xfplay精品久久| 韩国视频一区二区| 精品理论电影在线| 麻豆91精品视频| 日韩一区二区三区视频在线观看| 香蕉影视欧美成人| 欧美区一区二区三区| 午夜精品久久一牛影视| 欧美色图在线观看| 午夜欧美大尺度福利影院在线看| 日本乱码高清不卡字幕| 亚洲同性同志一二三专区| 99麻豆久久久国产精品免费 | 欧美人妇做爰xxxⅹ性高电影| 伊人夜夜躁av伊人久久| 欧美色爱综合网| 日韩成人一级片| 欧美成人精品3d动漫h| 国产精品正在播放| 国产欧美日韩视频在线观看| 国产成人av一区二区三区在线| 久久精品视频在线免费观看| 国产成人免费视频网站| 国产精品久久久久影院| 91浏览器打开| 性欧美疯狂xxxxbbbb| 日韩精品一区二区三区蜜臀| 国产一区 二区 三区一级| 日本一区二区久久| 99久久精品免费| 亚洲自拍偷拍九九九| 日韩区在线观看| 国产精品18久久久久久久久久久久| 久久精品欧美日韩| 色综合久久中文字幕综合网| 视频一区视频二区在线观看| 日韩视频永久免费| 成人中文字幕合集| 亚洲国产精品综合小说图片区| 欧美一区二区三区视频| 国产福利一区在线观看| 亚洲丝袜制服诱惑| 日韩一级在线观看| 成人一区在线看| 午夜精品久久久久久不卡8050| 日韩美女视频一区二区在线观看| 国产成人自拍网| 亚洲午夜久久久久久久久久久| 日韩欧美一二区| 成人app软件下载大全免费| 天天操天天综合网| 国产婷婷色一区二区三区| 91国产免费观看| 国产一区二区三区在线观看免费 | 日韩电影在线观看电影| 国产三级精品三级在线专区| 一本到一区二区三区| 麻豆久久久久久| 亚洲欧美二区三区| 日韩午夜精品电影| 色妞www精品视频| 狠狠色狠狠色综合系列| 亚洲欧美日韩国产综合在线 | 26uuu精品一区二区三区四区在线| 白白色 亚洲乱淫| 日韩精品福利网| 亚洲欧美偷拍卡通变态| 欧美精品一区二区三区很污很色的| 99久久精品一区| 狠狠色综合播放一区二区| 夜夜嗨av一区二区三区中文字幕| 久久久久97国产精华液好用吗| 欧美日韩一区二区三区四区五区| 国产成人免费视频网站高清观看视频 | 久久久久久久一区|