📄 bcsubmenuitem.c
字号:
#include "bcmenubar.h"BC_SubMenuItem::BC_SubMenuItem(char *text){ strcpy(this->text, text); highlighted = 0; checked = 0;}BC_SubMenuItem::~BC_SubMenuItem(){ submenu->remove_submenuitem(this);}BC_SubMenuItem::create_objects(BC_SubMenu *submenu, int y){ this->submenu = submenu; this->y = y; h = 22;}BC_SubMenuItem::get_text_width(){ int w; w = submenu->get_text_width(submenu->top_level->largefont, text) + 20; if(checked) w += 20; return w;}BC_SubMenuItem::get_height(){ return h;}BC_SubMenuItem::get_y(){ return y;}BC_SubMenuItem::set_checked(int checked){ this->checked = checked;}BC_SubMenuItem::activate(){ highlighted = 1;}BC_SubMenuItem::deactivate(){ highlighted = 0;}BC_SubMenuItem::draw(){ if(highlighted) { if(submenu->button_down()) { if(y == 0) submenu->popup_submenu->draw_3d_big(2, y + 2, submenu->popup_submenu->w - 4, h - 4, DKCYAN, MDCYAN, LTCYAN); else submenu->popup_submenu->draw_3d_big(2, y, submenu->popup_submenu->w - 4, h - 2, DKCYAN, MDCYAN, LTCYAN); } else { submenu->popup_submenu->set_color(LTBLUE); if(y == 0) submenu->popup_submenu->draw_box(2, y + 2, submenu->popup_submenu->w - 4, h - 4); else submenu->popup_submenu->draw_box(2, y, submenu->popup_submenu->w - 4, h - 2); } } submenu->popup_submenu->set_color(BLACK); if(checked) { submenu->popup_submenu->draw_check(10, y + 2, 15, 15); submenu->popup_submenu->draw_text(30, y + h - 7, text); } else { submenu->popup_submenu->draw_text(10, y + h - 7, text); }}BC_SubMenuItem::motion_event_dispatch(int cursor_x, int cursor_y){ if(highlighted) { if(cursor_x < 0 || cursor_x > submenu->popup_submenu->w || cursor_y < y || cursor_y > y + h) { deactivate(); } } else { if(cursor_x > 0 && cursor_x < submenu->popup_submenu->w && cursor_y > y && cursor_y < y + h) { //submenu->deactivate_items(); activate(); } } draw();}BC_SubMenuItem::button_press(){ if(highlighted) draw();}BC_SubMenuItem::button_release(){ if(submenu->popup_submenu->cursor_x > 0 && submenu->popup_submenu->cursor_x < submenu->popup_submenu->w && submenu->popup_submenu->cursor_y > y && submenu->popup_submenu->cursor_y < y + h) { submenu->menubar->deactivate(); handle_event(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -