summaryrefslogtreecommitdiff
path: root/game/client/colorcorrectionmgr.h
diff options
context:
space:
mode:
Diffstat (limited to 'game/client/colorcorrectionmgr.h')
-rw-r--r--game/client/colorcorrectionmgr.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/game/client/colorcorrectionmgr.h b/game/client/colorcorrectionmgr.h
new file mode 100644
index 0000000..3d5271d
--- /dev/null
+++ b/game/client/colorcorrectionmgr.h
@@ -0,0 +1,57 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose : Singleton manager for color correction on the client
+//
+// $NoKeywords: $
+//===========================================================================//
+
+#ifndef COLORCORRECTIONMGR_H
+#define COLORCORRECTIONMGR_H
+
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include "igamesystem.h"
+
+
+//------------------------------------------------------------------------------
+// Purpose : Singleton manager for color correction on the client
+//------------------------------------------------------------------------------
+DECLARE_POINTER_HANDLE( ClientCCHandle_t );
+#define INVALID_CLIENT_CCHANDLE ( (ClientCCHandle_t)0 )
+
+class CColorCorrectionMgr : public CBaseGameSystem
+{
+ // Inherited from IGameSystemPerFrame
+public:
+ virtual char const *Name() { return "Color Correction Mgr"; }
+
+ // Other public methods
+public:
+ CColorCorrectionMgr();
+
+ // Create, destroy color correction
+ ClientCCHandle_t AddColorCorrection( const char *pName, const char *pFileName = NULL );
+ void RemoveColorCorrection( ClientCCHandle_t );
+
+ // Modify color correction weights
+ void SetColorCorrectionWeight( ClientCCHandle_t h, float flWeight );
+ void ResetColorCorrectionWeights();
+ void SetResetable( ClientCCHandle_t h, bool bResetable );
+
+ // Is color correction active?
+ bool HasNonZeroColorCorrectionWeights() const;
+
+private:
+ int m_nActiveWeightCount;
+};
+
+
+//------------------------------------------------------------------------------
+// Singleton access
+//------------------------------------------------------------------------------
+extern CColorCorrectionMgr *g_pColorCorrectionMgr;
+
+
+#endif // COLORCORRECTIONMGR_H