3ds Max C++ API Reference
IColorManager Class Referenceabstract

#include <icolorman.h>

+ Inheritance diagram for IColorManager:

Public Types

enum  AppFrameColorTheme { kDarkTheme = 0 , kLightTheme = 1 }
 
enum  State { kNormal = 0 , kDisabled = 1 , kHover = 2 }
 
enum  IconType { kDisabledIcon , kEnabledIcon }
 
enum  IconColorScale {
  kSaturationScale , kValueScale , kAlphaScale , kContrastScale ,
  kGradientMapScale
}
 
enum  RepaintType { kRepaintAll , kRepaintTrackBar , kRepaintTimeBar }
 
enum  {
  registerColor , loadColorFile , saveColorFile , getColorFile ,
  setColor , getColor , getName , getCategory ,
  getIconColorScale , setIconColorScale , getIconColorInvert , setIconColorInvert ,
  getFileName , getDefaultColor , getOldUIColorCOLORREF , repaintUI ,
  setIconFolder , reInitIcons , getIconFolder , resolveIconFolder ,
  getColorTheme , setColorTheme , getColorTheme_prop , setColorTheme_prop ,
  setColorByColorState , getColorByColorState
}
 
enum  { iconType , iconColorScale , repaintType , colorThemeType }
 
- Public Types inherited from BaseInterface
enum  LifetimeType { noRelease , immediateRelease , wantsRelease , serverControlled }
 

Public Member Functions

virtual bool RegisterColor (ColorId id, const MCHAR *pName, const MCHAR *pCategory, COLORREF defaultValue, COLORREF defaultValueDisabled=0xff000000, COLORREF defaultValueHover=0xff000000)=0
 
virtual BOOL LoadColorFile (const MCHAR *pFileName)=0
 
virtual BOOL SaveColorFile (const MCHAR *pFileName)=0
 
virtual const MCHARGetColorFile ()=0
 
virtual bool SetColor (ColorId id, COLORREF color, State state=State::kNormal)=0
 
virtual COLORREF GetColor (ColorId id, State state=State::kNormal)=0
 
virtual Point3 GetColorAsPoint3 (ColorId id, State state=State::kNormal)=0
 
virtual HBRUSH GetBrush (ColorId id, State state=State::kNormal)=0
 
virtual const MCHARGetName (ColorId id)=0
 
virtual const MCHARGetCategory (ColorId id)=0
 
virtual COLORREF CustSysColor (int which)=0
 
virtual HBRUSH CustSysColorBrush (int which)=0
 
virtual Point3 GetOldUIColor (int which)=0
 
virtual void SetOldUIColor (int which, Point3 *clr)=0
 
virtual Point3 GetOldDefaultUIColor (int which)=0
 
virtual float GetIconColorScale (IconType type, IconColorScale which)=0
 
virtual void SetIconColorScale (IconType type, IconColorScale which, float value)=0
 
virtual bool GetIconColorInvert (IconType type)=0
 
virtual void SetIconColorInvert (IconType type, bool value)=0
 
virtual AppFrameColorTheme GetAppFrameColorTheme () const =0
 
virtual void SetAppFrameColorTheme (AppFrameColorTheme value)=0
 
virtual const MCHARGetFileName ()=0
 
virtual COLORREF GetDefaultColor (ColorId id, State state=State::kNormal)=0
 
virtual COLORREF GetOldUIColorCOLORREF (int which)=0
 
virtual void RepaintUI (RepaintType type)=0
 
virtual BOOL SetIconFolder (const MCHAR *pFolder)=0
 
virtual const MCHARGetIconFolder ()=0
 
virtual void ReInitIcons ()=0
 
virtual BOOL ResolveIconFolder (const MCHAR *pFilename, MSTR &path)=0
 
- Public Member Functions inherited from FPInterfaceDesc
CoreExport FPInterfaceDesc ()
 
CoreExport FPInterfaceDesc (Interface_ID id, const MCHAR *int_name, StringResID descr, ClassDesc *cd, ULONG flag,...)
 
CoreExport ~FPInterfaceDesc ()
 
virtual void Init ()
 
LifetimeType LifetimeControl ()
 
virtual BaseInterfaceGetInterface (Interface_ID id)
 
CoreExport void LoadDescriptor (Interface_ID id, const MCHAR *int_name, StringResID descr, ClassDesc *pCD, ULONG flag,...)
 
CoreExport void AppendFunction (int id,...)
 Add a new function to this interface descriptor. More...
 
CoreExport void AppendProperty (int id,...)
 Add a new property to this interface descriptor. More...
 
CoreExport void AppendEnum (int id,...)
 Add a new enum to this interface descriptor. More...
 
CoreExport void SetClassDesc (ClassDesc *i_cd)
 
CoreExport va_list check_fn (va_list ap, int id)
 
CoreExport va_list scan_fn (va_list ap, int id, int index)
 
CoreExport va_list check_prop (va_list ap, int id)
 
CoreExport va_list scan_prop (va_list ap, int id, int index)
 
CoreExport va_list check_enum (va_list ap, EnumID id)
 
CoreExport va_list scan_enum (va_list ap, EnumID id, int index)
 
FPInterfaceDescGetDesc ()
 
Interface_ID GetID ()
 
CoreExport FPFunctionDefGetFnDef (FunctionID fid)
 
ActionTableGetActionTable ()
 
CoreExport void EnableActions (BOOL onOff)
 
virtual CoreExport HINSTANCE HInstance ()
 
virtual CoreExport const MCHARGetRsrcString (StringResID id)
 
- Public Member Functions inherited from FPInterface
virtual CoreExport FPStatus Invoke (FunctionID fid, TimeValue t=0, FPParams *params=NULL)
 
virtual FPStatus Invoke (FunctionID fid, FPParams *params)
 
virtual CoreExport FPStatus Invoke (FunctionID fid, TimeValue t, FPValue &result, FPParams *params=NULL)
 
virtual FPStatus Invoke (FunctionID fid, FPValue &result, FPParams *params=NULL)
 
virtual CoreExport FunctionID FindFn (const MCHAR *name)
 
virtual CoreExport BOOL IsEnabled (FunctionID actionID)
 
virtual CoreExport BOOL IsChecked (FunctionID actionID)
 
virtual CoreExport BOOL IsVisible (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsEnabled (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsChecked (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsVisible (FunctionID actionID)
 
- Public Member Functions inherited from BaseInterface
virtual UtilExport ~BaseInterface ()
 Destructor. More...
 
virtual bool RegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
virtual void UnRegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
virtual BaseInterfaceAcquireInterface ()
 
virtual void ReleaseInterface ()
 
virtual void DeleteInterface ()
 
virtual BaseInterfaceCloneInterface (void *remapDir=NULL)
 
- Public Member Functions inherited from InterfaceServer
virtual UtilExport ~InterfaceServer ()
 Destructor. More...
 
template<class InterfaceType >
InterfaceType * GetTypedInterface ()
 

Additional Inherited Members

- Static Public Member Functions inherited from MaxHeapOperators
static UtilExport voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e)
 Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport void operator delete (void *ptr)
 Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator. More...
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator. More...
 
static UtilExport voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary. More...
 
static UtilExport voidaligned_realloc (void *ptr, size_t size, size_t alignment)
 Reallocates memory on a specified alignment boundary. More...
 
static UtilExport void aligned_free (void *ptr)
 Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. More...
 
- Public Attributes inherited from FPInterfaceDesc
Interface_ID ID
 
MSTR internal_name
 
StringResID description
 
ClassDesccd
 
USHORT flags
 
Tab< FPFunctionDef * > functions
 
Tab< FPPropDef * > props
 
Tab< FPEnum * > enumerations
 
MSPluginClasspc
 
Rolloutrollout
 
ActionTableaction_table
 
- Static Public Attributes inherited from FPInterface
static CoreExport FPInterfaceDesc nullInterface
 
- Protected Member Functions inherited from FPInterfaceDesc
CoreExport void load_descriptor (Interface_ID id, const MCHAR *int_name, StringResID descr, ClassDesc *cd, USHORT flag, va_list ap)
 
- Protected Member Functions inherited from FPInterface
virtual FPStatus _dispatch_fn (FunctionID fid, TimeValue t, FPValue &result, FPParams *p)
 

Detailed Description

See also
Class FPStaticInterface Class Point3, COLORREF, Standard Color IDs, Generate a Class_ID, Class GUP, Getting and Setting User Preferences.

Description:
This class is an interface to the Color Manager. Within 3ds Max using the Customize pull down menu / Customize User Interface choice / Colors tab a user is able to alter the colors used for various UI elements. They can change the saturation, value and transparency of elements, and load and save color schemes.

Using the methods of this class developers can do the same (the 3ds Max color manager uses this class internally). Developers can add their own named custom colors. Developers wanting to do this need to pick a random 32-bit ColorId to identify it. (Note: typedef DWORD ColorId;). The Class_ID generator may be used for this where only one of the two DWORDS is used. See Class Class_ID for more details. The low integer ColorIds are reserved for 3ds Max internal use. These colors should be registered on startup, so a Global Utility Plug-In (GUP) is the best way to handle this. See Class GUP for details. Methods that are marked as internal should not be used.

Member Enumeration Documentation

◆ AppFrameColorTheme

Enumerator
kDarkTheme 

Dark theme.

kLightTheme 

Light theme.

212  {
214  kDarkTheme = 0,
216  kLightTheme = 1
217  };
@ kDarkTheme
Dark theme.
Definition: icolorman.h:214
@ kLightTheme
Light theme.
Definition: icolorman.h:216

◆ State

enum State
Enumerator
kNormal 
kDisabled 
kHover 
221  {
222  kNormal = 0,
223  kDisabled = 1,
224  kHover = 2
225  };
@ kNormal
Definition: icolorman.h:222
@ kDisabled
Definition: icolorman.h:223
@ kHover
Definition: icolorman.h:224

◆ IconType

enum IconType
Enumerator
kDisabledIcon 
kEnabledIcon 
374  {
377  };
@ kEnabledIcon
Definition: icolorman.h:376
@ kDisabledIcon
Definition: icolorman.h:375

◆ IconColorScale

Enumerator
kSaturationScale 
kValueScale 
kAlphaScale 
kContrastScale 
kGradientMapScale 
379  {
381  kValueScale,
382  kAlphaScale,
385  };
@ kSaturationScale
Definition: icolorman.h:380
@ kAlphaScale
Definition: icolorman.h:382
@ kGradientMapScale
Definition: icolorman.h:384
@ kContrastScale
Definition: icolorman.h:383
@ kValueScale
Definition: icolorman.h:381

◆ RepaintType

Enumerator
kRepaintAll 
kRepaintTrackBar 
kRepaintTimeBar 
493  {
494  kRepaintAll,
497  };
@ kRepaintTrackBar
Definition: icolorman.h:495
@ kRepaintAll
Definition: icolorman.h:494
@ kRepaintTimeBar
Definition: icolorman.h:496

◆ anonymous enum

anonymous enum
Enumerator
registerColor 
loadColorFile 
saveColorFile 
getColorFile 
setColor 
getColor 
getName 
getCategory 
getIconColorScale 
setIconColorScale 
getIconColorInvert 
setIconColorInvert 
getFileName 
getDefaultColor 
getOldUIColorCOLORREF 
repaintUI 
setIconFolder 
reInitIcons 
getIconFolder 
resolveIconFolder 
getColorTheme 
setColorTheme 
getColorTheme_prop 
setColorTheme_prop 
setColorByColorState 
getColorByColorState 
533  {
534 #ifndef NO_CUI // russom - 02/12/02
538  getColorFile,
539  setColor,
540 #endif // NO_CUI
541  getColor,
542  getName,
543  getCategory,
545 #ifndef NO_CUI // russom - 02/20/02
547 #endif
549 #ifndef NO_CUI // russom - 02/20/02
551 #endif
552  getFileName,
555  repaintUI,
556 #ifndef NO_CUI // russom - 02/20/02
558  reInitIcons,
559 #endif
566 
569  };
@ setIconFolder
Definition: icolorman.h:557
@ getDefaultColor
Definition: icolorman.h:553
@ getIconColorScale
Definition: icolorman.h:544
@ setColor
Definition: icolorman.h:539
@ getColorTheme
Definition: icolorman.h:562
@ registerColor
Definition: icolorman.h:535
@ getFileName
Definition: icolorman.h:552
@ setColorTheme_prop
Definition: icolorman.h:565
@ setIconColorScale
Definition: icolorman.h:546
@ resolveIconFolder
Definition: icolorman.h:561
@ getColorTheme_prop
Definition: icolorman.h:564
@ reInitIcons
Definition: icolorman.h:558
@ repaintUI
Definition: icolorman.h:555
@ getOldUIColorCOLORREF
Definition: icolorman.h:554
@ loadColorFile
Definition: icolorman.h:536
@ getColorByColorState
Definition: icolorman.h:568
@ setColorByColorState
Definition: icolorman.h:567
@ saveColorFile
Definition: icolorman.h:537
@ getIconColorInvert
Definition: icolorman.h:548
@ getIconFolder
Definition: icolorman.h:560
@ setColorTheme
Definition: icolorman.h:563
@ getName
Definition: icolorman.h:542
@ getCategory
Definition: icolorman.h:543
@ getColor
Definition: icolorman.h:541
@ setIconColorInvert
Definition: icolorman.h:550
@ getColorFile
Definition: icolorman.h:538

◆ anonymous enum

anonymous enum
Enumerator
iconType 
iconColorScale 
repaintType 
colorThemeType 
572  {
573  iconType,
575  repaintType,
577  };
@ colorThemeType
Definition: icolorman.h:576
@ repaintType
Definition: icolorman.h:575
@ iconColorScale
Definition: icolorman.h:574
@ iconType
Definition: icolorman.h:573

Member Function Documentation

◆ RegisterColor()

virtual bool RegisterColor ( ColorId  id,
const MCHAR pName,
const MCHAR pCategory,
COLORREF  defaultValue,
COLORREF  defaultValueDisabled = 0xff000000,
COLORREF  defaultValueHover = 0xff000000 
)
pure virtual
Remarks
This method registers a new color with the system. For plug-in developers this should be done at startup using a Global Utility Plug-in which calls this method. See the Description section above for details. If developers want to add a color of their own, they need to pick a random 32-bit integer ColorId to identify it.
Parameters
idThe ID of the color to register. This should be generated by the developer using a single DWORD from the output of the Class_ID program. See Class Class_ID for more details.
pNameThe name for the color.
pCategoryThe category for the color. If the name passed matches one of the existing 3ds Max categories the color will be place in there, otherwise a new one will be created.
defaultValueThe default value for the color. This is the value that the color will be reset to when a 3ds Max user presses "Reset" in the color customization dialog. See COLORREF.
defaultValueDisabledThe default disabled value for the color. Used in various UI elements to signal the disabled state of a control. This parameter is optional and will be set to 0xff000000 as a default value, what is defined to be "no color".
defaultValueHoverThe default hover value for the color. Used in various UI elements to paint a control, if the mouse is hovering it. This parameter is optional and will be set to 0xff000000 as a default value, what is defined to be "no color".
Returns
Returns false if the color is already registered; otherwise true.

◆ LoadColorFile()

virtual BOOL LoadColorFile ( const MCHAR pFileName)
pure virtual
Remarks
This method will load the specified color file from the current UI directory.
Parameters:
MCHAR* pFileName

The filename of the color file to load.
Returns
TRUE if the load was successful, otherwise FALSE.

◆ SaveColorFile()

virtual BOOL SaveColorFile ( const MCHAR pFileName)
pure virtual
Remarks
This method will save the specified color file from the current UI directory.
Parameters:
MCHAR* pFileName

The filename of the color file to save.
Returns
TRUE if the save process was successful, otherwise FALSE.

◆ GetColorFile()

virtual const MCHAR* GetColorFile ( )
pure virtual
Remarks
This method returns the file name of the current color file.

◆ SetColor()

virtual bool SetColor ( ColorId  id,
COLORREF  color,
State  state = State::kNormal 
)
pure virtual
Remarks
Sets the color value of the previously registered color whose ID is passed.
Parameters
idSpecifies which color to set.
colorThe color value to set. See COLORREF.
stateSpecifies which color state for the color
Returns
Returns true if the color was set and false if the id passed could not be found.

◆ GetColor()

virtual COLORREF GetColor ( ColorId  id,
State  state = State::kNormal 
)
pure virtual
Remarks
Returns the color value of the color whose ID is passed.
Parameters
idSpecifies which color to get.
stateSpecifies which color state for the color
Returns
The color is returned or black (RGB(0,0,0)) if the ColorId passed was not found.

◆ GetColorAsPoint3()

virtual Point3 GetColorAsPoint3 ( ColorId  id,
State  state = State::kNormal 
)
pure virtual
Remarks
This method returns the color associated with a specified color ID as a Point3.
Parameters
idSpecifies which color to get.
stateSpecifies which color state for the color
Returns
The color is returned or black (RGB(0,0,0)) if the ColorId passed was not found.

◆ GetBrush()

virtual HBRUSH GetBrush ( ColorId  id,
State  state = State::kNormal 
)
pure virtual
Remarks
Returns a handle to the brush for the color whose id is specified. NULL is returned if the id passed is not found. Note that the color manager does resource management for brushes, so the value returned should not be deleted.
Parameters
idThe color whose brush handle is returned.
stateSpecifies which color state for the color
Returns
The brush handle of the color

◆ GetName()

virtual const MCHAR* GetName ( ColorId  id)
pure virtual
Remarks
Returns the name of the color whose ID is passed.
Parameters:
ColorId id

The ID of the color.

◆ GetCategory()

virtual const MCHAR* GetCategory ( ColorId  id)
pure virtual
Remarks
Returns the category string of the color whose ID is passed.
Parameters:
ColorId id

The ID of the color.

◆ CustSysColor()

virtual COLORREF CustSysColor ( int  which)
pure virtual
Remarks
This method takes the specified windows color definition (for example COLOR_BTNHILIGHT) and returns the 3ds Max customized version of that color. Anyone writing a plug-in with custom windows code should use this call (and CustSysColorBrush() below) instead of the Win32 GetSysColor() and GetSysColorBrush() if they want to participate in the 3ds Max custom color scheme.

Note the following #define which may be used to simplify coding:

#define GetCustSysColor(which) (ColorMan()->CustSysColor(which))
Parameters:
int which

Specifies the windows color definition. See Standard Color IDs. For a full list of windows color definitions, please refer to the Win32 API, in particular the methods GetSysColor() and SetSysColor().

◆ CustSysColorBrush()

virtual HBRUSH CustSysColorBrush ( int  which)
pure virtual
Remarks
This method returns a handle identifying a logical brush that corresponds to the specified color index. Note that the color manager does resource management for brushes, so the value returned should not be deleted.
Parameters:
int which

Specifies the windows color definition. See Standard Color IDs. For a full list of windows color definitions, please refer to the Win32 API, in particular the methods GetSysColor() and SetSysColor().

Note the following #define which may be used to simplify coding a bit:

#define GetCustSysColorBrush(which) (ColorMan()->CustSysColorBrush(which))

◆ GetOldUIColor()

virtual Point3 GetOldUIColor ( int  which)
pure virtual
Remarks
Returns the specified color value for drawing various items in the viewports. This is the same as the previous GetUIColor() function.
Parameters:
int which

Specifies which color to retrieve. See ViewportDrawingColors.
Returns
The color as a Point3.

◆ SetOldUIColor()

virtual void SetOldUIColor ( int  which,
Point3 clr 
)
pure virtual
Remarks
Sets the specified color value for drawing various items in the viewports. This is the same as the previous SetUIColor() function.
Parameters:
int which

Specifies which color to retrieve. See ViewportDrawingColors Point3 *clr

Points to the color value to set.

◆ GetOldDefaultUIColor()

virtual Point3 GetOldDefaultUIColor ( int  which)
pure virtual
Remarks
Returns the default color used for drawing various items in the 3ds Max user interface. The values returned are not affected by the user's color selections or those set by SetUIColor(). This is the same as the previous GetDefaultUIColor() function.
Parameters:
int which

Specifies which color to retrieve. See ViewportDrawingColors.

◆ GetIconColorScale()

virtual float GetIconColorScale ( IconType  type,
IconColorScale  which 
)
pure virtual
Remarks
Returns a floating point value (in the range 0.0f to 1.0f) that is one of the scale factors applied to the specified icon type. These scale values used to do image processing on the icons at start-up time.
Parameters:
IconType type

The icon type. One of the following values:

kDisabledIcon

The disabled icons.

kEnabledIcon

The enabled icons.

IconColorScale which

The icon color scale. One of the following values:

kSaturationScale

The saturation scale.

kValueScale

The value scale.

kAlphaScale

The alpha scale. kContrastScale

The contrast scale. kGradientMapScale

The gradient map scale.

◆ SetIconColorScale()

virtual void SetIconColorScale ( IconType  type,
IconColorScale  which,
float  value 
)
pure virtual
Remarks
Sets the specified scale factor for the icon type passed. The color manager maintains the values for the 3ds Max icon image processing system. Developers can set values to scale the saturation, value and transparency for enabled and disabled icon images using this method.
Parameters:
IconType type

The icon type. One of the following values:

kDisabledIcon

The disabled icons.

kEnabledIcon

The enabled icons.

IconColorScale which

The icon color scale. One of the following values:

kSaturationScale

The saturation scale.

kValueScale

The value scale.

kAlphaScale

The alpha scale.

float value

The value to set (in the range 0.0f to 1.0f).

◆ GetIconColorInvert()

virtual bool GetIconColorInvert ( IconType  type)
pure virtual
Remarks
Returns true if the invert flag is set for the specified icon type and false if not set.
Parameters:
IconType type

The icon type. One of the following values:

kDisabledIcon

The disabled icons.

kEnabledIcon

The enabled icons.

◆ SetIconColorInvert()

virtual void SetIconColorInvert ( IconType  type,
bool  value 
)
pure virtual
Remarks
Sets the invert flag for the specified icon type to on or off.
Parameters:
IconType type

The icon type. One of the following values:

kDisabledIcon

The disabled icons.

kEnabledIcon

The enabled icons.

bool value

Pass true for inverted; false for not inverted.

◆ GetAppFrameColorTheme()

virtual AppFrameColorTheme GetAppFrameColorTheme ( ) const
pure virtual
Remarks
Returns the current color theme.

◆ SetAppFrameColorTheme()

virtual void SetAppFrameColorTheme ( AppFrameColorTheme  value)
pure virtual
Remarks
Sets the current color theme.
Parameters:
AppFrameColorTheme value

The value of color theme to be set.

◆ GetFileName()

virtual const MCHAR* GetFileName ( )
pure virtual
Remarks
Returns the file name of the currently loaded color file.

◆ GetDefaultColor()

virtual COLORREF GetDefaultColor ( ColorId  id,
State  state = State::kNormal 
)
pure virtual
Remarks
Returns the default color for the specified ID. The default color is the value passed as defaultValue in RegisterColor(), regardless if a SetColor() has been done subsequently. This is used by the UI when the user presses "Reset" to reset a color to its default value.
Parameters
idSpecifies which default color to get.
stateSpecifies which color state for the default color
Returns
The color is returned or black (RGB(0,0,0)) if the ColorId passed was not found.

◆ GetOldUIColorCOLORREF()

virtual COLORREF GetOldUIColorCOLORREF ( int  which)
pure virtual
Remarks
This method returns the color associated with a user interface color as a COLORREF.
Parameters:
int which

The UI color index (see gfx.h).
Remarks
Returns the specified color value for drawing various items in the viewports as a COLORREF.
Parameters:
int which

Specifies which color to retrieve. See ViewportDrawingColors.

◆ RepaintUI()

virtual void RepaintUI ( RepaintType  type)
pure virtual
Remarks
This method allows you to issue a repaint of the user interface.
Parameters:
RepaintType type

The type of repaint you wish to issue; kRepaintAll, kRepaintTrackBar, kRepaintTimeBar.

◆ SetIconFolder()

virtual BOOL SetIconFolder ( const MCHAR pFolder)
pure virtual
Remarks
This method takes the name of a folder that must be in 3ds Max "UI" folder. If the folder exists, then it sets 3ds Max icon folder to point to it, and redraws the UI with those new icons.Warning: All of the 3ds Max standard icon BMP files must exist in that folder. If any of the standard files are missing, icons will appear blank in the UI. All the icons files needed live in the UI/icons folder, which is the default icon folder.
Parameters:
MCHAR* pFolder

The icon folder to set.

◆ GetIconFolder()

virtual const MCHAR* GetIconFolder ( )
pure virtual

◆ ReInitIcons()

virtual void ReInitIcons ( )
pure virtual

◆ ResolveIconFolder()

virtual BOOL ResolveIconFolder ( const MCHAR pFilename,
MSTR path 
)
pure virtual