00001 /********************************************************************** 00002 *< 00003 FILE: IColorCorrectionMgr.h 00004 00005 DESCRIPTION: This interface manages the correction that can be made to the colors in MAX. see Desc below. 00006 00007 CREATED BY: Chloe Mignot 00008 00009 HISTORY: created on jan 18th, 2005 00010 00011 *> Copyright (c) 2005, All Rights Reserved. 00012 **********************************************************************/ 00013 #pragma once 00014 00015 #include "ifnpub.h" 00016 00017 00019 #define COLORCORRECTIONMGR_INTERFACE Interface_ID(0x2c65369, 0x10be38b0) 00020 00021 00023 00035 class IColorCorrectionMgr : public FPStaticInterface 00036 { 00037 public: 00039 00040 enum CorrectionMode { 00041 kLUT, 00042 kGAMMA, 00043 kNONE 00044 }; 00045 00046 enum ColorChannel { 00047 kRED_C, 00048 kGREEN_C, 00049 kBLUE_C 00050 }; 00051 00052 00054 00061 CoreExport virtual BOOL SetLUT(const MCHAR *file)=0; 00062 00064 00069 CoreExport virtual MCHAR* GetLUT()const=0; 00070 00072 00075 CoreExport virtual void SetColorCorrectionMode(const CorrectionMode mode)=0; 00076 00078 00080 CoreExport virtual CorrectionMode GetColorCorrectionMode() const =0; 00081 00083 00086 CoreExport virtual void SetColorCorrectionPrefMode(const CorrectionMode mode)=0; 00087 00089 00092 CoreExport virtual CorrectionMode GetColorCorrectionPrefMode() const =0; 00093 00094 00096 00101 virtual UBYTE ColorCorrect16(const UWORD b, ColorChannel c) const= 0; 00102 00103 00105 00110 virtual UBYTE ColorCorrect8(const UBYTE b, ColorChannel c) const= 0; 00111 00112 00114 00118 virtual COLORREF ColorCorrect8RGB(const DWORD col) const = 0; 00119 00121 00128 CoreExport virtual void SetGamma(float newGamma)=0; 00129 00131 00136 CoreExport virtual float GetGamma()const=0; 00137 00138 00139 }; 00140 00141