Fix MIDI region keyboard editing (add key handling to canvas).
This commit is contained in:
parent
89a1980818
commit
333c776e0e
|
@ -374,7 +374,8 @@ GtkCanvas::GtkCanvas ()
|
|||
{
|
||||
/* these are the events we want to know about */
|
||||
add_events (Gdk::BUTTON_PRESS_MASK | Gdk::BUTTON_RELEASE_MASK | Gdk::POINTER_MOTION_MASK |
|
||||
Gdk::SCROLL_MASK | Gdk::ENTER_NOTIFY_MASK | Gdk::LEAVE_NOTIFY_MASK);
|
||||
Gdk::SCROLL_MASK | Gdk::ENTER_NOTIFY_MASK | Gdk::LEAVE_NOTIFY_MASK |
|
||||
Gdk::KEY_PRESS_MASK | Gdk::KEY_RELEASE_MASK);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -814,6 +815,28 @@ GtkCanvas::on_scroll_event (GdkEventScroll* ev)
|
|||
return deliver_event (reinterpret_cast<GdkEvent*>(©));
|
||||
}
|
||||
|
||||
/** Handler for GDK key press events.
|
||||
* @param ev Event.
|
||||
* @return true if the event was handled.
|
||||
*/
|
||||
bool
|
||||
GtkCanvas::on_key_press_event (GdkEventKey* ev)
|
||||
{
|
||||
DEBUG_TRACE (PBD::DEBUG::CanvasEvents, "canvas key press\n");
|
||||
return deliver_event (reinterpret_cast<GdkEvent*>(ev));
|
||||
}
|
||||
|
||||
/** Handler for GDK key release events.
|
||||
* @param ev Event.
|
||||
* @return true if the event was handled.
|
||||
*/
|
||||
bool
|
||||
GtkCanvas::on_key_release_event (GdkEventKey* ev)
|
||||
{
|
||||
DEBUG_TRACE (PBD::DEBUG::CanvasEvents, "canvas key release\n");
|
||||
return deliver_event (reinterpret_cast<GdkEvent*>(ev));
|
||||
}
|
||||
|
||||
/** Handler for GDK button press events.
|
||||
* @param ev Event.
|
||||
* @return true if the event was handled.
|
||||
|
|
|
@ -195,6 +195,8 @@ protected:
|
|||
void on_size_allocate (Gtk::Allocation&);
|
||||
bool on_scroll_event (GdkEventScroll *);
|
||||
bool on_expose_event (GdkEventExpose *);
|
||||
bool on_key_press_event (GdkEventKey *);
|
||||
bool on_key_release_event (GdkEventKey *);
|
||||
bool on_button_press_event (GdkEventButton *);
|
||||
bool on_button_release_event (GdkEventButton* event);
|
||||
bool on_motion_notify_event (GdkEventMotion *);
|
||||
|
|
Loading…
Reference in New Issue
Block a user