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

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

?? 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;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩三级.com| 精品88久久久久88久久久| 麻豆极品一区二区三区| 亚洲精品免费在线播放| 久久久久久久久久看片| 欧美三级电影在线看| 国产成人aaa| 日本欧美一区二区三区| 亚洲欧美色综合| 国产精品视频在线看| 日韩女优视频免费观看| 欧美三级在线看| 色综合久久久久久久久| 国产91对白在线观看九色| 蜜臀av亚洲一区中文字幕| 亚洲成人先锋电影| 亚洲欧美日韩国产成人精品影院 | 久久亚洲免费视频| 欧美精品在线视频| 在线视频一区二区三| 国产99久久久精品| 激情综合亚洲精品| 蜜桃久久久久久| 五月婷婷综合激情| 亚洲亚洲精品在线观看| 一区二区三区四区高清精品免费观看| 欧美激情一区二区三区全黄| 精品成人在线观看| 精品久久国产老人久久综合| 欧美一区二区视频免费观看| 欧美群妇大交群中文字幕| 欧美午夜影院一区| 在线观看不卡视频| 欧美性色aⅴ视频一区日韩精品| 色综合久久中文字幕综合网| 91免费视频网| 91免费版在线看| 在线观看av不卡| 欧美日韩国产综合一区二区 | 热久久久久久久| 日本强好片久久久久久aaa| 日精品一区二区| 男人的j进女人的j一区| 久久精品国产秦先生| 精东粉嫩av免费一区二区三区| 久久精品噜噜噜成人88aⅴ| 久久99精品国产.久久久久| 久久国内精品自在自线400部| 秋霞午夜av一区二区三区| 久久精品国产精品亚洲综合| 国精产品一区一区三区mba视频| 国内精品国产成人国产三级粉色| 国产成人无遮挡在线视频| 成人一区二区视频| 99麻豆久久久国产精品免费| 91丨九色丨国产丨porny| 欧美性videosxxxxx| 日韩欧美色综合| 国产欧美日韩精品一区| 亚洲天堂精品视频| 五月激情综合色| 国产精品资源网| 91在线观看美女| 91精品国产一区二区三区香蕉| 欧美mv和日韩mv国产网站| 国产精品婷婷午夜在线观看| 亚洲私人黄色宅男| 视频一区国产视频| 国产福利一区二区| 欧美色精品在线视频| 亚洲精品一区二区三区影院| 国产网站一区二区| 亚洲一区在线观看网站| 久久福利资源站| 91蜜桃婷婷狠狠久久综合9色| 欧美日韩1区2区| 欧美激情在线观看视频免费| 亚洲国产日韩a在线播放| 国产综合久久久久久久久久久久| 99久久综合狠狠综合久久| 欧美日韩成人综合在线一区二区 | 久久这里只有精品首页| 成人欧美一区二区三区1314| 婷婷国产在线综合| 国产凹凸在线观看一区二区 | 国产精品人人做人人爽人人添| 亚洲一区二区三区在线看| 精品在线你懂的| 欧美在线免费视屏| 欧美激情一区三区| 蜜臀久久久99精品久久久久久| 91网站在线观看视频| 日韩精品一区二区三区老鸭窝| 亚洲丝袜自拍清纯另类| 国产一区二区伦理| 欧美精品精品一区| 中文字幕一区二区三区四区| 另类小说综合欧美亚洲| 欧美三级视频在线播放| 国产精品卡一卡二卡三| 久久99精品国产麻豆婷婷| 91搞黄在线观看| 欧美激情一区不卡| 久久精品国产澳门| 欧美精品在线一区二区三区| 亚洲男同性恋视频| 成人一区在线观看| 久久久久久久久久久久久久久99| 午夜日韩在线电影| 91网站在线播放| 国产精品久久久久一区二区三区 | 亚洲欧美二区三区| 国产福利一区二区| 精品国产伦一区二区三区观看体验 | 99国产精品久久久久| 久久精品人人做人人爽人人| 看电影不卡的网站| 欧美日韩一级片网站| 成人丝袜高跟foot| 国产无一区二区| 国模无码大尺度一区二区三区| 6080国产精品一区二区| 亚洲精品写真福利| 成人夜色视频网站在线观看| 久久久精品国产免费观看同学| 久久电影网电视剧免费观看| 欧美一区二区视频在线观看2020 | 久久精品欧美日韩精品| 亚洲一区二区精品3399| 91黄色免费看| 日本网站在线观看一区二区三区 | 免费看日韩精品| 国产亚洲精品福利| 91免费观看在线| 日本色综合中文字幕| 欧美极品少妇xxxxⅹ高跟鞋| 日本电影亚洲天堂一区| 免费在线一区观看| 欧美国产一区视频在线观看| 91久久精品网| 国内精品写真在线观看| 伊人婷婷欧美激情| 4438亚洲最大| av在线播放不卡| 日韩国产一二三区| 中文字幕第一页久久| 欧美三级电影网站| 国产98色在线|日韩| 亚洲成av人片在www色猫咪| 久久伊99综合婷婷久久伊| 99r国产精品| 久久精品国产第一区二区三区| 中文字幕一区二区三区色视频| 51久久夜色精品国产麻豆| 丰满亚洲少妇av| 婷婷久久综合九色国产成人| 国产精品国产三级国产有无不卡| 欧美日韩国产片| 99久久99久久精品国产片果冻 | av资源站一区| 秋霞午夜av一区二区三区| 自拍偷自拍亚洲精品播放| 欧美精品一区二区不卡| 欧美性猛片aaaaaaa做受| 国产精品夜夜爽| 青青草国产精品97视觉盛宴| 亚洲欧美自拍偷拍色图| 26uuu另类欧美亚洲曰本| 欧美剧情电影在线观看完整版免费励志电影| 狠狠色丁香九九婷婷综合五月| 亚洲综合免费观看高清完整版| 久久久www免费人成精品| 欧美一区二区三区在线看| 色综合激情久久| 成人黄色av网站在线| 久久99久久99精品免视看婷婷| 一区二区在线观看不卡| 国产精品免费aⅴ片在线观看| 日韩欧美国产成人一区二区| 欧洲色大大久久| 99re热视频这里只精品| 国产成人av一区二区三区在线观看| 日本成人在线视频网站| 亚洲午夜电影网| 亚洲卡通动漫在线| 国产一区二区三区黄视频 | 91精品国产综合久久香蕉的特点 | 不卡的电视剧免费网站有什么| 激情都市一区二区| 日本vs亚洲vs韩国一区三区 | 国产乱码精品1区2区3区| 久久av老司机精品网站导航| 日韩中文字幕一区二区三区| 亚洲综合图片区| 亚洲欧美日韩成人高清在线一区| 国产精品女主播在线观看| 欧美极品aⅴ影院| 久久精品夜夜夜夜久久| 久久新电视剧免费观看| 精品福利一二区|