#ifndef VSMENU_H #define VSMENU_H #include "../include/osw-x.h" #include "../include/widget.h" typedef struct _xsw_vsmenu_struct xsw_vsmenu_struct; #define XSW_VSMENU(p) ((xsw_vsmenu_struct *)(p)) typedef struct _xsw_vsmenu_item_struct xsw_vsmenu_item_struct; #define XSW_VSMENU_ITEM(p) ((xsw_vsmenu_item_struct *)(p)) struct _xsw_vsmenu_struct { menu_struct menu; xsw_vsmenu_item_struct **item; int total_items; }; struct _xsw_vsmenu_item_struct { int type; /* One of MENU_ITEM_* */ int action; /* One of XSW_ACTION_* */ char *text; char *icon_path; }; /* vsmenu.cpp */ extern "C" xsw_vsmenu_item_struct *VSMenuItemNew(void); extern "C" xsw_vsmenu_item_struct *VSMenuItemDup(xsw_vsmenu_item_struct *item); extern "C" void VSMenuItemDelete(xsw_vsmenu_item_struct *item); extern "C" void VSMenuItemsListDelete( xsw_vsmenu_item_struct **items_list, const int nitems ); extern "C" xsw_vsmenu_struct *VSMenuNew( xsw_vsmenu_item_struct **items_list, const int nitems ); extern "C" void VSMenuDraw(xsw_vsmenu_struct *m); extern "C" int VSMenuManage(xsw_vsmenu_struct *m, event_t *event); extern "C" void VSMenuMap(xsw_vsmenu_struct *m); extern "C" void VSMenuUnmap(xsw_vsmenu_struct *m); extern "C" void VSMenuDelete(xsw_vsmenu_struct *m); #if 0 /* vsmenufio.cpp */ extern "C" int VSMenuFileOpen( const char *path, xsw_vsmenu_item_struct ***list, int *total_rtn ); extern "C" int VSMenuFileSave( const char *path, xsw_vsmenu_item_struct **list, const int total ); #endif #endif /* VSMENU */