IColorCorrectionMgr.h

Go to the documentation of this file.
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