Exemple #1
0
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);
}
Exemple #2
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();
}