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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? dxutsettingsdlg.cpp

?? VC中使用C#作為腳本引擎編程
?? CPP
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
                if( DXUTIsWindowed() )
                    GetClientRect( DXUTGetHWND(), &rcClient );
                else
                    rcClient = DXUTGetWindowClientRectAtModeChange();
                DWORD dwWindowWidth  = rcClient.right - rcClient.left;
                DWORD dwWindowHeight = rcClient.bottom - rcClient.top;

                g_DeviceSettings.pp.BackBufferWidth = dwWindowWidth;
                g_DeviceSettings.pp.BackBufferHeight = dwWindowHeight;
            }

            if( g_DeviceSettings.pp.MultiSampleType != D3DMULTISAMPLE_NONE )
            {
                g_DeviceSettings.pp.Flags &= ~D3DPRESENTFLAG_LOCKABLE_BACKBUFFER;
            }

            DXUTCreateDeviceFromSettings( &g_DeviceSettings );

            SetActive( false );
            break;
        }

        case DXUTSETTINGSDLG_CANCEL:                
        {
            SetActive( false );
            break;
        }

    }
}


//-------------------------------------------------------------------------------------
HRESULT CD3DSettingsDlg::SetDeviceSettingsFromUI()
{
    CDXUTComboBox* pComboBox;
    CDXUTRadioButton* pRadioButton;

    // DXUTSETTINGSDLG_DEVICE_TYPE
    pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_DEVICE_TYPE );
    g_DeviceSettings.DeviceType = (D3DDEVTYPE) PtrToUlong( pComboBox->GetSelectedData() );
    
    // DXUTSETTINGSDLG_WINDOWED
    pRadioButton = m_Dialog.GetRadioButton( DXUTSETTINGSDLG_WINDOWED );
    g_DeviceSettings.pp.Windowed = pRadioButton->GetChecked();

    // DXUTSETTINGSDLG_ADAPTER_FORMAT
    pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_ADAPTER_FORMAT );
    g_DeviceSettings.AdapterFormat = (D3DFORMAT) PtrToUlong( pComboBox->GetSelectedData() );
    

    if( g_DeviceSettings.pp.Windowed )
    {
        g_DeviceSettings.pp.BackBufferFormat = D3DFMT_UNKNOWN;
        g_DeviceSettings.pp.FullScreen_RefreshRateInHz = 0;
    }
    else
    {
        // DXUTSETTINGSDLG_BACK_BUFFER_FORMAT
        pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_BACK_BUFFER_FORMAT );
        g_DeviceSettings.pp.BackBufferFormat = (D3DFORMAT) PtrToUlong( pComboBox->GetSelectedData() );
    
        // DXUTSETTINGSDLG_RESOLUTION
        pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_RESOLUTION );
        DWORD dwResolution = PtrToUlong( pComboBox->GetSelectedData() );
        g_DeviceSettings.pp.BackBufferWidth = HIWORD( dwResolution );
        g_DeviceSettings.pp.BackBufferHeight = LOWORD( dwResolution );
        
        // DXUTSETTINGSDLG_REFRESH_RATE
        pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_REFRESH_RATE );
        g_DeviceSettings.pp.FullScreen_RefreshRateInHz = PtrToUlong( pComboBox->GetSelectedData() );
    }

    // DXUTSETTINGSDLG_DEPTH_STENCIL
    pComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_DEPTH_STENCIL );
    g_DeviceSettings.pp.AutoDepthStencilFormat = (D3DFORMAT) PtrToUlong( pComboBox->GetSelectedData() );
    
    return S_OK;
}


//-------------------------------------------------------------------------------------
CD3DEnumAdapterInfo* CD3DSettingsDlg::GetCurrentAdapterInfo()
{
    CD3DEnumeration* pD3DEnum = DXUTGetEnumeration();
    return pD3DEnum->GetAdapterInfo( g_DeviceSettings.AdapterOrdinal );
}


//-------------------------------------------------------------------------------------
CD3DEnumDeviceInfo* CD3DSettingsDlg::GetCurrentDeviceInfo()
{
    CD3DEnumeration* pD3DEnum = DXUTGetEnumeration();
    return pD3DEnum->GetDeviceInfo( g_DeviceSettings.AdapterOrdinal,
                                      g_DeviceSettings.DeviceType );
}


//-------------------------------------------------------------------------------------
CD3DEnumDeviceSettingsCombo* CD3DSettingsDlg::GetCurrentDeviceSettingsCombo()
{
    CD3DEnumeration* pD3DEnum = DXUTGetEnumeration();
    return pD3DEnum->GetDeviceSettingsCombo( g_DeviceSettings.AdapterOrdinal,
                                             g_DeviceSettings.DeviceType,
                                             g_DeviceSettings.AdapterFormat,
                                             g_DeviceSettings.pp.BackBufferFormat,
                                             (g_DeviceSettings.pp.Windowed == TRUE) );
}


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

    // Store the adapter index
    g_DeviceSettings.AdapterOrdinal = GetSelectedAdapter();
    
    // DXUTSETTINGSDLG_DEVICE_TYPE
    CDXUTComboBox* pDeviceTypeComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_DEVICE_TYPE );
    pDeviceTypeComboBox->RemoveAllItems();
 
    CD3DEnumAdapterInfo* pAdapterInfo = GetCurrentAdapterInfo();
    if( pAdapterInfo == NULL )
        return E_FAIL;

    for( int iDeviceInfo=0; iDeviceInfo < pAdapterInfo->deviceInfoList.GetSize(); iDeviceInfo++ )
    {
        CD3DEnumDeviceInfo* pDeviceInfo = pAdapterInfo->deviceInfoList.GetAt(iDeviceInfo);
        AddDeviceType( pDeviceInfo->DeviceType );
    }

    pDeviceTypeComboBox->SetSelectedByData( ULongToPtr(g_DeviceSettings.DeviceType) );

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

    return S_OK; 
}



//-------------------------------------------------------------------------------------
HRESULT CD3DSettingsDlg::OnDeviceTypeChanged()
{
    HRESULT hr = S_OK;
    
    g_DeviceSettings.DeviceType = GetSelectedDeviceType();
   
    // Update windowed/full screen radio buttons
    bool bHasWindowedDeviceCombo = false;
    bool bHasFullScreenDeviceCombo = false;

    CD3DEnumDeviceInfo* pDeviceInfo = GetCurrentDeviceInfo();
    if( pDeviceInfo == NULL )
        return E_FAIL;
            
    for( int idc = 0; idc < pDeviceInfo->deviceSettingsComboList.GetSize(); idc++ )
    {
        CD3DEnumDeviceSettingsCombo* pDeviceSettingsCombo = pDeviceInfo->deviceSettingsComboList.GetAt( idc );

        if( pDeviceSettingsCombo->Windowed )
            bHasWindowedDeviceCombo = true;
        else
            bHasFullScreenDeviceCombo = true;
    }

    // DXUTSETTINGSDLG_WINDOWED, DXUTSETTINGSDLG_FULLSCREEN
    m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_WINDOWED, bHasWindowedDeviceCombo );
    m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_FULLSCREEN, bHasFullScreenDeviceCombo );

    SetWindowed( g_DeviceSettings.pp.Windowed && bHasWindowedDeviceCombo );

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

    return S_OK;
}



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

    bool bWindowed = IsWindowed();
    g_DeviceSettings.pp.Windowed = bWindowed;

    m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_ADAPTER_FORMAT_LABEL, !bWindowed );
    m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_RESOLUTION_LABEL, !bWindowed );
    m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_REFRESH_RATE_LABEL, !bWindowed );

    m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_ADAPTER_FORMAT, !bWindowed );
    m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_RESOLUTION, !bWindowed );
    m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_RESOLUTION_SHOW_ALL, !bWindowed );
    m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_REFRESH_RATE, !bWindowed );
    m_Dialog.SetControlEnabled( DXUTSETTINGSDLG_DEVICECLIP, bWindowed );

    bool bDeviceClip = ( 0x0 != (g_DeviceSettings.pp.Flags & D3DPRESENTFLAG_DEVICECLIP) );

    // If windowed, get the appropriate adapter format from Direct3D
    if( g_DeviceSettings.pp.Windowed )
    {
        IDirect3D9* pD3D = DXUTGetD3DObject();
        if( pD3D == NULL )
            return DXTRACE_ERR( L"DXUTGetD3DObject", E_FAIL );

        D3DDISPLAYMODE mode;
        hr = pD3D->GetAdapterDisplayMode( g_DeviceSettings.AdapterOrdinal, &mode );
        if( FAILED(hr) )
            return DXTRACE_ERR( L"GetAdapterDisplayMode", hr );

        // Default resolution to the fullscreen res that was last used
        RECT rc = DXUTGetFullsceenClientRectAtModeChange();
        if( rc.right == 0 || rc.bottom == 0 )
        {
            // If nothing last used, then default to the adapter desktop res
            g_DeviceSettings.pp.BackBufferWidth = mode.Width;
            g_DeviceSettings.pp.BackBufferHeight = mode.Height;
        }
        else
        {
            g_DeviceSettings.pp.BackBufferWidth = rc.right;
            g_DeviceSettings.pp.BackBufferHeight = rc.bottom;
        }

        g_DeviceSettings.AdapterFormat = mode.Format;
        g_DeviceSettings.pp.FullScreen_RefreshRateInHz = mode.RefreshRate;
    }

    const D3DFORMAT adapterFormat = g_DeviceSettings.AdapterFormat;
    const DWORD dwWidth = g_DeviceSettings.pp.BackBufferWidth;
    const DWORD dwHeight = g_DeviceSettings.pp.BackBufferHeight;
    const DWORD dwRefreshRate = g_DeviceSettings.pp.FullScreen_RefreshRateInHz;

    // DXUTSETTINGSDLG_DEVICECLIP
    SetDeviceClip( bDeviceClip );
    
    // DXUTSETTINGSDLG_ADAPTER_FORMAT
    CDXUTComboBox* pAdapterFormatComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_ADAPTER_FORMAT );
    if( pAdapterFormatComboBox == NULL )
        return E_FAIL;
    pAdapterFormatComboBox->RemoveAllItems();

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

    if( bWindowed )
    {
        AddAdapterFormat( adapterFormat );
    }
    else
    {
        for( int iSettingsCombo=0; iSettingsCombo < pDeviceInfo->deviceSettingsComboList.GetSize(); iSettingsCombo++ )
        {
            CD3DEnumDeviceSettingsCombo* pSettingsCombo = pDeviceInfo->deviceSettingsComboList.GetAt(iSettingsCombo);
            AddAdapterFormat( pSettingsCombo->AdapterFormat );
        }    
    }

    pAdapterFormatComboBox->SetSelectedByData( ULongToPtr(adapterFormat) );

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

    // DXUTSETTINGSDLG_RESOLUTION
    CDXUTComboBox* pResolutionComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_RESOLUTION );
    
    if( bWindowed )
    {
        pResolutionComboBox->RemoveAllItems();
        AddResolution( dwWidth, dwHeight );
    }

    pResolutionComboBox->SetSelectedByData( ULongToPtr( MAKELONG(dwWidth, dwHeight) ) );
    
    hr = OnResolutionChanged();
    if( FAILED(hr) )
        return hr;

    // DXUTSETTINGSDLG_REFRESH_RATE
    CDXUTComboBox* pRefreshRateComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_REFRESH_RATE );
    
    if( bWindowed )
    {
        pRefreshRateComboBox->RemoveAllItems();
        AddRefreshRate( dwRefreshRate );
    }
    
    pRefreshRateComboBox->SetSelectedByData( ULongToPtr(dwRefreshRate) ); 

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

    return S_OK;
}


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

    // DXUTSETTINGSDLG_ADAPTER_FORMAT
    D3DFORMAT adapterFormat = GetSelectedAdapterFormat();
    g_DeviceSettings.AdapterFormat = adapterFormat;

    // DXUTSETTINGSDLG_RESOLUTION
    CDXUTComboBox* pResolutionComboBox = m_Dialog.GetComboBox( DXUTSETTINGSDLG_RESOLUTION );
    pResolutionComboBox->RemoveAllItems();

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

    bool bShowAll = m_Dialog.GetCheckBox( DXUTSETTINGSDLG_RESOLUTION_SHOW_ALL )->GetChecked();

    // Get the desktop aspect ratio
    D3DDISPLAYMODE dmDesktop;
    DXUTGetDesktopResolution( g_DeviceSettings.AdapterOrdinal, &dmDesktop.Width, &dmDesktop.Height );
    float fDesktopAspectRatio = dmDesktop.Width / (float)dmDesktop.Height;

    for( int idm = 0; idm < pAdapterInfo->displayModeList.GetSize(); idm++ )
    {
        D3DDISPLAYMODE DisplayMode = pAdapterInfo->displayModeList.GetAt( idm );
        float fAspect = (float)DisplayMode.Width / (float)DisplayMode.Height;

        if( DisplayMode.Format == adapterFormat )
        {
            // If "Show All" is not checked, then hide all resolutions
            // that don't match the aspect ratio of the desktop resolution
            if( bShowAll || (!bShowAll && fabsf(fDesktopAspectRatio - fAspect) < 0.05f) )
            {
                AddResolution( DisplayMode.Width, DisplayMode.Height );    
            }
        }

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩三级视频在线观看| 欧美蜜桃一区二区三区| 亚洲成av人**亚洲成av**| 日本一区二区高清| 精品国产一区二区三区av性色 | 午夜日韩在线电影| 亚洲私人影院在线观看| 国产精品三级视频| 久久久精品影视| 欧美精品一区二区三区蜜桃 | 欧美精品一区二区久久久| 91精品在线一区二区| 欧美日韩一区高清| 欧美日韩视频在线第一区| 日韩黄色免费电影| 日韩久久久精品| 色婷婷av久久久久久久| www.欧美色图| 波多野结衣在线一区| 成人午夜免费av| 不卡视频一二三| a4yy欧美一区二区三区| 99在线视频精品| av在线播放不卡| 99re亚洲国产精品| 91一区在线观看| 91久久精品网| 欧美亚洲一区二区在线观看| 久久九九久久九九| 国产拍揄自揄精品视频麻豆| 欧美激情综合网| 亚洲欧洲国产专区| 亚洲免费高清视频在线| 亚洲精品亚洲人成人网| 亚洲成人精品一区二区| 日韩电影在线观看电影| 久久99国内精品| 国产精品一二三四五| 成人国产亚洲欧美成人综合网| 麻豆精品国产91久久久久久| 天天操天天综合网| 国产99精品视频| 91视频精品在这里| 欧美另类高清zo欧美| 日韩欧美亚洲另类制服综合在线| 久久久亚洲国产美女国产盗摄| 国产精品色眯眯| 亚洲国产精品一区二区久久 | 男人的天堂久久精品| 久久99国产精品久久99果冻传媒| 伦理电影国产精品| 成人动漫中文字幕| 欧美日本国产视频| 2欧美一区二区三区在线观看视频| 国产欧美一区二区精品性色超碰| 亚洲人成人一区二区在线观看 | 亚洲激情成人在线| 日韩影院在线观看| 国产不卡免费视频| 精品1区2区3区| 精品剧情在线观看| 亚洲精品视频在线看| 日韩黄色片在线观看| 风间由美一区二区三区在线观看 | 国产精品蜜臀av| 午夜在线成人av| 国产成人精品三级麻豆| 欧美影视一区在线| 久久无码av三级| 一区二区三区在线视频观看| 久久av资源网| 色综合色狠狠综合色| 欧美精品免费视频| 99九九99九九九视频精品| 日韩欧美高清dvd碟片| 亚洲欧美日韩在线| 极品少妇xxxx精品少妇| 欧美亚洲一区二区在线| 欧美—级在线免费片| 日韩不卡一二三区| 在线欧美一区二区| 欧美国产欧美综合| 精品一区二区综合| 欧美日韩国产另类一区| 国产精品情趣视频| 黄色成人免费在线| 欧美精品高清视频| 亚洲激情网站免费观看| 高清不卡在线观看| 国产日韩v精品一区二区| 日韩制服丝袜先锋影音| 一本一本大道香蕉久在线精品| 久久久天堂av| 毛片不卡一区二区| 欧美日韩中文字幕精品| 亚洲色图欧美偷拍| 成人精品视频一区二区三区尤物| 日韩精品中午字幕| 性久久久久久久| 欧美日韩精品一区二区三区蜜桃 | 久久久久久久久久久黄色| 亚洲午夜视频在线| av在线不卡免费看| 国产精品私人影院| 懂色av一区二区三区免费看| 日韩免费成人网| 奇米一区二区三区av| 欧美精品v国产精品v日韩精品| 亚洲人成网站色在线观看| 在线看日韩精品电影| 亚洲综合丝袜美腿| 99精品欧美一区二区三区小说| 欧美国产成人在线| 国产成人高清在线| 久久久久久久性| 国产精品白丝jk白祙喷水网站 | 欧美成人免费网站| 美女www一区二区| 在线成人免费视频| 午夜视频在线观看一区| 在线观看亚洲专区| 亚洲一区中文在线| 欧美性色综合网| 亚洲成人你懂的| 欧美日韩国产美女| 日本不卡视频在线观看| 91精品国产综合久久久久久久久久 | 麻豆精品一区二区综合av| 欧美日韩精品一区二区天天拍小说 | 午夜婷婷国产麻豆精品| 欧美伦理电影网| 免费精品99久久国产综合精品| 欧美欧美午夜aⅴ在线观看| 日韩**一区毛片| 欧美成va人片在线观看| 免费黄网站欧美| 久久青草欧美一区二区三区| 国产一区二三区| 中文在线一区二区| youjizz久久| 亚洲女性喷水在线观看一区| 欧美系列日韩一区| 偷拍与自拍一区| 欧美不卡一区二区三区| 国产精品影视在线观看| 亚洲国产精品二十页| 9人人澡人人爽人人精品| 亚洲国产美国国产综合一区二区| 欧美日韩免费观看一区二区三区| 亚洲蜜臀av乱码久久精品蜜桃| 色综合久久久久综合| 亚洲成人精品在线观看| 日韩欧美国产综合| 成人精品一区二区三区中文字幕| 亚洲女同ⅹxx女同tv| 日韩一区二区三区视频在线观看| 国产成人av一区二区三区在线 | 国产精品三级av在线播放| 色综合久久久久网| 青草国产精品久久久久久| 中文字幕国产一区二区| 色综合久久久久网| 国产精品小仙女| 亚洲亚洲人成综合网络| 久久综合九色综合欧美亚洲| 99久久伊人精品| 免费成人av资源网| 国产精品入口麻豆原神| 日韩视频免费观看高清完整版| 午夜精品福利在线| 精品成a人在线观看| 91浏览器在线视频| 蜜桃av一区二区三区电影| 亚洲欧洲av在线| 亚洲美女淫视频| 欧美一区二区不卡视频| 成人免费视频一区| 日韩福利视频网| 中文字幕日韩一区二区| 欧美三级电影网站| 风流少妇一区二区| 日韩极品在线观看| 日韩伦理av电影| 中文成人av在线| 国产日韩欧美激情| 久久噜噜亚洲综合| 精品免费一区二区三区| 欧美一区二区视频在线观看2022| 欧美色倩网站大全免费| 色久优优欧美色久优优| 99久久亚洲一区二区三区青草| 国产激情视频一区二区三区欧美| 精品一区二区在线免费观看| 免费成人在线视频观看| 首页综合国产亚洲丝袜| 亚洲超碰97人人做人人爱| 亚洲成人免费视频| 亚洲电影中文字幕在线观看| 亚洲国产精品一区二区www在线| 亚洲黄色免费电影|