#ifndef __FL_MENU__C__ #define __FL_MENU__C__ #ifdef __cplusplus // always include the FL/*.H headers before local headers // Fl_Widget is included transitively and needed for // the callback mechanism included below to work. #include "FL/Fl.H" #include "FL/Fl_Menu_.H" #include "Fl_CallbackC.h" EXPORT { class Fl_DerivedMenu_ : public Fl_Menu_ { fl_Menu__Virtual_Funcs* overriddenFuncs; void* other_data; public: void* get_other_data(); void set_other_data(void*); void destroy_data(); void draw_box(); void draw_box(Fl_Boxtype t, Fl_Color c); void draw_box(Fl_Boxtype t, int x,int y,int w,int h, Fl_Color c); void draw_backdrop(); void draw_focus(); void draw_focus(Fl_Boxtype t, int x,int y,int w,int h); void draw_label(); void draw_label(int x,int y,int w,int h,Fl_Align alignment); virtual void draw(); virtual int handle(int event); void resize_super(int x, int y, int w, int h); virtual void resize(int x, int y, int w, int h); virtual void show(); virtual void hide(); virtual Fl_Window* as_window(); virtual Fl_Gl_Window* as_gl_window(); virtual Fl_Group* as_group(); virtual Fl_Group* as_group_super(); const Fl_Menu_Item* get_menu_item_by_index(int i); Fl_DerivedMenu_(int X, int Y, int W, int H, const char *l, fl_Menu__Virtual_Funcs* funcs); Fl_DerivedMenu_(int X, int Y, int W, int H, fl_Menu__Virtual_Funcs* funcs); ~Fl_DerivedMenu_(); }; #endif /* Inherited from Fl_Widget */ FL_EXPORT_C_HEADER(int,Fl_Menu__handle_super,(fl_Group self, int event)); FL_EXPORT_C_HEADER(int,Fl_Menu__handle,(fl_Group self, int event)); FL_EXPORT_C_HEADER(fl_Group,Fl_Menu__parent,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_parent,(fl_Menu_ menu_, fl_Group grp)); FL_EXPORT_C_HEADER(uchar,Fl_Menu__type,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_type,(fl_Menu_ menu_, uchar t)); FL_EXPORT_C_HEADER(void,Fl_Menu__draw_box,(fl_Menu_ Menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__draw_box_with_tc,(fl_Menu_ Menu_,Fl_Boxtype t, Fl_Color c)); FL_EXPORT_C_HEADER(void,Fl_Menu__draw_box_with_txywhc,(fl_Menu_ Menu_,Fl_Boxtype t, int x,int y,int w,int h, Fl_Color c)); FL_EXPORT_C_HEADER(void,Fl_Menu__draw_backdrop,(fl_Menu_ Menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__draw_focus,(fl_Menu_ Menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__draw_focus_with_txywh,(fl_Menu_ Menu_,Fl_Boxtype t, int x,int y,int w,int h)); FL_EXPORT_C_HEADER(void,Fl_Menu__draw_label,(fl_Menu_ Menu_)); FL_EXPORT_C_HEADER(int,Fl_Menu__x,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(int,Fl_Menu__y,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(int,Fl_Menu__w,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(int,Fl_Menu__h,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_align,(fl_Menu_ menu_, Fl_Align alignment)); FL_EXPORT_C_HEADER(Fl_Align,Fl_Menu__align,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(Fl_Boxtype,Fl_Menu__box,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_box,(fl_Menu_ menu_, Fl_Boxtype new_box)); FL_EXPORT_C_HEADER(Fl_Color,Fl_Menu__color,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_color,(fl_Menu_ menu_, Fl_Color bg)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_color_with_bg_sel,(fl_Menu_ menu_,Fl_Color bg, Fl_Color a)); FL_EXPORT_C_HEADER(Fl_Color,Fl_Menu__selection_color,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_selection_color,(fl_Menu_ menu_, Fl_Color a)); FL_EXPORT_C_HEADER(const char*,Fl_Menu__label,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__copy_label,(fl_Menu_ menu_, const char* new_label)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_label,(fl_Menu_ menu_, const char* text)); FL_EXPORT_C_HEADER(Fl_Labeltype,Fl_Menu__labeltype,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_labeltype,(fl_Menu_ menu_, Fl_Labeltype a)); FL_EXPORT_C_HEADER(Fl_Color,Fl_Menu__labelcolor,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_labelcolor,(fl_Menu_ menu_, Fl_Color c)); FL_EXPORT_C_HEADER(Fl_Font,Fl_Menu__item_labelfont,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_item_labelfont,(fl_Menu_ menu_, Fl_Font c)); FL_EXPORT_C_HEADER(Fl_Fontsize,Fl_Menu__item_labelsize,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_item_labelsize,(fl_Menu_ menu_, Fl_Fontsize pix)); FL_EXPORT_C_HEADER(fl_Image,Fl_Menu__image,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_image,(fl_Menu_ menu_, fl_Image pix)); FL_EXPORT_C_HEADER(fl_Image,Fl_Menu__deimage,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_deimage,(fl_Menu_ menu_, fl_Image pix)); FL_EXPORT_C_HEADER(const char*,Fl_Menu__tooltip,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__copy_tooltip,(fl_Menu_ menu_, const char* text)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_tooltip,(fl_Menu_ menu_, const char* text)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_callback_with_user_data,(fl_Menu_ menu_, fl_Callback* cb, void* p)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_callback,(fl_Menu_ menu_, fl_Callback* cb)); FL_EXPORT_C_HEADER(void*,Fl_Menu__other_data,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_other_data,(fl_Menu_ menu_, void* v)); FL_EXPORT_C_HEADER(void*,Fl_Menu__user_data,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_user_data,(fl_Menu_ menu_, void* v)); FL_EXPORT_C_HEADER(long,Fl_Menu__argument,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_argument,(fl_Menu_ menu_, long v)); FL_EXPORT_C_HEADER(Fl_When,Fl_Menu__when,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_when,(fl_Menu_ menu_, uchar i)); FL_EXPORT_C_HEADER(unsigned int,Fl_Menu__visible,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(int,Fl_Menu__visible_r,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__show_super,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__show,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__hide_super,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__hide,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(fl_Window,Fl_Menu__as_window_super,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(fl_Window,Fl_Menu__as_window ,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_visible,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__clear_visible,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(unsigned int,Fl_Menu__active,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(int,Fl_Menu__active_r,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__activate,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__deactivate,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(unsigned int,Fl_Menu__output,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_output,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__clear_output,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(unsigned int,Fl_Menu__takesevents,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_changed,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__clear_changed,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(int,Fl_Menu__take_focus,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_visible_focus,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__clear_visible_focus,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__modify_visible_focus,(fl_Menu_ menu_, int v)); FL_EXPORT_C_HEADER(unsigned int,Fl_Menu__visible_focus,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu_do_callback,(fl_Menu menu)); FL_EXPORT_C_HEADER(void,Fl_Menu_do_callback_with_widget_and_user_data,(fl_Menu menu, fl_Widget w, long arg)); FL_EXPORT_C_HEADER(void,Fl_Menu_do_callback_with_widget_and_default_user_data,(fl_Menu menu, fl_Widget w)); FL_EXPORT_C_HEADER(int,Fl_Menu__contains,(fl_Menu_ menu_, fl_Group w)); FL_EXPORT_C_HEADER(int,Fl_Menu__inside,(fl_Menu_ menu_, fl_Group w)); FL_EXPORT_C_HEADER(void,Fl_Menu__redraw,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__redraw_label,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(uchar,Fl_Menu__damage,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__clear_damage_with_bitmask,(fl_Menu_ menu_, uchar c)); FL_EXPORT_C_HEADER(void,Fl_Menu__clear_damage,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__damage_with_text,(fl_Menu_ menu_, uchar c)); FL_EXPORT_C_HEADER(void,Fl_Menu__damage_inside_group,(fl_Menu_ menu_, uchar c, int x , int y , int w, int h)); FL_EXPORT_C_HEADER(void,Fl_Menu__draw_label_with_xywh_alignment,(fl_Menu_ menu_, int x , int y , int w, int h, Fl_Align alignment)); FL_EXPORT_C_HEADER(void,Fl_Menu__measure_label,(fl_Menu_ menu_, int* ww , int* hh)); FL_EXPORT_C_HEADER(fl_Window,Fl_Menu__window,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(fl_Window,Fl_Menu__top_window,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(fl_Window ,Fl_Menu__top_window_offset,(fl_Menu_ menu_, int* xoff, int* yoff)); FL_EXPORT_C_HEADER(fl_Group,Fl_Menu__as_group_super,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(fl_Group,Fl_Menu__as_group,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(fl_Gl_Window,Fl_Menu__as_gl_window_super,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(fl_Gl_Window,Fl_Menu__as_gl_window,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__resize_super,(fl_Menu_ menu_,int X, int Y, int W, int H)); FL_EXPORT_C_HEADER(void,Fl_Menu__resize,(fl_Menu_ menu_,int X, int Y, int W, int H)); /* Fl_Menu_ specific */ FL_EXPORT_C_HEADER(void*,Fl_Menu__other_data,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_other_data,(fl_Menu_ menu_, void* v)); FL_EXPORT_C_HEADER(fl_Menu_,Fl_Menu__New_WithLabel,(int x, int y, int w, int h, const char* label)); FL_EXPORT_C_HEADER(fl_Menu_,Fl_OverriddenMenu__New_WithLabel,(int x, int y, int w, int h, const char* label, fl_Menu__Virtual_Funcs* funcs)); FL_EXPORT_C_HEADER(fl_Menu_ ,Fl_Menu__New,(int x, int y, int w, int h)); FL_EXPORT_C_HEADER(fl_Menu_ ,Fl_OverriddenMenu__New,(int x, int y, int w, int h, fl_Menu__Virtual_Funcs* funcs)); FL_EXPORT_C_HEADER(void ,Fl_Menu__Destroy,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(int,Fl_Menu__item_pathname_with_finditem,(fl_Menu_ menu_, char* name, int namelen, fl_Menu_Item finditem)); FL_EXPORT_C_HEADER(int,Fl_Menu__item_pathname,(fl_Menu_ menu_, char* name, int namelen)); FL_EXPORT_C_HEADER( fl_Menu_Item,Fl_Menu__picked,(fl_Menu_ menu_, const fl_Menu_Item item)); FL_EXPORT_C_HEADER( fl_Menu_Item,Fl_Menu__find_item_with_name,(fl_Menu_ menu_, char* name)); // FL_EXPORT_C( fl_Menu_Item, Fl_Menu__find_item_with_cb)(fl_Menu_ menu_, fl_Callback cb); Don't know how to do this FL_EXPORT_C_HEADER(int,Fl_Menu__find_index_with_name,(fl_Menu_ menu_, char* name)); FL_EXPORT_C_HEADER(int,Fl_Menu__find_index_with_item,(fl_Menu_ menu_, fl_Menu_Item item)); // FL_EXPORT_C(int, Fl_Menu__find_index_with_cb)(fl_Menu_ menu_, fl_Callback cb); Don't know how to do this FL_EXPORT_C_HEADER( fl_Menu_Item,Fl_Menu__test_shortcut,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__global,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(fl_Menu_Item,Fl_Menu__menu,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__menu_with_m,(fl_Menu_ menu_, fl_Menu_Item* item, int size)); FL_EXPORT_C_HEADER(void,Fl_Menu__copy,(fl_Menu_ menu_, fl_Menu_Item m)); FL_EXPORT_C_HEADER(void,Fl_Menu__copy_with_user_data,(fl_Menu_ menu_, fl_Menu_Item m, void* user_data)); FL_EXPORT_C_HEADER(int,Fl_Menu__insert,(fl_Menu_ menu_, int index, char* name, int shortcut, fl_Callback cb)); FL_EXPORT_C_HEADER(int,Fl_Menu__insert_with_user_data,(fl_Menu_ menu_, int index, char*, int shortcut, fl_Callback* cb, void* user_data)); FL_EXPORT_C_HEADER(int,Fl_Menu__insert_with_flags,(fl_Menu_ menu_, int index, char* name, int shortcut, fl_Callback* cb, int flags)); FL_EXPORT_C_HEADER(int,Fl_Menu__insert_with_user_data_flags,(fl_Menu_ menu_, int index, char* name, int shortcut, fl_Callback* cb, void* user_data, int flags)); FL_EXPORT_C_HEADER(int,Fl_Menu__insert_with_shortcutname,(fl_Menu_ menu_, int index, char* name, char* shortcut, fl_Callback* cb)); FL_EXPORT_C_HEADER(int,Fl_Menu__insert_with_shortcutname_flags,(fl_Menu_ menu_, int index, char* name, char* shortcut, fl_Callback* cb, int flags)); FL_EXPORT_C_HEADER(int,Fl_Menu__add,(fl_Menu_ menu_, char* name, int shortcut, fl_Callback)); FL_EXPORT_C_HEADER(int,Fl_Menu__add_with_user_data,(fl_Menu_ menu_, char* name, int shortcut, fl_Callback* cb, void* user_data)); FL_EXPORT_C_HEADER(int,Fl_Menu__add_with_flags,(fl_Menu_ menu_, char* name, int shortcut, fl_Callback* cb, int flags)); FL_EXPORT_C_HEADER(int,Fl_Menu__add_with_user_data_flags,(fl_Menu_ menu_, char* name, int shortcut, fl_Callback* cb, void* user_data, int flags)); FL_EXPORT_C_HEADER(int,Fl_Menu__add_with_shortcutname,(fl_Menu_ menu_, char* name, char* shortcut, fl_Callback* cb)); FL_EXPORT_C_HEADER(int,Fl_Menu__add_with_shortcutname_user_data,(fl_Menu_ menu_, char* name, char* shortcut, fl_Callback* cb, void* user_data)); FL_EXPORT_C_HEADER(int,Fl_Menu__add_with_shortcutname_flags,(fl_Menu_ menu_, char* name, char* shortcut, fl_Callback* cb, int flags)); FL_EXPORT_C_HEADER(int,Fl_Menu__add_with_shortcutname_user_data_flags,(fl_Menu_ menu_, char* name, char* shortcut, fl_Callback* cb, void* user_data, int flags)); FL_EXPORT_C_HEADER(int,Fl_Menu__add_with_name,(fl_Menu_ menu_, char* name)); FL_EXPORT_C_HEADER(int ,Fl_Menu__size,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_size,(fl_Menu_ menu_, int W, int H)); FL_EXPORT_C_HEADER(void,Fl_Menu__clear,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(int,Fl_Menu__clear_submenu,(fl_Menu_ menu_, int index)); FL_EXPORT_C_HEADER(void,Fl_Menu__replace,(fl_Menu_ menu_, int, char* name)); FL_EXPORT_C_HEADER(void,Fl_Menu__remove,(fl_Menu_ menu_, int)); FL_EXPORT_C_HEADER(void,Fl_Menu__shortcut,(fl_Menu_ menu_, int i, int s)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_mode,(fl_Menu_ menu_, int i,int fl)); FL_EXPORT_C_HEADER(int ,Fl_Menu__mode,(fl_Menu_ menu_, int i)); FL_EXPORT_C_HEADER(fl_Menu_Item,Fl_Menu__mvalue,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(int,Fl_Menu__value,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(int,Fl_Menu__value_with_item,(fl_Menu_ menu_, fl_Menu_Item item)); FL_EXPORT_C_HEADER(fl_Menu_Item,Fl_Menu__get_menu_item_by_index,(fl_Menu_ menu_, int i)); FL_EXPORT_C_HEADER(int,Fl_Menu__value_with_index,(fl_Menu_ menu_, int index)); FL_EXPORT_C_HEADER(char*,Fl_Menu__text,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(char*,Fl_Menu__text_with_index,(fl_Menu_ menu_, int i)); FL_EXPORT_C_HEADER(Fl_Font,Fl_Menu__textfont,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_textfont,(fl_Menu_ menu_, Fl_Font c)); FL_EXPORT_C_HEADER(Fl_Fontsize,Fl_Menu__textsize,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_textsize,(fl_Menu_ menu_, Fl_Fontsize c)); FL_EXPORT_C_HEADER(Fl_Color,Fl_Menu__textcolor,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_textcolor,(fl_Menu_ menu_, Fl_Color c)); FL_EXPORT_C_HEADER(Fl_Boxtype,Fl_Menu__down_box,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_down_box,(fl_Menu_ menu_, Fl_Boxtype b)); FL_EXPORT_C_HEADER(Fl_Color,Fl_Menu__down_color,(fl_Menu_ menu_)); FL_EXPORT_C_HEADER(void,Fl_Menu__set_down_color,(fl_Menu_ menu_, unsigned c)); #if FL_API_VERSION >= 10304 FL_EXPORT_C_HEADER(void,Fl_Menu__set_only,(fl_Menu_ menu_, fl_Menu_Item m)); #endif #ifdef __cplusplus } #endif #endif /* __FL_MENU__C__ */