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

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

?? sdl.c

?? QEMU 0.91 source code, supports ARM processor including S3C24xx series
?? C
?? 第 1 頁 / 共 2 頁
字號:
        dy -= guest_y;        guest_x += dx;        guest_y += dy;    }    kbd_mouse_event(dx, dy, dz, buttons);}static void toggle_full_screen(DisplayState *ds){    gui_fullscreen = !gui_fullscreen;    sdl_resize(ds, screen->w, screen->h);    if (gui_fullscreen) {        gui_saved_grab = gui_grab;        sdl_grab_start();    } else {        if (!gui_saved_grab)            sdl_grab_end();    }    vga_hw_invalidate();    vga_hw_update();}static void sdl_refresh(DisplayState *ds){    SDL_Event ev1, *ev = &ev1;    int mod_state;    if (last_vm_running != vm_running) {        last_vm_running = vm_running;        sdl_update_caption();    }    vga_hw_update();    while (SDL_PollEvent(ev)) {        switch (ev->type) {        case SDL_VIDEOEXPOSE:            sdl_update(ds, 0, 0, screen->w, screen->h);            break;        case SDL_KEYDOWN:        case SDL_KEYUP:            if (ev->type == SDL_KEYDOWN) {                if (!alt_grab) {                    mod_state = (SDL_GetModState() & gui_grab_code) ==                                gui_grab_code;                } else {                    mod_state = (SDL_GetModState() & (gui_grab_code | KMOD_LSHIFT)) ==                                (gui_grab_code | KMOD_LSHIFT);                }                gui_key_modifier_pressed = mod_state;                if (gui_key_modifier_pressed) {                    int keycode;                    keycode = sdl_keyevent_to_keycode(&ev->key);                    switch(keycode) {                    case 0x21: /* 'f' key on US keyboard */                        toggle_full_screen(ds);                        gui_keysym = 1;                        break;                    case 0x02 ... 0x0a: /* '1' to '9' keys */                        /* Reset the modifiers sent to the current console */                        reset_keys();                        console_select(keycode - 0x02);                        if (!is_graphic_console()) {                            /* display grab if going to a text console */                            if (gui_grab)                                sdl_grab_end();                        }                        gui_keysym = 1;                        break;                    default:                        break;                    }                } else if (!is_graphic_console()) {                    int keysym;                    keysym = 0;                    if (ev->key.keysym.mod & (KMOD_LCTRL | KMOD_RCTRL)) {                        switch(ev->key.keysym.sym) {                        case SDLK_UP: keysym = QEMU_KEY_CTRL_UP; break;                        case SDLK_DOWN: keysym = QEMU_KEY_CTRL_DOWN; break;                        case SDLK_LEFT: keysym = QEMU_KEY_CTRL_LEFT; break;                        case SDLK_RIGHT: keysym = QEMU_KEY_CTRL_RIGHT; break;                        case SDLK_HOME: keysym = QEMU_KEY_CTRL_HOME; break;                        case SDLK_END: keysym = QEMU_KEY_CTRL_END; break;                        case SDLK_PAGEUP: keysym = QEMU_KEY_CTRL_PAGEUP; break;                        case SDLK_PAGEDOWN: keysym = QEMU_KEY_CTRL_PAGEDOWN; break;                        default: break;                        }                    } else {                        switch(ev->key.keysym.sym) {                        case SDLK_UP: keysym = QEMU_KEY_UP; break;                        case SDLK_DOWN: keysym = QEMU_KEY_DOWN; break;                        case SDLK_LEFT: keysym = QEMU_KEY_LEFT; break;                        case SDLK_RIGHT: keysym = QEMU_KEY_RIGHT; break;                        case SDLK_HOME: keysym = QEMU_KEY_HOME; break;                        case SDLK_END: keysym = QEMU_KEY_END; break;                        case SDLK_PAGEUP: keysym = QEMU_KEY_PAGEUP; break;                        case SDLK_PAGEDOWN: keysym = QEMU_KEY_PAGEDOWN; break;                        case SDLK_BACKSPACE: keysym = QEMU_KEY_BACKSPACE; break;                        case SDLK_DELETE: keysym = QEMU_KEY_DELETE; break;                        default: break;                        }                    }                    if (keysym) {                        kbd_put_keysym(keysym);                    } else if (ev->key.keysym.unicode != 0) {                        kbd_put_keysym(ev->key.keysym.unicode);                    }                }            } else if (ev->type == SDL_KEYUP) {                if (!alt_grab) {                    mod_state = (ev->key.keysym.mod & gui_grab_code);                } else {                    mod_state = (ev->key.keysym.mod &                                 (gui_grab_code | KMOD_LSHIFT));                }                if (!mod_state) {                    if (gui_key_modifier_pressed) {                        gui_key_modifier_pressed = 0;                        if (gui_keysym == 0) {                            /* exit/enter grab if pressing Ctrl-Alt */                            if (!gui_grab) {                                /* if the application is not active,                                   do not try to enter grab state. It                                   prevents                                   'SDL_WM_GrabInput(SDL_GRAB_ON)'                                   from blocking all the application                                   (SDL bug). */                                if (SDL_GetAppState() & SDL_APPACTIVE)                                    sdl_grab_start();                            } else {                                sdl_grab_end();                            }                            /* SDL does not send back all the                               modifiers key, so we must correct it */                            reset_keys();                            break;                        }                        gui_keysym = 0;                    }                }            }            if (is_graphic_console() && !gui_keysym)                sdl_process_key(&ev->key);            break;        case SDL_QUIT:            if (!no_quit) {                qemu_system_shutdown_request();                vm_start();	/* In case we're paused */            }            break;        case SDL_MOUSEMOTION:            if (gui_grab || kbd_mouse_is_absolute() ||                absolute_enabled) {                sdl_send_mouse_event(0);            }            break;        case SDL_MOUSEBUTTONDOWN:        case SDL_MOUSEBUTTONUP:            {                SDL_MouseButtonEvent *bev = &ev->button;                if (!gui_grab && !kbd_mouse_is_absolute()) {                    if (ev->type == SDL_MOUSEBUTTONDOWN &&                        (bev->state & SDL_BUTTON_LMASK)) {                        /* start grabbing all events */                        sdl_grab_start();                    }                } else {                    int dz;                    dz = 0;#ifdef SDL_BUTTON_WHEELUP                    if (bev->button == SDL_BUTTON_WHEELUP && ev->type == SDL_MOUSEBUTTONDOWN) {                        dz = -1;                    } else if (bev->button == SDL_BUTTON_WHEELDOWN && ev->type == SDL_MOUSEBUTTONDOWN) {                        dz = 1;                    }#endif                    sdl_send_mouse_event(dz);                }            }            break;        case SDL_ACTIVEEVENT:            if (gui_grab && ev->active.state == SDL_APPINPUTFOCUS &&                !ev->active.gain && !gui_fullscreen_initial_grab) {                sdl_grab_end();            }            break;        default:            break;        }    }}static void sdl_fill(DisplayState *ds, int x, int y, int w, int h, uint32_t c){    SDL_Rect dst = { x, y, w, h };    SDL_FillRect(screen, &dst, c);}static void sdl_mouse_warp(int x, int y, int on){    if (on) {        if (!guest_cursor)            sdl_show_cursor();        if (gui_grab || kbd_mouse_is_absolute() || absolute_enabled) {            SDL_SetCursor(guest_sprite);            SDL_WarpMouse(x, y);        }    } else if (gui_grab)        sdl_hide_cursor();    guest_cursor = on;    guest_x = x, guest_y = y;}static void sdl_mouse_define(int width, int height, int bpp,                             int hot_x, int hot_y,                             uint8_t *image, uint8_t *mask){    uint8_t sprite[256], *line;    int x, y, dst, bypl, src = 0;    if (guest_sprite)        SDL_FreeCursor(guest_sprite);    memset(sprite, 0, 256);    bypl = ((width * bpp + 31) >> 5) << 2;    for (y = 0, dst = 0; y < height; y ++, image += bypl) {        line = image;        for (x = 0; x < width; x ++, dst ++) {            switch (bpp) {            case 24:                src = *(line ++); src |= *(line ++); src |= *(line ++);                break;            case 16:            case 15:                src = *(line ++); src |= *(line ++);                break;            case 8:                src = *(line ++);                break;            case 4:                src = 0xf & (line[x >> 1] >> ((x & 1)) << 2);                break;            case 2:                src = 3 & (line[x >> 2] >> ((x & 3)) << 1);                break;            case 1:                src = 1 & (line[x >> 3] >> (x & 7));                break;            }            if (!src)                sprite[dst >> 3] |= (1 << (~dst & 7)) & mask[dst >> 3];        }    }    guest_sprite = SDL_CreateCursor(sprite, mask, width, height, hot_x, hot_y);    if (guest_cursor &&            (gui_grab || kbd_mouse_is_absolute() || absolute_enabled))        SDL_SetCursor(guest_sprite);}static void sdl_cleanup(void){    if (guest_sprite)        SDL_FreeCursor(guest_sprite);    SDL_Quit();}void sdl_display_init(DisplayState *ds, int full_screen, int no_frame){    int flags;    uint8_t data = 0;#if defined(__APPLE__)    /* always use generic keymaps */    if (!keyboard_layout)        keyboard_layout = "en-us";#endif    if(keyboard_layout) {        kbd_layout = init_keyboard_layout(keyboard_layout);        if (!kbd_layout)            exit(1);    }    if (no_frame)        gui_noframe = 1;    flags = SDL_INIT_VIDEO | SDL_INIT_NOPARACHUTE;    if (SDL_Init (flags)) {        fprintf(stderr, "Could not initialize SDL - exiting\n");        exit(1);    }#ifndef _WIN32    /* NOTE: we still want Ctrl-C to work, so we undo the SDL redirections */    signal(SIGINT, SIG_DFL);    signal(SIGQUIT, SIG_DFL);#endif    ds->dpy_update = sdl_update;    ds->dpy_resize = sdl_resize;    ds->dpy_refresh = sdl_refresh;    ds->dpy_fill = sdl_fill;    ds->mouse_set = sdl_mouse_warp;    ds->cursor_define = sdl_mouse_define;    sdl_resize(ds, 640, 400);    sdl_update_caption();    SDL_EnableKeyRepeat(250, 50);    SDL_EnableUNICODE(1);    gui_grab = 0;    sdl_cursor_hidden = SDL_CreateCursor(&data, &data, 8, 1, 0, 0);    sdl_cursor_normal = SDL_GetCursor();    atexit(sdl_cleanup);    if (full_screen) {        gui_fullscreen = 1;        gui_fullscreen_initial_grab = 1;        sdl_grab_start();    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美大片在线观看一区| 丁香天五香天堂综合| 91精品欧美久久久久久动漫 | 欧美在线免费观看亚洲| 亚洲日本在线天堂| 一本大道综合伊人精品热热 | 国内外成人在线| 久久看人人爽人人| 成人avav影音| 亚洲一区二区欧美| 日韩欧美第一区| 国产suv精品一区二区三区| 国产精品久久久久天堂| 91福利在线播放| 久久精品国产一区二区三| 欧美国产精品一区| 在线亚洲高清视频| 老色鬼精品视频在线观看播放| 欧美精品一区二区蜜臀亚洲| 成人黄色小视频| 亚洲国产精品一区二区久久恐怖片| 欧美日韩国产另类一区| 黄一区二区三区| 一区二区三区四区av| 欧美一级一级性生活免费录像| 国产精品一区二区久激情瑜伽| 亚洲另类春色国产| 久久综合久久综合久久| 色婷婷av一区二区| 久久国产精品无码网站| 中文字幕亚洲视频| 日韩精品一区二区三区四区视频| 不卡av电影在线播放| 日本亚洲免费观看| 亚洲欧洲国产专区| 日韩免费看的电影| 91国偷自产一区二区三区观看 | 日韩精品自拍偷拍| 色婷婷久久久综合中文字幕| 另类人妖一区二区av| 亚洲精品网站在线观看| 精品粉嫩超白一线天av| 在线看国产一区二区| 国产91精品一区二区麻豆亚洲| 午夜婷婷国产麻豆精品| 中文字幕中文字幕中文字幕亚洲无线| 制服丝袜亚洲精品中文字幕| 成人国产免费视频| 国产一本一道久久香蕉| 蜜臀精品久久久久久蜜臀| 一区二区三区在线免费视频| 国产精品美女一区二区在线观看| 欧美一级理论性理论a| 日本精品裸体写真集在线观看 | 欧美无砖砖区免费| 成人激情午夜影院| 国产成人在线观看免费网站| 麻豆高清免费国产一区| 五月婷婷久久丁香| 国产成人精品www牛牛影视| 午夜视频在线观看一区| 亚洲欧美视频在线观看视频| 国产日韩欧美一区二区三区综合| 91精品婷婷国产综合久久性色| 在线观看一区日韩| 欧洲av在线精品| 97精品久久久久中文字幕| 粉嫩av一区二区三区| 国产盗摄女厕一区二区三区| 国产在线精品视频| 极品少妇xxxx精品少妇偷拍| 蜜桃传媒麻豆第一区在线观看| 午夜精品一区二区三区免费视频 | 国产精品天美传媒沈樵| 久久久久久99精品| 欧美精品一区二区久久婷婷 | 欧美日韩情趣电影| 欧美性猛交xxxxxx富婆| 在线观看中文字幕不卡| 欧美三级日韩在线| 欧美乱妇23p| 日韩三级精品电影久久久 | 国产精品亚洲视频| 国产成人午夜视频| 高清日韩电视剧大全免费| 风间由美一区二区av101| 成人免费毛片高清视频| 99re视频精品| 欧美日韩免费视频| 91精品福利在线一区二区三区| 欧美一区二区黄| 精品国产一二三区| 国产精品免费久久久久| 一区二区三区欧美日韩| 亚洲成人高清在线| 久久超碰97人人做人人爱| 激情成人综合网| 不卡av电影在线播放| 色欧美88888久久久久久影院| 欧美在线高清视频| 欧美一区二区三区小说| 久久久三级国产网站| 成人免费在线视频| 首页综合国产亚洲丝袜| 极品少妇xxxx精品少妇偷拍| 99视频有精品| 欧美日韩精品一区二区| 精品乱人伦小说| 国产精品传媒入口麻豆| 亚洲一区在线视频观看| 久久国产视频网| 91免费观看在线| 91精品欧美久久久久久动漫| 日本一区二区三区高清不卡| 亚洲成人一区二区| 国产精品一区二区三区网站| 色婷婷激情综合| 精品国产一区二区国模嫣然| 亚洲色欲色欲www| 久久成人av少妇免费| 色综合久久中文综合久久牛| 精品国偷自产国产一区| 亚洲一区中文在线| 国产精品69毛片高清亚洲| 欧美日韩在线免费视频| 国产精品少妇自拍| 日本欧洲一区二区| 色婷婷av一区二区三区软件 | 91视视频在线观看入口直接观看www| 欧美美女bb生活片| 成人欧美一区二区三区视频网页| 欧美bbbbb| 欧美视频完全免费看| 中文字幕电影一区| 免费精品视频在线| 欧美亚洲国产一区二区三区va | 色天使色偷偷av一区二区| 精品精品国产高清a毛片牛牛| 亚洲一区二区在线播放相泽| 国产成人精品一区二| 日韩欧美自拍偷拍| 亚洲成人手机在线| 在线观看日韩国产| 国产一区二区三区av电影| 欧美日韩免费电影| 亚洲在线一区二区三区| 97精品国产露脸对白| 国产精品蜜臀av| 国产精品亚洲专一区二区三区| 日韩一区二区不卡| 日日骚欧美日韩| 欧美日韩在线播放一区| 亚洲综合男人的天堂| 色婷婷综合久久久中文字幕| 国产视频一区不卡| 国产一区美女在线| 久久女同互慰一区二区三区| 蜜桃视频第一区免费观看| 正在播放一区二区| 日韩高清在线电影| 欧美一区二区黄色| 美女视频一区二区| 日韩精品一区二区三区在线播放| 日韩高清电影一区| 这里只有精品电影| 捆绑紧缚一区二区三区视频| 精品女同一区二区| 精品一区二区三区在线观看| 欧美大片日本大片免费观看| 美国三级日本三级久久99| 日韩美女在线视频| 精品在线免费观看| 久久精品视频在线看| 国产suv精品一区二区6| 国产精品不卡视频| 色国产精品一区在线观看| 一区二区高清在线| 在线观看91av| 精品一区二区久久久| 欧美激情一区二区在线| 97久久精品人人爽人人爽蜜臀| 一区二区在线免费观看| 7799精品视频| 国产麻豆精品在线| 欧美激情一区在线| 91高清视频免费看| 久久国内精品自在自线400部| 久久久久久麻豆| 色视频一区二区| 日本成人超碰在线观看| 国产亚洲综合性久久久影院| youjizz国产精品| 午夜一区二区三区在线观看| 日韩三级.com| 97久久精品人人做人人爽| 亚洲成人av电影| 久久久精品中文字幕麻豆发布| av一区二区不卡| 日日摸夜夜添夜夜添精品视频| 久久综合九色综合97婷婷 |