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

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

?? wince.cpp

?? VLC Player Source Code
?? CPP
字號:
/***************************************************************************** * wince.cpp: WinCE gui plugin for VLC ***************************************************************************** * Copyright (C) 2003 the VideoLAN team * $Id: 91e3b6c24f0fa3f22734cdc03a70ee5fb16ee58a $ * * Author: Gildas Bazin <gbazin@videolan.org> * * 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. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, * USA. *****************************************************************************//***************************************************************************** * Preamble *****************************************************************************/#ifdef HAVE_CONFIG_H# include "config.h"#endif#include <vlc_common.h>#include <vlc_plugin.h>#include <vlc_interface.h>#if defined( UNDER_CE ) && defined(__MINGW32__)/* This is a gross hack for the wince gcc cross-compiler */#define _off_t long#endif#include "wince.h"#include <objbase.h>/***************************************************************************** * Local prototypes. *****************************************************************************/static int  Open   ( vlc_object_t * );static void Close  ( vlc_object_t * );static void Run    ( intf_thread_t * );static int  OpenDialogs( vlc_object_t * );static void* MainLoop  ( intf_thread_t * );static void ShowDialog( intf_thread_t *, int, int, intf_dialog_args_t * );/***************************************************************************** * Module descriptor *****************************************************************************/#define EMBED_TEXT N_("Embed video in interface")#define EMBED_LONGTEXT N_("Embed the video inside the interface instead " \    "of having it in a separate window.")vlc_module_begin();    set_description( (char *) _("WinCE interface module") );    set_capability( "interface", 100 );    set_callbacks( Open, Close );    add_shortcut( "wince" );    add_bool( "wince-embed", 1, NULL,              EMBED_TEXT, EMBED_LONGTEXT, false );    add_submodule();    set_description( N_("WinCE dialogs provider") );    set_capability( "dialogs provider", 10 );    set_callbacks( OpenDialogs, Close );vlc_module_end();HINSTANCE hInstance = 0;#if !defined(__BUILTIN__)extern "C" BOOL WINAPIDllMain( HANDLE hModule, DWORD fdwReason, LPVOID lpReserved ){    hInstance = (HINSTANCE)hModule;    return TRUE;}#endif/* Global variables used by _TOMB() / _FROMB() */wchar_t pwsz_mbtow_wince[2048];char psz_wtomb_wince[2048];/***************************************************************************** * Open: initialize interface *****************************************************************************/static int Open( vlc_object_t *p_this ){    intf_thread_t *p_intf = (intf_thread_t *)p_this;    // Check if the application is running.    // If it's running then focus its window and bail out.    HWND hwndMain = FindWindow( _T("VLC WinCE"), _T("VLC media player") );    if( hwndMain )    {        SetForegroundWindow( hwndMain );        return VLC_EGENERIC;    }    // Allocate instance and initialize some members    p_intf->p_sys = (intf_sys_t *)malloc( sizeof( intf_sys_t ) );    if( p_intf->p_sys == NULL )    {        msg_Err( p_intf, "out of memory" );        return VLC_EGENERIC;    }    // Suscribe to messages bank    p_intf->p_sys->p_sub = msg_Subscribe( p_intf );    // Misc init    p_intf->p_sys->p_audio_menu = NULL;    p_intf->p_sys->p_video_menu = NULL;    p_intf->p_sys->p_navig_menu = NULL;    p_intf->p_sys->p_settings_menu = NULL;    p_intf->pf_run = Run;    p_intf->pf_show_dialog = NULL;    p_intf->p_sys->p_input = NULL;    p_intf->p_sys->b_playing = 0;    p_intf->p_sys->i_playing = -1;    p_intf->p_sys->b_slider_free = 1;    p_intf->p_sys->i_slider_pos = p_intf->p_sys->i_slider_oldpos = 0;    return VLC_SUCCESS;}static int OpenDialogs( vlc_object_t *p_this ){    intf_thread_t *p_intf = (intf_thread_t *)p_this;    int i_ret = Open( p_this );    p_intf->pf_show_dialog = ShowDialog;    return i_ret;}/***************************************************************************** * Close: destroy interface *****************************************************************************/static void Close( vlc_object_t *p_this ){    intf_thread_t *p_intf = (intf_thread_t *)p_this;    if( p_intf->p_sys->p_input )    {        vlc_object_release( p_intf->p_sys->p_input );    }    MenuItemExt::ClearList( p_intf->p_sys->p_video_menu );    delete p_intf->p_sys->p_video_menu;    MenuItemExt::ClearList( p_intf->p_sys->p_audio_menu );    delete p_intf->p_sys->p_audio_menu;    MenuItemExt::ClearList( p_intf->p_sys->p_settings_menu );    delete p_intf->p_sys->p_settings_menu;    MenuItemExt::ClearList( p_intf->p_sys->p_navig_menu );    delete p_intf->p_sys->p_navig_menu;    if( p_intf->pf_show_dialog )    {        /* We must destroy the dialogs thread */#if 0        wxCommandEvent event( wxEVT_DIALOG, INTF_DIALOG_EXIT );        p_intf->p_sys->p_wxwindow->AddPendingEvent( event );#endif        vlc_thread_join( p_intf );    }    // Unsuscribe to messages bank    msg_Unsubscribe( p_intf, p_intf->p_sys->p_sub );    // Destroy structure    free( p_intf->p_sys );}/***************************************************************************** * Run: main loop *****************************************************************************/static void Run( intf_thread_t *p_intf ){    if( p_intf->pf_show_dialog )    {        /* The module is used in dialog provider mode */        /* Create a new thread for the dialogs provider */        if( vlc_thread_create( p_intf, "Skins Dialogs Thread",                               MainLoop, 0, true ) )        {            msg_Err( p_intf, "cannot create Skins Dialogs Thread" );            p_intf->pf_show_dialog = NULL;        }    }    else    {        /* The module is used in interface mode */        MainLoop( p_intf );    }}static void* MainLoop( vlc_object_t * p_this ){    intf_thread_t *p_intf = (intf_thread_t*)p_this;    MSG msg;    Interface *intf = 0;    if( !hInstance ) hInstance = GetModuleHandle(NULL);    // Register window class    WNDCLASS wc;    wc.style = CS_HREDRAW | CS_VREDRAW ;    wc.lpfnWndProc = (WNDPROC)CBaseWindow::BaseWndProc;    wc.cbClsExtra = 0;    wc.cbWndExtra = 0;    wc.hIcon = NULL;    wc.hInstance = hInstance;    wc.hCursor = NULL;    wc.hbrBackground = (HBRUSH)(COLOR_MENU+1);    wc.lpszMenuName = NULL;    wc.lpszClassName = _T("VLC WinCE");    RegisterClass( &wc );#ifndef UNDER_CE    /* Initialize OLE/COM */    CoInitialize( 0 );#endif    if( !p_intf->pf_show_dialog )    {        /* The module is used in interface mode */        p_intf->p_sys->p_window = intf = new Interface( p_intf, 0, hInstance );        /* Create/Show the interface */        if( !intf->InitInstance() ) goto end;    }    /* Creates the dialogs provider */    p_intf->p_sys->p_window =        CreateDialogsProvider( p_intf, p_intf->pf_show_dialog ?                               NULL : p_intf->p_sys->p_window, hInstance );    p_intf->p_sys->pf_show_dialog = ShowDialog;    /* OK, initialization is over */    vlc_thread_ready( p_intf );    // Main message loop    while( GetMessage( &msg, NULL, 0, 0 ) > 0 )    {        TranslateMessage( &msg );        DispatchMessage( &msg );    } end:    delete intf;#ifndef UNDER_CE    /* Uninitialize OLE/COM */    CoUninitialize();#endif    return NULL;}/***************************************************************************** * CBaseWindow Implementation *****************************************************************************/LRESULT CALLBACK CBaseWindow::BaseWndProc( HWND hwnd, UINT msg, WPARAM wParam,                                           LPARAM lParam ){    CBaseWindow *p_obj;    // check to see if a copy of the 'this' pointer needs to be saved    if( msg == WM_CREATE )    {        p_obj = (CBaseWindow *)(((LPCREATESTRUCT)lParam)->lpCreateParams);        SetWindowLong( hwnd, GWL_USERDATA,                       (LONG)((LPCREATESTRUCT)lParam)->lpCreateParams );        p_obj->hWnd = hwnd;    }    if( msg == WM_INITDIALOG )    {        p_obj = (CBaseWindow *)lParam;        SetWindowLong( hwnd, GWL_USERDATA, lParam );        p_obj->hWnd = hwnd;    }    // Retrieve the pointer    p_obj = (CBaseWindow *)GetWindowLong( hwnd, GWL_USERDATA );    if( !p_obj ) return DefWindowProc( hwnd, msg, wParam, lParam );    // Filter message through child classes    return p_obj->WndProc( hwnd, msg, wParam, lParam );}int CBaseWindow::CreateDialogBox( HWND hwnd, CBaseWindow *p_obj ){    uint8_t p_buffer[sizeof(DLGTEMPLATE) + sizeof(WORD) * 4];    DLGTEMPLATE *p_dlg_template = (DLGTEMPLATE *)p_buffer;    memset( p_dlg_template, 0, sizeof(DLGTEMPLATE) + sizeof(WORD) * 4 );    // these values are arbitrary, they won't be used normally anyhow    p_dlg_template->x  = 0; p_dlg_template->y  = 0;    p_dlg_template->cx = 300; p_dlg_template->cy = 300;    p_dlg_template->style =        DS_MODALFRAME|WS_POPUP|WS_CAPTION|WS_SYSMENU|WS_SIZEBOX;    return DialogBoxIndirectParam( GetModuleHandle(0), p_dlg_template, hwnd,                                   (DLGPROC)p_obj->BaseWndProc, (LPARAM)p_obj);}/***************************************************************************** * ShowDialog *****************************************************************************/static void ShowDialog( intf_thread_t *p_intf, int i_dialog_event, int i_arg,                        intf_dialog_args_t *p_arg ){    SendMessage( p_intf->p_sys->p_window->GetHandle(), WM_CANCELMODE, 0, 0 );    if( i_dialog_event == INTF_DIALOG_POPUPMENU && i_arg == 0 ) return;    /* Hack to prevent popup events to be enqueued when     * one is already active */#if 0    if( i_dialog_event != INTF_DIALOG_POPUPMENU ||        !p_intf->p_sys->p_popup_menu )#endif    {        SendMessage( p_intf->p_sys->p_window->GetHandle(),                     WM_APP + i_dialog_event, (WPARAM)i_arg, (LPARAM)p_arg );    }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成a人在线观看| 色哟哟一区二区在线观看| 手机精品视频在线观看| 亚洲精品国产成人久久av盗摄| 中文成人av在线| 成人免费在线播放视频| 亚洲精品亚洲人成人网| 一区二区三区国产豹纹内裤在线| 一区二区在线观看免费视频播放| 亚洲精品v日韩精品| 天堂一区二区在线| 蜜芽一区二区三区| 国产在线精品国自产拍免费| 国产91丝袜在线播放0| 成人久久视频在线观看| 色综合天天视频在线观看 | 欧美美女黄视频| 欧美日韩卡一卡二| 日韩精品在线网站| 中文字幕精品综合| 一区二区三区日韩欧美| 日韩电影一区二区三区四区| 国产精品66部| 在线精品视频免费观看| 国产精品免费久久久久| 亚洲国产日韩a在线播放| 日韩影院在线观看| 国产成人免费在线观看不卡| 在线观看视频91| www亚洲一区| 亚洲一区av在线| 极品销魂美女一区二区三区| av电影在线观看一区| 91精品欧美综合在线观看最新| 国产午夜精品一区二区三区嫩草| 亚洲欧美偷拍卡通变态| 麻豆免费看一区二区三区| 成人国产一区二区三区精品| 欧美精品在线视频| 亚洲色图一区二区| 狠狠久久亚洲欧美| 在线免费观看日韩欧美| 国产三级精品视频| 日本女人一区二区三区| 91丝袜呻吟高潮美腿白嫩在线观看| 欧美日韩精品是欧美日韩精品| 中文字幕av一区二区三区| 日韩成人精品视频| 91黄色小视频| 国产精品久线在线观看| 久久99精品久久久久婷婷| 欧美亚洲愉拍一区二区| 欧美国产在线观看| 国产一区二区三区香蕉| 欧美日韩dvd在线观看| 亚洲精品成人a在线观看| 国产91露脸合集magnet| 精品国产伦一区二区三区观看体验 | 亚洲一区精品在线| 成人国产在线观看| 国产蜜臀av在线一区二区三区| 毛片不卡一区二区| 欧美一级久久久久久久大片| 水蜜桃久久夜色精品一区的特点| 91免费国产在线观看| 一区二区中文视频| 成人教育av在线| 国产精品午夜久久| 成人污污视频在线观看| 国产欧美日韩在线看| 成人永久免费视频| 国产精品人成在线观看免费| 国产老女人精品毛片久久| 精品国精品国产尤物美女| 久久电影网电视剧免费观看| 日韩免费高清av| 久久99精品一区二区三区| 欧美va亚洲va香蕉在线| 国内精品写真在线观看| 国产丝袜在线精品| 99热国产精品| 樱花草国产18久久久久| 欧美日韩一区二区三区四区| 婷婷一区二区三区| 欧美成人在线直播| 国产成人精品在线看| 亚洲欧美综合另类在线卡通| 91免费看片在线观看| 亚洲成人高清在线| 精品国产乱码久久久久久久久| 国产精品996| 亚洲色图都市小说| 精品视频一区 二区 三区| 日本不卡123| 国产精品―色哟哟| 欧美日韩免费电影| 精品在线免费视频| 综合av第一页| 制服丝袜一区二区三区| 国产伦精一区二区三区| 亚洲青青青在线视频| 欧美一区二区二区| 国产成人av资源| 性感美女极品91精品| 26uuu国产日韩综合| 色哟哟精品一区| 极品瑜伽女神91| 一区二区视频在线| 久久亚洲精品小早川怜子| 日本精品一级二级| 国产在线精品一区二区夜色 | 亚洲欧洲国产日本综合| 欧美一区二区三区在线观看| 成人性生交大片免费看中文| 亚洲成av人综合在线观看| 久久九九久久九九| 91精品国产综合久久久久久久久久| 国产一区二区精品久久99| 亚洲高清免费视频| 中文字幕亚洲一区二区av在线| 制服丝袜激情欧洲亚洲| 色哟哟精品一区| 国产激情视频一区二区在线观看| 亚洲成人你懂的| 亚洲色图色小说| 国产欧美视频在线观看| 日韩欧美色综合| 欧美日韩免费电影| 欧日韩精品视频| 99r国产精品| 成人久久视频在线观看| 国产在线乱码一区二区三区| 日韩国产在线一| 午夜av一区二区三区| 亚洲一区二区三区在线看| 中文字幕在线观看一区二区| 久久久精品tv| 久久中文字幕电影| 欧美不卡在线视频| 日韩欧美精品在线| 欧美一区二区女人| 日韩一区二区三区高清免费看看| 欧美日韩在线综合| 在线观看精品一区| 色婷婷综合久色| 91亚洲国产成人精品一区二区三| 成人免费看视频| 波多野结衣的一区二区三区| 国产成人在线视频播放| 风间由美一区二区av101| 国产一区二区三区免费播放| 国内成人精品2018免费看| 精品在线亚洲视频| 国产一区二区久久| 成人免费视频一区| 99精品久久只有精品| 日本久久一区二区| 欧美人伦禁忌dvd放荡欲情| 91麻豆精品国产自产在线| 欧美疯狂做受xxxx富婆| 欧美成人一级视频| 国产亚洲欧洲997久久综合| 中文字幕精品一区| 国产精品国产三级国产普通话蜜臀 | 亚洲欧美一区二区三区国产精品| 一区二区三区精品| 日日夜夜免费精品| 久久99热国产| 国产夫妻精品视频| 91色在线porny| 91麻豆精品国产91久久久久久久久| 欧美va亚洲va| 国产精品久线在线观看| 亚洲午夜精品久久久久久久久| 麻豆一区二区在线| 91在线观看一区二区| 欧美久久一二三四区| 精品国产欧美一区二区| 自拍av一区二区三区| 舔着乳尖日韩一区| 国产.欧美.日韩| 欧美日韩一区二区三区四区五区| 精品剧情v国产在线观看在线| 亚洲国产精品99久久久久久久久| 亚洲最新视频在线观看| 国产在线视频一区二区| 欧美综合色免费| 久久品道一品道久久精品| 亚洲综合在线免费观看| 国产乱码字幕精品高清av| 91久久国产最好的精华液| 久久男人中文字幕资源站| 亚洲一区二区精品久久av| 国产精品99久久久久久久女警| 欧美午夜精品一区二区三区| 国产欧美日产一区| 免费在线观看精品| 色嗨嗨av一区二区三区| 久久久久久久网| 玖玖九九国产精品|