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

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

?? gui.c

?? mplayer播放器的源碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
                        adddirtoplaylist(gui->playlist, path, TRUE);                        gui->startplay(gui);                    }                    break;                }                case ID_PTRACK:                    handlemsg(hWnd, evPrev);                    break;                case ID_SEEKB:                    handlemsg(hWnd, evBackward10sec);                    break;                case ID_PLAY:                    handlemsg(hWnd, evPlaySwitchToPause);                    break;                case ID_STOP:                    handlemsg(hWnd, evStop);                    break;                case ID_SEEKF:                    handlemsg(hWnd, evForward10sec);                    break;                case ID_NTRACK:                    handlemsg(hWnd, evNext);                    break;#ifdef USE_DVDREAD                case ID_CHAPTERSEL:                    display_chapterselwindow(gui);                    break;#endif                case ID_FULLSCREEN:                    mp_input_queue_cmd(mp_input_parse_cmd("vo_fullscreen"));                    break;                case ID_MUTE:                    mp_input_queue_cmd(mp_input_parse_cmd("mute"));                    break;                case ID_ASPECT1:                    mp_input_queue_cmd(mp_input_parse_cmd("switch_ratio 1.777777"));                    break;                case ID_ASPECT2:                    mp_input_queue_cmd(mp_input_parse_cmd("switch_ratio 1.333333"));                    break;                case ID_ASPECT3:                    mp_input_queue_cmd(mp_input_parse_cmd("switch_ratio 2.35"));                    break;                case ID_ASPECT4:                    mp_input_queue_cmd(mp_input_parse_cmd("switch_ratio 0"));                    break;                case IDSUB_TOGGLE:                    mp_input_queue_cmd(mp_input_parse_cmd("sub_visibility"));                    break;                case IDSUB_CYCLE:                    mp_input_queue_cmd(mp_input_parse_cmd("sub_select"));                    break;            }            return 0;        }        case WM_CHAR:            mplayer_put_key(wParam);            break;        case WM_DROPFILES:        {            if(!lParam)            {                char file[MAX_PATH];                int filecount = DragQueryFile((HDROP) wParam, -1, file, MAX_PATH);                int i;                for(i=0; i<filecount; i++)                {                    DragQueryFile((HDROP) wParam, i, file, MAX_PATH);                    mplSetFileName(NULL, file, STREAMTYPE_FILE);                    if(!parse_filename(file, playtree, mconfig, 1))                        gui->playlist->add_track(gui->playlist, file, NULL, NULL, 0);                }                DragFinish((HDROP) wParam);                handlemsg(hWnd, evDropFile);            }            else            {                gui->playlist->clear_playlist(gui->playlist);                gui->playlist->add_track(gui->playlist, (const char *) wParam, NULL, NULL, 0);                handlemsg(hWnd, evDropFile);            }            SetForegroundWindow(gui->subwindow);            return 0;        }        case WM_LBUTTONDOWN:        {            if(!vo_nomouse_input)               mplayer_put_key(MOUSE_BTN0);            break;        }        case WM_MBUTTONDOWN:        {            if(!vo_nomouse_input)               mplayer_put_key(MOUSE_BTN1);            break;        }        case WM_RBUTTONDOWN:        {            POINT point;            point.x = GET_X_LPARAM(lParam);            point.y = GET_Y_LPARAM(lParam);            ClientToScreen(hWnd, &point);            if(guiIntfStruct.StreamType == STREAMTYPE_DVD)                EnableMenuItem(gui->dvdmenu, ID_CHAPTERSEL, MF_BYCOMMAND | MF_ENABLED);            TrackPopupMenu(gui->submenu, 0, point.x, point.y, 0, hWnd, NULL);            return 0;        }        case WM_LBUTTONDBLCLK:        {            if(!vo_nomouse_input)                mplayer_put_key(MOUSE_BTN0_DBL);            break;        }        case WM_MBUTTONDBLCLK:        {            if(!vo_nomouse_input)                mplayer_put_key(MOUSE_BTN1_DBL);            break;        }        case WM_RBUTTONDBLCLK:        {            if(!vo_nomouse_input)                mplayer_put_key(MOUSE_BTN2_DBL);            break;        }        case WM_MOUSEWHEEL:        {            int x = GET_WHEEL_DELTA_WPARAM(wParam);            if(vo_nomouse_input)                break;            if (x > 0)                mplayer_put_key(MOUSE_BTN3);            else                mplayer_put_key(MOUSE_BTN4);            break;        }        case WM_XBUTTONDOWN:        {            if(vo_nomouse_input)                break;            if(HIWORD(wParam) == 1)                mplayer_put_key(MOUSE_BTN5);            else                mplayer_put_key(MOUSE_BTN6);            break;        }        case WM_XBUTTONDBLCLK:        {            if(vo_nomouse_input)                break;            if(HIWORD(wParam) == 1)                mplayer_put_key(MOUSE_BTN5_DBL);            else                mplayer_put_key(MOUSE_BTN6_DBL);            break;        }        case WM_TIMER:        {            if(fullscreen) while(ShowCursor(FALSE) >= 0){}            KillTimer(hWnd, ID_TIMER);            return 0;        }        case WM_MOUSEMOVE:        {            ShowCursor(TRUE);            SetTimer(hWnd, ID_TIMER, 3000, (TIMERPROC) NULL);            break;        }        case WM_WINDOWPOSCHANGED:        {            int tmpheight=0;            static uint32_t rect_width;            static uint32_t rect_height;            RECT rd;            POINT pt;            pt.x = 0;            pt.y = 0;            GetClientRect(hWnd, &rd);            ClientToScreen(hWnd, &pt);            rect_width = rd.right - rd.left;            rect_height = rd.bottom - rd.top;            /* maintain our aspect ratio */            tmpheight = ((float)rect_width/sub_aspect);            tmpheight += tmpheight % 2;            if(tmpheight > rect_height)            {                rect_width = ((float)rect_height*sub_aspect);                rect_width += rect_width % 2;            }            else rect_height = tmpheight;            rd.right = rd.left + rect_width;            rd.bottom = rd.top + rect_height;            AdjustWindowRect(&rd, WS_OVERLAPPEDWINDOW | WS_SIZEBOX, 0);            SetWindowPos(hWnd, 0, fullscreen?0:pt.x+rd.left, fullscreen?0:pt.y+rd.top,                         fullscreen?vo_screenwidth:rd.right-rd.left, fullscreen?vo_screenheight:rd.bottom-rd.top, SWP_NOOWNERZORDER);            SetForegroundWindow(hWnd);            return 0;        }        case WM_SYSCOMMAND:        {            switch(wParam)            {                case SC_SCREENSAVE:                case SC_MONITORPOWER:                    mp_msg(MSGT_VO, MSGL_V ,"<vo_directx><INFO>killing screensaver\n" );                    return 0;            }            break;        }        case WM_PAINT:        {            PAINTSTRUCT ps;            RECT rect;            HDC hdc = BeginPaint(hWnd, &ps);            HDC hMemDC = CreateCompatibleDC(hdc);            HBRUSH blackbrush = (HBRUSH)GetStockObject(BLACK_BRUSH);            int width, height;            GetClientRect(hWnd, &rect);            width = rect.right - rect.left;            height = rect.bottom - rect.top;            if(guiIntfStruct.Playing == 0)            {                int i;                window *desc = NULL;                for (i=0; i<gui->skin->windowcount; i++)                    if(gui->skin->windows[i]->type == wiSub)                        desc = gui->skin->windows[i];                SelectObject(hMemDC, get_bitmap(hWnd));                StretchBlt(hdc, 0, 0, width, height, hMemDC, 0, 0, desc->base->bitmap[0]->width,                           desc->base->bitmap[0]->height, SRCCOPY);            } else {                FillRect(GetDC(hWnd), &rect, fullscreen?blackbrush:colorbrush);            }            DeleteDC(hMemDC);            EndPaint(hWnd, &ps);            return 0;        }    }    return DefWindowProc(hWnd, message, wParam, lParam);}/* Window Proc for the gui Window */static LRESULT CALLBACK EventProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){    gui_t *gui = (gui_t *) GetWindowLongPtr(hWnd, GWLP_USERDATA);    /* Avoid processing when then window doesn't match gui mainwindow */    if (gui && (gui->mainwindow != hWnd)) return FALSE;    switch (message)    {        case WM_CLOSE:            handlemsg(hWnd, evExit);            return 0;        case WM_DESTROY:            PostQuitMessage(0);            return 0;        case WM_SYSTRAY:        {            switch(lParam)            {                POINT cursor;                case WM_RBUTTONDOWN:                {                    GetCursorPos(&cursor);                    SetForegroundWindow(hWnd);                    TrackPopupMenu(gui->traymenu, 0, cursor.x, cursor.y, 0, hWnd, NULL);                    break;                }                case WM_MBUTTONDBLCLK:                case WM_LBUTTONDBLCLK:                {                    if(IsWindowVisible(hWnd)) ShowWindow(hWnd, SW_HIDE);                    else { ShowWindow(hWnd, SW_SHOW); SetForegroundWindow(hWnd); }                    break;                }            }            break;        }        case WM_KEYDOWN:        {            switch(wParam)            {                case VK_LEFT:                    mplayer_put_key(KEY_LEFT);                    break;                case VK_UP:                    mplayer_put_key(KEY_UP);                    break;                case VK_RIGHT:                    mplayer_put_key(KEY_RIGHT);                    break;                case VK_DOWN:                    mplayer_put_key(KEY_DOWN);                    break;                case VK_TAB:                    mplayer_put_key(KEY_TAB);                    break;                case VK_BACK:                    mplayer_put_key(KEY_BS);                    break;                case VK_DELETE:                    mplayer_put_key(KEY_DELETE);                    break;                case VK_INSERT:                    mplayer_put_key(KEY_INSERT);                    break;                case VK_HOME:                    mplayer_put_key(KEY_HOME);                    break;                case VK_END:                    mplayer_put_key(KEY_END);                    break;                case VK_PRIOR:                    mplayer_put_key(KEY_PAGE_UP);                    break;                case VK_NEXT:                    mplayer_put_key(KEY_PAGE_DOWN);                    break;                case VK_ESCAPE:                    mplayer_put_key(KEY_ESC);                    break;            }            break;        }        case WM_CHAR:            mplayer_put_key(wParam);            break;        case WM_COPYDATA:        {            if(lParam)            {                PCOPYDATASTRUCT cdData;                cdData = (PCOPYDATASTRUCT) lParam;                mplSetFileName(NULL, cdData->lpData, STREAMTYPE_FILE);                if(!parse_filename(cdData->lpData, playtree, mconfig, 1))                    gui->playlist->add_track(gui->playlist, cdData->lpData, NULL, NULL, 0);                gui->startplay(gui);            }            break;        }        case WM_DROPFILES:        {            if(!lParam)            {                char file[MAX_PATH];                int filecount = DragQueryFile((HDROP) wParam, -1, file, MAX_PATH);                int i;                for(i=0; i<filecount; i++)                {                    DragQueryFile((HDROP) wParam, i, file, MAX_PATH);                    mplSetFileName(NULL, file, STREAMTYPE_FILE);                    if(!parse_filename(file, playtree, mconfig, 1))                        gui->playlist->add_track(gui->playlist, file, NULL, NULL, 0);                }                DragFinish((HDROP) wParam);                handlemsg(hWnd, evDropFile);            }            else            {                gui->playlist->clear_playlist(gui->playlist);                gui->playlist->add_track(gui->playlist, (const char *) wParam, NULL, NULL, 0);                handlemsg(hWnd, evDropFile);            }            SetForegroundWindow(gui->mainwindow);            return 0;        }        case WM_LBUTTONDOWN:        {            SetCapture(hWnd);            gui->mousex = GET_X_LPARAM(lParam);            gui->mousey = GET_Y_LPARAM(lParam);            /* inside a widget */            gui->activewidget = clickedinsidewidget(gui, get_windowtype(hWnd), gui->mousex, gui->mousey);            if(gui->activewidget)            {                gui->activewidget->pressed = 1;                gui->mousewx = gui->mousex - gui->activewidget->x;                gui->mousewy = gui->mousey - gui->activewidget->y;                renderwidget(gui->skin, get_drawground(hWnd), gui->activewidget, 0);                RedrawWindow(hWnd, NULL, NULL, RDW_INVALIDATE);                handlemsg(hWnd, gui->activewidget->msg);            }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美无砖砖区免费| 久久久综合视频| 免费观看一级特黄欧美大片| 91精品国产一区二区| 久久精品国产亚洲aⅴ | 91精品福利视频| 一区二区三区成人| 欧美精品1区2区3区| 精品一区二区在线看| 国产人成一区二区三区影院| 99久久精品一区二区| 亚洲一二三四区不卡| 欧美一区二区黄| 国产成人av电影免费在线观看| 国产精品久久影院| 欧美三级日韩三级| 久久精品免费观看| 亚洲欧美在线高清| 欧美精品xxxxbbbb| 福利一区福利二区| 亚洲午夜在线电影| 久久久久久黄色| 日本精品一级二级| 久久精品999| 综合久久久久久| 欧美肥妇free| 成人少妇影院yyyy| 亚洲bt欧美bt精品777| 久久久久久久久久久久久夜| 91小视频免费观看| 久久不见久久见中文字幕免费| 国产精品狼人久久影院观看方式| 欧美午夜精品一区二区蜜桃| 狠狠色丁香婷综合久久| 亚洲激情欧美激情| 久久色.com| 欧美性色综合网| 国产精品99久久久久久有的能看| 一区二区理论电影在线观看| 欧美videos中文字幕| 色婷婷av久久久久久久| 久久99最新地址| 一区二区三区在线免费| 久久午夜老司机| 欧美日韩视频在线第一区| 国产黑丝在线一区二区三区| 亚洲第一在线综合网站| 国产女人18水真多18精品一级做| 欧美人与z0zoxxxx视频| 不卡电影一区二区三区| 久久精品免费观看| 亚洲国产日产av| 国产精品午夜电影| 日韩午夜av电影| 欧美色窝79yyyycom| 国产一区二区不卡老阿姨| 亚洲高清不卡在线观看| 国产精品人成在线观看免费| 日韩一区和二区| 在线视频综合导航| 大胆欧美人体老妇| 久久电影网站中文字幕| 午夜久久电影网| 最新日韩av在线| 久久精品欧美日韩精品| 在线播放亚洲一区| 91福利小视频| 99久久精品免费看| 国产传媒欧美日韩成人| 全国精品久久少妇| 天天做天天摸天天爽国产一区 | 专区另类欧美日韩| 久久综合九色欧美综合狠狠| 在线不卡中文字幕| 欧美色老头old∨ideo| 99久久精品一区二区| 国产成人综合在线观看| 久久国产尿小便嘘嘘| 亚洲线精品一区二区三区八戒| 亚洲视频电影在线| 国产精品视频第一区| 久久久久久久久久久99999| 777a∨成人精品桃花网| 精品视频123区在线观看| 色综合久久九月婷婷色综合| 99久久免费视频.com| 国产成人精品三级麻豆| 国产精品系列在线观看| 国产呦精品一区二区三区网站| 琪琪久久久久日韩精品| 婷婷久久综合九色国产成人| 亚洲一区二区三区中文字幕在线| 亚洲精品中文字幕乱码三区| 国产精品久久精品日日| 欧美国产激情一区二区三区蜜月| 久久精品在线观看| 国产欧美日韩中文久久| 久久久蜜臀国产一区二区| 26uuu另类欧美| 久久久久久亚洲综合影院红桃| 久久久蜜桃精品| 国产农村妇女毛片精品久久麻豆| 久久久欧美精品sm网站| 国产亚洲欧美一级| 亚洲国产激情av| 国产精品视频一二| 国产精品久久久一区麻豆最新章节| 国产亚洲精品7777| 国产精品久久夜| 成人免费在线播放视频| 亚洲色图另类专区| 亚洲靠逼com| 亚洲线精品一区二区三区八戒| 亚洲国产色一区| 婷婷丁香久久五月婷婷| 美女久久久精品| 韩国v欧美v亚洲v日本v| 国产成人午夜高潮毛片| 成人性视频免费网站| 91一区二区三区在线观看| 91亚洲永久精品| 欧美日韩亚洲综合一区| 91麻豆精品国产91久久久使用方法| 欧美一级精品大片| ww久久中文字幕| 国产精品美女久久福利网站| 亚洲色图另类专区| 五月婷婷综合激情| 久久黄色级2电影| 国产成人一区在线| 99re8在线精品视频免费播放| 91久久精品一区二区二区| 欧美老肥妇做.爰bbww| 日韩欧美综合在线| 国产色91在线| 亚洲人成在线观看一区二区| 亚洲国产日韩av| 精品一区二区三区在线视频| 国产**成人网毛片九色 | 中文字幕在线观看一区二区| 亚洲免费观看高清完整| 午夜电影网亚洲视频| 国产综合成人久久大片91| www.亚洲人| 欧美日韩国产天堂| www国产精品av| 综合婷婷亚洲小说| 日韩国产在线观看一区| 国产成人亚洲综合色影视| 色天使久久综合网天天| 日韩欧美国产综合在线一区二区三区| 久久久精品蜜桃| 亚洲黄色小视频| 九九精品一区二区| 91欧美激情一区二区三区成人| 欧美喷潮久久久xxxxx| 久久先锋资源网| 亚洲欧洲精品一区二区精品久久久| 亚洲一区二区三区影院| 国产伦精一区二区三区| 色婷婷综合久久久| 日韩精品一区二区三区蜜臀| 亚洲婷婷国产精品电影人久久| 天天色天天操综合| 成人免费视频一区| 欧美一区二区三区影视| 日韩一区在线免费观看| 日av在线不卡| 色综合久久久久久久久久久| 精品伦理精品一区| 亚洲一区二区三区四区的 | 91一区二区三区在线观看| 日韩欧美亚洲一区二区| 成人欧美一区二区三区| 久久国产麻豆精品| 色先锋aa成人| 国产日韩欧美不卡在线| 午夜精品久久久久久| 成人理论电影网| 精品女同一区二区| 亚洲国产精品自拍| 国产在线精品一区二区三区不卡 | 日韩欧美一二三区| 一二三四社区欧美黄| 国产·精品毛片| 日韩女优毛片在线| 亚洲影视在线观看| 粗大黑人巨茎大战欧美成人| 91精品国产一区二区| 亚洲欧美一区二区三区国产精品| 黑人巨大精品欧美一区| 欧美日韩中字一区| 国产精品第一页第二页第三页| 看电视剧不卡顿的网站| 欧美午夜精品一区二区三区| 中文字幕人成不卡一区| 国产精品自在欧美一区| 日韩免费成人网| 性欧美大战久久久久久久久| 92国产精品观看|