Annotation of quake2/client/qmenu.h, revision 1.1

1.1     ! root        1: #ifndef __QMENU_H__
        !             2: #define __QMENU_H__
        !             3: 
        !             4: #define MAXMENUITEMS   64
        !             5: 
        !             6: #define MTYPE_SLIDER           0
        !             7: #define MTYPE_LIST                     1
        !             8: #define MTYPE_ACTION           2
        !             9: #define MTYPE_SPINCONTROL      3
        !            10: #define MTYPE_SEPARATOR        4
        !            11: #define MTYPE_FIELD                    5
        !            12: 
        !            13: #define        K_TAB                   9
        !            14: #define        K_ENTER                 13
        !            15: #define        K_ESCAPE                27
        !            16: #define        K_SPACE                 32
        !            17: 
        !            18: // normal keys should be passed as lowercased ascii
        !            19: 
        !            20: #define        K_BACKSPACE             127
        !            21: #define        K_UPARROW               128
        !            22: #define        K_DOWNARROW             129
        !            23: #define        K_LEFTARROW             130
        !            24: #define        K_RIGHTARROW    131
        !            25: 
        !            26: #define QMF_LEFT_JUSTIFY       0x00000001
        !            27: #define QMF_GRAYED                     0x00000002
        !            28: #define QMF_NUMBERSONLY                0x00000004
        !            29: 
        !            30: typedef struct _tag_menuframework
        !            31: {
        !            32:        int x, y;
        !            33:        int     cursor;
        !            34: 
        !            35:        int     nitems;
        !            36:        int nslots;
        !            37:        void *items[64];
        !            38: 
        !            39:        const char *statusbar;
        !            40: 
        !            41:        void (*cursordraw)( struct _tag_menuframework *m );
        !            42:        
        !            43: } menuframework_s;
        !            44: 
        !            45: typedef struct
        !            46: {
        !            47:        int type;
        !            48:        const char *name;
        !            49:        int x, y;
        !            50:        menuframework_s *parent;
        !            51:        int cursor_offset;
        !            52:        int     localdata[4];
        !            53:        unsigned flags;
        !            54: 
        !            55:        const char *statusbar;
        !            56: 
        !            57:        void (*callback)( void *self );
        !            58:        void (*statusbarfunc)( void *self );
        !            59:        void (*ownerdraw)( void *self );
        !            60:        void (*cursordraw)( void *self );
        !            61: } menucommon_s;
        !            62: 
        !            63: typedef struct
        !            64: {
        !            65:        menucommon_s generic;
        !            66: 
        !            67:        char            buffer[80];
        !            68:        int                     cursor;
        !            69:        int                     length;
        !            70:        int                     visible_length;
        !            71:        int                     visible_offset;
        !            72: } menufield_s;
        !            73: 
        !            74: typedef struct 
        !            75: {
        !            76:        menucommon_s generic;
        !            77: 
        !            78:        float minvalue;
        !            79:        float maxvalue;
        !            80:        float curvalue;
        !            81: 
        !            82:        float range;
        !            83: } menuslider_s;
        !            84: 
        !            85: typedef struct
        !            86: {
        !            87:        menucommon_s generic;
        !            88: 
        !            89:        int curvalue;
        !            90: 
        !            91:        const char **itemnames;
        !            92: } menulist_s;
        !            93: 
        !            94: typedef struct
        !            95: {
        !            96:        menucommon_s generic;
        !            97: } menuaction_s;
        !            98: 
        !            99: typedef struct
        !           100: {
        !           101:        menucommon_s generic;
        !           102: } menuseparator_s;
        !           103: 
        !           104: qboolean Field_Key( menufield_s *field, int key );
        !           105: 
        !           106: void   Menu_AddItem( menuframework_s *menu, void *item );
        !           107: void   Menu_AdjustCursor( menuframework_s *menu, int dir );
        !           108: void   Menu_Center( menuframework_s *menu );
        !           109: void   Menu_Draw( menuframework_s *menu );
        !           110: void   *Menu_ItemAtCursor( menuframework_s *m );
        !           111: qboolean Menu_SelectItem( menuframework_s *s );
        !           112: void   Menu_SetStatusBar( menuframework_s *s, const char *string );
        !           113: void   Menu_SlideItem( menuframework_s *s, int dir );
        !           114: int            Menu_TallySlots( menuframework_s *menu );
        !           115: 
        !           116: void    Menu_DrawString( int, int, const char * );
        !           117: void    Menu_DrawStringDark( int, int, const char * );
        !           118: void    Menu_DrawStringR2L( int, int, const char * );
        !           119: void    Menu_DrawStringR2LDark( int, int, const char * );
        !           120: 
        !           121: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.