void CDisplayDetailsDlg::updateState () { UpdateQuality (LandscapeQualityInt, LandscapeQualityValue); UpdateQuality (FXQualityInt, FXQualityValue); UpdateQuality (CharacterQualityInt, CharacterQualityValue); // If control has bad range, reset int rMin, rMax; TextureQuality.GetRange(rMin, rMax); if(rMin!=0 || rMax!=MaxTextureQuality) TextureQuality.SetRange(0, MaxTextureQuality); // update texture quality text static const char *textureString[QUALITY_TEXTURE_STEP] = { "uiConfigTexturePoor", "uiConfigTextureNormal", "uiConfigTextureSuper"}; setWindowText(TextureQualityValue, (WCHAR*)NLMISC::CI18N::get (textureString[TextureQualityInt]).c_str()); }
void CVideoCompressionPage::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar *pScrollBar) { __super::OnHScroll(nSBCode, nPos, pScrollBar); if (!comp) return ; CSliderCtrl *slider = (CSliderCtrl*)pScrollBar; long pos; if (slider == &tb_irate) { pos = slider->GetPos(); comp->put_KeyFrameRate(pos); UpdateIRate(); } else if (slider == &tb_prate) { pos = slider->GetPos(); comp->put_PFramesPerKeyFrame(pos); UpdatePRate(); } else if (slider == &tb_quality) { pos = slider->GetPos(); double q = pos / 100.0; comp->put_Quality(q); UpdateQuality(); } else if (slider == &tb_window) { pos = slider->GetPos(); DWORDLONG lpos = pos; comp->put_WindowSize(lpos); UpdateWindowSize(); } }
// overriden BOOL CVideoCompressionPage::OnInitDialog() { BOOL ok = CDSPropertyPage::OnInitDialog(); if (!ok) return FALSE; // prepare titlebar title.ModifyStyle(0, WS_CLIPCHILDREN); title.ModifyStyleEx(0, WS_EX_CONTROLPARENT); WCHAR wstrDesc[1024]; WCHAR wstrVer[1024]; int cbDesc, cbVer; memset(wstrDesc, 0, sizeof(wstrDesc)); memset(wstrVer, 0, sizeof(wstrVer)); cbDesc = 1024; cbVer = 1024; comp->GetInfo(wstrVer, &cbVer, wstrDesc, &cbDesc, &def_irate, &def_prate, &def_quality, &flags); def_window = 1; // keep the strings desc = CString(wstrDesc); version = CString(wstrVer); label_desc.SetWindowText(desc); label_version.SetWindowText(version); tb_irate.SetRange(-1, 250); tb_prate.SetRange(-1, 250); tb_quality.SetRange(0, 100); tb_window.SetRange(-1, 100); UpdateIRate(); UpdatePRate(); UpdateQuality(); UpdateWindowSize(); bool kf = (flags & CompressionCaps_CanKeyFrame) == CompressionCaps_CanKeyFrame; bool bf = (flags & CompressionCaps_CanBFrame) == CompressionCaps_CanBFrame; bool cq = (flags & CompressionCaps_CanQuality) == CompressionCaps_CanQuality; bool cw = (flags & CompressionCaps_CanWindow) == CompressionCaps_CanWindow; label_irate.EnableWindow(kf); tb_irate.EnableWindow(kf); label_irate_val.EnableWindow(kf); btn_def_irate.EnableWindow(kf); label_prate.EnableWindow(bf); tb_prate.EnableWindow(bf); label_prate_val.EnableWindow(bf); btn_def_prate.EnableWindow(bf); label_quality.EnableWindow(cq); tb_quality.EnableWindow(cq); label_quality_val.EnableWindow(cq); btn_def_quality.EnableWindow(cq); label_window.EnableWindow(cw); tb_window.EnableWindow(cw); label_window_val.EnableWindow(cw); btn_def_window.EnableWindow(cw); return TRUE; }
void CVideoCompressionPage::OnWindowDefault() { comp->put_WindowSize(def_window); UpdateQuality(); }
void CVideoCompressionPage::OnQualityDefault() { comp->put_Quality(-1); UpdateQuality(); }