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

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

?? skl_syswin.cpp

?? mpeg4編解碼器
?? CPP
字號:
/******************************************************** * Some code. Copyright (C) 2003 by Pascal Massimino.   * * All Rights Reserved.      (http://skal.planet-d.net) * * For Educational/Academic use ONLY. See 'LICENSE.TXT'.* ********************************************************//* * skl_syswin.cpp * *  Windows fluff ********************************************************/#ifdef _WINDOWS#include "skl.h"#include "skl_syst/skl_exception.h"#include "skl_syst/skl_syswin.h"#include <direct.h>  // for getcwd()...#define SKL_CLASS_NAME   "SKL"///////////////////////////////////////////////////////////////// MainWndproc. Callback for Win messages /////////////////////////////////////////////////////////////////////long FAR PASCAL MainWndproc( HWND hWnd, UINT message,                             WPARAM wParam, LPARAM lParam ){  switch( message )  {    case WM_SETCURSOR:      SetCursor(NULL);      return 1;    break;    case WM_CREATE:    break;    case WM_PAINT:    {      PAINTSTRUCT ps;      HDC         hdc;      hdc = BeginPaint( hWnd, &ps );      EndPaint( hWnd, &ps );      return 1;    }    break;    case WM_CLOSE:      PostQuitMessage( 0 );    break;    case WM_DESTROY:      PostQuitMessage( 0 );    break;    case WM_MOVE:      return 0;    break;    case WM_DISPLAYCHANGE:    case WM_SIZE:    {//      float x, y, Width, Height;//      SKL_WIN_SYSTEM::Get_Win_Infos( x, y, Width, Height );    }    break;    case WM_KEYDOWN:      if ( wParam==VK_ESCAPE ) PostMessage(hWnd, WM_CLOSE, 0, 0);    break;    case WM_CHAR:      SKL_WIN_SYSTEM::Search(hWnd)->Enqueue(tolower(wParam));      return 0;    break;    case WM_ACTIVATEAPP:      switch(wParam) {        case 0:        break;      }    break;        default:    break;  }  return DefWindowProc(hWnd, message, wParam, lParam);}//////////////////////////////////////////////////////////// SKL_WIN_SYSTEM//////////////////////////////////////////////////////////SKL_WIN_SYSTEM *SKL_WIN_SYSTEM::_List = 0;SKL_WIN_SYSTEM *SKL_WIN_SYSTEM::_Last = 0;HINSTANCE SKL_WIN_SYSTEM::_hInst = 0;SKL_BTM SKL_WIN_SYSTEM::_Display(SKL_MEM);HWND SKL_WIN_SYSTEM::_App_Win = 0;//////////////////////////////////////////////////////////SKL_WIN_SYSTEM::SKL_WIN_SYSTEM(){  if (_App_Win==0)    SKL_WIN_SYSTEM::Init(0);    // HACK!? (for console app...)  _Head = _Tail = 0;  _Win_Shown = 0;  _Win = 0;  _Fullscreen = 0;  _W = _H = 0;  _Next = _List;  _List = this;  _Last = this;  _Is_Active = 0;}SKL_WIN_SYSTEM::~SKL_WIN_SYSTEM(){  for( SKL_WIN_SYSTEM **WS = &_List; (*WS)!=0; WS=&(*WS)->_Next) {    if ((*WS) == this) {      (*WS) = (*WS)->_Next;      break;    }  }  if (_Last==this) _Last = _List;  Kill();}void SKL_WIN_SYSTEM::Kill() {  Destroy_Window();}//////////////////////////////////////////////////////////int SKL_WIN_SYSTEM::Flush_Messages(int Stop_On_Event){  MSG msg;  while( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) )  {    TranslateMessage(&msg);    DispatchMessage(&msg);    if (Stop_On_Event)      if ( !Queue_Empty() ) return 1;  }  return 0;}//////////////////////////////////////////////////////////// keys handlingvoid SKL_WIN_SYSTEM::Enqueue(char c) {   _Queue[_Head++] = c;  if (_Head>=QUEUE_SIZE) _Head = 0;}char SKL_WIN_SYSTEM::Dequeue() {  int c = _Queue[_Tail++];  if (_Tail>=QUEUE_SIZE) _Tail = 0;  return c;}int SKL_WIN_SYSTEM::Has_Key() const{  ((SKL_WIN_SYSTEM*)this)->Flush_Messages(1);  if ( !Queue_Empty() ) return 1;  return 0;}int SKL_WIN_SYSTEM::Get_Key(){  if ( !Queue_Empty() ) return Dequeue();  return 0;}//////////////////////////////////////////////////////////// Windows managmentvoid SKL_WIN_SYSTEM::Set_Position(int x, int y){  if (_Win==0) return;  int W = _W;  int H = _H;/*  RECT Last;  Last.left = Last.top = 0;  Last.right = W; Last.bottom = H;  AdjustWindowRect( &Last, GetWindowLong(_Win, GWL_STYLE), FALSE );  W = Last.right - Last.left;  H = Last.bottom - Last.top;*/  W += 2*GetSystemMetrics(SM_CXSIZEFRAME);  // SM_CXBORDER?  H += 2*GetSystemMetrics(SM_CYSIZEFRAME)   // SM_CYBORDER?        + GetSystemMetrics(SM_CYCAPTION);  SetWindowPos( _Win, NULL,                 x, y, W, H,                (SWP_NOCOPYBITS | SWP_NOZORDER) );}void SKL_WIN_SYSTEM::Set_Name(SKL_CST_STRING Name) {  if (_Win!=0 && Name!=0)    SetWindowText( _Win, Name );}//////////////////////////////////////////////////////////void SKL_WIN_SYSTEM::Adjust_Window( int W, int H,                                    SKL_CST_STRING Name,                                    int Show_Me ){  if ( _Win==0 ) return;  _W = W;  _H = H;  Set_Position( (_Display.Width()-W)/2,(_Display.Height()-H)/2 );  Set_Name(Name);  SetForegroundWindow( _Win );  if (Show_Me) Show_Window();  UpdateWindow( _Win );  SetFocus( _Win );}void SKL_WIN_SYSTEM::Show_Window(){  if ( _Win==0 || _Win_Shown) return;  ShowWindow( _Win, SW_SHOWNORMAL );  //  if (FullScreen) while( ShowCursor(NULL)>= 0 );  _Win_Shown = 1;}void SKL_WIN_SYSTEM::Hide_Window(){  if ( _Win==0 || !_Win_Shown ) return;  ShowWindow( _Win, SW_HIDE );  _Win_Shown = 0;}//////////////////////////////////////////////////////////HWND SKL_WIN_SYSTEM::Init_Window(HINSTANCE HInst){  HWND Win;#if 1  Win = CreateWindowEx(    WS_EX_APPWINDOW,  // WS_EX_TOPMOST,    SKL_CLASS_NAME,    "Linux does it better",    WS_SYSMENU|WS_OVERLAPPED|WS_CAPTION|WS_MINIMIZEBOX|WS_THICKFRAME,    0,0, 0,0,    NULL,    NULL,    HInst,    NULL );#else  Win = CreateWindow(    App_Name, _OUR_CLASS_NAME_,    WS_CAPTION|WS_BORDER|WS_SYSMENU,    CW_USEDEFAULT, CW_USEDEFAULT,    CW_USEDEFAULT,CW_USEDEFAULT,    NULL, NULL, HInst, NULL );#endif  return Win;}int SKL_WIN_SYSTEM::Init_Window(){  if (_Win!=0) Destroy_Window();  _Win = Init_Window( _hInst );  if (_Win==0) return 0;  Hide_Window();  return 1;}int SKL_WIN_SYSTEM::Init_Window(int W, int H, SKL_CST_STRING Name,                                int Show_Me){  if (_Win!=0) Destroy_Window();  _Win = Init_Window( _hInst );  if (_Win==0) return 0;  Adjust_Window(W, H, Name, Show_Me);  return 1;}void SKL_WIN_SYSTEM::Destroy_Window(){  if (_Win==0) return;  Hide_Window();  PostMessage( _Win, WM_CLOSE, 0, 0 );  // Flush_Messages(0);  CloseWindow( _Win );  DestroyWindow( _Win );  _Win = 0;}//////////////////////////////////////////////////////////void SKL_WIN_SYSTEM::Print_Infos() const{  printf("W,H=%dx%d, FullScreen=%d; Ok=%d; Active=%d _Win=0x%x\n",          _W, _H, _Fullscreen, _Win_Shown, _Is_Active, _Win);}void SKL_WIN_SYSTEM::Print_Msg(SKL_CST_STRING Msg, int x, int y) const{  if (_Win==0) return;  HDC hDC = GetDC(_Win);  RECT Rect;   GetClientRect( _Win, &Rect );  if (x<0) x = (Rect.right-Rect.left)/2;  if (y<0) y = (Rect.bottom-Rect.top)/2;  SetTextColor( hDC, RGB( 255,0,0 ) );  SetBkColor( hDC, RGB(0,0,0) );  SetTextAlign( hDC, TA_CENTER );  ExtTextOut(hDC, x, y,             ETO_OPAQUE, NULL,              Msg, strlen(Msg), NULL );  ReleaseDC(_Win, hDC);}void SKL_WIN_SYSTEM::Clear() const{  if (_Win==0) return;  HDC hDC = GetDC(_Win);  RECT Rect;   GetClientRect( _Win, &Rect );  SetBkColor( hDC, RGB(0,0,0) );  // PaintRgn( hDC, hRgn);  ReleaseDC(_Win, hDC);}void SKL_WIN_SYSTEM::Get_Win_Infos(int &Xo, int &Yo,                                   int &Width, int &Height) const{  RECT Rect;  if ( _Fullscreen ) GetWindowRect(_Win, &Rect);  else GetClientRect(_Win, &Rect);  Xo = Rect.left;  Yo = Rect.top;  Width = Rect.right-Rect.left;  Height = Rect.bottom-Rect.top;}//////////////////////////////////////////////////////////// Statics (for main app.)int SKL_WIN_SYSTEM::Init(HINSTANCE h){  _hInst = h;  _List = 0;  WNDCLASS   wc;//   wc.cbSize = sizeof( wc );  wc.style = CS_HREDRAW | CS_VREDRAW;  wc.lpfnWndProc = MainWndproc;  wc.cbClsExtra = 0;  wc.cbWndExtra = 0;  wc.hInstance = h;  wc.hIcon = NULL; // LoadIcon( NULL, IDI_ICON );  // LoadImage(h, _OUR_CLASS_NAME_, IMAGE_ICON, 0,0, LR_DEFAULTCOLOR );  wc.hCursor = NULL; // LoadCursor( NULL, IDC_ARROW );  wc.hbrBackground = NULL; // GetStockObject( BLACK_BRUSH );  wc.lpszMenuName = NULL;  wc.lpszClassName = SKL_CLASS_NAME;  if ( !RegisterClass( &wc ) )    return 1;  ShowCursor( FALSE );  Init_Main_Display(_Display);  _App_Win = Init_Window(_hInst);  return 0;}void SKL_WIN_SYSTEM::Finish() {  Destroy_All_Windows();}void SKL_WIN_SYSTEM::Destroy_All_Windows(){   while( _List!=0 ) delete _List; // side effect!  ShowCursor( TRUE );}SKL_WIN_SYSTEM *SKL_WIN_SYSTEM::Search(HWND w){  if (_Last!=0 && _Last->Get_Win()==w) return _Last;  for( SKL_WIN_SYSTEM *WS = _List; WS!=0; WS=WS->_Next)    if (WS->Get_Win() == w) {      _Last = WS;      return WS;    }  return 0;}//////////////////////////////////////////////////////////int SKL_WIN_SYSTEM::Init_Main_Display(SKL_BTM &Dsp){  HWND Win = Init_Window(_hInst);  HDC hdc = GetDC( Win );  int Dsp_Bpp = GetDeviceCaps( hdc, PLANES ) * GetDeviceCaps( hdc, BITSPIXEL );  ReleaseDC( Win, hdc );  CloseWindow( Win );  DestroyWindow( Win );  SKL_FORMAT Dsp_Fmt = 0x10000;  if (Dsp_Bpp==8) Dsp_Fmt = 0x10000;  else if (Dsp_Bpp==15) Dsp_Fmt = 0x20555;  else if (Dsp_Bpp==16) Dsp_Fmt = 0x20565;  else if (Dsp_Bpp==24) Dsp_Fmt = 0x30888;    // ?!?  else if (Dsp_Bpp==32) Dsp_Fmt = 0x40888;    // ?!?  int Dsp_W = GetSystemMetrics(SM_CXSCREEN);  int Dsp_H = GetSystemMetrics(SM_CYSCREEN);  Dsp.Set_Virtual( Dsp_W, Dsp_H, Dsp_Fmt );  return Dsp_Bpp;}//////////////////////////////////////////////////////////#endif   // _WINDOWS

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人黄色综合网站| 国产在线乱码一区二区三区| 欧美亚洲国产一区在线观看网站| 亚洲人妖av一区二区| 91成人网在线| 午夜视频一区二区| 精品国产免费久久| 粉嫩av一区二区三区粉嫩 | 一区二区三区中文字幕精品精品| 91老司机福利 在线| 亚洲一区免费视频| 精品久久国产97色综合| 国产成人免费av在线| 亚洲柠檬福利资源导航| 欧美日韩不卡一区二区| 国产美女精品在线| 亚洲精品国产第一综合99久久 | 亚洲日本乱码在线观看| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 婷婷久久综合九色国产成人 | 欧美一卡二卡三卡| 国产精品99久久久久久有的能看| 国产精品九色蝌蚪自拍| 欧美日韩视频在线第一区| 激情av综合网| 亚洲黄色免费电影| 精品久久久三级丝袜| 成人在线综合网| 亚洲午夜精品在线| 国产色产综合色产在线视频 | 91精品国产综合久久精品图片| 国产原创一区二区三区| 樱桃国产成人精品视频| 久久综合色之久久综合| 在线观看国产精品网站| 国产揄拍国内精品对白| 亚洲国产wwwccc36天堂| 日本一区二区三区在线观看| 欧美日韩亚洲丝袜制服| 国产成人精品综合在线观看| 日韩精品免费视频人成| 最新国产成人在线观看| 久久综合精品国产一区二区三区 | 日本韩国视频一区二区| 国产一区二区三区久久悠悠色av| 亚洲国产精品麻豆| 国产精品久久久久久久裸模| 日韩片之四级片| 日本精品视频一区二区三区| 成人精品高清在线| 国产在线精品一区二区夜色| 午夜精品一区二区三区免费视频 | 欧美三级电影网| 99re成人在线| 成人激情校园春色| 国产麻豆成人精品| 免费精品99久久国产综合精品| 夜夜嗨av一区二区三区网页 | 国产一级精品在线| 麻豆国产欧美日韩综合精品二区| 亚洲成人黄色影院| 亚洲精品欧美专区| 国产精品不卡一区二区三区| 国产女人aaa级久久久级| 久久久三级国产网站| 精品三级av在线| 日韩视频一区二区在线观看| 欧美另类z0zxhd电影| 欧美日本韩国一区| 欧美日韩一区三区| 欧美日韩成人综合在线一区二区 | 丁香六月综合激情| 国产一区二区成人久久免费影院 | 亚洲aaa精品| 亚洲国产你懂的| 亚洲成av人片www| 午夜精品一区二区三区免费视频| 亚洲成人激情社区| 婷婷久久综合九色国产成人 | 国产精品亚洲成人| 国产乱码精品1区2区3区| 精品无码三级在线观看视频| 韩国av一区二区三区四区| 精品一区二区综合| 国产精品12区| 99久久99久久精品国产片果冻| 成人97人人超碰人人99| 一本色道久久综合狠狠躁的推荐 | 日韩**一区毛片| 蜜桃久久久久久| 国产麻豆视频一区| 99视频一区二区| 欧美亚洲愉拍一区二区| 欧美日韩亚洲综合| 日韩免费性生活视频播放| 精品成人一区二区| 中文字幕av在线一区二区三区| 国产欧美一区二区三区在线老狼| ㊣最新国产の精品bt伙计久久| 亚洲色图视频网| 婷婷久久综合九色国产成人| 九九九精品视频| 国产**成人网毛片九色 | 成人中文字幕电影| 在线观看日韩高清av| 欧美一区二区在线播放| 久久综合九色综合97婷婷女人| 亚洲欧洲韩国日本视频| 亚洲高清一区二区三区| 另类小说图片综合网| 成人国产精品免费观看| 欧美系列亚洲系列| 久久综合给合久久狠狠狠97色69| 亚洲欧美日韩国产一区二区三区 | 捆绑紧缚一区二区三区视频| 成人激情视频网站| 在线不卡中文字幕播放| 国产精品三级视频| 午夜激情一区二区三区| 国产91精品露脸国语对白| 精品视频一区二区不卡| 国产日产欧美一区二区三区| 亚洲国产综合91精品麻豆| 国模一区二区三区白浆| 色菇凉天天综合网| 久久精品亚洲精品国产欧美kt∨| 亚洲精品日韩一| 国产jizzjizz一区二区| 欧美日韩一区三区| 中文字幕在线不卡国产视频| 蜜臀久久99精品久久久久久9 | 国产午夜精品久久久久久免费视| 亚洲一区二区在线播放相泽| 国产精品一区免费在线观看| 欧美日韩免费视频| 国产精品伦理在线| 老司机免费视频一区二区 | 国产91精品在线观看| 欧美一区二区观看视频| 一区二区三区丝袜| av在线播放成人| 久久人人97超碰com| 日本aⅴ亚洲精品中文乱码| 91老师国产黑色丝袜在线| 日本一区二区视频在线观看| 玖玖九九国产精品| 91精品免费在线| 一级日本不卡的影视| 99久久国产综合色|国产精品| 久久久久久影视| 激情综合网av| 日韩免费在线观看| 日日噜噜夜夜狠狠视频欧美人 | 天天色天天操综合| 色综合视频在线观看| 国产精品久久久久久久蜜臀| 国产精品一级二级三级| 日韩精品综合一本久道在线视频| 亚洲第一成年网| 欧美日韩日本视频| 亚洲va欧美va国产va天堂影院| 色8久久人人97超碰香蕉987| 中文字幕日本乱码精品影院| 成人听书哪个软件好| 久久精品人人做| 国产美女精品人人做人人爽| 精品成人在线观看| 国产乱人伦偷精品视频免下载| 欧美一区二区三区公司| 日日夜夜一区二区| 欧美一区二区三区视频免费播放| 午夜欧美电影在线观看| 欧美一区二区性放荡片| 免费一区二区视频| 欧美一区三区二区| 精品一区二区国语对白| 国产午夜亚洲精品不卡| 懂色av一区二区三区蜜臀| 中文字幕日韩精品一区| 91网站在线播放| 偷拍与自拍一区| 日韩欧美www| 国产激情一区二区三区桃花岛亚洲| 国产日韩精品一区| 日本韩国精品一区二区在线观看| 亚洲综合久久久久| 日韩一卡二卡三卡四卡| 韩国av一区二区| 欧美激情中文字幕| 色成人在线视频| 蜜臀av在线播放一区二区三区| 久久亚洲私人国产精品va媚药| 成人免费va视频| 亚洲男女一区二区三区| 欧美精品自拍偷拍| 国产米奇在线777精品观看| 国产精品久久久久影院色老大| 欧美三日本三级三级在线播放| 五月天婷婷综合| 久久久精品国产免大香伊|