int gere_key(char *buff, t_list **tmp) { if (buff[1] == '[' && buff[2] == 'A') { (*tmp)->nb = 1; *tmp = (*tmp)->prev; change_select(*tmp); } if (buff[1] == '[' && buff[2] == 'B') { (*tmp)->nb = 1; *tmp = (*tmp)->next; change_select(*tmp); } if (buff[1] == '[' && buff[2] == 'C') if ((*tmp)->nb < (*tmp)->data) (*tmp)->nb++; if (buff[1] == '[' && buff[2] == 'D') if ((*tmp)->nb > 1) (*tmp)->nb--; if (buff[0] == '\n') return (delete_allum(tmp, (*tmp)->nb)); return (0); }
void view::on_mouse_event(wxMouseEvent& evt) { wxPoint pos = evt.GetPosition(); rtransform(pos.x, pos.y); ptr<visual> processor = get_mouse_processor(m_mouse_processor, this, m_doc->get_objects(), pos); long flag = 0; if (evt.LeftIsDown()) flag |= flag_left_button; if (evt.RightIsDown()) flag |= flag_right_button; if (evt.MiddleIsDown()) flag |= flag_middle_button; if (m_mouse_last_processor != processor) { processor->on_mouse_move_in(pos.x, pos.y, flag); if (m_mouse_last_processor != nullptr) m_mouse_last_processor->on_mouse_move_out(pos.x, pos.y, flag); } if (evt.GetWheelDelta() != 0) { int ds = evt.GetWheelDelta() / evt.GetWheelRotation(); processor->on_mouse_wheel(pos.x, pos.y, ds, flag); } else if (evt.Moving() || evt.Dragging()) { processor->on_mouse_move(pos.x, pos.y, flag); } else if (evt.ButtonDown()) { processor->on_mouse_down(pos.x, pos.y, flag); } else if (evt.ButtonUp()) { processor->on_mouse_up(pos.x, pos.y, flag); change_select(processor); } else if (evt.ButtonDClick()) { processor->on_mouse_dclick(pos.x, pos.y, flag); } m_mouse_last_processor = processor; refresh(); }