00001 #ifndef BCMENUBAR_H 00002 #define BCMENUBAR_H 00003 00004 #include "bcmenu.inc" 00005 #include "bcmenubar.inc" 00006 #include "bcpixmap.inc" 00007 #include "bcsubwindow.h" 00008 00009 class BC_MenuBar : public BC_SubWindow 00010 { 00011 public: 00012 BC_MenuBar(int x, int y, int w); 00013 virtual ~BC_MenuBar(); 00014 00015 friend class BC_Menu; 00016 00017 int add_menu(BC_Menu* menu); 00018 static int calculate_height(BC_WindowBase *window); 00019 00020 int initialize(); 00021 int focus_out_event(); 00022 int keypress_event(); 00023 int button_press_event(); 00024 int button_release_event(); 00025 int cursor_motion_event(); 00026 int cursor_enter_event(); 00027 int cursor_leave_event(); 00028 int resize_event(int w, int h); 00029 int translation_event(); 00030 int deactivate(); 00031 int unhighlight(); 00032 // Redraws items in active menu 00033 void draw_items(); 00034 00035 private: 00036 int draw_face(); 00037 int activate(); 00038 // Array of menu titles 00039 ArrayList<BC_Menu*> menu_titles; 00040 // number of button releases since activation 00041 int button_releases; 00042 // When a menu is pulled down 00043 int active; 00044 BC_Pixmap *menu_bar_bg; 00045 BC_Pixmap *menu_title_bg[3]; 00046 }; 00047 00048 00049 00050 00051 00052 #endif
1.4.4