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

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

?? ws.c

?? mplayer播放器的源碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
// --------------------------------------------------------------------------//  AutoSpace Window System for Linux/Win32 v0.85//   Writed by pontscho/fresh!mindworkz// --------------------------------------------------------------------------#include <X11/Xlib.h>#include <X11/Xproto.h>#include <X11/Xutil.h>#include <X11/keysym.h>#include <X11/Xatom.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <errno.h>#include <inttypes.h>#include "../config.h"#include "../libvo/x11_common.h"#include "../libvo/video_out.h"#include "ws.h"#include "wsxdnd.h"#include "../cpudetect.h"#include "../libswscale/swscale.h"#include "../libswscale/rgb2rgb.h"#include "../libmpcodecs/vf_scale.h"#include "../mp_msg.h"#include "../help_mp.h"#include "../mplayer.h"#include "../mpbswap.h"#include <X11/extensions/XShm.h>#ifdef HAVE_XSHAPE#include <X11/extensions/shape.h>#endif#ifdef HAVE_XINERAMA#include <X11/extensions/Xinerama.h>#endif#ifdef HAVE_XF86VM#include <X11/extensions/xf86vmode.h>#endif#include <sys/ipc.h>#include <sys/shm.h>#undef ENABLE_DPMS typedef struct{ unsigned long flags; unsigned long functions; unsigned long decorations; long input_mode; unsigned long status;} MotifWmHints;Atom                 wsMotifHints;int                  wsMaxX         = 0; // Screen width.int                  wsMaxY         = 0; // Screen height.int                  wsOrgX         = 0; // Screen origin x.int                  wsOrgY         = 0; // Screen origin y.Display            * wsDisplay;int                  wsScreen;Window               wsRootWin;XEvent               wsEvent;int                  wsWindowDepth;GC                   wsHGC;MotifWmHints         wsMotifWmHints;Atom                 wsTextProperlyAtom = None;int		     wsLayer = 0;int                  wsDepthOnScreen = 0;int                  wsRedMask = 0;int                  wsGreenMask = 0;int                  wsBlueMask = 0;int                  wsOutMask = 0;int                  wsNonNativeOrder = 0;int                  wsTrue    = True;#define	wsWLCount 5wsTWindow          * wsWindowList[wsWLCount] = { NULL,NULL,NULL,NULL,NULL };unsigned long        wsKeyTable[512];int                  wsUseXShm = 1;int                  wsUseXShape = 1;inline int wsSearch( Window win );// ---#define PACK_RGB16(r,g,b,pixel) pixel=(b>>3);\                                pixel<<=6;\                                pixel|=(g>>2);\                                pixel<<=5;\                                pixel|=(r>>3)#define PACK_RGB15(r,g,b,pixel) pixel=(b>>3);\                                pixel<<=5;\                                pixel|=(g>>3);\                                pixel<<=5;\	                        pixel|=(r>>3)typedef void(*wsTConvFunc)( const unsigned char * in_pixels, unsigned char * out_pixels, unsigned num_pixels );wsTConvFunc wsConvFunc = NULL;										void rgb32torgb32( const unsigned char * src, unsigned char * dst,unsigned int src_size )																					{ memcpy( dst,src,src_size ); }// ---#define MWM_HINTS_FUNCTIONS     (1L << 0)#define MWM_HINTS_DECORATIONS   (1L << 1)#define MWM_HINTS_INPUT_MODE    (1L << 2)#define MWM_HINTS_STATUS        (1L << 3)#define MWM_FUNC_ALL            (1L << 0)#define MWM_FUNC_RESIZE         (1L << 1)#define MWM_FUNC_MOVE           (1L << 2)#define MWM_FUNC_MINIMIZE       (1L << 3)#define MWM_FUNC_MAXIMIZE       (1L << 4)#define MWM_FUNC_CLOSE          (1L << 5)#define MWM_DECOR_ALL           (1L << 0)#define MWM_DECOR_BORDER        (1L << 1)#define MWM_DECOR_RESIZEH       (1L << 2)#define MWM_DECOR_TITLE         (1L << 3)#define MWM_DECOR_MENU          (1L << 4)#define MWM_DECOR_MINIMIZE      (1L << 5)#define MWM_DECOR_MAXIMIZE      (1L << 6)#define MWM_INPUT_MODELESS 0#define MWM_INPUT_PRIMARY_APPLICATION_MODAL 1#define MWM_INPUT_SYSTEM_MODAL 2#define MWM_INPUT_FULL_APPLICATION_MODAL 3#define MWM_INPUT_APPLICATION_MODAL MWM_INPUT_PRIMARY_APPLICATION_MODAL#define MWM_TEAROFF_WINDOW      (1L<<0)void wsWindowDecoration( wsTWindow * win,long d ){ wsMotifHints=XInternAtom( wsDisplay,"_MOTIF_WM_HINTS",0 ); if ( wsMotifHints == None ) return; memset( &wsMotifWmHints,0,sizeof( MotifWmHints ) ); wsMotifWmHints.flags=MWM_HINTS_FUNCTIONS | MWM_HINTS_DECORATIONS;  if ( d )  {   wsMotifWmHints.functions=MWM_FUNC_MOVE | MWM_FUNC_CLOSE | MWM_FUNC_MINIMIZE | MWM_FUNC_MAXIMIZE | MWM_FUNC_RESIZE;   wsMotifWmHints.decorations=MWM_DECOR_ALL;  } XChangeProperty( wsDisplay,win->WindowID,wsMotifHints,wsMotifHints,32,                  PropModeReplace,(unsigned char *)&wsMotifWmHints,5 );}// ----------------------------------------------------------------------------------------------//   Init X Window System.// ----------------------------------------------------------------------------------------------int wsIOErrorHandler( Display * dpy ){ fprintf( stderr,"[ws] IO error in display.\n" ); exit( 0 );}int wsErrorHandler( Display * dpy,XErrorEvent * Event ){ char type[128]; XGetErrorText( wsDisplay,Event->error_code,type,128 ); fprintf(stderr,"[ws] Error in display.\n"); fprintf(stderr,"[ws]  Error code: %d ( %s )\n",Event->error_code,type ); fprintf(stderr,"[ws]  Request code: %d\n",Event->request_code ); fprintf(stderr,"[ws]  Minor code: %d\n",Event->minor_code ); fprintf(stderr,"[ws]  Modules: %s\n",current_module?current_module:"(NULL)" ); exit( 0 );}void wsXInit( void* mDisplay ){ int    eventbase; int    errorbase;if(mDisplay){ wsDisplay=mDisplay;} else { char * DisplayName = ":0.0"; if ( getenv( "DISPLAY" ) ) DisplayName=getenv( "DISPLAY" ); wsDisplay=XOpenDisplay( DisplayName ); if ( !wsDisplay )  {   mp_msg( MSGT_GPLAYER,MSGL_FATAL,MSGTR_WS_CouldNotOpenDisplay );   exit( 0 );  }}/* enable DND atoms */wsXDNDInitialize(); { /* on remote display XShm will be disabled - LGB */ char *dispname=DisplayString(wsDisplay); int localdisp=1; if (dispname&&*dispname!=':') {    localdisp=0;    wsUseXShm=0; } mp_dbg( MSGT_GPLAYER,MSGL_DBG2,"[ws] display name: %s => %s display.\n",dispname,localdisp?"local":"REMOTE"); if (!localdisp) mp_msg( MSGT_GPLAYER,MSGL_V,MSGTR_WS_RemoteDisplay );} if ( !XShmQueryExtension( wsDisplay ) )  {   mp_msg( MSGT_GPLAYER,MSGL_ERR,MSGTR_WS_NoXshm );   wsUseXShm=0;  }#ifdef HAVE_XSHAPE  if ( !XShapeQueryExtension( wsDisplay,&eventbase,&errorbase ) )   {    mp_msg( MSGT_GPLAYER,MSGL_ERR,MSGTR_WS_NoXshape );    wsUseXShape=0;   }#else  wsUseXShape=0;#endif XSynchronize( wsDisplay,True ); wsScreen=DefaultScreen( wsDisplay ); wsRootWin=RootWindow( wsDisplay,wsScreen );#ifdef HAVE_XF86VM    {      int clock;      XF86VidModeModeLine modeline;      XF86VidModeGetModeLine( wsDisplay,wsScreen,&clock ,&modeline );      wsMaxX=modeline.hdisplay;      wsMaxY=modeline.vdisplay;    }#endif { wsOrgX = wsOrgY = 0; if ( !wsMaxX ) wsMaxX=DisplayWidth( wsDisplay,wsScreen ); if ( !wsMaxY ) wsMaxY=DisplayHeight( wsDisplay,wsScreen ); }  vo_screenwidth = wsMaxX; vo_screenheight = wsMaxY;  xinerama_x = wsOrgX; xinerama_y = wsOrgY;  update_xinerama_info();  wsMaxX = vo_screenwidth; wsMaxY = vo_screenheight;  wsOrgX = xinerama_x; wsOrgY = xinerama_y; wsGetDepthOnScreen();#ifdef DEBUG  {   int minor,major,shp;   mp_msg( MSGT_GPLAYER,MSGL_DBG2,"[ws] Screen depth: %d\n",wsDepthOnScreen );   mp_msg( MSGT_GPLAYER,MSGL_DBG2,"[ws]  size: %dx%d\n",wsMaxX,wsMaxY );#ifdef HAVE_XINERAMA   mp_msg( MSGT_GPLAYER,MSGL_DBG2,"[ws]  origin: +%d+%d\n",wsOrgX,wsOrgY );#endif   mp_msg( MSGT_GPLAYER,MSGL_DBG2,"[ws]  red mask: 0x%x\n",wsRedMask );   mp_msg( MSGT_GPLAYER,MSGL_DBG2,"[ws]  green mask: 0x%x\n",wsGreenMask );   mp_msg( MSGT_GPLAYER,MSGL_DBG2,"[ws]  blue mask: 0x%x\n",wsBlueMask );   if ( wsUseXShm )    {     XShmQueryVersion( wsDisplay,&major,&minor,&shp );     mp_msg( MSGT_GPLAYER,MSGL_DBG2,"[ws] XShm version is %d.%d\n",major,minor );    }   #ifdef HAVE_XSHAPE    if ( wsUseXShape )     {      XShapeQueryVersion( wsDisplay,&major,&minor );      mp_msg( MSGT_GPLAYER,MSGL_DBG2,"[ws] XShape version is %d.%d\n",major,minor );     }   #endif  }#endif wsOutMask=wsGetOutMask(); mp_dbg( MSGT_GPLAYER,MSGL_DBG2,"[ws] Initialized converter: " ); sws_rgb2rgb_init(get_sws_cpuflags()); switch ( wsOutMask )  {   case wsRGB32:     mp_dbg( MSGT_GPLAYER,MSGL_DBG2,"rgb32 to rgb32\n" );     wsConvFunc=rgb32torgb32;     break;   case wsBGR32:     mp_dbg( MSGT_GPLAYER,MSGL_DBG2,"rgb32 to bgr32\n" );     wsConvFunc=rgb32tobgr32;     break;   case wsRGB24:     mp_dbg( MSGT_GPLAYER,MSGL_DBG2,"rgb32 to rgb24\n" );     wsConvFunc=rgb32to24;     break;   case wsBGR24:     mp_dbg( MSGT_GPLAYER,MSGL_DBG2,"rgb32 to bgr24\n" );     wsConvFunc=rgb32tobgr24;     break;   case wsRGB16:     mp_dbg( MSGT_GPLAYER,MSGL_DBG2,"rgb32 to rgb16\n" );     wsConvFunc=rgb32to16;     break;   case wsBGR16:     mp_dbg( MSGT_GPLAYER,MSGL_DBG2,"rgb32 to bgr16\n" );     wsConvFunc=rgb32tobgr16;     break;   case wsRGB15:     mp_dbg( MSGT_GPLAYER,MSGL_DBG2,"rgb32 to rgb15\n" );     wsConvFunc=rgb32to15;     break;   case wsBGR15:     mp_dbg( MSGT_GPLAYER,MSGL_DBG2,"rgb32 to bgr15\n" );     wsConvFunc=rgb32tobgr15;     break;  } XSetErrorHandler( wsErrorHandler );}// ----------------------------------------------------------------------------------------------//   Create window.//     X,Y   : window position//     wX,wY : size of window//     bW    : border width//     cV    : visible mouse cursor on window//     D     : visible frame, title, etc.//     sR    : screen ratio// ----------------------------------------------------------------------------------------------XClassHint           wsClassHint;XTextProperty        wsTextProperty;Window               LeaderWindow;void wsCreateWindow( wsTWindow * win,int X,int Y,int wX,int hY,int bW,int cV,unsigned char D,char * label ){ int depth; win->Property=D; if ( D & wsShowFrame ) win->Decorations=1; wsHGC=DefaultGC( wsDisplay,wsScreen );// The window position and size. switch ( X )  {   case -1: win->X=( wsMaxX / 2 ) - ( wX / 2 ) + wsOrgX; break;   case -2: win->X=wsMaxX - wX - 1 + wsOrgX; break;   default: win->X=X; break;  } switch ( Y )  {   case -1: win->Y=( wsMaxY / 2 ) - ( hY / 2 ) + wsOrgY; break;   case -2: win->Y=wsMaxY - hY - 1 + wsOrgY; break;   default: win->Y=Y; break;  } win->Width=wX; win->Height=hY; win->OldX=win->X; win->OldY=win->Y; win->OldWidth=win->Width; win->OldHeight=win->Height;// Border size for window. win->BorderWidth=bW;// Hide Mouse Cursor win->wsCursor=None; win->wsMouseEventType=cV; win->wsCursorData[0]=0; win->wsCursorPixmap=XCreateBitmapFromData( wsDisplay,wsRootWin,win->wsCursorData,1,1 ); if ( !(cV & wsShowMouseCursor) ) win->wsCursor=XCreatePixmapCursor( wsDisplay,win->wsCursorPixmap,win->wsCursorPixmap,&win->wsColor,&win->wsColor,0,0 ); depth = vo_find_depth_from_visuals( wsDisplay,wsScreen,NULL ); if ( depth < 15 )  {   mp_msg( MSGT_GPLAYER,MSGL_FATAL,MSGTR_WS_ColorDepthTooLow );   exit( 0 );  } XMatchVisualInfo( wsDisplay,wsScreen,depth,TrueColor,&win->VisualInfo );// --- win->AtomLeaderClient=XInternAtom( wsDisplay,"WM_CLIENT_LEADER",False ); win->AtomDeleteWindow=XInternAtom( wsDisplay,"WM_DELETE_WINDOW",False ); win->AtomTakeFocus=XInternAtom( wsDisplay,"WM_TAKE_FOCUS",False ); win->AtomRolle=XInternAtom( wsDisplay,"WM_WINDOW_ROLE",False ); win->AtomWMSizeHint=XInternAtom( wsDisplay,"WM_SIZE_HINT",False ); win->AtomWMNormalHint=XInternAtom( wsDisplay,"WM_NORMAL_HINT",False ); win->AtomProtocols=XInternAtom( wsDisplay,"WM_PROTOCOLS",False ); win->AtomsProtocols[0]=win->AtomDeleteWindow; win->AtomsProtocols[1]=win->AtomTakeFocus; win->AtomsProtocols[2]=win->AtomRolle;// --- win->WindowAttrib.background_pixel=BlackPixel( wsDisplay,wsScreen ); win->WindowAttrib.border_pixel=WhitePixel( wsDisplay,wsScreen ); win->WindowAttrib.colormap=XCreateColormap( wsDisplay,wsRootWin,win->VisualInfo.visual,AllocNone ); win->WindowAttrib.event_mask=StructureNotifyMask | FocusChangeMask |                              ExposureMask | PropertyChangeMask |                              EnterWindowMask | LeaveWindowMask |                              VisibilityChangeMask |                              KeyPressMask | KeyReleaseMask; if ( ( cV & wsHandleMouseButton ) ) win->WindowAttrib.event_mask|=ButtonPressMask | ButtonReleaseMask; if ( ( cV & wsHandleMouseMove ) ) win->WindowAttrib.event_mask|=PointerMotionMask; win->WindowAttrib.cursor=win->wsCursor; win->WindowAttrib.override_redirect=False; if ( D & wsOverredirect ) win->WindowAttrib.override_redirect=True; win->WindowMask=CWBackPixel | CWBorderPixel |                 CWColormap | CWEventMask | CWCursor |                 CWOverrideRedirect; win->WindowID=XCreateWindow( wsDisplay,  (win->Parent != 0?win->Parent:wsRootWin),  win->X,win->Y,win->Width,win->Height,win->BorderWidth,  win->VisualInfo.depth,  InputOutput,  win->VisualInfo.visual,  win->WindowMask,&win->WindowAttrib ); wsClassHint.res_name="MPlayer"; wsClassHint.res_class="MPlayer"; XSetClassHint( wsDisplay,win->WindowID,&wsClassHint ); win->SizeHint.flags=PPosition | PSize | PResizeInc | PWinGravity;// | PBaseSize; win->SizeHint.x=win->X; win->SizeHint.y=win->Y; win->SizeHint.width=win->Width; win->SizeHint.height=win->Height;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区三区久久久久久久久不 | 欧美激情一区二区三区四区| 中文无字幕一区二区三区| 亚洲一区视频在线| 成人精品gif动图一区| 亚洲va在线va天堂| 午夜伊人狠狠久久| 成人综合在线观看| 欧美videossexotv100| 亚洲成人一二三| 99re6这里只有精品视频在线观看| 在线电影一区二区三区| 亚洲免费观看视频| 成人自拍视频在线| 久久综合九色综合97婷婷女人| 五月婷婷色综合| 一本久久综合亚洲鲁鲁五月天| 久久精品视频一区二区三区| 日韩**一区毛片| 欧美精品tushy高清| 亚洲日本在线a| 成人激情小说网站| 国产欧美精品区一区二区三区| 美女诱惑一区二区| 欧美精品久久久久久久久老牛影院| 成人欧美一区二区三区1314| 国产69精品久久777的优势| 精品免费视频一区二区| 免费成人美女在线观看.| 欧美日韩国产片| 天堂影院一区二区| 欧美高清激情brazzers| 午夜激情久久久| 欧美丰满嫩嫩电影| 欧美aaa在线| 欧美大片在线观看| 国产一区二区三区在线观看免费| 欧美一卡二卡三卡| 激情欧美一区二区| 国产亚洲欧美日韩日本| 国产成人高清在线| 亚洲三级在线播放| 欧美性感一类影片在线播放| 性欧美大战久久久久久久久| 欧美精品久久天天躁| 免费观看日韩电影| 久久精品欧美一区二区三区不卡 | 色综合久久精品| 亚洲va天堂va国产va久| 日韩区在线观看| 国产成人免费视频| 亚洲免费在线视频一区 二区| 在线观看国产日韩| 蜜臀av性久久久久蜜臀av麻豆| 26uuu欧美| 97国产一区二区| 午夜激情久久久| 国产日韩欧美一区二区三区乱码 | 亚洲欧美另类在线| 欧美一区二区福利视频| 精品亚洲国内自在自线福利| 国产精品人成在线观看免费| 在线观看欧美黄色| 久久综合综合久久综合| 亚洲天堂成人网| 这里只有精品视频在线观看| 国产精品一二三| 亚洲综合一区在线| 久久亚洲精精品中文字幕早川悠里| 99久久精品国产一区| 亚洲va天堂va国产va久| 中文字幕巨乱亚洲| 欧美一区二区视频在线观看| 国产91高潮流白浆在线麻豆| 午夜电影一区二区| 中文字幕在线观看不卡| 欧美一区二区视频在线观看2022| 成人h精品动漫一区二区三区| 亚洲国产成人av网| ㊣最新国产の精品bt伙计久久| 91精品国产综合久久福利软件| 粉嫩一区二区三区在线看| 亚洲.国产.中文慕字在线| 久久精品网站免费观看| 欧美精选在线播放| 91丝袜呻吟高潮美腿白嫩在线观看| 蜜桃精品视频在线观看| 亚洲最新在线观看| 中文字幕一区二区三区视频| 日韩美女视频在线| 欧美性猛交xxxxxx富婆| 99国产精品99久久久久久| 美女视频黄久久| 亚洲电影一区二区三区| 天天色天天爱天天射综合| 欧美成人性战久久| 色爱区综合激月婷婷| 国产99久久久久| 久久精品国产99国产精品| 亚洲高清久久久| 亚洲一区在线观看网站| 国产精品美女一区二区三区| 精品久久久久久久一区二区蜜臀| 色天使色偷偷av一区二区| 99精品视频中文字幕| 国产精品一二三| 国产福利精品导航| 国产成a人亚洲精品| 国产福利91精品一区| 国产在线精品一区二区三区不卡| 久久超碰97人人做人人爱| 亚洲国产毛片aaaaa无费看| 一区二区三区在线视频观看| 中文字幕一区二区三中文字幕| 欧美精彩视频一区二区三区| 国产亚洲一二三区| 中日韩免费视频中文字幕| 亚洲欧洲精品一区二区三区 | 成人性生交大合| 精品一区二区三区在线视频| 丝袜亚洲另类丝袜在线| 日韩和欧美的一区| 蜜桃视频在线观看一区二区| 日本一道高清亚洲日美韩| 美女脱光内衣内裤视频久久影院| 蜜臀国产一区二区三区在线播放| 奇米色一区二区| 国内外成人在线视频| 国产精品自在在线| 波多野洁衣一区| 欧美伊人精品成人久久综合97 | 亚洲成人激情av| 久久只精品国产| 国产女同性恋一区二区| 国产精品成人免费| 亚洲午夜国产一区99re久久| 蜜臀av一级做a爰片久久| 国产白丝精品91爽爽久久 | 亚洲老司机在线| 日韩av在线发布| 国产传媒欧美日韩成人| 成人免费视频caoporn| 色综合久久久久综合体桃花网| 色婷婷久久久综合中文字幕| 日韩一区二区中文字幕| 国产精品婷婷午夜在线观看| 亚洲激情五月婷婷| 九九精品一区二区| 99精品欧美一区| 日韩精品一区二区三区蜜臀| 国产欧美日韩久久| 丝袜美腿成人在线| 粉嫩绯色av一区二区在线观看| 在线精品视频免费观看| 久久综合狠狠综合久久综合88| 亚洲欧美日韩系列| 久久电影网电视剧免费观看| 99精品在线观看视频| 成人听书哪个软件好| 亚洲欧美激情一区二区| 一区二区三区四区不卡视频| 麻豆高清免费国产一区| 99久久综合色| 日韩免费视频一区| 一区二区三区四区av| 国产真实乱偷精品视频免| 欧美视频三区在线播放| 久久久99精品免费观看| 午夜精品久久久久久久久久 | 欧美另类z0zxhd电影| 国产午夜精品一区二区三区四区| 亚洲一区在线视频观看| 成人妖精视频yjsp地址| 欧美zozozo| 午夜精品福利视频网站| 日本道免费精品一区二区三区| 欧美精品一区二区久久婷婷| 亚洲香蕉伊在人在线观| 色综合网色综合| 亚洲欧美日韩久久精品| 麻豆精品蜜桃视频网站| 欧美日韩国产一区二区三区地区| 欧美国产日本韩| 国产精品自拍毛片| 日韩精品一区二区三区中文不卡| 亚洲国产成人精品视频| 91福利在线免费观看| 亚洲视频一区二区在线| 丁香婷婷深情五月亚洲| 久久久精品蜜桃| 韩国成人精品a∨在线观看| 欧美一级免费观看| 日本在线播放一区二区三区| 欧美三片在线视频观看| 亚洲精品视频免费观看| 91影院在线观看| 亚洲视频小说图片| 色综合网色综合| 亚洲大片精品永久免费| 欧洲av一区二区嗯嗯嗯啊|