3ds Max C++ API Reference
imenus.h File Reference

Contains Abstract class for Menus. More...

#include "maxheap.h"
#include "strclass.h"
#include "geom/color.h"
#include "GetCOREInterface.h"
#include "iFnPub.h"

Classes

struct  MenuEvent
 Represents a Menu Event. More...
 
class  ItemID
 An ID for a Menu or Menu Item. More...
 
class  IMenuTimer
 
class  MenuColors
 
class  IMenuSettings
 
class  IMenuGlobalContext
 
class  IMenuLocalContext
 
class  IQuadMenuSettings
 
class  IMenuElement
 
class  IMenuItem
 This abstract class represents an interface for a menu item Methods that are marked as internal should not be used. More...
 
class  IMenuItemExtension
 Extends the IMenuItem interface. More...
 
class  IMenu
 
class  IPopupMenu
 
class  IMultiMenu
 
class  IMenuBar
 
class  IQuadMenu
 

Macros

#define MENUS_API   __declspec(dllimport)
 
#define MENU_SETTINGS   Interface_ID(0x31561ddb, 0x1a2f4619)
 
#define MENU_ITEM_INTERFACE   Interface_ID(0x2e926bd1, 0x296e68f6)
 
#define MENUITEM_EXTENSION_INTERFACE   Interface_ID(0xF46B77A3, 0xF4804FFF)
 
#define MENU_INTERFACE   Interface_ID(0x4bd57e2e, 0x6de57aeb)
 
#define QUAD_MENU_INTERFACE   Interface_ID(0x78b735e9, 0x7c001f68)
 

Typedefs

typedef unsigned int ValidityToken
 

Enumerations

enum  Event {
  EVENT_BEGIN_TRACK = 0 , EVENT_CURSOR_DOWN , EVENT_RIGHT_CURSOR_DOWN , EVENT_CURSOR_MOVED ,
  EVENT_CURSOR_UP , EVENT_END_TRACK , EVENT_KEY , EVENT_RIGHT_CURSOR_UP ,
  EVENT_MIDDLE_CURSOR_DOWN , EVENT_MIDDLE_CURSOR_UP
}
 Enumerator for different type of input events for Keyboard and Mouse. More...
 
enum  EventParam { EP_NULL = 0 , EP_SHOW_SUBMENU , EP_HIDE_SUBMENU }
 
enum  QuadIndex { QUAD_ONE = 0 , QUAD_TWO , QUAD_THREE , QUAD_FOUR }
 
enum  DisplayMethod { DM_NORMAL = 0 , DM_STRETCH , DM_FADE , DM_NUM_METHODS }
 

Functions

bool operator== (ItemID &a, ItemID &b)
 
COLORREF MakeCOLORREF (const Color &c)
 
IQuadMenuSettingsGetQuadSettings ()
 
MENUS_API IMenuItemGetIMenuItem ()
 
MENUS_API void ReleaseIMenuItem (IMenuItem *)
 
MENUS_API IMenuGetIMenu ()
 
MENUS_API void ReleaseIMenu (IMenu *)
 
MENUS_API IQuadMenuGetIQuadMenu ()
 
MENUS_API void ReleaseIQuadMenu (IQuadMenu *)
 

Detailed Description

Contains Abstract class for Menus.

Macro Definition Documentation

◆ MENUS_API

#define MENUS_API   __declspec(dllimport)

◆ MENU_SETTINGS

#define MENU_SETTINGS   Interface_ID(0x31561ddb, 0x1a2f4619)

◆ MENU_ITEM_INTERFACE

#define MENU_ITEM_INTERFACE   Interface_ID(0x2e926bd1, 0x296e68f6)

◆ MENUITEM_EXTENSION_INTERFACE

#define MENUITEM_EXTENSION_INTERFACE   Interface_ID(0xF46B77A3, 0xF4804FFF)

◆ MENU_INTERFACE

#define MENU_INTERFACE   Interface_ID(0x4bd57e2e, 0x6de57aeb)

◆ QUAD_MENU_INTERFACE

#define QUAD_MENU_INTERFACE   Interface_ID(0x78b735e9, 0x7c001f68)

Typedef Documentation

◆ ValidityToken

typedef unsigned int ValidityToken

Enumeration Type Documentation

◆ Event

enum Event

Enumerator for different type of input events for Keyboard and Mouse.

Enumerator
EVENT_BEGIN_TRACK 
EVENT_CURSOR_DOWN 
EVENT_RIGHT_CURSOR_DOWN 
EVENT_CURSOR_MOVED 
EVENT_CURSOR_UP 
EVENT_END_TRACK 
EVENT_KEY 
EVENT_RIGHT_CURSOR_UP 
EVENT_MIDDLE_CURSOR_DOWN 
EVENT_MIDDLE_CURSOR_UP 
37 {
44  EVENT_KEY,
46  EVENT_MIDDLE_CURSOR_DOWN, //RK:01/31/02, to support action options
48 };
@ EVENT_MIDDLE_CURSOR_DOWN
Definition: imenus.h:46
@ EVENT_RIGHT_CURSOR_DOWN
Definition: imenus.h:40
@ EVENT_CURSOR_MOVED
Definition: imenus.h:41
@ EVENT_RIGHT_CURSOR_UP
Definition: imenus.h:45
@ EVENT_BEGIN_TRACK
Definition: imenus.h:38
@ EVENT_END_TRACK
Definition: imenus.h:43
@ EVENT_KEY
Definition: imenus.h:44
@ EVENT_CURSOR_UP
Definition: imenus.h:42
@ EVENT_CURSOR_DOWN
Definition: imenus.h:39
@ EVENT_MIDDLE_CURSOR_UP
Definition: imenus.h:47

◆ EventParam

enum EventParam
Enumerator
EP_NULL 
EP_SHOW_SUBMENU 
EP_HIDE_SUBMENU 
@ EP_NULL
Definition: imenus.h:50
@ EP_HIDE_SUBMENU
Definition: imenus.h:50
@ EP_SHOW_SUBMENU
Definition: imenus.h:50

◆ QuadIndex

enum QuadIndex
Enumerator
QUAD_ONE 
QUAD_TWO 
QUAD_THREE 
QUAD_FOUR 
@ QUAD_THREE
Definition: imenus.h:74
@ QUAD_ONE
Definition: imenus.h:74
@ QUAD_FOUR
Definition: imenus.h:74
@ QUAD_TWO
Definition: imenus.h:74

◆ DisplayMethod

Enumerator
DM_NORMAL 
DM_STRETCH 
DM_FADE 
DM_NUM_METHODS 
@ DM_STRETCH
Definition: imenus.h:76
@ DM_FADE
Definition: imenus.h:76
@ DM_NORMAL
Definition: imenus.h:76
@ DM_NUM_METHODS
Definition: imenus.h:76

Function Documentation

◆ operator==()

bool operator== ( ItemID a,
ItemID b 
)
inline
Remarks
This method is used internally.

This operator tests for equality of two ItemID's.
Parameters:
ItemID& a, ItemID& b

The two ItemID's you wish to test for equality.
126 {
127  if ( a.mpMenu != b.mpMenu ||
128  a.mpItem != b.mpItem )
129  return false;
130  else
131  return true;
132 }
IMenu * mpMenu
Pointer to an IMenu.
Definition: imenus.h:96
IMenuItem * mpItem
Pointer to an IMenuItem.
Definition: imenus.h:98

◆ MakeCOLORREF()

COLORREF MakeCOLORREF ( const Color c)
inline
234 { return RGB( FLto255(c.r), FLto255(c.g), FLto255(c.b) ); }
float r
These values are in the range 0.0 to 1.0.
Definition: color.h:78
float b
These values are in the range 0.0 to 1.0.
Definition: color.h:82
float g
These values are in the range 0.0 to 1.0.
Definition: color.h:80
#define FLto255(x)
Definition: color.h:21

◆ GetQuadSettings()

IQuadMenuSettings* GetQuadSettings ( )
inline
Definition: imenus.h:817
CoreExport Interface * GetCOREInterface()
#define MENU_SETTINGS
Definition: imenus.h:1257

◆ GetIMenuItem()

MENUS_API IMenuItem* GetIMenuItem ( )
Remarks
This method will return a pointer to the IMenuItem.

◆ ReleaseIMenuItem()

MENUS_API void ReleaseIMenuItem ( IMenuItem )
Remarks
This method will release the specified IMenuItem.
Parameters:
IMenuItem *

A pointer to the IMenuItem you wish to release.

◆ GetIMenu()

MENUS_API IMenu* GetIMenu ( )
Remarks
This method will return a pointer to the IMenu.

◆ ReleaseIMenu()

MENUS_API void ReleaseIMenu ( IMenu )
Remarks
This method will release the specified IMenu.
Parameters:
IMenuItem *

A pointer to the IMenu you wish to release.

◆ GetIQuadMenu()

MENUS_API IQuadMenu* GetIQuadMenu ( )
Remarks
This method will return a pointer to the IQuadMenu.

◆ ReleaseIQuadMenu()

MENUS_API void ReleaseIQuadMenu ( IQuadMenu )
Remarks
This method will release the specified IQuadMenu.
Parameters:
IMenuItem *

A pointer to the IQuadMenu you wish to release.