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

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

?? ws.c

?? mplayer播放器的源碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
}void wsPutImage( wsTWindow * win ){ if ( wsUseXShm )  {   XShmPutImage( wsDisplay,win->WindowID,win->wGC,win->xImage,    0,0,    ( win->Width - win->xImage->width ) / 2,( win->Height - win->xImage->height ) / 2,    win->xImage->width,win->xImage->height,0 );  }  else   {    XPutImage( wsDisplay,win->WindowID,win->wGC,win->xImage,    0,0,    ( win->Width - win->xImage->width ) / 2,( win->Height - win->xImage->height ) / 2,    win->xImage->width,win->xImage->height );   }}// ----------------------------------------------------------------------------------------------//    Move window to x, y.// ----------------------------------------------------------------------------------------------void wsMoveWindow( wsTWindow * win,int b,int x, int y ){ if ( b )  {   switch ( x )    {     case -1: win->X=( wsMaxX / 2 ) - ( win->Width / 2 ) + wsOrgX; break;     case -2: win->X=wsMaxX - win->Width + wsOrgX; break;     default: win->X=x; break;    }   switch ( y )    {     case -1: win->Y=( wsMaxY / 2 ) - ( win->Height / 2 ) + wsOrgY; break;     case -2: win->Y=wsMaxY - win->Height + wsOrgY; break;     default: win->Y=y; break;    }  }  else { win->X=x; win->Y=y; } win->SizeHint.flags=PPosition | PWinGravity; win->SizeHint.x=win->X; win->SizeHint.y=win->Y; win->SizeHint.win_gravity=StaticGravity; XSetWMNormalHints( wsDisplay,win->WindowID,&win->SizeHint ); XMoveWindow( wsDisplay,win->WindowID,win->X,win->Y ); if ( win->ReSize ) win->ReSize( win->X,win->Y,win->Width,win->Height );}// ----------------------------------------------------------------------------------------------//    Resize window to sx, sy.// ----------------------------------------------------------------------------------------------void wsResizeWindow( wsTWindow * win,int sx, int sy ){ win->Width=sx; win->Height=sy; win->SizeHint.flags=PPosition | PSize | PWinGravity;// | PBaseSize; win->SizeHint.x=win->X; win->SizeHint.y=win->Y; win->SizeHint.width=win->Width; win->SizeHint.height=win->Height; if ( win->Property & wsMinSize )  {   win->SizeHint.flags|=PMinSize;   win->SizeHint.min_width=win->Width;   win->SizeHint.min_height=win->Height;  } if ( win->Property & wsMaxSize )  {   win->SizeHint.flags|=PMaxSize;   win->SizeHint.max_width=win->Width;   win->SizeHint.max_height=win->Height;  } win->SizeHint.win_gravity=StaticGravity; win->SizeHint.base_width=sx; win->SizeHint.base_height=sy; if ( vo_wm_type == 0 ) XUnmapWindow( wsDisplay,win->WindowID ); XSetWMNormalHints( wsDisplay,win->WindowID,&win->SizeHint ); XResizeWindow( wsDisplay,win->WindowID,sx,sy ); XMapRaised( wsDisplay,win->WindowID ); if ( win->ReSize ) win->ReSize( win->X,win->Y,win->Width,win->Height );}// ----------------------------------------------------------------------------------------------//    Iconify window.// ----------------------------------------------------------------------------------------------void wsIconify( wsTWindow win ){ XIconifyWindow( wsDisplay,win.WindowID,0 ); }// ----------------------------------------------------------------------------------------------//    Move top the window.// ----------------------------------------------------------------------------------------------void wsMoveTopWindow( Display * wsDisplay,Window win ){// XUnmapWindow( wsDisplay,win );// XMapWindow( wsDisplay,win ); XMapRaised( wsDisplay,win ); XRaiseWindow( wsDisplay,win );}// ----------------------------------------------------------------------------------------------//    Set window background to 'color'.// ----------------------------------------------------------------------------------------------void wsSetBackground( wsTWindow * win,int color ){ XSetWindowBackground( wsDisplay,win->WindowID,color ); }void wsSetBackgroundRGB( wsTWindow * win,int r,int g,int b ){ int color = 0; switch ( wsOutMask )  {   case wsRGB32:   case wsRGB24: color=( r << 16 ) + ( g << 8 ) + b;  break;   case wsBGR32:   case wsBGR24: color=( b << 16 ) + ( g << 8 ) + r;  break;   case wsRGB16: PACK_RGB16( b,g,r,color ); break;   case wsBGR16: PACK_RGB16( r,g,b,color ); break;   case wsRGB15: PACK_RGB15( b,g,r,color ); break;   case wsBGR15: PACK_RGB15( r,g,b,color ); break;  } XSetWindowBackground( wsDisplay,win->WindowID,color );}void wsSetForegroundRGB( wsTWindow * win,int r,int g,int b ){ int color = 0; switch ( wsOutMask )  {   case wsRGB32:   case wsRGB24: color=( r << 16 ) + ( g << 8 ) + b;  break;   case wsBGR32:   case wsBGR24: color=( b << 16 ) + ( g << 8 ) + r;  break;   case wsRGB16: PACK_RGB16( b,g,r,color ); break;   case wsBGR16: PACK_RGB16( r,g,b,color ); break;   case wsRGB15: PACK_RGB15( b,g,r,color ); break;   case wsBGR15: PACK_RGB15( r,g,b,color ); break;  } XSetForeground( wsDisplay,win->wGC,color );}// ----------------------------------------------------------------------------------------------//    Draw string at x,y with fc ( foreground color ) and bc ( background color ).// ----------------------------------------------------------------------------------------------void wsDrawString( wsTWindow win,int x,int y,char * str,int fc,int bc ){ XSetForeground( wsDisplay,win.wGC,bc ); XFillRectangle( wsDisplay,win.WindowID,win.wGC,x,y,   XTextWidth( win.Font,str,strlen( str ) ) + 20,   win.FontHeight + 2 ); XSetForeground( wsDisplay,win.wGC,fc ); XDrawString( wsDisplay,win.WindowID,win.wGC,x + 10,y + 13,str,strlen( str ) );}// ----------------------------------------------------------------------------------------------//    Calculation string width.// ----------------------------------------------------------------------------------------------int wsTextWidth( wsTWindow win,char * str ){ return XTextWidth( win.Font,str,strlen( str ) ) + 20; }// ----------------------------------------------------------------------------------------------//    Show / hide mouse cursor.// ----------------------------------------------------------------------------------------------void wsVisibleMouse( wsTWindow * win,int m ){ switch ( m )  {   case wsShowMouseCursor:    if ( win->wsCursor != None )     {      XFreeCursor( wsDisplay,win->wsCursor );      win->wsCursor=None;     }    XDefineCursor( wsDisplay,win->WindowID,0 );    break;   case wsHideMouseCursor:    win->wsCursor=XCreatePixmapCursor( wsDisplay,win->wsCursorPixmap,win->wsCursorPixmap,&win->wsColor,&win->wsColor,0,0 );    XDefineCursor( wsDisplay,win->WindowID,win->wsCursor );    break;  } XFlush( wsDisplay );}int wsGetDepthOnScreen( void ){ int depth; XImage * mXImage; Visual * visual; if( (depth = vo_find_depth_from_visuals( wsDisplay,wsScreen,&visual )) > 0 )  {   mXImage = XCreateImage( wsDisplay,visual,depth,ZPixmap,0,NULL,			   1,1,32,0 );   wsDepthOnScreen = mXImage->bits_per_pixel;   wsRedMask=mXImage->red_mask;   wsGreenMask=mXImage->green_mask;   wsBlueMask=mXImage->blue_mask;#ifdef WORDS_BIGENDIAN   wsNonNativeOrder = mXImage->byte_order == LSBFirst;#else   wsNonNativeOrder = mXImage->byte_order == MSBFirst;#endif   XDestroyImage( mXImage );  } else  {   int                 bpp,ibpp;   XWindowAttributes   attribs;   mXImage=XGetImage( wsDisplay,wsRootWin,0,0,1,1,AllPlanes,ZPixmap );   bpp=mXImage->bits_per_pixel;   XGetWindowAttributes( wsDisplay,wsRootWin,&attribs );   ibpp=attribs.depth;   mXImage=XGetImage( wsDisplay,wsRootWin,0,0,1,1,AllPlanes,ZPixmap );   bpp=mXImage->bits_per_pixel;   if ( ( ibpp + 7 ) / 8 != ( bpp + 7 ) / 8 ) ibpp=bpp;   wsDepthOnScreen=ibpp;   wsRedMask=mXImage->red_mask;   wsGreenMask=mXImage->green_mask;   wsBlueMask=mXImage->blue_mask;   XDestroyImage( mXImage );  } return wsDepthOnScreen;}void wsXDone( void ){ XCloseDisplay( wsDisplay );}void wsVisibleWindow( wsTWindow * win,int show ){ switch( show )  {   case wsShowWindow: XMapRaised( wsDisplay,win->WindowID ); break;   case wsHideWindow: XUnmapWindow( wsDisplay,win->WindowID ); break;  } XFlush( wsDisplay );}void wsDestroyImage( wsTWindow * win ){ if ( win->xImage )  {   XDestroyImage( win->xImage );   if ( wsUseXShm )    {     XShmDetach( wsDisplay,&win->Shminfo );     shmdt( win->Shminfo.shmaddr );    }  } win->xImage=NULL;}void wsCreateImage( wsTWindow * win,int Width,int Height ){ int CompletionType = -1; if ( wsUseXShm )  {   CompletionType=XShmGetEventBase( wsDisplay ) + ShmCompletion;   win->xImage=XShmCreateImage( wsDisplay,win->VisualInfo.visual,                   win->VisualInfo.depth,ZPixmap,NULL,&win->Shminfo,Width,Height );   if ( win->xImage == NULL )    {     mp_msg( MSGT_GPLAYER,MSGL_FATAL,MSGTR_WS_ShmError );     exit( 0 );    }   win->Shminfo.shmid=shmget( IPC_PRIVATE,win->xImage->bytes_per_line * win->xImage->height,IPC_CREAT|0777 );   if ( win->Shminfo.shmid < 0 )    {     XDestroyImage( win->xImage );     mp_msg( MSGT_GPLAYER,MSGL_FATAL,MSGTR_WS_ShmError );     exit( 0 );    }   win->Shminfo.shmaddr=(char *)shmat( win->Shminfo.shmid,0,0 );   if ( win->Shminfo.shmaddr == ((char *) -1) )    {     XDestroyImage( win->xImage );     if ( win->Shminfo.shmaddr != ((char *) -1) ) shmdt( win->Shminfo.shmaddr );     mp_msg( MSGT_GPLAYER,MSGL_FATAL,MSGTR_WS_ShmError );     exit( 0 );    }   win->xImage->data=win->Shminfo.shmaddr;   win->Shminfo.readOnly=0;   XShmAttach( wsDisplay,&win->Shminfo );   shmctl( win->Shminfo.shmid,IPC_RMID,0 );  }  else   {    win->xImage=XCreateImage( wsDisplay,win->VisualInfo.visual,win->VisualInfo.depth,                              ZPixmap,0,0,Width,Height,                              (wsDepthOnScreen == 3) ? 32 : wsDepthOnScreen,                              0 );    if ( ( win->xImage->data=malloc( win->xImage->bytes_per_line * win->xImage->height ) ) == NULL )     {      mp_msg( MSGT_GPLAYER,MSGL_FATAL,MSGTR_WS_NotEnoughMemoryDrawBuffer );      exit( 0 );     }   } win->ImageData=(unsigned char *)win->xImage->data; win->ImageDataw=(unsigned short int *)win->xImage->data; win->ImageDatadw=(unsigned int *)win->xImage->data;}void wsResizeImage( wsTWindow * win,int Width,int Height ){ wsDestroyImage( win ); wsCreateImage( win,Width,Height ); }int wsGetOutMask( void ){ if ( ( wsDepthOnScreen == 32 )&&( wsRedMask == 0xff0000 )&&( wsGreenMask == 0x00ff00 )&&( wsBlueMask == 0x0000ff ) ) return wsRGB32; if ( ( wsDepthOnScreen == 32 )&&( wsRedMask == 0x0000ff )&&( wsGreenMask == 0x00ff00 )&&( wsBlueMask == 0xff0000 ) ) return wsBGR32; if ( ( wsDepthOnScreen == 24 )&&( wsRedMask == 0xff0000 )&&( wsGreenMask == 0x00ff00 )&&( wsBlueMask == 0x0000ff ) ) return wsRGB24; if ( ( wsDepthOnScreen == 24 )&&( wsRedMask == 0x0000ff )&&( wsGreenMask == 0x00ff00 )&&( wsBlueMask == 0xff0000 ) ) return wsBGR24; if ( ( wsDepthOnScreen == 16 )&&( wsRedMask == 0xf800 )&&( wsGreenMask == 0x7e0 )&&( wsBlueMask ==   0x1f ) ) return wsRGB16; if ( ( wsDepthOnScreen == 16 )&&( wsRedMask ==   0x1f )&&( wsGreenMask == 0x7e0 )&&( wsBlueMask == 0xf800 ) ) return wsBGR16; if ( ( wsDepthOnScreen == 15 )&&( wsRedMask == 0x7c00 )&&( wsGreenMask == 0x3e0 )&&( wsBlueMask ==   0x1f ) ) return wsRGB15; if ( ( wsDepthOnScreen == 15 )&&( wsRedMask ==   0x1f )&&( wsGreenMask == 0x3e0 )&&( wsBlueMask == 0x7c00 ) ) return wsBGR15; return 0;}void wsSetTitle( wsTWindow * win,char * name ){ XStoreName( wsDisplay,win->WindowID,name ); }void wsSetMousePosition( wsTWindow * win,int x, int y ){ XWarpPointer( wsDisplay,wsRootWin,win->WindowID,0,0,0,0,x,y ); }#ifdef ENABLE_DPMSstatic int dpms_disabled=0;static int timeout_save=0;void wsScreenSaverOn( Display *mDisplay ){ int nothing;#ifdef HAVE_XDPMS if ( dpms_disabled )  {   if ( DPMSQueryExtension( mDisplay,&nothing,&nothing ) )    {     if ( !DPMSEnable( mDisplay ) ) mp_msg( MSGT_GPLAYER,MSGL_ERR,MSGTR_WS_DpmsUnavailable ); // restoring power saving settings      else       {        // DPMS does not seem to be enabled unless we call DPMSInfo        BOOL onoff;        CARD16 state;        DPMSInfo( mDisplay,&state,&onoff );        if ( onoff ) mp_msg( MSGT_GPLAYER,MSGL_V,"Successfully enabled DPMS.\n" );         else mp_msg( MSGT_GPLAYER,MSGL_STATUS,MSGTR_WS_DpmsNotEnabled );       }    }  }#endif if ( timeout_save )  {   int dummy, interval, prefer_blank, allow_exp;   XGetScreenSaver( mDisplay,&dummy,&interval,&prefer_blank,&allow_exp );   XSetScreenSaver( mDisplay,timeout_save,interval,prefer_blank,allow_exp );   XGetScreenSaver( mDisplay,&timeout_save,&interval,&prefer_blank,&allow_exp );  }}void wsScreenSaverOff( Display * mDisplay ){ int interval,prefer_blank,allow_exp,nothing;#ifdef HAVE_XDPMS if ( DPMSQueryExtension( mDisplay,&nothing,&nothing ) )  {   BOOL onoff;   CARD16 state;   DPMSInfo( mDisplay,&state,&onoff );   if ( onoff )    {      Status stat;      mp_dbg( MSGT_GPLAYER,MSGL_DBG2,"Disabling DPMS.\n" );      dpms_disabled=1;      stat=DPMSDisable( mDisplay );  // monitor powersave off      mp_dbg( MSGT_GPLAYER,MSGL_DBG2,"stat: %d.\n",stat );   }  }#endif XGetScreenSaver( mDisplay,&timeout_save,&interval,&prefer_blank,&allow_exp ); if ( timeout_save ) XSetScreenSaver( mDisplay,0,interval,prefer_blank,allow_exp ); // turning off screensaver}#endifvoid wsSetShape( wsTWindow * win,char * data ){#ifdef HAVE_XSHAPE if ( !wsUseXShape ) return; if ( data )  {   win->Mask=XCreateBitmapFromData( wsDisplay,win->WindowID,data,win->Width,win->Height );   XShapeCombineMask( wsDisplay,win->WindowID,ShapeBounding,0,0,win->Mask,ShapeSet );   XFreePixmap( wsDisplay,win->Mask );  }  else XShapeCombineMask( wsDisplay,win->WindowID,ShapeBounding,0,0,None,ShapeSet );#endif}void wsSetIcon( Display * dsp,Window win,Pixmap icon,Pixmap mask ){ XWMHints * wm; long	    data[2]; Atom	    iconatom;  wm=XGetWMHints( dsp,win ); if ( !wm ) wm=XAllocWMHints(); wm->icon_pixmap=icon; wm->icon_mask=mask; wm->flags|=IconPixmapHint | IconMaskHint; XSetWMHints( dsp,win,wm ); data[0]=icon; data[1]=mask; iconatom=XInternAtom( dsp,"KWM_WIN_ICON",0 ); XChangeProperty( dsp,win,iconatom,iconatom,32,PropModeReplace,(unsigned char *)data,2 );  XFree( wm );}#include "wsmkeys.h"

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美日韩一区| 国产伦精品一区二区三区免费迷| 国产91丝袜在线观看| 久久综合九色综合欧美98| 国产精品原创巨作av| 精品欧美一区二区三区精品久久| 国内一区二区在线| 国产欧美精品日韩区二区麻豆天美| 成人一区二区三区视频| 国产精品乱人伦中文| 色综合天天综合狠狠| 午夜精品视频在线观看| 欧美tickling网站挠脚心| 国产福利一区二区三区视频在线 | 国产91高潮流白浆在线麻豆| 中文av一区二区| 欧美午夜在线一二页| 免费成人在线观看| 久久久久高清精品| 在线观看免费成人| 蜜臀av性久久久久蜜臀aⅴ流畅| 精品91自产拍在线观看一区| 不卡一区二区中文字幕| 午夜视频在线观看一区| 久久久九九九九| 91黄视频在线观看| 黄色日韩三级电影| 亚洲女人****多毛耸耸8| 日韩一区二区三区视频在线| 大美女一区二区三区| 日韩精品一区第一页| 久久精品一区八戒影视| 欧美日韩国产片| 成人午夜电影小说| 男女男精品视频| 中文字幕不卡在线观看| 日韩欧美一二三四区| av一二三不卡影片| 精品一区二区三区免费观看| 亚洲啪啪综合av一区二区三区| 欧美成人激情免费网| 91玉足脚交白嫩脚丫在线播放| 久久精品国内一区二区三区| 亚洲精品中文字幕乱码三区| 精品久久人人做人人爱| 欧美日韩一区二区欧美激情| 成人app软件下载大全免费| 久久99日本精品| 亚洲成a人v欧美综合天堂下载| 国产精品亲子伦对白| 欧美电视剧在线观看完整版| 在线观看一区不卡| 不卡av在线网| 成人高清免费在线播放| 黑人精品欧美一区二区蜜桃| 日韩中文字幕区一区有砖一区 | 欧美另类久久久品| 91丝袜国产在线播放| 蜜桃在线一区二区三区| 亚洲国产视频一区| 亚洲免费在线视频| 亚洲婷婷国产精品电影人久久| 久久久久久久网| 日韩精品中文字幕一区二区三区 | 欧美军同video69gay| 色狠狠一区二区三区香蕉| 粉嫩aⅴ一区二区三区四区| 国产精品18久久久久| 久久草av在线| 精品亚洲国产成人av制服丝袜 | 国产精品亚洲一区二区三区妖精 | 91精品国产欧美一区二区成人| 91视频一区二区三区| 成人av片在线观看| 成人午夜免费电影| 成人一区二区三区视频| 成人免费视频视频在线观看免费 | 麻豆极品一区二区三区| 欧美aaa在线| 国内外精品视频| 国产成人精品亚洲日本在线桃色| 国产高清精品网站| 成人小视频免费观看| 91欧美激情一区二区三区成人| 99久久国产综合精品麻豆| 色999日韩国产欧美一区二区| 99精品偷自拍| 一本色道久久加勒比精品 | 欧美日韩你懂得| 欧美日韩一区高清| 91精品国产入口| 久久久久国色av免费看影院| 国产亚洲婷婷免费| 国产欧美日韩视频一区二区| 国产精品成人免费精品自在线观看| 国产精品视频九色porn| 洋洋成人永久网站入口| 日本亚洲电影天堂| 国产一区二区三区国产| 91尤物视频在线观看| 欧美一区二区性放荡片| 国产亚洲人成网站| 亚洲精品少妇30p| 蜜桃久久久久久久| 成人午夜激情视频| 欧美日韩www| 久久精品人人做人人综合| 专区另类欧美日韩| 日本亚洲电影天堂| 成人av综合一区| 777久久久精品| 中文字幕精品一区| 亚洲成av人片一区二区三区| 精品一区二区免费在线观看| 大白屁股一区二区视频| 欧美性大战久久久久久久蜜臀| 欧美不卡视频一区| 亚洲美女视频在线| 久久不见久久见中文字幕免费| 99久久99久久精品国产片果冻| 91精品国产综合久久国产大片| 国产精品麻豆久久久| 日本欧美大码aⅴ在线播放| youjizz国产精品| 欧美电影免费观看完整版| 中文字幕色av一区二区三区| 蜜桃精品在线观看| 在线看国产一区二区| 久久久亚洲欧洲日产国码αv| 一区二区三区国产豹纹内裤在线| 韩国三级在线一区| 欧美精品久久99| 亚洲欧美另类综合偷拍| 国模套图日韩精品一区二区| 欧美午夜精品电影| 中文字幕日本乱码精品影院| 韩国v欧美v亚洲v日本v| 欧美伦理电影网| 亚洲综合激情另类小说区| 高清成人在线观看| 精品国产区一区| 婷婷中文字幕一区三区| 在线视频欧美精品| 一区免费观看视频| 国产精品正在播放| 欧美大片在线观看| 日韩二区三区四区| 久久久三级国产网站| 日韩精品五月天| 在线看国产一区| 有码一区二区三区| 99精品国产91久久久久久| 久久久精品免费网站| 青青草国产精品亚洲专区无| 91免费国产视频网站| 日韩码欧中文字| av亚洲精华国产精华| 国产精品三级电影| 成人app网站| 中文字幕在线免费不卡| 成人综合日日夜夜| 亚洲国产精品ⅴa在线观看| 国产激情一区二区三区桃花岛亚洲| 欧美大白屁股肥臀xxxxxx| 美女免费视频一区| 精品久久久久久亚洲综合网| 捆绑调教一区二区三区| 日韩欧美高清一区| 麻豆国产精品一区二区三区| 日韩欧美黄色影院| 久久99精品一区二区三区三区| 日韩欧美一级片| 韩国在线一区二区| 亚洲国产高清不卡| 成人午夜电影网站| 亚洲视频图片小说| 欧美三级电影在线观看| 日产国产欧美视频一区精品| 欧美www视频| 大美女一区二区三区| 自拍偷自拍亚洲精品播放| 91激情五月电影| 亚洲超碰97人人做人人爱| 欧美日韩激情在线| 久久国产精品区| 久久午夜国产精品| eeuss鲁片一区二区三区| 一级中文字幕一区二区| 777亚洲妇女| 国产成人免费视| 亚洲日本va午夜在线影院| 欧美色综合天天久久综合精品| 调教+趴+乳夹+国产+精品| 欧美变态tickle挠乳网站| 国产69精品久久99不卡| 一区二区三区在线视频播放| 欧美亚洲另类激情小说| 久久国产精品99精品国产 | 精品成人一区二区三区| 成人激情免费视频|