/* ** Command & Conquer Renegade(tm) ** Copyright 2025 Electronic Arts Inc. ** ** 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 3 of the License, 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 this program. If not, see . */ /*********************************************************************************************** *** C O N F I D E N T I A L --- W E S T W O O D S T U D I O S *** *********************************************************************************************** * * * Project Name : commando * * * * $Archive:: /Commando/Code/Commando/dlgconfigvideotab.h $* * * * Author:: Patrick Smith * * * * $Modtime:: 12/21/01 5:52p $* * * * $Revision:: 5 $* * * *---------------------------------------------------------------------------------------------* * Functions: * * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ #if defined(_MSC_VER) #pragma once #endif #ifndef __DLGCONFIGVIDEOTAB_H #define __DLGCONFIGVIDEOTAB_H // Includes. #include "childdialog.h" #include "dx8wrapper.h" // Defines. #define GAMMA_SLIDER_MIN 60 #define GAMMA_SLIDER_DEFAULT 90 #define GAMMA_SLIDER_MAX 210 #define BRIGHTNESS_SLIDER_MIN -45 #define BRIGHTNESS_SLIDER_DEFAULT 0 #define BRIGHTNESS_SLIDER_MAX 45 #define CONTRAST_SLIDER_MIN 50 #define CONTRAST_SLIDER_DEFAULT 130 #define CONTRAST_SLIDER_MAX 200 ////////////////////////////////////////////////////////////////////// // // DlgConfigVideoTabClass // ////////////////////////////////////////////////////////////////////// class DlgConfigVideoTabClass : public ChildDialogClass { public: /////////////////////////////////////////////////////////////////// // Public constructors/destructors /////////////////////////////////////////////////////////////////// DlgConfigVideoTabClass (void); ~DlgConfigVideoTabClass (void); /////////////////////////////////////////////////////////////////// // Public methods /////////////////////////////////////////////////////////////////// // // Inherited // void On_Init_Dialog (void); void On_Destroy (void); void On_SliderCtrl_Pos_Changed (SliderCtrlClass *slider_ctrl, int ctrl_id, int new_pos); // // Gamma adjustments // static int Get_Gamma (void) { return GammaLevel; } static void Set_Gamma (int level) { GammaLevel = level; Update_Gamma();} static int Get_Brightness (void) { return BrightnessLevel; } static void Set_Brightness (int level) { BrightnessLevel = level; Update_Gamma();} static int Get_Contrast (void) { return ContrastLevel; } static void Set_Contrast (int level) { ContrastLevel = level; Update_Gamma();} protected: bool UpdateGamma; /////////////////////////////////////////////////////////////////// // Protected methods /////////////////////////////////////////////////////////////////// static float Gamma_Scale (int level); static void Update_Gamma(); static void Update_Gamma (int g, int b, int c); /////////////////////////////////////////////////////////////////// // Protected member data /////////////////////////////////////////////////////////////////// static int GammaLevel; static int BrightnessLevel; static int ContrastLevel; }; inline float DlgConfigVideoTabClass::Gamma_Scale (int level) { return (level * 0.01f); } inline void DlgConfigVideoTabClass::Update_Gamma() { DX8Wrapper::Set_Gamma (Gamma_Scale (GammaLevel), Gamma_Scale (BrightnessLevel), Gamma_Scale (ContrastLevel), true, false); } inline void DlgConfigVideoTabClass::Update_Gamma (int g, int b, int c) { DX8Wrapper::Set_Gamma (Gamma_Scale (g), Gamma_Scale (b), Gamma_Scale (c), true, false); } #endif //__DLGCONFIGVIDEOTAB_H