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

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

?? dxut.cpp

?? 聲音和圖片的加載功能,不過運行起來有點卡
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
                    GetDXUTState().SetOverrideStartY( nY );
                    continue;
                }
            }

            if( DXUTIsNextArg( strCmdLine, L"constantframetime" ) )
            {
                float fTimePerFrame;
                if( DXUTGetCmdParam( strCmdLine, strFlag ) )
                    fTimePerFrame = (float)wcstod( strFlag, NULL );
                else
                    fTimePerFrame = 0.0333f;
                GetDXUTState().SetOverrideConstantFrameTime( true );
                GetDXUTState().SetOverrideConstantTimePerFrame( fTimePerFrame );
                DXUTSetConstantFrameTime( true, fTimePerFrame );
                continue;
            }

            if( DXUTIsNextArg( strCmdLine, L"quitafterframe" ) )
            {
                if( DXUTGetCmdParam( strCmdLine, strFlag ) )
                {
                    int nFrame = _wtoi(strFlag);
                    GetDXUTState().SetOverrideQuitAfterFrame( nFrame );
                    continue;
                }
            }

            if( DXUTIsNextArg( strCmdLine, L"noerrormsgboxes" ) )
            {
                GetDXUTState().SetShowMsgBoxOnError( false );
                continue;
            }

            if( DXUTIsNextArg( strCmdLine, L"nostats" ) )
            {
                GetDXUTState().SetNoStats( true );
                continue;
            }

            if( DXUTIsNextArg( strCmdLine, L"relaunchmce" ) )
            {
                GetDXUTState().SetOverrideRelaunchMCE( true );
                continue;
            }

            if( DXUTIsNextArg( strCmdLine, L"automation" ) )
            {
                GetDXUTState().SetAutomation( true );
                continue;
            }
        }

        // Unrecognized flag
        StringCchCopy( strFlag, 256, strCmdLine ); 
        WCHAR* strSpace = strFlag;
        while (*strSpace && (*strSpace > L' '))
            strSpace++;
        *strSpace = 0;

        DXUTOutputDebugString( L"Unrecognized flag: %s", strFlag );
        strCmdLine += wcslen(strFlag);
    }
}


//--------------------------------------------------------------------------------------
// Helper function for DXUTParseCommandLine
//--------------------------------------------------------------------------------------
bool DXUTIsNextArg( WCHAR*& strCmdLine, WCHAR* strArg )
{
    int nArgLen = (int) wcslen(strArg);
    int nCmdLen = (int) wcslen(strCmdLine);

    if( nCmdLen >= nArgLen && 
        _wcsnicmp( strCmdLine, strArg, nArgLen ) == 0 && 
        (strCmdLine[nArgLen] == 0 || strCmdLine[nArgLen] == L':') )
    {
        strCmdLine += nArgLen;
        return true;
    }

    return false;
}


//--------------------------------------------------------------------------------------
// Helper function for DXUTParseCommandLine.  Updates strCmdLine and strFlag 
//      Example: if strCmdLine=="-width:1024 -forceref"
// then after: strCmdLine==" -forceref" and strFlag=="1024"
//--------------------------------------------------------------------------------------
bool DXUTGetCmdParam( WCHAR*& strCmdLine, WCHAR* strFlag )
{
    if( *strCmdLine == L':' )
    {       
        strCmdLine++; // Skip ':'

        // Place NULL terminator in strFlag after current token
        StringCchCopy( strFlag, 256, strCmdLine );
        WCHAR* strSpace = strFlag;
        while (*strSpace && (*strSpace > L' '))
            strSpace++;
        *strSpace = 0;
    
        // Update strCmdLine
        strCmdLine += wcslen(strFlag);
        return true;
    }
    else
    {
        strFlag[0] = 0;
        return false;
    }
}


//--------------------------------------------------------------------------------------
// Creates a window with the specified window title, icon, menu, and 
// starting position.  If DXUTInit() has not already been called, it will
// call it with the default parameters.  Instead of calling this, you can 
// call DXUTSetWindow() to use an existing window.  
//--------------------------------------------------------------------------------------
HRESULT WINAPI DXUTCreateWindow( const WCHAR* strWindowTitle, HINSTANCE hInstance, 
                                 HICON hIcon, HMENU hMenu, int x, int y )
{
    HRESULT hr;

    // Not allowed to call this from inside the device callbacks
    if( GetDXUTState().GetInsideDeviceCallback() )
        return DXUT_ERR_MSGBOX( L"DXUTCreateWindow", E_FAIL );

    GetDXUTState().SetWindowCreateCalled( true );

    if( !GetDXUTState().GetDXUTInited() ) 
    {
        // If DXUTInit() was already called and failed, then fail.
        // DXUTInit() must first succeed for this function to succeed
        if( GetDXUTState().GetDXUTInitCalled() )
            return E_FAIL; 

        // If DXUTInit() hasn't been called, then automatically call it
        // with default params
        hr = DXUTInit();
        if( FAILED(hr) )
            return hr;
    }

    if( DXUTGetHWNDFocus() == NULL )
    {
        if( hInstance == NULL ) 
            hInstance = (HINSTANCE)GetModuleHandle(NULL);
        GetDXUTState().SetHInstance( hInstance );

        WCHAR szExePath[MAX_PATH];
        GetModuleFileName( NULL, szExePath, MAX_PATH );
        if( hIcon == NULL ) // If the icon is NULL, then use the first one found in the exe
            hIcon = ExtractIcon( hInstance, szExePath, 0 ); 

        // Register the windows class
        WNDCLASS wndClass;
        wndClass.style = CS_DBLCLKS;
        wndClass.lpfnWndProc = DXUTStaticWndProc;
        wndClass.cbClsExtra = 0;
        wndClass.cbWndExtra = 0;
        wndClass.hInstance = hInstance;
        wndClass.hIcon = hIcon;
        wndClass.hCursor = LoadCursor( NULL, IDC_ARROW );
        wndClass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
        wndClass.lpszMenuName = NULL;
        wndClass.lpszClassName = L"Direct3DWindowClass";

        if( !RegisterClass( &wndClass ) )
        {
            DWORD dwError = GetLastError();
            if( dwError != ERROR_CLASS_ALREADY_EXISTS )
                return DXUT_ERR_MSGBOX( L"RegisterClass", HRESULT_FROM_WIN32(dwError) );
        }

        // Override the window's initial & size position if there were cmd line args
        if( GetDXUTState().GetOverrideStartX() != -1 )
            x = GetDXUTState().GetOverrideStartX();
        if( GetDXUTState().GetOverrideStartY() != -1 )
            y = GetDXUTState().GetOverrideStartY();

        GetDXUTState().SetWindowCreatedWithDefaultPositions( false );
        if( x == CW_USEDEFAULT && y == CW_USEDEFAULT )
            GetDXUTState().SetWindowCreatedWithDefaultPositions( true );

        // Find the window's initial size, but it might be changed later
        int nDefaultWidth = 640;
        int nDefaultHeight = 480;
        if( GetDXUTState().GetOverrideWidth() != 0 )
            nDefaultWidth = GetDXUTState().GetOverrideWidth();
        if( GetDXUTState().GetOverrideHeight() != 0 )
            nDefaultHeight = GetDXUTState().GetOverrideHeight();

        RECT rc;
        SetRect( &rc, 0, 0, nDefaultWidth, nDefaultHeight );        
        AdjustWindowRect( &rc, WS_OVERLAPPEDWINDOW, ( hMenu != NULL ) ? true : false );

        WCHAR* strCachedWindowTitle = GetDXUTState().GetWindowTitle();
        StringCchCopy( strCachedWindowTitle, 256, strWindowTitle );

        // Create the render window
        HWND hWnd = CreateWindow( L"Direct3DWindowClass", strWindowTitle, WS_OVERLAPPEDWINDOW,
                                  x, y, (rc.right-rc.left), (rc.bottom-rc.top), 0,
                                  hMenu, hInstance, 0 );
        if( hWnd == NULL )
        {
            DWORD dwError = GetLastError();
            return DXUT_ERR_MSGBOX( L"CreateWindow", HRESULT_FROM_WIN32(dwError) );
        }

        GetDXUTState().SetWindowCreated( true );
        GetDXUTState().SetHWNDFocus( hWnd );
        GetDXUTState().SetHWNDDeviceFullScreen( hWnd );
        GetDXUTState().SetHWNDDeviceWindowed( hWnd );
    }

    return S_OK;
}


//--------------------------------------------------------------------------------------
// Sets a previously created window for the framework to use.  If DXUTInit() 
// has not already been called, it will call it with the default parameters.  
// Instead of calling this, you can call DXUTCreateWindow() to crea

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区中文字幕精品精品| 91丨九色丨黑人外教| 国产凹凸在线观看一区二区| 91久久人澡人人添人人爽欧美 | 麻豆精品久久精品色综合| 成人一区在线观看| 日韩欧美在线一区二区三区| 亚洲日本在线看| 国产福利精品一区| 日韩欧美中文字幕公布| 亚洲成人自拍偷拍| 色网站国产精品| 国产精品久久99| 国产白丝精品91爽爽久久| 精品欧美一区二区三区精品久久| 亚洲国产日韩一区二区| 99久久综合狠狠综合久久| 久久蜜桃av一区精品变态类天堂| 麻豆高清免费国产一区| 欧美精品 日韩| 亚洲 欧美综合在线网络| 欧美中文字幕一区二区三区亚洲 | 亚洲资源中文字幕| 成人高清视频免费观看| 久久久久国产精品免费免费搜索| 韩国毛片一区二区三区| 亚洲精品在线电影| 国产剧情一区在线| 精品国精品自拍自在线| 蜜桃传媒麻豆第一区在线观看| 欧美日韩国产一级片| 亚洲一区二区影院| 欧美高清hd18日本| 免费成人在线影院| 欧美成人一区二区三区在线观看| 麻豆精品精品国产自在97香蕉| 日韩一级完整毛片| 极品少妇一区二区| 国产视频在线观看一区二区三区| 国产成人综合亚洲网站| 欧美国产日韩在线观看| 99视频超级精品| 亚洲精品美国一| 欧美妇女性影城| 精品一区二区三区在线视频| 久久奇米777| av资源网一区| 丝袜亚洲精品中文字幕一区| 91精品婷婷国产综合久久竹菊| 精品亚洲国产成人av制服丝袜| 国产午夜一区二区三区| 99这里只有久久精品视频| 亚洲乱码国产乱码精品精98午夜 | 中文字幕乱码一区二区免费| 色欧美88888久久久久久影院| 亚洲3atv精品一区二区三区| 欧美成人在线直播| 99久久精品免费| 亚欧色一区w666天堂| 精品成人佐山爱一区二区| 成人午夜激情在线| 亚洲成人午夜电影| 国产亚洲综合在线| 色噜噜狠狠色综合中国| 九色|91porny| 亚洲激情网站免费观看| 日韩三级av在线播放| 99re成人精品视频| 九九精品一区二区| 一区二区三区在线高清| 欧美精品一区二区在线观看| 91小视频在线观看| 狠狠色丁香婷综合久久| 亚洲综合久久久久| 久久综合九色综合欧美就去吻 | 亚洲黄色av一区| 久久综合久久鬼色| 欧美四级电影在线观看| 91网页版在线| 亚洲综合成人在线| 日本高清不卡视频| 久久99久国产精品黄毛片色诱| 国产精品久久久久久久第一福利| 欧美日韩国产免费| av网站免费线看精品| 蜜臀av性久久久久av蜜臀妖精| 国产精品美女久久久久久| 欧美精品电影在线播放| 色综合久久88色综合天天免费| 黄页视频在线91| 天天av天天翘天天综合网色鬼国产 | 欧美日韩高清一区| 成人国产精品免费观看动漫| 久久99国产精品久久| 日韩在线a电影| 一区二区三区四区国产精品| 日本一区二区动态图| 日韩精品一区二区三区视频在线观看| 欧美影院午夜播放| 99国产精品国产精品久久| 欧美喷水一区二区| 成人h精品动漫一区二区三区| 久久精品国产亚洲5555| 人人狠狠综合久久亚洲| 日日夜夜一区二区| 亚洲亚洲人成综合网络| 亚洲欧美日韩中文播放| 国产精品色婷婷| 国产精品人妖ts系列视频| 久久久不卡影院| 日本一区免费视频| 国产亚洲人成网站| 久久精品人人做人人爽97| 久久蜜桃香蕉精品一区二区三区| 欧美精品一区男女天堂| 精品国产一区二区三区不卡| 日韩三级精品电影久久久| 日韩欧美第一区| 日韩免费看的电影| 精品久久久久久久久久久久包黑料| 91麻豆精品国产91| 日韩一区二区三区免费看| 欧美成va人片在线观看| 久久夜色精品一区| 国产精品久久夜| 一区二区三区在线播放| 日韩精品国产精品| 久久精品国产成人一区二区三区 | 一区二区三区在线免费| 亚洲成av人片在线| 日韩av电影天堂| 国产美女主播视频一区| 成人小视频在线| 色婷婷精品久久二区二区蜜臂av | 免费在线看成人av| 激情综合网av| 成人国产亚洲欧美成人综合网| 不卡av在线网| 69久久99精品久久久久婷婷 | 欧美一级日韩不卡播放免费| 精品久久久久久亚洲综合网| 国产精品美日韩| 亚洲不卡av一区二区三区| 麻豆精品蜜桃视频网站| 成人国产亚洲欧美成人综合网 | 97久久超碰国产精品| 欧美日韩国产大片| 久久久精品蜜桃| 亚洲综合清纯丝袜自拍| 韩国av一区二区| 欧美在线视频全部完| 精品久久久久一区| 亚洲欧美电影院| 韩国精品在线观看| 欧美在线观看一二区| 久久久久久久综合色一本| 亚洲综合一区二区| 国产成人99久久亚洲综合精品| 在线亚洲一区二区| 久久精品亚洲精品国产欧美| 亚洲欧美偷拍另类a∨色屁股| 蜜臀av在线播放一区二区三区| 成人aaaa免费全部观看| 日韩一区二区三区四区五区六区| 中文字幕欧美一| 国产精品综合视频| 欧美狂野另类xxxxoooo| 亚洲日本在线视频观看| 国产九色精品成人porny| 欧美疯狂做受xxxx富婆| 亚洲欧美成aⅴ人在线观看| 国产精品资源在线| 日韩欧美精品三级| 亚洲黄色av一区| av不卡免费电影| 久久久久久免费毛片精品| 免费成人小视频| 欧美怡红院视频| 亚洲日本在线观看| 成人91在线观看| 中文字幕精品在线不卡| 国产一区二区不卡| 精品999久久久| 美美哒免费高清在线观看视频一区二区 | 亚洲国产视频在线| 91视频com| 国产精品国产自产拍在线| 国产一区二区中文字幕| 欧美成人aa大片| 青草av.久久免费一区| 91麻豆精品国产91久久久资源速度| 一区二区免费视频| 91精彩视频在线| 一区二区三区小说| 在线中文字幕不卡| 亚洲亚洲人成综合网络| 欧洲生活片亚洲生活在线观看| 亚洲欧美另类小说| 欧美亚洲综合色| 天堂一区二区在线|