summaryrefslogtreecommitdiffstats
path: root/src/Canvas.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-03-12 00:24:11 +0000
committerDavid Robillard <d@drobilla.net>2012-03-12 00:24:11 +0000
commit7fd006e946e38bae4212b8d4e3ce4093207d0aee (patch)
tree8a8071887dfac393045cc4f161690090ad8cac16 /src/Canvas.cpp
parenta4811c2f8ca7d8e32d1230b58e8140b60fcee2a3 (diff)
downloadganv-7fd006e946e38bae4212b8d4e3ce4093207d0aee.tar.gz
ganv-7fd006e946e38bae4212b8d4e3ce4093207d0aee.tar.bz2
ganv-7fd006e946e38bae4212b8d4e3ce4093207d0aee.zip
Make port controls actually do something.
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@4051 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/Canvas.cpp')
-rw-r--r--src/Canvas.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/Canvas.cpp b/src/Canvas.cpp
index e353945..56e64f5 100644
--- a/src/Canvas.cpp
+++ b/src/Canvas.cpp
@@ -1131,7 +1131,12 @@ GanvCanvasImpl::port_event(GdkEvent* event, GanvPort* port)
const double sens = fmaxf(1.0 - fabs(dy), value_range / range_x);
const double dvalue = (dx * value_range) * sens;
- const double value = control_start_value + dvalue;
+ double value = control_start_value + dvalue;
+ if (value < port->impl->control->min) {
+ value = port->impl->control->min;
+ } else if (value > port->impl->control->max) {
+ value = port->impl->control->max;
+ }
ganv_port_set_control_value(port, value);
return true;
}