diff options
author | Robin Gareus <robin@gareus.org> | 2016-03-18 21:33:45 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-03-18 21:33:45 +0100 |
commit | 877325ea6ed7d31176c353f60e2dd04cd1b60eb0 (patch) | |
tree | 452576b90d192842f80ce1c1e2b2fa90377df7a3 /gtk2_ardour/processor_box.h | |
parent | 851f6d4f793ad30e379f941732d7898cec459a98 (diff) |
special case LuaProc Inline Display UI: direct cairo context
Diffstat (limited to 'gtk2_ardour/processor_box.h')
-rw-r--r-- | gtk2_ardour/processor_box.h | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/gtk2_ardour/processor_box.h b/gtk2_ardour/processor_box.h index 65e3612c56..2df431139c 100644 --- a/gtk2_ardour/processor_box.h +++ b/gtk2_ardour/processor_box.h @@ -44,6 +44,7 @@ #include "ardour/types.h" #include "ardour/ardour.h" #include "ardour/plugin_insert.h" +#include "ardour/luaproc.h" #include "ardour/port_insert.h" #include "ardour/processor.h" #include "ardour/route.h" @@ -224,9 +225,13 @@ private: public: PluginDisplay(boost::shared_ptr<ARDOUR::Plugin>, uint32_t max_height = 80); ~PluginDisplay(); - private: + protected: bool on_expose_event (GdkEventExpose *); void on_size_request (Gtk::Requisition* req); + + void update_height_alloc (uint32_t inline_height); + virtual uint32_t render_inline (cairo_t *, uint32_t width); + boost::shared_ptr<ARDOUR::Plugin> _plug; PBD::ScopedConnection _qdraw_connection; cairo_surface_t* _surf; @@ -235,6 +240,18 @@ private: bool _scroll; }; + class LuaPluginDisplay : public PluginDisplay { + public: + LuaPluginDisplay(boost::shared_ptr<ARDOUR::LuaProc>, uint32_t max_height = 80); + ~LuaPluginDisplay(); + protected: + virtual uint32_t render_inline (cairo_t *, uint32_t width); + private: + boost::shared_ptr<ARDOUR::LuaProc> _luaproc; + LuaState lua_gui; + luabridge::LuaRef * _lua_render_inline; + }; + class PortIcon : public Gtk::DrawingArea { public: PortIcon(bool input); |