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

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

?? ws.c

?? uclinux下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一区二区三区免费野_久草精品视频
成人免费毛片嘿嘿连载视频| 日韩中文字幕亚洲一区二区va在线| 久久国产精品露脸对白| 91久久久免费一区二区| 欧美激情一区二区三区不卡 | 中文字幕亚洲一区二区va在线| 日韩精彩视频在线观看| 欧美精品一级二级| 日韩一区欧美二区| 99re这里只有精品视频首页| 亚洲综合精品久久| 欧美性一二三区| 水蜜桃久久夜色精品一区的特点| 在线免费不卡视频| 蜜桃视频一区二区三区| 欧美www视频| 国产精品自拍网站| 欧美激情一区二区三区蜜桃视频| 欧美成人精精品一区二区频| 日韩精品电影在线| 2023国产精华国产精品| 国产99久久久精品| 亚洲成年人网站在线观看| 91精品国产综合久久久久久漫画| 免费在线欧美视频| 欧美日本视频在线| 国产成人啪免费观看软件| 国产精品理论在线观看| 欧美中文字幕亚洲一区二区va在线| 综合在线观看色| 欧美一区二区三区视频免费| 国产一区二区在线视频| 国产精品久久久久久亚洲毛片| 91福利资源站| 精品无人码麻豆乱码1区2区| 国产精品国产三级国产aⅴ入口 | 日韩影视精彩在线| 精品国产91亚洲一区二区三区婷婷| 国产又黄又大久久| 成人免费在线观看入口| 91精品91久久久中77777| 婷婷久久综合九色国产成人| 久久久久国产一区二区三区四区 | 日韩欧美www| 国产91丝袜在线观看| 一区二区三区久久| 精品少妇一区二区三区日产乱码 | 555www色欧美视频| 国产成人精品亚洲日本在线桃色| 亚洲精品成人悠悠色影视| 日韩亚洲欧美在线| 91亚洲精品一区二区乱码| 免费在线视频一区| 尤物av一区二区| 久久久久久久综合色一本| 欧美丰满少妇xxxbbb| 99精品视频在线免费观看| 青青青伊人色综合久久| 自拍视频在线观看一区二区| 久久久午夜精品理论片中文字幕| 欧美吻胸吃奶大尺度电影| 国产精品99久久久久久宅男| 日韩专区一卡二卡| 久久精品人人做人人综合| 日韩亚洲欧美在线| 色域天天综合网| 成人污污视频在线观看| 日本欧美一区二区在线观看| 亚洲一线二线三线视频| 中文字幕av在线一区二区三区| 91精品国产91综合久久蜜臀| 色欧美片视频在线观看 | 亚洲成人777| 亚洲码国产岛国毛片在线| 久久久久久久精| 制服丝袜亚洲网站| 色域天天综合网| 99综合电影在线视频| 国产精品亚洲综合一区在线观看| 亚洲午夜久久久久久久久电影院| 国产精品福利av| 国产精品嫩草99a| 久久久久久久一区| 欧美精品一区二区三区一线天视频| 国产成人午夜视频| 国产福利一区在线| 黄一区二区三区| 狠狠久久亚洲欧美| 日韩激情一二三区| 亚洲成人自拍网| 亚洲二区在线视频| 奇米综合一区二区三区精品视频 | 亚洲va国产va欧美va观看| 欧美韩国日本一区| 伊人婷婷欧美激情| 亚洲男人天堂av网| 亚洲一区二区偷拍精品| 亚洲福利视频导航| 日韩电影一二三区| 免费在线欧美视频| 国产一区二区免费视频| 精品一区二区三区日韩| 国内成+人亚洲+欧美+综合在线| 麻豆精品在线看| 久久99精品久久久久| 日韩av一区二| 成人免费看黄yyy456| 99re免费视频精品全部| 3d动漫精品啪啪一区二区竹菊| 午夜免费欧美电影| 亚洲国产精品影院| 美女视频网站久久| 丁香婷婷综合激情五月色| 99re成人在线| 日韩限制级电影在线观看| 精品奇米国产一区二区三区| 国产精品免费丝袜| 亚洲国产wwwccc36天堂| 国产一区二三区| 一本大道久久a久久综合婷婷| 欧美福利视频一区| 中文字幕乱码亚洲精品一区| 亚洲国产精品天堂| 国产高清久久久久| 欧美日韩免费电影| 国产精品麻豆久久久| 蜜桃精品视频在线观看| 色婷婷久久久久swag精品| 欧美精品一区二| 午夜精品久久久久久久99水蜜桃| 国产成人精品亚洲777人妖 | 久久精品在线免费观看| 一区二区在线观看免费| 国产精品123| 欧美一区二区精美| 亚洲精品视频观看| 成人av资源网站| 精品国产伦一区二区三区免费| 一级日本不卡的影视| 成人a区在线观看| 国产亚洲精品7777| 久久福利视频一区二区| 欧美日韩国产一级片| 亚洲欧美福利一区二区| 粉嫩13p一区二区三区| 欧美成人女星排行榜| 亚洲一区二区欧美日韩| 97久久超碰精品国产| 中文字幕欧美区| 国产精品69久久久久水密桃| 日韩欧美激情四射| 日韩专区一卡二卡| 欧美精品久久天天躁| 一个色在线综合| 色哟哟亚洲精品| 亚洲视频小说图片| 99vv1com这只有精品| 国产精品成人在线观看| 国产高清一区日本| 日本一区二区三区高清不卡| 激情欧美日韩一区二区| 欧美v亚洲v综合ⅴ国产v| 奇米影视一区二区三区| 欧美一区二区三级| 久久精品国产一区二区| 日韩一二在线观看| 国产一级精品在线| 国产偷国产偷亚洲高清人白洁| 激情五月播播久久久精品| 2021国产精品久久精品| 国产成人精品免费在线| 国产亚洲精久久久久久| 成人一级视频在线观看| 国产精品三级久久久久三级| 99久久精品国产毛片| 亚洲激情图片小说视频| 色偷偷一区二区三区| 亚洲国产日韩一区二区| 91精品国产综合久久蜜臀| 免费美女久久99| 国产片一区二区| 色噜噜狠狠色综合中国| 亚洲午夜精品网| 日韩精品一区二区三区在线观看 | 国产三级精品视频| 成人中文字幕电影| 亚洲黄色性网站| 欧美一区二区网站| 国产成人精品免费| 夜夜嗨av一区二区三区| 欧美喷潮久久久xxxxx| 国产呦萝稀缺另类资源| 国产精品久久久久久久裸模| 日本乱人伦一区| 久久精品国产精品亚洲综合| 久久久久久一二三区| 在线观看91精品国产入口| 青青草成人在线观看| 中文字幕中文字幕在线一区 | www亚洲一区|