]> git.tdb.fi Git - libs/gui.git/blobdiff - source/input/control.cpp
Split platform-specific parts into separate directories
[libs/gui.git] / source / input / control.cpp
index eee0f1523e98256604ca4e0213669134a555c4d1..18c2ffd62a1d055394e3a2df1d5929d9dd1f227a 100644 (file)
@@ -1,7 +1,10 @@
+#include <sigc++/bind_return.h>
 #include <msp/strings/lexicalcast.h>
 #include "control.h"
 #include "device.h"
 
+using namespace std;
+
 namespace Msp {
 namespace Input {
 
@@ -28,7 +31,7 @@ std::string ControlSource::str() const
        else if(type==NONE)
                return "None";
 
-       return lexical_cast(index);
+       return lexical_cast<string>(index);
 }
 
 
@@ -52,8 +55,8 @@ void Control::capture(Device &d)
 {
        notify_callbacks();
        capture_dev = &d;
-       capture_dev->signal_button_press.connect(sigc::mem_fun(this, &Control::button_press));
-       capture_dev->signal_axis_motion.connect(sigc::mem_fun(this, &Control::axis_motion));
+       capture_dev->signal_button_press.connect(sigc::bind_return(sigc::mem_fun(this, &Control::button_press), false));
+       capture_dev->signal_axis_motion.connect(sigc::bind_return(sigc::mem_fun(this, &Control::axis_motion), false));
 }
 
 void Control::cancel_capture()
@@ -82,12 +85,12 @@ void Control::connect_signals()
        case NONE:
                break;
        case BUTTON:
-               src.dev->signal_button_press.connect(sigc::mem_fun(this, &Control::button_press));
-               src.dev->signal_button_release.connect(sigc::mem_fun(this, &Control::button_release));
+               src.dev->signal_button_press.connect(sigc::bind_return(sigc::mem_fun(this, &Control::button_press), false));
+               src.dev->signal_button_release.connect(sigc::bind_return(sigc::mem_fun(this, &Control::button_release), false));
                break;
        case AXIS_POS:
        case AXIS_NEG:
-               src.dev->signal_axis_motion.connect(sigc::mem_fun(this, &Control::axis_motion));
+               src.dev->signal_axis_motion.connect(sigc::bind_return(sigc::mem_fun(this, &Control::axis_motion), false));
                break;
        }
 }