mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-03 20:29:35 +01:00
special case LuaProc Inline Display UI: direct cairo context
This commit is contained in:
parent
851f6d4f79
commit
877325ea6e
2 changed files with 100 additions and 25 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue