You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
2.3 KiB
74 lines
2.3 KiB
4 years ago
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||
|
//
|
||
|
// Purpose:
|
||
|
//
|
||
|
//===========================================================================//
|
||
|
|
||
|
#ifndef ICOLORCORRECTION_H
|
||
|
#define ICOLORCORRECTION_H
|
||
|
|
||
|
#ifdef _WIN32
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
#include "tier1/interface.h"
|
||
|
#include "bitmap/imageformat.h"
|
||
|
|
||
|
typedef unsigned int ColorCorrectionHandle_t;
|
||
|
struct ShaderColorCorrectionInfo_t;
|
||
|
|
||
|
#define COLORCORRECTION_INTERFACE_VERSION "COLORCORRECTION_VERSION_1"
|
||
|
|
||
|
abstract_class IColorCorrectionSystem
|
||
|
{
|
||
|
public:
|
||
|
virtual void Init() = 0;
|
||
|
virtual void Shutdown() = 0;
|
||
|
|
||
|
virtual ColorCorrectionHandle_t AddLookup( const char *pName ) = 0;
|
||
|
virtual bool RemoveLookup( ColorCorrectionHandle_t handle ) = 0;
|
||
|
|
||
|
virtual void SetLookupWeight( ColorCorrectionHandle_t handle, float flWeight ) = 0;
|
||
|
virtual float GetLookupWeight( ColorCorrectionHandle_t handle ) = 0;
|
||
|
virtual float GetLookupWeight( int i ) = 0;
|
||
|
|
||
|
virtual void LockLookup() = 0;
|
||
|
virtual void LockLookup( ColorCorrectionHandle_t handle ) = 0;
|
||
|
|
||
|
virtual void UnlockLookup() = 0;
|
||
|
virtual void UnlockLookup( ColorCorrectionHandle_t handle ) = 0;
|
||
|
|
||
|
virtual void SetLookup( RGBX5551_t inColor, color24 outColor ) = 0;
|
||
|
virtual void SetLookup( ColorCorrectionHandle_t handle, RGBX5551_t inColor, color24 outColor ) = 0;
|
||
|
|
||
|
virtual color24 GetLookup( RGBX5551_t inColor ) = 0;
|
||
|
virtual color24 GetLookup( ColorCorrectionHandle_t handle, RGBX5551_t inColor ) = 0;
|
||
|
|
||
|
virtual void LoadLookup( const char *pLookupName ) = 0;
|
||
|
virtual void LoadLookup( ColorCorrectionHandle_t handle, const char *pLookupName ) = 0;
|
||
|
|
||
|
virtual void CopyLookup( const color24 *pSrcColorCorrection ) = 0;
|
||
|
virtual void CopyLookup( ColorCorrectionHandle_t handle, const color24 *pSrcColorCorrection ) = 0;
|
||
|
|
||
|
virtual void ResetLookup( ColorCorrectionHandle_t handle ) = 0;
|
||
|
virtual void ResetLookup( ) = 0;
|
||
|
|
||
|
virtual void ReleaseTextures( ) = 0;
|
||
|
virtual void RestoreTextures( ) = 0;
|
||
|
|
||
|
virtual void ResetLookupWeights( ) = 0;
|
||
|
|
||
|
virtual int GetNumLookups( ) = 0;
|
||
|
|
||
|
virtual color24 ConvertToColor24( RGBX5551_t inColor ) = 0;
|
||
|
|
||
|
virtual void SetResetable( ColorCorrectionHandle_t handle, bool bResetable ) = 0;
|
||
|
|
||
|
virtual void EnableColorCorrection( bool bEnable ) = 0;
|
||
|
|
||
|
// FIXME: Move this to a private interface only the material system can see?
|
||
|
virtual void GetCurrentColorCorrection( ShaderColorCorrectionInfo_t* pInfo ) = 0;
|
||
|
};
|
||
|
|
||
|
#endif
|