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

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

?? dxutsettingsdlg.cpp

?? VC中使用C#作為腳本引擎編程
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
    }

    const DWORD dwCurResolution = MAKELONG( g_DeviceSettings.pp.BackBufferWidth, 
                                            g_DeviceSettings.pp.BackBufferHeight );

    pResolutionComboBox->SetSelectedByData( ULongToPtr(dwCurResolution) );

    hr = OnResolutionChanged();
    if( FAILED(hr) )
        return hr;

    // DXUTSETTINGSDLG_BACK_BUFFER_FORMAT
    CDXUTComboBox* pBackBufferFormatComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_BACK_BUFFER_FORMAT );
    pBackBufferFormatComboBox->RemoveAllItems();

    CD3DEnumDeviceInfo* pDeviceInfo = GetCurrentDeviceInfo();
    if( pDeviceInfo == NULL )
        return E_FAIL;

    const BOOL bWindowed = IsWindowed();
    bool bHasWindowedBackBuffer = false;

    for( int idc = 0; idc < pDeviceInfo->deviceSettingsComboList.GetSize(); idc++ )
    {
        CD3DEnumDeviceSettingsCombo* pDeviceCombo = pDeviceInfo->deviceSettingsComboList.GetAt( idc );
        if( pDeviceCombo->Windowed == bWindowed &&
            pDeviceCombo->AdapterFormat == g_DeviceSettings.AdapterFormat )
        {
            AddBackBufferFormat( pDeviceCombo->BackBufferFormat );
            bHasWindowedBackBuffer = true;
        }
    }

    pBackBufferFormatComboBox->SetSelectedByData( ULongToPtr(g_DeviceSettings.pp.BackBufferFormat) );

    hr = OnBackBufferFormatChanged();
    if( FAILED(hr) )
        return hr;

    if( !bHasWindowedBackBuffer )
    {
        m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_WINDOWED, false );

        if( g_DeviceSettings.pp.Windowed )
        {
            SetWindowed( false );

            hr = OnWindowedFullScreenChanged();
            if( FAILED(hr) )
                return hr;
        }
    }

    return S_OK;
}


//-------------------------------------------------------------------------------------
HRESULT CD3DSettingsDlg::OnResolutionChanged()
{
    HRESULT hr = S_OK;

    CD3DEnumAdapterInfo* pAdapterInfo = GetCurrentAdapterInfo();
    if( pAdapterInfo == NULL )
        return E_FAIL;

    // Set resolution
    DWORD dwWidth, dwHeight;
    GetSelectedResolution( &dwWidth, &dwHeight );
    g_DeviceSettings.pp.BackBufferWidth = dwWidth;
    g_DeviceSettings.pp.BackBufferHeight = dwHeight;

    DWORD dwRefreshRate = g_DeviceSettings.pp.FullScreen_RefreshRateInHz;

    // Update the refresh rate list
    CDXUTComboBox* pRefreshRateComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_REFRESH_RATE );
    pRefreshRateComboBox->RemoveAllItems();

    D3DFORMAT adapterFormat = g_DeviceSettings.AdapterFormat;
    for( int idm = 0; idm < pAdapterInfo->displayModeList.GetSize(); idm++ )
    {
        D3DDISPLAYMODE displayMode = pAdapterInfo->displayModeList.GetAt( idm );

        if( displayMode.Format == adapterFormat &&
            displayMode.Width == dwWidth &&
            displayMode.Height == dwHeight )
        {
            AddRefreshRate( displayMode.RefreshRate );
        }
    }

    pRefreshRateComboBox->SetSelectedByData( ULongToPtr(dwRefreshRate) );

    hr = OnRefreshRateChanged();
    if( FAILED(hr) )
        return hr;

    return S_OK;
}


//-------------------------------------------------------------------------------------
HRESULT CD3DSettingsDlg::OnRefreshRateChanged()
{
    // Set refresh rate
    g_DeviceSettings.pp.FullScreen_RefreshRateInHz = GetSelectedRefreshRate();

    return S_OK;
}


//-------------------------------------------------------------------------------------
HRESULT CD3DSettingsDlg::OnBackBufferFormatChanged()
{
    HRESULT hr = S_OK;

    g_DeviceSettings.pp.BackBufferFormat = GetSelectedBackBufferFormat();
    
    D3DFORMAT adapterFormat = g_DeviceSettings.AdapterFormat;
    D3DFORMAT backBufferFormat = g_DeviceSettings.pp.BackBufferFormat;

    CD3DEnumDeviceInfo* pDeviceInfo = GetCurrentDeviceInfo();
    if( pDeviceInfo == NULL )
        return E_FAIL;

    bool bAllowSoftwareVP, bAllowHardwareVP, bAllowPureHardwareVP, bAllowMixedVP;
    DXUTGetEnumeration()->GetPossibleVertexProcessingList( &bAllowSoftwareVP, &bAllowHardwareVP, 
                                                           &bAllowPureHardwareVP, &bAllowMixedVP );
    
    for( int idc=0; idc < pDeviceInfo->deviceSettingsComboList.GetSize(); idc++ )
    {
        CD3DEnumDeviceSettingsCombo* pDeviceCombo = pDeviceInfo->deviceSettingsComboList.GetAt( idc );

        if( pDeviceCombo->Windowed == (g_DeviceSettings.pp.Windowed == TRUE) &&
            pDeviceCombo->AdapterFormat == adapterFormat &&
            pDeviceCombo->BackBufferFormat == backBufferFormat )
        {
            CDXUTComboBox* pDepthStencilComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_DEPTH_STENCIL );
            pDepthStencilComboBox->RemoveAllItems();
            pDepthStencilComboBox->SetEnabled( (g_DeviceSettings.pp.EnableAutoDepthStencil == TRUE) ); 

            if( g_DeviceSettings.pp.EnableAutoDepthStencil )
            {
                for( int ifmt=0; ifmt < pDeviceCombo->depthStencilFormatList.GetSize(); ifmt++ )
                {
                    D3DFORMAT fmt = pDeviceCombo->depthStencilFormatList.GetAt( ifmt );

                    AddDepthStencilBufferFormat( fmt );
                }

                pDepthStencilComboBox->SetSelectedByData( ULongToPtr(g_DeviceSettings.pp.AutoDepthStencilFormat) );
            }
            else
            {
                if( !pDepthStencilComboBox->ContainsItem( L"(not used)" ) )
                    pDepthStencilComboBox->AddItem( L"(not used)", NULL );
            }

            hr = OnDepthStencilBufferFormatChanged();
            if( FAILED(hr) )
                return hr;

            CDXUTComboBox* pVertexProcessingComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_VERTEX_PROCESSING );
            pVertexProcessingComboBox->RemoveAllItems();

            // Add valid vertex processing types
            if( bAllowSoftwareVP )
                AddVertexProcessingType( D3DCREATE_SOFTWARE_VERTEXPROCESSING );

            if( bAllowHardwareVP && pDeviceInfo->Caps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT )
                AddVertexProcessingType( D3DCREATE_HARDWARE_VERTEXPROCESSING );

            if( bAllowPureHardwareVP && pDeviceInfo->Caps.DevCaps & D3DDEVCAPS_PUREDEVICE )
                AddVertexProcessingType( D3DCREATE_PUREDEVICE );

            if( bAllowMixedVP && pDeviceInfo->Caps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT )
                AddVertexProcessingType( D3DCREATE_MIXED_VERTEXPROCESSING );

            if( g_DeviceSettings.BehaviorFlags & D3DCREATE_PUREDEVICE )
                pVertexProcessingComboBox->SetSelectedByData( ULongToPtr(D3DCREATE_PUREDEVICE) );
            else if( g_DeviceSettings.BehaviorFlags & D3DCREATE_SOFTWARE_VERTEXPROCESSING )
                pVertexProcessingComboBox->SetSelectedByData( ULongToPtr(D3DCREATE_SOFTWARE_VERTEXPROCESSING) );
            else if( g_DeviceSettings.BehaviorFlags & D3DCREATE_HARDWARE_VERTEXPROCESSING )
                pVertexProcessingComboBox->SetSelectedByData( ULongToPtr(D3DCREATE_HARDWARE_VERTEXPROCESSING) );
            else if( g_DeviceSettings.BehaviorFlags & D3DCREATE_MIXED_VERTEXPROCESSING )
                pVertexProcessingComboBox->SetSelectedByData( ULongToPtr(D3DCREATE_MIXED_VERTEXPROCESSING) );

            hr = OnVertexProcessingChanged();
            if( FAILED(hr) )
                return hr;

            CDXUTComboBox* pPresentIntervalComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_PRESENT_INTERVAL );
            pPresentIntervalComboBox->RemoveAllItems();
            pPresentIntervalComboBox->AddItem( L"On", ULongToPtr(D3DPRESENT_INTERVAL_DEFAULT) );
            pPresentIntervalComboBox->AddItem( L"Off", ULongToPtr(D3DPRESENT_INTERVAL_IMMEDIATE) );

            pPresentIntervalComboBox->SetSelectedByData( ULongToPtr( g_DeviceSettings.pp.PresentationInterval ) );
        
            hr = OnPresentIntervalChanged();
            if( FAILED(hr) )
                return hr;
        }
    }

    return S_OK;
}


//-------------------------------------------------------------------------------------
HRESULT CD3DSettingsDlg::OnDepthStencilBufferFormatChanged()
{
    HRESULT hr = S_OK;

    D3DFORMAT depthStencilBufferFormat = GetSelectedDepthStencilBufferFormat();

    if( g_DeviceSettings.pp.EnableAutoDepthStencil )
        g_DeviceSettings.pp.AutoDepthStencilFormat = depthStencilBufferFormat;

    CD3DEnumDeviceSettingsCombo* pDeviceSettingsCombo = GetCurrentDeviceSettingsCombo();
    if( pDeviceSettingsCombo == NULL )
        return E_FAIL;
    
    CDXUTComboBox* pMultisampleTypeCombo = m_Dialog.GetComboBox( DXUTSETTINGSDLG_MULTISAMPLE_TYPE );
    pMultisampleTypeCombo->RemoveAllItems();

    for( int ims=0; ims < pDeviceSettingsCombo->multiSampleTypeList.GetSize(); ims++ )
    {
        D3DMULTISAMPLE_TYPE msType = pDeviceSettingsCombo->multiSampleTypeList.GetAt( ims );

        bool bConflictFound = false;
        for( int iConf = 0; iConf < pDeviceSettingsCombo->DSMSConflictList.GetSize(); iConf++ )
        {
            CD3DEnumDSMSConflict DSMSConf = pDeviceSettingsCombo->DSMSConflictList.GetAt( iConf );
            if( DSMSConf.DSFormat == depthStencilBufferFormat &&
                DSMSConf.MSType == msType )
            {
                bConflictFound = true;
                break;
            }
        }

        if( !bConflictFound )
            AddMultisampleType( msType );
    }

    CDXUTComboBox* pMultisampleQualityCombo = m_Dialog.GetComboBox( DXUTSETTINGSDLG_MULTISAMPLE_TYPE );
    pMultisampleQualityCombo->SetSelectedByData( ULongToPtr(g_DeviceSettings.pp.MultiSampleType) );

    hr = OnMultisampleTypeChanged();
    if( FAILED(hr) )
        return hr;

    return S_OK;
}


//-------------------------------------------------------------------------------------
HRESULT CD3DSettingsDlg::OnMultisampleTypeChanged()
{
    HRESULT hr = S_OK;

    D3DMULTISAMPLE_TYPE multisampleType = GetSelectedMultisampleType();
    g_DeviceSettings.pp.MultiSampleType = multisampleType;

    CD3DEnumDeviceSettingsCombo* pDeviceSettingsCombo = GetCurrentDeviceSettingsCombo();
    if( pDeviceSettingsCombo == NULL )
        return E_FAIL;

    DWORD dwMaxQuality = 0;
    for( int iType = 0; iType < pDeviceSettingsCombo->multiSampleTypeList.GetSize(); iType++ )
    {
        D3DMULTISAMPLE_TYPE msType = pDeviceSettingsCombo->multiSampleTypeList.GetAt( iType );
        if( msType == multisampleType )
        {
            dwMaxQuality = pDeviceSettingsCombo->multiSampleQualityList.GetAt( iType );
            break;
        }
    }
   
    // DXUTSETTINGSDLG_MULTISAMPLE_QUALITY
    CDXUTComboBox* pMultisampleQualityCombo = m_Dialog.GetComboBox( DXUTSETTINGSDLG_MULTISAMPLE_QUALITY );
    pMultisampleQualityCombo->RemoveAllItems();

    for( UINT iQuality = 0; iQuality < dwMaxQuality; iQuality++ )
    {
        AddMultisampleQuality( iQuality );
    }

    pMultisampleQualityCombo->SetSelectedByData( ULongToPtr(g_DeviceSettings.pp.MultiSampleQuality) );

    hr = OnMultisampleQualityChanged();
    if( FAILED(hr) )
        return hr;

    return S_OK;
}


//-------------------------------------------------------------------------------------
HRESULT CD3DSettingsDlg::OnMultisampleQualityChanged()
{
    g_DeviceSettings.pp.MultiSampleQuality = GetSelectedMultisampleQuality();

    return S_OK;
}


//-------------------------------------------------------------------------------------
HRESULT CD3DSettingsDlg::OnVertexProcessingChanged()
{
    DWORD dwBehavior = g_DeviceSettings.BehaviorFlags;

    // Clear vertex processing flags
    dwBehavior &= ~D3DCREATE_HARDWARE_VERTEXPROCESSING;
    dwBehavior &= ~D3DCREATE_SOFTWARE_VERTEXPROCESSING;
    dwBehavior &= ~D3DCREATE_MIXED_VERTEXPROCESSING;
    dwBehavior &= ~D3DCREATE_PUREDEVICE;

    // Determine new flags
    DWORD dwNewFlags = GetSelectedVertexProcessingType();
    if( dwNewFlags & D3DCREATE_PUREDEVICE )
        dwNewFlags |= D3DCREATE_HARDWARE_VERTEXPROCESSING;

    // Make changes
    g_DeviceSettings.BehaviorFlags = dwBehavior | dwNewFlags;

    return S_OK;
}


//-------------------------------------------------------------------------------------
HRESULT CD3DSettingsDlg::OnPresentIntervalChanged()
{
    g_DeviceSettings.pp.PresentationInterval = GetSelectedPresentInterval();

    return S_OK;
}


//-------------------------------------------------------------------------------------
HRESULT CD3DSettingsDlg::OnDeviceClipChanged()
{

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品家庭影院| 日韩精品一区二区三区视频| 国产精品久久久久一区二区三区共| 国产一区 二区| 欧美激情在线一区二区三区| 成人小视频免费在线观看| 欧美国产精品一区二区三区| 99久久久久久| 亚洲成av人片在www色猫咪| 91麻豆精品国产自产在线观看一区| 日韩国产成人精品| 精品国产凹凸成av人网站| 国产一区二区三区四| 国产精品国产自产拍高清av| 欧美亚洲动漫制服丝袜| 久久99日本精品| 中文字幕一区二区三区在线播放| 91久久免费观看| 美女视频网站久久| 亚洲国产精品成人综合色在线婷婷 | 国产一区在线观看麻豆| 国产精品久久网站| 欧美精品第一页| 成人视屏免费看| 香蕉影视欧美成人| 欧美国产日韩亚洲一区| 欧美曰成人黄网| 国产激情视频一区二区在线观看| 亚洲美女偷拍久久| 精品久久一区二区| 在线免费观看一区| 国产精品综合久久| 香港成人在线视频| 国产精品久久久久久久久免费樱桃 | 成人动漫精品一区二区| 亚洲成人精品一区| 国产女人aaa级久久久级| 欧美喷水一区二区| 99re在线视频这里只有精品| 另类小说综合欧美亚洲| 亚洲欧美二区三区| 久久久久国产精品免费免费搜索| 在线看国产一区二区| 懂色av一区二区三区蜜臀| 午夜精品成人在线视频| 中文字幕二三区不卡| 欧美大片在线观看| 欧美三电影在线| 91在线一区二区| 国产一区二区三区免费看 | 日韩精品五月天| 亚洲色欲色欲www| 日本一区二区三区视频视频| 日韩情涩欧美日韩视频| 欧美日韩免费一区二区三区视频| 99久久精品免费| 国产成人丝袜美腿| 精品亚洲成a人| 日韩在线卡一卡二| 亚洲一级二级三级在线免费观看| 国产精品毛片大码女人| 久久免费国产精品| 亚洲精品一区二区在线观看| 欧美不卡一区二区三区四区| 欧美群妇大交群中文字幕| 欧美性受极品xxxx喷水| 色老汉av一区二区三区| 色综合色狠狠天天综合色| 成人精品一区二区三区四区| 国产jizzjizz一区二区| 国产九色sp调教91| 国产成人综合网| 国产成人精品网址| 国产成人精品亚洲午夜麻豆| 国产ts人妖一区二区| 风间由美一区二区三区在线观看| 国产伦精品一区二区三区在线观看| 免费的国产精品| 麻豆精品一区二区综合av| 热久久免费视频| 麻豆国产一区二区| 精品系列免费在线观看| 国产精品18久久久久久vr| 国产成人8x视频一区二区| 丰满少妇久久久久久久| www.色精品| 日本久久精品电影| 欧美精品久久久久久久多人混战| 91精品国产综合久久香蕉麻豆| 日韩视频不卡中文| 久久色在线观看| 日本一区二区高清| 亚洲精品视频一区| 亚洲高清视频的网址| 美女一区二区三区在线观看| 国产一区二区福利| 99视频在线精品| 精品视频在线视频| 精品国产亚洲在线| 国产精品三级在线观看| 一区二区三区在线观看动漫| 丝袜诱惑亚洲看片| 国产精品一区二区视频| 一本到三区不卡视频| 制服丝袜av成人在线看| 日本一区二区视频在线观看| 玉足女爽爽91| 国产综合色视频| 欧美伊人精品成人久久综合97| 宅男在线国产精品| 国产精品午夜电影| 偷窥少妇高潮呻吟av久久免费| 久久国产乱子精品免费女| 国产91在线|亚洲| 欧美日韩黄视频| 国产亚洲人成网站| 亚洲成人激情自拍| 成人免费视频国产在线观看| 欧美色图12p| 中文子幕无线码一区tr| 亚洲18色成人| av电影在线观看一区| 欧美一级视频精品观看| 亚洲视频图片小说| 韩国一区二区在线观看| 色婷婷综合久久久中文字幕| 2020日本不卡一区二区视频| 一区二区三区日韩精品| 黄色精品一二区| 欧美年轻男男videosbes| 国产性做久久久久久| 日本三级亚洲精品| 91麻豆精品一区二区三区| 精品国产免费一区二区三区香蕉 | 亚洲女同ⅹxx女同tv| 麻豆精品国产91久久久久久| 在线一区二区三区四区五区| 久久精品亚洲精品国产欧美kt∨| 五月天视频一区| 一本到一区二区三区| 中文字幕乱码久久午夜不卡 | 国产目拍亚洲精品99久久精品| 日本在线不卡视频一二三区| 在线视频欧美区| 亚洲欧洲一区二区在线播放| 国产呦萝稀缺另类资源| 日韩一级片在线播放| 午夜天堂影视香蕉久久| 色婷婷精品久久二区二区蜜臀av| 国产精品毛片无遮挡高清| 国产成人在线观看| 久久这里只有精品6| 精品一区二区在线播放| 日韩一区二区免费电影| 青青草原综合久久大伊人精品| 色婷婷国产精品| 亚洲免费av观看| 91最新地址在线播放| 最新日韩av在线| 成人av网在线| 国产精品白丝在线| 成人午夜电影久久影院| 亚洲国产精品国自产拍av| 国产91在线看| 中文字幕一区二区三区色视频| 国产很黄免费观看久久| 久久综合久久综合久久| 国产成人在线看| 国产精品久久久爽爽爽麻豆色哟哟| 国产成人精品一区二| 久久色在线视频| 国产福利一区在线| 国产精品久久久久久户外露出 | 欧美日韩日日摸| 日韩黄色一级片| 日韩欧美一级二级三级久久久| 日本不卡的三区四区五区| 欧美刺激午夜性久久久久久久| 美女看a上一区| 国产亲近乱来精品视频| 99久久婷婷国产综合精品| 亚洲日本韩国一区| 欧美丝袜丝交足nylons图片| 日本欧美大码aⅴ在线播放| 日韩女优毛片在线| 国产sm精品调教视频网站| 亚洲色欲色欲www在线观看| 欧美日韩视频一区二区| 久久疯狂做爰流白浆xx| 国产欧美精品一区aⅴ影院| 91丨porny丨户外露出| 亚洲成在线观看| 精品国产一区二区国模嫣然| 成人高清av在线| 视频一区欧美日韩| 久久人人超碰精品| 色老头久久综合| 精品一区二区三区影院在线午夜| 国产精品天天摸av网| 欧美日韩高清一区二区不卡|