bool perfnames::on_scroll_event (GdkEventScroll * ev) { double val = m_vadjust.get_value(); if (CAST_EQUIVALENT(ev->direction, SEQ64_SCROLL_UP)) val -= m_vadjust.get_step_increment(); else if (CAST_EQUIVALENT(ev->direction, SEQ64_SCROLL_DOWN)) val += m_vadjust.get_step_increment(); m_vadjust.clamp_page(val, val + m_vadjust.get_page_size()); return true; }
bool seqdata::on_scroll_event (GdkEventScroll * ev) { if (! is_no_modifier(ev)) return false; if (CAST_EQUIVALENT(ev->direction, SEQ64_SCROLL_UP)) m_seq.increment_selected(m_status, m_cc); if (CAST_EQUIVALENT(ev->direction, SEQ64_SCROLL_DOWN)) m_seq.decrement_selected(m_status, m_cc); update_pixmap(); queue_draw(); return true; }
bool perfedit::on_key_press_event (GdkEventKey * ev) { if (CAST_EQUIVALENT(ev->type, SEQ64_KEY_PRESS)) { keystroke k(ev->keyval, SEQ64_KEYSTROKE_PRESS, ev->state); bool startstop = perf().playback_key_event(k, true); if (startstop) { return true; /* event handled */ } else if (is_ctrl_key(ev)) { if (OR_EQUIVALENT(ev->keyval, SEQ64_z, SEQ64_Z)) /* undo */ { undo(); return true; } else if (OR_EQUIVALENT(ev->keyval, SEQ64_r, SEQ64_R)) /* redo */ { redo(); return true; } } } (void) m_perftime->key_press_event(ev); return Gtk::Window::on_key_press_event(ev); }
bool seqdata::on_button_press_event (GdkEventButton * ev) { if (CAST_EQUIVALENT(ev->type, SEQ64_BUTTON_PRESS)) { m_drop_x = int(ev->x) + m_scroll_offset_x; /* set values for line */ m_drop_y = int(ev->y); #ifdef USE_STAZED_SEQDATA_EXTENSIONS /* * If the user selects the "handle"... */ midipulse tick_s, tick_f; convert_x(m_drop_x - 3, tick_s); /* side-effect */ convert_x(m_drop_x + 3, tick_f); /* side-effect */ m_drag_handle = m_seq.select_event_handle ( tick_s, tick_f, m_status, m_cc, c_dataarea_y - m_drop_y + 3 ); if (m_drag_handle) { /* if they used line draw but did not leave... */ if (! m_seq.get_hold_undo()) m_seq.push_undo(); } /* reset box that holds dirty redraw spot */ m_old.x = m_old.y = m_old.width = m_old.height = 0; m_dragging = ! m_drag_handle; #else m_old.x = m_old.y = m_old.width = m_old.height = 0; m_dragging = true; /* may be dragging now */ #endif } return true; }