diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2013-04-05 17:16:33 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2013-04-05 17:16:33 -0400 |
commit | 8eef4b1904bcc611f5f4230927ca9eda2352d36b (patch) | |
tree | e004392027fb0208091ffb60baaa597a6d4a95b8 /gtk2_ardour/sys_ex.cc | |
parent | 07a505b1b271f64a1ffb2da32da0548d32cd13de (diff) |
master merge; new files not added after initial cairocanvas patch application
Diffstat (limited to 'gtk2_ardour/sys_ex.cc')
-rw-r--r-- | gtk2_ardour/sys_ex.cc | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/gtk2_ardour/sys_ex.cc b/gtk2_ardour/sys_ex.cc new file mode 100644 index 0000000000..94ee5302e3 --- /dev/null +++ b/gtk2_ardour/sys_ex.cc @@ -0,0 +1,86 @@ +/* + Copyright (C) 2009 Paul Davis + Author: Hans Baier + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#include <iostream> +#include "canvas/flag.h" +#include "ardour_ui.h" +#include "sys_ex.h" + +using namespace std; + +SysEx::SysEx ( + MidiRegionView& region, + ArdourCanvas::Group* parent, + string& text, + double height, + double x, + double y) + : _region (region) +{ + _flag = new ArdourCanvas::Flag ( + parent, + height, + ARDOUR_UI::config()->canvasvar_MidiSysExOutline.get(), + ARDOUR_UI::config()->canvasvar_MidiSysExFill.get(), + ArdourCanvas::Duple (x, y) + ); + + _flag->set_text (text); +} + +SysEx::~SysEx() +{ +} + +bool +SysEx::event_handler (GdkEvent* ev) +{ + switch (ev->type) { + case GDK_BUTTON_PRESS: + if (ev->button.button == 3) { + return true; + } + break; + + case GDK_SCROLL: + if (ev->scroll.direction == GDK_SCROLL_UP) { + return true; + } else if (ev->scroll.direction == GDK_SCROLL_DOWN) { + return true; + } + break; + + default: + break; + } + + return false; +} + +void +SysEx::hide () +{ + _flag->hide (); +} + +void +SysEx::show () +{ + _flag->show (); +} |