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

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

?? skl_drv_x11.cpp

?? mpeg4編解碼器
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
    }    XSetWindowColormap( Dsp, _Win, _XCMap );    XInstallColormap( Dsp, _XCMap );  }     else { _XCMap = (Colormap)None; _Pixels=0; }  return 1;}void SKL_X11_RAW_WIN::Store_CMap(){  if (!Has_CMap()) return;  XColor XColors[ 256 ];  const SKL_COLOR *Cols = Get_CMap().Get_Colors();  int N = Get_CMap().Get_Nb_Colors();  for( int i=0; i<N; ++i )  {    XColors[i].red   = Cols[i].R() << 8;    XColors[i].green = Cols[i].G() << 8;    XColors[i].blue  = Cols[i].B() << 8;    XColors[i].pixel = _Pixels[ i ];    XColors[i].flags = DoRed | DoGreen | DoBlue;  }  Display *Dsp = Get_XDisplay();  XStoreColors( Dsp, _XCMap, XColors, N );}//////////////////////////////////////////////////////////void SKL_X11_RAW_WIN::Set_Position(int Xo, int Yo){  SKL_WINDOW::Set_Position(Xo,Yo);  // updates _Xo and _Yo  Display *Dsp = Get_XDisplay();  int Screen = Get_Screen();  XMoveWindow( Dsp, _Win, Xo, Yo );  XWarpPointer(    Dsp,     RootWindow( Dsp, Screen ),    RootWindow( Dsp, Screen ),    0, 0,     DisplayWidth( Dsp, Screen ), DisplayHeight( Dsp, Screen ),    Xo, Yo );}void SKL_X11_RAW_WIN::Set_Resize_Mode(int Resize){  Display *Dsp = Get_XDisplay();  int Screen = Get_Screen();  XSizeHints Size_Hints;   Size_Hints.width  = Width();  Size_Hints.height = Height();  if (!Resize) {    Size_Hints.min_width = Size_Hints.width;    Size_Hints.max_width = Size_Hints.width;    Size_Hints.min_height = Size_Hints.height;    Size_Hints.max_height = Size_Hints.height;  }  else {    Size_Hints.min_width = 16;    Size_Hints.max_width = DisplayWidth( Dsp, Screen );    Size_Hints.min_height = 16;    Size_Hints.max_height = DisplayHeight( Dsp, Screen );  }  Size_Hints.flags = PSize | PMinSize | PMaxSize;  XSetWMNormalHints( Dsp, _Win, &Size_Hints );}//////////////////////////////////////////////////////////int SKL_X11_RAW_WIN::Hide_Cursor(){  XColor Dummy;  Dummy.flags = 0;   Dummy.pixel = 0;  Dummy.red = Dummy.green = Dummy.blue = 0;  Display *Dsp = Get_XDisplay();  Pixmap Mouse_Void_Pixmap = XCreatePixmap( Dsp, _Win, 1, 1, 1 );  Pixmap Data = XCreateBitmapFromData( Dsp, Mouse_Void_Pixmap,                                      (char *)"\1", 1, 1 );  if ( Data == None )    return 0;       // X server could not even allocate a 1x1 Pixmap <gee> !!  _Void_Cursor = XCreatePixmapCursor(Dsp, Mouse_Void_Pixmap, Mouse_Void_Pixmap,                                     &Dummy, &Dummy,                                     0, 0 );  XDefineCursor( Dsp, _Win, _Void_Cursor );  XFreePixmap( Dsp, Mouse_Void_Pixmap );  return 1;}void SKL_X11_RAW_WIN::Hide() {  Display *Dsp = Get_XDisplay();  if ( _Win!=0 ) XUnmapWindow(Dsp, _Win);  SKL_WINDOW::Hide();}void SKL_X11_RAW_WIN::Show() {  Display *Dsp = Get_XDisplay();  if ( _Win!=0 ) XMapWindow(Dsp, _Win);  SKL_WINDOW::Show();}//////////////////////////////////////////////////////////int SKL_X11_RAW_WIN::Create_XWindow(){  Display *Dsp = Get_XDisplay();  if (_Win!=0) {    XResizeWindow( Dsp, _Win, Width(), Height() );  }  else {      // Border_pixel and dflt Colormap are MANDATORY (on SGI+Sun) :(    SKL_ASSERT(_Root_CMap==None);    _Root_CMap = XCreateColormap(Dsp, RootWindow(Dsp, Get_Screen()), _Visual, AllocNone);    XSetWindowAttributes W_Attribs;    W_Attribs.backing_store = NotUseful; // Always;    W_Attribs.event_mask = X11_MASKS;    W_Attribs.border_pixel = 0;    W_Attribs.colormap = _Root_CMap;    _Win = XCreateWindow(Dsp, RootWindow( Dsp, Get_Screen() ),                         0, 0, Width(), Height(), 0,                         _Depth, InputOutput, _Visual,                         CWBackingStore | CWEventMask | CWBorderPixel | CWColormap,                         &W_Attribs );      if ( _Win==0 ) return 0;    XGCValues gcVals;    _GC = XCreateGC( Dsp, _Win, 0, &gcVals );//    _GC = DefaultGC( Dsp, Screen );    XStoreName(Dsp, _Win, Get_Name());//    XSelectInput( Dsp, _Win, X11_MASKS );  }  return 1;}int SKL_X11_RAW_WIN::Create_XImage(){  Display *Dsp = Get_XDisplay();  _XImg = XCreateImage( Dsp, _Visual,                        _Depth, ZPixmap, 0, 0,                        Width(), Height(), BitmapPad( Dsp ), 0 );  if ( _XImg==0 ) return 0;  int bps = _XImg->bytes_per_line;  _XImg->data = (char*)Get_Mem()->New( _XImg->height*bps * sizeof(char) );  Set_Virtual(Width(), Height(), Format(), (SKL_BYTE*)_XImg->data, bps);  return 1;}int SKL_X11_RAW_WIN::Create_Window(int show){  if (!Create_XWindow()) return 0;  if (!Create_XImage()) return 0;  if (!Create_XCMap()) return 0;  if (!Hide_Cursor()) return 0;    Set_Resize_Mode(0);  if (show) Show();  return 1;}void SKL_X11_RAW_WIN::Real_Unlock(int Xo, int Yo, int W, int H){  Display *Dsp = Get_XDisplay();  SKL_ASSERT(Xo>=0 && Yo>=0 && (W-Xo)<=Width() && (H-Yo)<=Height());  XPutImage( Dsp, _Win, _GC, _XImg,             Xo, Yo, Xo, Yo, W, H);  XFlush(Dsp);}//////////////////////////////////////////////////////////void SKL_X11_RAW_WIN::Translate_X11_Event(XEvent *Event, SKL_EVENT &New){  KeySym  Touche;  char    Buffer;  int Type = Event->type;  if ( Type == KeyPress )  {    if ( XLookupString( (XKeyPressedEvent*)Event,                        &Buffer, 1, &Touche, 0 ) != 1 )//    Touche = XLookupKeysym( (XKeyEvent*)&Event->xkey, 0 );//    if ( Touche!=NoSymbol )    {      if ( Touche == XK_Shift_L || Touche == XK_Shift_R )        New.Add_Modifier(SKL_EVENT::SHIFT_MODIFIER);      if ( Touche == XK_Control_L || Touche == XK_Control_R )        New.Add_Modifier(SKL_EVENT::CTRL_MODIFIER);      if ( Touche == XK_Alt_L || Touche == XK_Alt_R )        New.Add_Modifier(SKL_EVENT::ALT_MODIFIER);      if ( Touche == XK_Left ) New.Add_Modifier(SKL_EVENT::LEFT_MODIFIER);      if ( Touche == XK_Right ) New.Add_Modifier(SKL_EVENT::RIGHT_MODIFIER);      if ( Touche == XK_Up ) New.Add_Modifier(SKL_EVENT::UP_MODIFIER);      if ( Touche == XK_Down ) New.Add_Modifier(SKL_EVENT::DOWN_MODIFIER);    }  }  else if ( Type == KeyRelease )  {    SKL_UINT32 Mod = Event->xkey.state;    if ( Mod & ShiftMask ) New.Add_Modifier(SKL_EVENT::SHIFT_MODIFIER);     if ( Mod & ControlMask ) New.Add_Modifier(SKL_EVENT::CTRL_MODIFIER);    if ( Mod & Mod1Mask ) New.Add_Modifier(SKL_EVENT::ALT_MODIFIER);//    if ( XLookupString( ( XKeyReleasedEvent *)( Event ),//      &Buffer, 1, &Touche, NULL ) != 1 )    Touche = XLookupKeysym( (XKeyEvent*)&Event->xkey, 0 );    if ( Touche==NoSymbol )      return;    if ((Touche>>8)==0xff)   // Special Key    {      if ( (Touche&0xff) == 0x1b )        New.Set_Key(SKL_EVENT::ESCAPE);      else if ( (Touche&0xff) == 0xbe )        New.Set_Key(SKL_EVENT::F1);      else if ( (Touche&0xff) == 0xbf )        New.Set_Key(SKL_EVENT::F2);      else if ( (Touche&0xff) == 0xc0 )        New.Set_Key(SKL_EVENT::F3);      else if ( (Touche&0xff) == 0xc1 )        New.Set_Key(SKL_EVENT::F4);      else if ( (Touche&0xff) == 0xc2 )        New.Set_Key(SKL_EVENT::F5);      else if ( (Touche&0xff) == 0xc3 )        New.Set_Key(SKL_EVENT::F6);      else if ( (Touche&0xff) == 0xc4 )        New.Set_Key(SKL_EVENT::F7);      else if ( (Touche&0xff) == 0xc5 )        New.Set_Key(SKL_EVENT::F8);      else if ( (Touche&0xff) == 0xc6 )        New.Set_Key(SKL_EVENT::F9);      else if ( (Touche&0xff) == 0xc7 )        New.Set_Key(SKL_EVENT::F10);      else if ( (Touche&0xff) == 0xc8 )        New.Set_Key(SKL_EVENT::F11);      else if ( (Touche&0xff) == 0xc9 )        New.Set_Key(SKL_EVENT::F12);//      else fprintf( stderr, "KeySym=0x%x\n", Touche );    }    else New.Set_Key( (int)Touche );    New.Add_Type(SKL_EVENT::KEY_PRESS);  }  else if ( Type==MotionNotify )  {    XMotionEvent *MEvent = ( XMotionEvent *)&Event->xmotion;    SKL_UINT32 But = Event->xbutton.state;    New.Set_Position( MEvent->x, MEvent->y );    New.Add_Type(SKL_EVENT::MOVE);    if ( But & Button1Mask ) New.Add_Type(SKL_EVENT::CLICK1);    else New.Remove_Type(SKL_EVENT::CLICK1);    if ( But & Button2Mask ) New.Add_Type(SKL_EVENT::CLICK2);    else New.Remove_Type(SKL_EVENT::CLICK2);    if ( But & Button3Mask ) New.Add_Type(SKL_EVENT::CLICK3);    else New.Remove_Type(SKL_EVENT::CLICK3);  }  else if ( Type == ButtonRelease )  {    XButtonEvent *BEvent = (XButtonEvent *)&Event->xbutton;    New.Set_Position( BEvent->x, BEvent->y );    SKL_UINT32 But = BEvent->state;    if ( But & Button1Mask ) New.Add_Type(SKL_EVENT::RELEASE1);    if ( But & Button2Mask ) New.Add_Type(SKL_EVENT::RELEASE2);    if ( But & Button3Mask ) New.Add_Type(SKL_EVENT::RELEASE3);  }  else if ( Type == ButtonPress )  {    XButtonEvent *BEvent = (XButtonEvent *)&Event->xbutton;    New.Set_Position( BEvent->x, BEvent->y );    SKL_UINT32 But = BEvent->button;    if ( But & Button1 ) New.Add_Type(SKL_EVENT::CLICK1);    if ( But & Button2 ) New.Add_Type(SKL_EVENT::CLICK2);    if ( But & Button3 ) New.Add_Type(SKL_EVENT::CLICK3);  }}void SKL_X11_RAW_WIN::Get_Event(SKL_EVENT &New){  Display *Dsp = Get_XDisplay();  XEvent Event;  while( XCheckWindowEvent( Dsp, _Win, X11_MASKS, &Event ) )    Translate_X11_Event( &Event, New );}//////////////////////////////////////////////////////////// SKL_X11_SHM_WIN//////////////////////////////////////////////////////////#if defined(SKL_USE_SHM)SKL_X11_SHM_WIN::SKL_X11_SHM_WIN(const SKL_X11_WIN *w, int W, int H)  : SKL_X11_RAW_WIN(w, W, H){  _Shm_Info.shmid = -1;  _Shm_Info.shmaddr = 0;}SKL_X11_SHM_WIN::~SKL_X11_SHM_WIN(){  Clear_Shm();}//////////////////////////////////////////////////////////int SKL_X11_SHM_WIN::Create_XImage(){  Display *Dsp = Get_XDisplay();  int bps;  _XImg = XShmCreateImage( Dsp, _Visual,                           _Depth, ZPixmap, NULL /* no alloc */,                           &_Shm_Info,                           Width(), Height() );  if ( _XImg==0 ) goto Failed;  if ( _XImg->xoffset!=0 ) goto Failed;  bps = _XImg->bytes_per_line;  _Shm_Info.shmid = shmget( IPC_PRIVATE,                             _XImg->height*bps,                            IPC_CREAT | 0777);  if ( _Shm_Info.shmid<0 ) goto Failed;  _Shm_Info.shmaddr = (char*)shmat( _Shm_Info.shmid, 0, 0 );  if ( _Shm_Info.shmaddr==(char*)-1 ) goto Failed;  XSync(Dsp, False);  _Shm_Info.readOnly = False;  if ( !XShmAttach( Dsp, &_Shm_Info ) ) goto Failed;#ifndef COMPLETION_BUG  _Completion_Type = XShmGetEventBase( Dsp ) + ShmCompletion;#endif#ifndef DONT_DETACH_FIRST  shmctl( _Shm_Info.shmid, IPC_RMID, 0 );#endif  _XImg->data = (char*)_Shm_Info.shmaddr;  Set_Virtual(Width(), Height(), Format(), (SKL_BYTE*)_XImg->data, bps);  return 1; Failed:  Clear_Shm();  Cleanup();  return 0;}void SKL_X11_SHM_WIN::Clear_Shm(){  if (_Shm_Info.shmid>=0) {    SKL_ASSERT(_Shm_Info.shmaddr!=0);    shmdt( _Shm_Info.shmaddr );    _Shm_Info.shmaddr = 0;#ifdef DONT_DETACH_FIRST    shmctl( _Shm_Info.shmid, IPC_RMID, 0 );#endif    XShmDetach( Get_XDisplay(), &_Shm_Info );  }  _Shm_Info.shmid = -1;}//////////////////////////////////////////////////////////void SKL_X11_SHM_WIN::Real_Unlock(int Xo, int Yo, int W, int H){  SKL_ASSERT(Xo>=0 && Yo>=0 && (W-Xo)<=Width() && (H-Yo)<=Height());  Display *Dsp = Get_XDisplay();  XShmPutImage( Dsp, _Win, _GC, _XImg,                Xo, Yo, Xo, Yo, W, H, True );  if (_Drv->VSync_Is_On()) {#ifndef COMPLETION_BUG    XEvent Event;    while ( !XCheckTypedWindowEvent(Dsp, _Win, _Completion_Type, &Event) );//    while( XNextEvent(Dsp, &Event) );// SKL_ANY Addr = (SKL_ANY)( _Shm_Info..shmaddr + ((XShmCompletionEvent*)&Event)->offset );                                    #else    XFlush(Dsp); // TODO: Gahhh!#endif  }}#endif  /* SKL_USE_SHM *///////////////////////////////////////////////////////////#endif  /* SKL_USE_X11 */#endif  /* SKL_NO_VIDEO */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区蜜桃网| 五月婷婷综合在线| 一区二区三区四区中文字幕| 奇米一区二区三区| 成人开心网精品视频| 欧美精品日韩精品| 中文字幕亚洲不卡| 久久97超碰国产精品超碰| 色婷婷综合久久久久中文一区二区 | 久久综合九色综合97婷婷| 亚洲精品视频免费看| 国产激情精品久久久第一区二区 | 六月婷婷色综合| 欧美亚洲自拍偷拍| 国产精品萝li| 国产精品一区二区黑丝| 欧美大片国产精品| 午夜精品福利一区二区三区蜜桃| 成人午夜免费电影| 2017欧美狠狠色| 日本视频中文字幕一区二区三区| 成人综合在线观看| 久久精品视频在线看| 蜜臀精品一区二区三区在线观看| 欧美午夜精品免费| 亚洲精品水蜜桃| 99视频精品在线| 亚洲国产精品成人久久综合一区| 国内精品嫩模私拍在线| 日韩一区二区三| 奇米精品一区二区三区在线观看| 欧美日韩高清在线| 日韩在线观看一区二区| 欧美色中文字幕| 亚洲国产成人91porn| 欧美三级三级三级爽爽爽| 一区二区三区四区亚洲| 欧美伊人久久久久久久久影院| 亚洲视频一区在线| 日本电影亚洲天堂一区| 亚洲一区二区三区国产| 欧美日韩你懂得| 丝瓜av网站精品一区二区| 制服丝袜成人动漫| 久久66热re国产| 久久免费看少妇高潮| 高清国产一区二区| 亚洲同性同志一二三专区| 91色乱码一区二区三区| 亚洲线精品一区二区三区| 欧美熟乱第一页| 日本欧美大码aⅴ在线播放| 欧美videos大乳护士334| 国产精品乡下勾搭老头1| 中文字幕日韩精品一区| 欧美性受xxxx| 老司机免费视频一区二区三区| 久久亚洲影视婷婷| 成人免费不卡视频| 亚洲大型综合色站| 精品处破学生在线二十三| 国产福利一区二区三区| 亚洲精品欧美激情| 日韩一区二区三区三四区视频在线观看| 六月婷婷色综合| 中文在线免费一区三区高中清不卡| 91在线云播放| 日韩高清在线电影| 国产亚洲欧美色| 欧美中文字幕不卡| 久久66热偷产精品| 亚洲永久免费视频| 2024国产精品| 在线免费一区三区| 国产一区不卡视频| 洋洋成人永久网站入口| 26uuu成人网一区二区三区| 91网上在线视频| 美女任你摸久久| 亚洲男人的天堂一区二区| 欧美va天堂va视频va在线| 97国产一区二区| 国产在线视频精品一区| 亚洲一区二区在线播放相泽| 久久九九99视频| 欧美日韩亚洲综合在线| 成熟亚洲日本毛茸茸凸凹| 婷婷激情综合网| 亚洲色图19p| 2024国产精品| 91精品国产91久久综合桃花| 99久久er热在这里只有精品15| 日日夜夜免费精品| 亚洲欧洲综合另类在线| 国产精品高潮呻吟久久| 欧美日韩久久久久久| 成人黄色av电影| 国模套图日韩精品一区二区| 亚洲成人激情av| 日韩美女啊v在线免费观看| 精品少妇一区二区三区在线视频| 91久久精品一区二区三区| 国产suv一区二区三区88区| 开心九九激情九九欧美日韩精美视频电影| 亚洲人成网站影音先锋播放| 久久亚洲一区二区三区明星换脸| 欧美一级黄色片| 欧美肥妇free| 欧美美女一区二区| 欧美主播一区二区三区| 91网址在线看| 99re8在线精品视频免费播放| 国产成人丝袜美腿| 国产在线精品一区二区| 精品制服美女丁香| 久久国内精品视频| 美女高潮久久久| 男女男精品视频网| 麻豆精品视频在线观看免费| 日韩电影一二三区| 奇米影视7777精品一区二区| 日本不卡一二三区黄网| 奇米777欧美一区二区| 三级亚洲高清视频| 久久机这里只有精品| 国产又粗又猛又爽又黄91精品| 久久99国产精品久久99果冻传媒 | 国产精品大尺度| 国产精品福利电影一区二区三区四区 | 亚洲精选在线视频| 亚洲成人手机在线| 免费观看30秒视频久久| 久久精品国产成人一区二区三区| 九九在线精品视频| 国产精品一区在线观看你懂的| 国产福利91精品一区二区三区| 丁香婷婷综合五月| 色综合一个色综合| 欧美日韩精品一区视频| 久久久www成人免费毛片麻豆| 日韩美女天天操| 国产农村妇女毛片精品久久麻豆 | 国产91精品在线观看| 成人黄色一级视频| 欧洲日韩一区二区三区| 日韩一区二区免费在线观看| 久久久久久日产精品| 亚洲视频在线一区| 免费精品视频在线| 成人午夜又粗又硬又大| 欧美色大人视频| 精品福利av导航| 综合久久国产九一剧情麻豆| 五月婷婷久久综合| 国产精品综合网| 在线亚洲一区二区| 欧美不卡一区二区三区四区| 国产精品午夜在线| 天天影视涩香欲综合网| 国产成人免费在线观看| 欧美亚一区二区| 国产人妖乱国产精品人妖| 亚洲高清免费观看高清完整版在线观看| 久久国产人妖系列| 色狠狠一区二区| 久久综合九色综合97婷婷女人| 亚洲视频一区二区免费在线观看| 秋霞电影一区二区| 色婷婷久久99综合精品jk白丝| 欧美xxxx老人做受| 亚洲一区二区高清| 丁香亚洲综合激情啪啪综合| 欧美精品自拍偷拍| 国产精品的网站| 国产麻豆视频一区| 欧美剧情片在线观看| 亚洲欧美乱综合| 国产盗摄女厕一区二区三区| 欧美精品 日韩| 亚洲制服欧美中文字幕中文字幕| 国产精华液一区二区三区| 91精品国产综合久久福利软件| 亚洲日穴在线视频| 东方aⅴ免费观看久久av| 精品久久久网站| 日韩成人精品在线| 91精品福利视频| 亚洲天堂中文字幕| 成人国产精品视频| 日本一区二区三区高清不卡| 久久精品国产亚洲aⅴ| 欧美日韩一本到| 一区二区久久久久| 一本久道久久综合中文字幕 | 久久不见久久见中文字幕免费| 欧美午夜精品理论片a级按摩| 亚洲女子a中天字幕| 91在线无精精品入口| 欧美高清在线精品一区| 成人黄页在线观看|