summaryrefslogtreecommitdiffstats
path: root/src/ganv-private.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2015-02-21 23:32:24 +0000
committerDavid Robillard <d@drobilla.net>2015-02-21 23:32:24 +0000
commitef71a1da33a3c68cad782029cacbc1d01328b4d6 (patch)
treef5bb6f29c467bf91c0ab8ca5072a81408522a311 /src/ganv-private.h
parent23682cbf1f98f35d4341efe354bee6f770d482e2 (diff)
downloadganv-ef71a1da33a3c68cad782029cacbc1d01328b4d6.tar.gz
ganv-ef71a1da33a3c68cad782029cacbc1d01328b4d6.tar.bz2
ganv-ef71a1da33a3c68cad782029cacbc1d01328b4d6.zip
Add API to specify module port order.
Also fix various redundant resize/update issues, improve performance. git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5592 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/ganv-private.h')
-rw-r--r--src/ganv-private.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/ganv-private.h b/src/ganv-private.h
index eefeaa8..4d892d9 100644
--- a/src/ganv-private.h
+++ b/src/ganv-private.h
@@ -95,7 +95,7 @@ struct _GanvModuleImpl
int embed_height;
double widest_input;
double widest_output;
- gboolean must_resize;
+ gboolean must_reorder;
};
/* Node */
@@ -123,6 +123,7 @@ struct _GanvNodeImpl {
gboolean draggable;
gboolean show_label;
gboolean grabbed;
+ gboolean must_resize;
#ifdef GANV_FDGL
Vector force;
Vector vel;
@@ -162,6 +163,9 @@ struct _GanvItemImpl {
/* Parent for this item */
GanvItem* parent;
+ /* Wrapper object for this item, if any */
+ void* wrapper;
+
/* Layer (z order), higher values are on top */
guint layer;
@@ -248,6 +252,11 @@ struct _GanvTextImpl
/* Canvas */
+typedef struct {
+ GanvPortOrderFunc port_cmp;
+ void* data;
+} PortOrderCtx;
+
void
ganv_canvas_move_selected_items(GanvCanvas* canvas,
double dx,
@@ -342,6 +351,9 @@ void
ganv_canvas_request_redraw_w(GanvCanvas* canvas,
double x1, double y1, double x2, double y2);
+PortOrderCtx
+ganv_canvas_get_port_order(GanvCanvas* canvas);
+
/* Edge */
void