imenus.h File Reference

imenus.h File Reference
#include "maxheap.h"
#include "strclass.h"
#include "color.h"
#include "GetCOREInterface.h"
#include "iFnPub.h"

File Description

Contains Abstract class for Menus.

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 *)
 

Macro Definition Documentation

#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)

Typedef Documentation

typedef unsigned int ValidityToken

Enumeration Type Documentation

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 };
Definition: imenus.h:43
Definition: imenus.h:40
Definition: imenus.h:41
Definition: imenus.h:46
Definition: imenus.h:38
Definition: imenus.h:39
Definition: imenus.h:45
Definition: imenus.h:47
Definition: imenus.h:44
Definition: imenus.h:42
enum EventParam
Enumerator
EP_NULL 
EP_SHOW_SUBMENU 
EP_HIDE_SUBMENU 
Definition: imenus.h:50
Definition: imenus.h:50
Definition: imenus.h:50
enum QuadIndex
Enumerator
QUAD_ONE 
QUAD_TWO 
QUAD_THREE 
QUAD_FOUR 
Definition: imenus.h:74
Definition: imenus.h:74
Definition: imenus.h:74
Definition: imenus.h:74
Enumerator
DM_NORMAL 
DM_STRETCH 
DM_FADE 
DM_NUM_METHODS 
Definition: imenus.h:76
Definition: imenus.h:76
Definition: imenus.h:76
Definition: imenus.h:76

Function Documentation

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
COLORREF MakeCOLORREF ( const Color c)
inline
234 { return RGB( FLto255(c.r), FLto255(c.g), FLto255(c.b) ); }
float g
These values are in the range 0.0 to 1.0.
Definition: color.h:76
#define FLto255(x)
Definition: color.h:24
float b
These values are in the range 0.0 to 1.0.
Definition: color.h:78
float r
These values are in the range 0.0 to 1.0.
Definition: color.h:74
IQuadMenuSettings* GetQuadSettings ( )
inline
Definition: imenus.h:816
CoreExport Interface * GetCOREInterface()
#define MENU_SETTINGS
Definition: imenus.h:1257
MENUS_API IMenuItem* GetIMenuItem ( )
Remarks
This method will return a pointer to the IMenuItem.
MENUS_API void ReleaseIMenuItem ( IMenuItem )
Remarks
This method will release the specified IMenuItem.
Parameters:
IMenuItem *

A pointer to the IMenuItem you wish to release.
MENUS_API IMenu* GetIMenu ( )
Remarks
This method will return a pointer to the IMenu.
MENUS_API void ReleaseIMenu ( IMenu )
Remarks
This method will release the specified IMenu.
Parameters:
IMenuItem *

A pointer to the IMenu you wish to release.
MENUS_API IQuadMenu* GetIQuadMenu ( )
Remarks
This method will return a pointer to the IQuadMenu.
MENUS_API void ReleaseIQuadMenu ( IQuadMenu )
Remarks
This method will release the specified IQuadMenu.
Parameters:
IMenuItem *

A pointer to the IQuadMenu you wish to release.