diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2014-01-16 10:52:34 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2014-01-16 10:52:34 -0500 |
commit | 620e1e6677a13ab9841fc2c015145faa18f5d051 (patch) | |
tree | d091220710f2ed901823acb95bce28cc2ac34d37 /libs/canvas | |
parent | df7dae82cc0cc360baad8136c4ad18b97b9f8169 (diff) |
add event type string function to canvas (since it does not use gtkmm2ext)
Diffstat (limited to 'libs/canvas')
-rw-r--r-- | libs/canvas/canvas.cc | 2 | ||||
-rw-r--r-- | libs/canvas/canvas/debug.h | 1 | ||||
-rw-r--r-- | libs/canvas/debug.cc | 85 |
3 files changed, 87 insertions, 1 deletions
diff --git a/libs/canvas/canvas.cc b/libs/canvas/canvas.cc index 7fa3f98236..bb664afa95 100644 --- a/libs/canvas/canvas.cc +++ b/libs/canvas/canvas.cc @@ -536,7 +536,7 @@ GtkCanvas::deliver_event (GdkEvent* event) return true; } - DEBUG_TRACE (PBD::DEBUG::CanvasEvents, string_compose ("canvas event left unhandled by %1 %2\n", item->whatami(), item->name.empty() ? "[unknown]" : item->name)); + DEBUG_TRACE (PBD::DEBUG::CanvasEvents, string_compose ("canvas event %3 left unhandled by %1 %2\n", item->whatami(), item->name.empty() ? "[unknown]" : item->name, event_type_string (event->type))); if ((item = parent) == 0) { break; diff --git a/libs/canvas/canvas/debug.h b/libs/canvas/canvas/debug.h index 09fa97789b..5feb42c8a5 100644 --- a/libs/canvas/canvas/debug.h +++ b/libs/canvas/canvas/debug.h @@ -46,6 +46,7 @@ namespace ArdourCanvas { LIBCANVAS_API extern std::map<std::string, struct timeval> last_time; LIBCANVAS_API extern void checkpoint (std::string, std::string); LIBCANVAS_API extern void set_epoch (); + LIBCANVAS_API extern const char* event_type_string (int event_type); LIBCANVAS_API extern int render_count; LIBCANVAS_API extern int render_depth; LIBCANVAS_API extern int dump_depth; diff --git a/libs/canvas/debug.cc b/libs/canvas/debug.cc index 04dd2ef31b..bb154cf528 100644 --- a/libs/canvas/debug.cc +++ b/libs/canvas/debug.cc @@ -19,6 +19,7 @@ #include <sys/time.h> #include <iostream> +#include <gdk/gdk.h> #include "canvas/debug.h" using namespace std; @@ -70,3 +71,87 @@ ArdourCanvas::checkpoint (string group, string message) last_time[group] = now; } +const char* +ArdourCanvas::event_type_string (int event_type) +{ + switch (event_type) { + case GDK_NOTHING: + return "nothing"; + case GDK_DELETE: + return "delete"; + case GDK_DESTROY: + return "destroy"; + case GDK_EXPOSE: + return "expose"; + case GDK_MOTION_NOTIFY: + return "motion_notify"; + case GDK_BUTTON_PRESS: + return "button_press"; + case GDK_2BUTTON_PRESS: + return "2button_press"; + case GDK_3BUTTON_PRESS: + return "3button_press"; + case GDK_BUTTON_RELEASE: + return "button_release"; + case GDK_KEY_PRESS: + return "key_press"; + case GDK_KEY_RELEASE: + return "key_release"; + case GDK_ENTER_NOTIFY: + return "enter_notify"; + case GDK_LEAVE_NOTIFY: + return "leave_notify"; + case GDK_FOCUS_CHANGE: + return "focus_change"; + case GDK_CONFIGURE: + return "configure"; + case GDK_MAP: + return "map"; + case GDK_UNMAP: + return "unmap"; + case GDK_PROPERTY_NOTIFY: + return "property_notify"; + case GDK_SELECTION_CLEAR: + return "selection_clear"; + case GDK_SELECTION_REQUEST: + return "selection_request"; + case GDK_SELECTION_NOTIFY: + return "selection_notify"; + case GDK_PROXIMITY_IN: + return "proximity_in"; + case GDK_PROXIMITY_OUT: + return "proximity_out"; + case GDK_DRAG_ENTER: + return "drag_enter"; + case GDK_DRAG_LEAVE: + return "drag_leave"; + case GDK_DRAG_MOTION: + return "drag_motion"; + case GDK_DRAG_STATUS: + return "drag_status"; + case GDK_DROP_START: + return "drop_start"; + case GDK_DROP_FINISHED: + return "drop_finished"; + case GDK_CLIENT_EVENT: + return "client_event"; + case GDK_VISIBILITY_NOTIFY: + return "visibility_notify"; + case GDK_NO_EXPOSE: + return "no_expose"; + case GDK_SCROLL: + return "scroll"; + case GDK_WINDOW_STATE: + return "window_state"; + case GDK_SETTING: + return "setting"; + case GDK_OWNER_CHANGE: + return "owner_change"; + case GDK_GRAB_BROKEN: + return "grab_broken"; + case GDK_DAMAGE: + return "damage"; + } + + return "unknown"; +} |