From 0868305e78da2b0742c2ce349efa041d5622ae21 Mon Sep 17 00:00:00 2001 From: Casimir666 Date: Sat, 24 Jun 2006 21:37:43 +0000 Subject: git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@14 10f7b99b-c216-0410-bff0-8a66a9350fd8 --- src/apps/mplayerc/PPageCasimir.cpp | 204 +++++++++++++++++++++++++++++++++++++ 1 file changed, 204 insertions(+) create mode 100644 src/apps/mplayerc/PPageCasimir.cpp (limited to 'src/apps/mplayerc/PPageCasimir.cpp') diff --git a/src/apps/mplayerc/PPageCasimir.cpp b/src/apps/mplayerc/PPageCasimir.cpp new file mode 100644 index 000000000..a72f5cdcb --- /dev/null +++ b/src/apps/mplayerc/PPageCasimir.cpp @@ -0,0 +1,204 @@ +/* + * Copyright (C) 2003-2006 Gabest + * http://www.gabest.org + * + * This Program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This Program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Make; see the file COPYING. If not, write to + * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + * http://www.gnu.org/copyleft/gpl.html + * + */ + +// CPPageCasimir.cpp : implementation file +// + +#include "stdafx.h" +#include "mplayerc.h" +#include "MainFrm.h" +#include "PPageOutput.h" +#include "../../../include/moreuuids.h" +#include ".\ppagecasimir.h" + +// CPPageCasimir dialog + +IMPLEMENT_DYNAMIC(CPPageCasimir, CPPageBase) +CPPageCasimir::CPPageCasimir() + : CPPageBase(CPPageCasimir::IDD, CPPageCasimir::IDD) + , m_fMonitorAutoRefreshRate(FALSE) + , m_fD3DFullscreen(FALSE) + , m_fRememberDVDPos(FALSE) + , m_fRememberFilePos(FALSE) +{ +} + +CPPageCasimir::~CPPageCasimir() +{ +} + +void CPPageCasimir::DoDataExchange(CDataExchange* pDX) +{ + __super::DoDataExchange(pDX); + DDX_Check(pDX, IDC_AUTO_REFRESHRATE_CHECK, m_fMonitorAutoRefreshRate); + DDX_Check(pDX, IDC_FULLSCREEN_MONITOR_CHECK, m_fD3DFullscreen); + DDX_Control(pDX, IDC_SLI_CONTRAST, m_SliContrast); + DDX_Control(pDX, IDC_SLI_BRIGHTNESS, m_SliBrightness); + DDX_Control(pDX, IDC_SLI_HUE, m_SliHue); + DDX_Control(pDX, IDC_SLI_SATURATION, m_SliSaturation); + DDX_Check(pDX, IDC_DVD_POS, m_fRememberDVDPos); + DDX_Check(pDX, IDC_FILE_POS, m_fRememberFilePos); +} + + +BEGIN_MESSAGE_MAP(CPPageCasimir, CPPageBase) + ON_WM_HSCROLL() + ON_BN_CLICKED(IDC_RESET, OnBnClickedReset) +END_MESSAGE_MAP() + + +// CPPageCasimir message handlers + +BOOL CPPageCasimir::OnInitDialog() +{ + COLORPROPERTY_RANGE* ControlRange; + __super::OnInitDialog(); + + AppSettings& s = AfxGetAppSettings(); + + m_fMonitorAutoRefreshRate = s.fMonitorAutoRefreshRate; + m_fD3DFullscreen = s.fD3DFullscreen; + m_fRememberDVDPos = s.fRememberDVDPos; + m_fRememberFilePos = s.fRememberFilePos; + + UpdateData(FALSE); + + CreateToolTip(); + + ControlRange = AfxGetMyApp()->GetColorControl (Contrast); + if (ControlRange) + { + m_dContrast = s.dContrast; + m_SliContrast.EnableWindow (TRUE); + m_SliContrast.SetRange ((int)ControlRange->MinValue*100, (int)ControlRange->MaxValue*100); + m_SliContrast.SetTicFreq ((int)(ControlRange->MaxValue - ControlRange->MinValue) * 10); + m_SliContrast.SetPos ((int)(m_dContrast*100)); + } + + ControlRange = AfxGetMyApp()->GetColorControl (Brightness); + if (ControlRange) + { + m_dBrightness = s.dBrightness; + m_SliBrightness.EnableWindow (TRUE); + m_SliBrightness.SetRange ((int)ControlRange->MinValue, (int)ControlRange->MaxValue); + m_SliBrightness.SetTicFreq ((int)(ControlRange->MaxValue - ControlRange->MinValue) / 10); + m_SliBrightness.SetPos ((int)m_dBrightness); + } + + ControlRange = AfxGetMyApp()->GetColorControl (Hue); + if (ControlRange) + { + m_dHue = s.dHue; + m_SliHue.EnableWindow (TRUE); + m_SliHue.SetRange ((int)ControlRange->MinValue, (int)ControlRange->MaxValue); + m_SliHue.SetTicFreq ((int)(ControlRange->MaxValue - ControlRange->MinValue) / 10); + m_SliHue.SetPos ((int)m_dHue); + } + + ControlRange = AfxGetMyApp()->GetColorControl (Saturation); + if (ControlRange) + { + m_dSaturation = s.dSaturation; + m_SliSaturation.EnableWindow (TRUE); + m_SliSaturation.SetRange ((int)ControlRange->MinValue*100, (int)ControlRange->MaxValue*100); + m_SliSaturation.SetTicFreq ((int)(ControlRange->MaxValue - ControlRange->MinValue) * 10); + m_SliSaturation.SetPos ((int)(m_dSaturation*100)); + } + + return TRUE; // return TRUE unless you set the focus to a control + // EXCEPTION: OCX Property Pages should return FALSE +} + +BOOL CPPageCasimir::OnApply() +{ + UpdateData(); + + AppSettings& s = AfxGetAppSettings(); + + s.dBrightness = m_dBrightness; + s.dContrast = m_dContrast; + s.dHue = m_dHue; + s.dSaturation = m_dSaturation; + s.fMonitorAutoRefreshRate = m_fMonitorAutoRefreshRate ? true : false; + s.fD3DFullscreen = m_fD3DFullscreen ? true : false; + s.fRememberDVDPos = m_fRememberDVDPos ? true : false; + s.fRememberFilePos = m_fRememberFilePos ? true : false; + + return __super::OnApply(); +} + + +void CPPageCasimir::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) +{ + if(*pScrollBar == m_SliContrast) + { + UpdateData(); + m_dContrast = (float)(m_SliContrast.GetPos()/100.0); + } + else if(*pScrollBar == m_SliBrightness) + { + UpdateData(); + m_dBrightness = (float)m_SliBrightness.GetPos(); + } + else if(*pScrollBar == m_SliHue) + { + UpdateData(); + m_dHue = (float)m_SliHue.GetPos(); + } + else if(*pScrollBar == m_SliSaturation) + { + UpdateData(); + m_dSaturation = (float)(m_SliSaturation.GetPos()/100.0); + } + + SetModified(); + + ((CMainFrame*)AfxGetMyApp()->GetMainWnd())->SetVMR9ColorControl(m_dBrightness, m_dContrast, m_dHue, m_dSaturation); + + __super::OnHScroll(nSBCode, nPos, pScrollBar); +} + +void CPPageCasimir::OnBnClickedReset() +{ + AppSettings& s = AfxGetAppSettings(); + + UpdateData(FALSE); + + m_dContrast = AfxGetMyApp()->GetColorControl (Contrast)->DefaultValue; + m_dBrightness = AfxGetMyApp()->GetColorControl (Brightness)->DefaultValue; + m_dHue = AfxGetMyApp()->GetColorControl (Hue)->DefaultValue; + m_dSaturation = AfxGetMyApp()->GetColorControl (Saturation)->DefaultValue; + + m_SliContrast.SetPos ((int)m_dContrast*100); + m_SliBrightness.SetPos ((int)m_dBrightness); + m_SliHue.SetPos ((int)m_dHue); + m_SliSaturation.SetPos ((int)m_dSaturation*100); + + ((CMainFrame*)AfxGetMyApp()->GetMainWnd())->SetVMR9ColorControl(m_dBrightness, m_dContrast, m_dHue, m_dSaturation); +} + +void CPPageCasimir::OnCancel() +{ + AppSettings& s = AfxGetAppSettings(); + + ((CMainFrame*)AfxGetMyApp()->GetMainWnd())->SetVMR9ColorControl(s.dBrightness, s.dContrast, s.dHue, s.dSaturation); + __super::OnCancel(); +} -- cgit v1.2.3