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

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

?? d3dsettings.cpp

?? 3d 游戲 入門教程之例子源碼-圖像渲染
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
                    ComboBoxSelect( IDC_ADAPTER_COMBO, pAdapterInfo );
            }
            if( !ComboBoxSomethingSelected( IDC_ADAPTER_COMBO ) &&
                ComboBoxCount( IDC_ADAPTER_COMBO ) > 0 )
            {
                ComboBoxSelectIndex( IDC_ADAPTER_COMBO, 0 );
            }
        }
        return TRUE;

    case WM_COMMAND:
        switch( LOWORD(wParam) )
        {
        case IDOK:
            EndDialog( hDlg, IDOK );
            break;
        case IDCANCEL:
            EndDialog( hDlg, IDCANCEL );
            break;
        case IDC_ADAPTER_COMBO:
            if( CBN_SELCHANGE == HIWORD(wParam) )
                AdapterChanged();
            break;
        case IDC_DEVICE_COMBO:
            if( CBN_SELCHANGE == HIWORD(wParam) )
                DeviceChanged();
            break;
        case IDC_ADAPTERFORMAT_COMBO:
            if( CBN_SELCHANGE == HIWORD(wParam) )
                AdapterFormatChanged();
            break;
        case IDC_RESOLUTION_COMBO:
            if( CBN_SELCHANGE == HIWORD(wParam) )
                ResolutionChanged();
            break;
        case IDC_REFRESHRATE_COMBO:
            if( CBN_SELCHANGE == HIWORD(wParam) )
                RefreshRateChanged();
            break;
        case IDC_BACKBUFFERFORMAT_COMBO:
            if( CBN_SELCHANGE == HIWORD(wParam) )
                BackBufferFormatChanged();
            break;
        case IDC_DEPTHSTENCILBUFFERFORMAT_COMBO:
            if( CBN_SELCHANGE == HIWORD(wParam) )
                DepthStencilBufferFormatChanged();
            break;
        case IDC_MULTISAMPLE_COMBO:
            if( CBN_SELCHANGE == HIWORD(wParam) )
                MultisampleTypeChanged();
            break;
        case IDC_MULTISAMPLE_QUALITY_COMBO:
            if( CBN_SELCHANGE == HIWORD(wParam) )
                MultisampleQualityChanged();
            break;
        case IDC_VERTEXPROCESSING_COMBO:
            if( CBN_SELCHANGE == HIWORD(wParam) )
                VertexProcessingChanged();
            break;
        case IDC_PRESENTINTERVAL_COMBO:
            if( CBN_SELCHANGE == HIWORD(wParam) )
                PresentIntervalChanged();
            break;
        case IDC_WINDOW:
        case IDC_FULLSCREEN:
            WindowedFullscreenChanged();
            break;
        }
        return TRUE;

    default:
        return FALSE;
    }
}



//-----------------------------------------------------------------------------
// Name: AdapterChanged
// Desc: Respond to a change of selected adapter.
//-----------------------------------------------------------------------------
void CD3DSettingsDialog::AdapterChanged( void )
{
    D3DAdapterInfo* pAdapterInfo = (D3DAdapterInfo*)ComboBoxSelected( IDC_ADAPTER_COMBO );
    if( pAdapterInfo == NULL )
        return;
    
    if( m_d3dSettings.IsWindowed )
        m_d3dSettings.pWindowed_AdapterInfo = pAdapterInfo;
    else
        m_d3dSettings.pFullscreen_AdapterInfo = pAdapterInfo;

    // Update device combo box
    ComboBoxClear( IDC_DEVICE_COMBO );
    for( UINT idi = 0; idi < pAdapterInfo->pDeviceInfoList->Count(); idi++ )
    {
        D3DDeviceInfo* pDeviceInfo = (D3DDeviceInfo*)pAdapterInfo->pDeviceInfoList->GetPtr(idi);
        ComboBoxAdd( IDC_DEVICE_COMBO, pDeviceInfo, 
                     D3DDevTypeToString( pDeviceInfo->DevType ) );
        if( pDeviceInfo->DevType == m_d3dSettings.DevType() )
            ComboBoxSelect( IDC_DEVICE_COMBO, pDeviceInfo );
    }
    if( !ComboBoxSomethingSelected( IDC_DEVICE_COMBO ) &&
        ComboBoxCount( IDC_DEVICE_COMBO ) > 0 )
    {
        ComboBoxSelectIndex( IDC_DEVICE_COMBO, 0 );
    }
}




//-----------------------------------------------------------------------------
// Name: DeviceChanged
// Desc: Respond to a change of selected device by resetting the 
//       fullscreen/windowed radio buttons.  Updating these buttons will 
//       trigger updates of the rest of the dialog.
//-----------------------------------------------------------------------------
void CD3DSettingsDialog::DeviceChanged( void )
{
    D3DDeviceInfo* pDeviceInfo = (D3DDeviceInfo*)ComboBoxSelected( IDC_DEVICE_COMBO );
    if( pDeviceInfo == NULL )
        return;

    if( m_d3dSettings.IsWindowed )
        m_d3dSettings.pWindowed_DeviceInfo = pDeviceInfo;
    else
        m_d3dSettings.pFullscreen_DeviceInfo = pDeviceInfo;

    // Update fullscreen/windowed radio buttons
    bool HasWindowedDeviceCombo = false;
    bool HasFullscreenDeviceCombo = false;
    for( UINT idc = 0; idc < pDeviceInfo->pDeviceComboList->Count(); idc++ )
    {
        D3DDeviceCombo* pDeviceCombo = (D3DDeviceCombo*)pDeviceInfo->pDeviceComboList->GetPtr(idc);
        if( pDeviceCombo->IsWindowed )
            HasWindowedDeviceCombo = true;
        else
            HasFullscreenDeviceCombo = true;
    }
    EnableWindow( GetDlgItem( m_hDlg, IDC_WINDOW ), HasWindowedDeviceCombo );
    EnableWindow( GetDlgItem( m_hDlg, IDC_FULLSCREEN ), HasFullscreenDeviceCombo );
    if (m_d3dSettings.IsWindowed && HasWindowedDeviceCombo)
    {
        CheckRadioButton( m_hDlg, IDC_WINDOW, IDC_FULLSCREEN, IDC_WINDOW );
    }
    else
    {
        CheckRadioButton( m_hDlg, IDC_WINDOW, IDC_FULLSCREEN, IDC_FULLSCREEN );
    }
    WindowedFullscreenChanged();
}




//-----------------------------------------------------------------------------
// Name: WindowedFullscreenChanged
// Desc: Respond to a change of windowed/fullscreen state by rebuilding the
//       adapter format list, resolution list, and refresh rate list.
//       Updating the selected adapter format will trigger updates of the 
//       rest of the dialog.
//-----------------------------------------------------------------------------
void CD3DSettingsDialog::WindowedFullscreenChanged( void )
{
    D3DAdapterInfo* pAdapterInfo = (D3DAdapterInfo*)ComboBoxSelected( IDC_ADAPTER_COMBO );
    D3DDeviceInfo* pDeviceInfo = (D3DDeviceInfo*)ComboBoxSelected( IDC_DEVICE_COMBO );
    if( pAdapterInfo == NULL || pDeviceInfo == NULL )
        return;

    if( IsDlgButtonChecked( m_hDlg, IDC_WINDOW ) )
    {
        m_d3dSettings.IsWindowed = true;
        m_d3dSettings.pWindowed_AdapterInfo = pAdapterInfo;
        m_d3dSettings.pWindowed_DeviceInfo = pDeviceInfo;

        // Update adapter format combo box
        ComboBoxClear( IDC_ADAPTERFORMAT_COMBO );
        ComboBoxAdd( IDC_ADAPTERFORMAT_COMBO, (void*)m_d3dSettings.Windowed_DisplayMode.Format,
            D3DUtil_D3DFormatToString( m_d3dSettings.Windowed_DisplayMode.Format ) );
        ComboBoxSelectIndex( IDC_ADAPTERFORMAT_COMBO, 0 );
        EnableWindow( GetDlgItem( m_hDlg, IDC_ADAPTERFORMAT_COMBO ), false );

        // Update resolution combo box
        DWORD dwResolutionData;
        TCHAR strResolution[50];
        dwResolutionData = MAKELONG( m_d3dSettings.Windowed_DisplayMode.Width,
                                     m_d3dSettings.Windowed_DisplayMode.Height );
        _sntprintf( strResolution, 50, TEXT("%d by %d"), m_d3dSettings.Windowed_DisplayMode.Width, 
            m_d3dSettings.Windowed_DisplayMode.Height );
        strResolution[49] = 0;
        ComboBoxClear( IDC_RESOLUTION_COMBO );
        ComboBoxAdd( IDC_RESOLUTION_COMBO, ULongToPtr(dwResolutionData), strResolution );
        ComboBoxSelectIndex( IDC_RESOLUTION_COMBO, 0 );
        EnableWindow( GetDlgItem( m_hDlg, IDC_RESOLUTION_COMBO ), false );

        // Update refresh rate combo box
        TCHAR strRefreshRate[50];
        if( m_d3dSettings.Windowed_DisplayMode.RefreshRate == 0 )
            lstrcpy( strRefreshRate, TEXT("Default Rate") );
        else
            _sntprintf( strRefreshRate, 50, TEXT("%d Hz"), m_d3dSettings.Windowed_DisplayMode.RefreshRate );
        strRefreshRate[49] = 0;
        ComboBoxClear( IDC_REFRESHRATE_COMBO );
        ComboBoxAdd( IDC_REFRESHRATE_COMBO, ULongToPtr(m_d3dSettings.Windowed_DisplayMode.RefreshRate),
            strRefreshRate );
        ComboBoxSelectIndex( IDC_REFRESHRATE_COMBO, 0 );
        EnableWindow( GetDlgItem( m_hDlg, IDC_REFRESHRATE_COMBO ), false );
    }
    else
    {
        m_d3dSettings.IsWindowed = false;
        m_d3dSettings.pFullscreen_AdapterInfo = pAdapterInfo;
        m_d3dSettings.pFullscreen_DeviceInfo = pDeviceInfo;

        // Update adapter format combo box
        ComboBoxClear( IDC_ADAPTERFORMAT_COMBO );
        for( UINT idc = 0; idc < pDeviceInfo->pDeviceComboList->Count(); idc++ )
        {
            D3DDeviceCombo* pDeviceCombo = (D3DDeviceCombo*)pDeviceInfo->pDeviceComboList->GetPtr(idc);
            if( pDeviceCombo->IsWindowed )
                continue;
            D3DFORMAT adapterFormat = pDeviceCombo->AdapterFormat;
            if( !ComboBoxContainsText( IDC_ADAPTERFORMAT_COMBO, D3DUtil_D3DFormatToString( adapterFormat ) ) )
            {
                ComboBoxAdd( IDC_ADAPTERFORMAT_COMBO, (void*)adapterFormat, 
                    D3DUtil_D3DFormatToString( adapterFormat ) );
                if( adapterFormat == m_d3dSettings.Fullscreen_DisplayMode.Format )
                {
                    ComboBoxSelect( IDC_ADAPTERFORMAT_COMBO, (void*)adapterFormat );
                }
            }
        }
        if( !ComboBoxSomethingSelected( IDC_ADAPTERFORMAT_COMBO ) &&
            ComboBoxCount( IDC_ADAPTERFORMAT_COMBO ) > 0 )
        {
            ComboBoxSelectIndex( IDC_ADAPTERFORMAT_COMBO, 0 );
        }
        EnableWindow( GetDlgItem( m_hDlg, IDC_ADAPTERFORMAT_COMBO), true );
        
        // Update resolution combo box
        EnableWindow( GetDlgItem( m_hDlg, IDC_RESOLUTION_COMBO), true );
        
        // Update refresh rate combo box
        EnableWindow( GetDlgItem( m_hDlg, IDC_REFRESHRATE_COMBO), true );
    }
}




//-----------------------------------------------------------------------------
// Name: AdapterFormatChanged
// Desc: Respond to a change of selected adapter format by rebuilding the
//       resolution list and back buffer format list.  Updating the selected 
//       resolution and back buffer format will trigger updates of the rest 
//       of the dialog.
//-----------------------------------------------------------------------------
void CD3DSettingsDialog::AdapterFormatChanged( void )
{
    if( !IsDlgButtonChecked( m_hDlg, IDC_WINDOW ) )
    {
        D3DAdapterInfo* pAdapterInfo = (D3DAdapterInfo*)ComboBoxSelected( IDC_ADAPTER_COMBO );
        D3DFORMAT adapterFormat = (D3DFORMAT)PtrToUlong( ComboBoxSelected( IDC_ADAPTERFORMAT_COMBO ) );
        m_d3dSettings.Fullscreen_DisplayMode.Format = adapterFormat;

        ComboBoxClear( IDC_RESOLUTION_COMBO );
        for( UINT idm = 0; idm < pAdapterInfo->pDisplayModeList->Count(); idm++ )
        {
            D3DDISPLAYMODE displayMode = *(D3DDISPLAYMODE*)pAdapterInfo->pDisplayModeList->GetPtr(idm);
            if (displayMode.Format == adapterFormat)
            {
                DWORD dwResolutionData;
                TCHAR strResolution[50];
                dwResolutionData = MAKELONG( displayMode.Width, displayMode.Height );
                _sntprintf( strResolution, 50, TEXT("%d by %d"), displayMode.Width, displayMode.Height );
                strResolution[49] = 0;
                if (!ComboBoxContainsText( IDC_RESOLUTION_COMBO, strResolution ) )
                {
                    ComboBoxAdd( IDC_RESOLUTION_COMBO, ULongToPtr( dwResolutionData ), strResolution );
                    if (m_d3dSettings.Fullscreen_DisplayMode.Width == displayMode.Width &&
                        m_d3dSettings.Fullscreen_DisplayMode.Height == displayMode.Height)
                    {
                        ComboBoxSelect( IDC_RESOLUTION_COMBO, ULongToPtr( dwResolutionData ) );
                    }
                }
            }
        }
        if (!ComboBoxSomethingSelected( IDC_RESOLUTION_COMBO ) && 
            ComboBoxCount( IDC_RESOLUTION_COMBO ) > 0)
        {
            ComboBoxSelectIndex( IDC_RESOLUTION_COMBO, 0 );
        }
    }

    // Update backbuffer format combo box
    D3DDeviceInfo* pDeviceInfo = (D3DDeviceInfo*)ComboBoxSelected( IDC_DEVICE_COMBO );
    if( pDeviceInfo == NULL )
        return;
    ComboBoxClear( IDC_BACKBUFFERFORMAT_COMBO );
    for( UINT idc = 0; idc < pDeviceInfo->pDeviceComboList->Count(); idc++ )
    {
        D3DDeviceCombo* pDeviceCombo = (D3DDeviceCombo*)pDeviceInfo->pDeviceComboList->GetPtr(idc);
        if (pDeviceCombo->IsWindowed == m_d3dSettings.IsWindowed &&
            pDeviceCombo->AdapterFormat == m_d3dSettings.DisplayMode().Format)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
高清国产一区二区| 蜜乳av一区二区三区| 久久精品噜噜噜成人88aⅴ| 国产成人在线影院| 成av人片一区二区| 欧美一区二区三区四区久久| 欧美国产精品中文字幕| 亚洲午夜视频在线观看| 国产美女视频91| 欧美亚洲综合久久| 久久久精品综合| 亚洲gay无套男同| 国产白丝网站精品污在线入口| 欧美日韩免费一区二区三区视频| 26uuu亚洲| 午夜电影网亚洲视频| 9人人澡人人爽人人精品| 欧美午夜电影网| 中文字幕一区二区三区蜜月| 美国毛片一区二区三区| 91网站在线观看视频| 久久综合精品国产一区二区三区| 亚洲成人一区在线| 94色蜜桃网一区二区三区| 26uuu久久天堂性欧美| 婷婷一区二区三区| 丁香六月综合激情| 91精品国产综合久久香蕉的特点| 亚洲欧美激情小说另类| 丁香六月久久综合狠狠色| 欧美videos大乳护士334| 亚洲一区二区视频在线| www.欧美日韩| 久久久国际精品| 欧美aⅴ一区二区三区视频| 在线免费亚洲电影| 中文字幕一区二区三区在线观看 | 国产一区二区三区香蕉| 欧美三区在线观看| 国产精品你懂的| 国产一区二区在线观看视频| 欧美精品乱人伦久久久久久| 洋洋av久久久久久久一区| av亚洲精华国产精华| 欧美成人女星排名| 日本亚洲最大的色成网站www| 欧美三级中文字| 亚洲最色的网站| 一本到三区不卡视频| 国产精品美女www爽爽爽| 国产综合久久久久久鬼色| 日韩一区二区精品在线观看| 日韩电影免费在线观看网站| 精品视频在线免费| 一区二区不卡在线播放 | 亚洲精选视频免费看| 国产黄色91视频| 精品国产凹凸成av人导航| 久久精品免费观看| 欧美大肚乱孕交hd孕妇| 日韩中文字幕91| 51午夜精品国产| 日韩极品在线观看| 欧美一区二区高清| 麻豆精品一区二区综合av| 91麻豆精品国产自产在线观看一区 | 激情另类小说区图片区视频区| 日韩欧美国产不卡| 精品亚洲国内自在自线福利| 亚洲精品在线电影| 狠狠色2019综合网| 国产色一区二区| 不卡一卡二卡三乱码免费网站| 国产精品久久久久久久久久免费看| 成人黄页毛片网站| 亚洲人成网站影音先锋播放| 在线亚洲免费视频| 日韩中文字幕一区二区三区| 欧美成人a在线| 国产精品69毛片高清亚洲| 欧美激情一区三区| 91在线国产福利| 亚洲第一二三四区| 欧美电视剧免费全集观看| 国产成人丝袜美腿| 亚洲综合精品久久| 这里只有精品视频在线观看| 亚洲福中文字幕伊人影院| 日韩三级精品电影久久久| 国产精品66部| 一区二区三区在线视频免费观看| 欧美性猛片aaaaaaa做受| 日韩国产精品91| 久久午夜免费电影| 97精品久久久午夜一区二区三区 | 色8久久精品久久久久久蜜| 亚洲成人免费看| 欧美白人最猛性xxxxx69交| 成人免费高清视频在线观看| 综合激情网...| 欧美精品免费视频| 成人免费视频视频| 亚洲成a人片在线不卡一二三区| 精品国产一区二区亚洲人成毛片 | 亚洲婷婷综合色高清在线| 日韩精品一区二区三区在线| 色综合激情五月| 国产精品亚洲成人| 人人超碰91尤物精品国产| 亚洲美女在线国产| 国产丝袜美腿一区二区三区| 欧美日韩国产综合一区二区| 成人黄色a**站在线观看| 免播放器亚洲一区| 一区二区在线观看免费视频播放| 久久婷婷久久一区二区三区| 欧美猛男超大videosgay| 不卡的电影网站| 国产精品自拍一区| 日韩国产成人精品| 亚洲激情男女视频| 国产精品电影一区二区三区| 精品国产乱码久久久久久浪潮| 欧美日韩一区中文字幕| 色综合色综合色综合色综合色综合| 国产精一区二区三区| 久久99国产精品久久99| 日韩成人dvd| 亚洲一区二区在线观看视频| |精品福利一区二区三区| 国产午夜亚洲精品午夜鲁丝片 | 欧美在线你懂得| av影院午夜一区| 成人高清在线视频| 大尺度一区二区| 国产91精品欧美| 国产v综合v亚洲欧| 国产一区91精品张津瑜| 国内国产精品久久| 久久99久久99| 精品一区二区三区的国产在线播放 | 欧美成人a在线| 日韩三级在线免费观看| 6080午夜不卡| 91精品国产品国语在线不卡 | 国产成人亚洲综合色影视| 极品少妇一区二区| 精品一区二区三区av| 国内国产精品久久| 国产剧情一区二区| 国产精品一区二区三区乱码| 韩国一区二区三区| 韩日精品视频一区| 国产精品资源网| 国产精品69久久久久水密桃| 国产精品一区二区三区乱码| 国产aⅴ综合色| 国产成人免费视频一区| 丰满岳乱妇一区二区三区| 国产v综合v亚洲欧| 成a人片亚洲日本久久| 91免费在线视频观看| aa级大片欧美| 色狠狠av一区二区三区| 欧美色涩在线第一页| 欧美绝品在线观看成人午夜影视| 欧美精品v日韩精品v韩国精品v| 91精品国产综合久久婷婷香蕉| 日韩午夜小视频| 精品国产三级a在线观看| 久久久美女毛片| 国产精品二三区| 亚洲一区二区三区四区不卡| 午夜久久久久久久久久一区二区| 日韩电影免费在线观看网站| 精品一区二区三区的国产在线播放| 国产精品亚洲а∨天堂免在线| caoporn国产精品| 欧美在线免费观看亚洲| 欧美一级黄色大片| 国产三级精品三级在线专区| 自拍偷拍亚洲激情| 亚洲成人免费看| 九九九久久久精品| 波多野结衣一区二区三区| 欧美亚洲动漫另类| 欧美成人国产一区二区| 中文字幕欧美三区| 亚洲国产人成综合网站| 裸体一区二区三区| 成人网页在线观看| 在线观看一区日韩| 日韩精品一区二区在线| 国产精品国产馆在线真实露脸| 一区二区三区四区av| 老司机精品视频导航| 成人v精品蜜桃久久一区| 欧美日韩精品欧美日韩精品一综合| 日韩精品一区二区三区中文不卡 | 1000精品久久久久久久久|