Leap::Listener Class Reference 监听器类参考

简要说明(由于本人英语水平真的很烂,文里漏洞百出,欢迎批评指正)

点击查看原文

 

Listener类定义了一系列回调函数,你可以在子类中复写它们,来对Leap Motion 控制器对象引发的事件做出回应

 

 

公有成员函数


 

                    Listener ()

                    创建一个监听器Listener对象


 

virtual void     onConnect (const Controller &)

                    当controller对象连接到Leap Motion 软件并且Leap Motion 硬件插上的时候被调用,或者当这个Listener对象被添加到一个已经连接的controller对象的时候被调用。


 

virtual void     onDisconnect (const Controller &)

                    当controller对象和Leap Motion 软件的连接断开或者Leap Motion 硬件被拔下来的时候调用。


virtual void     onExit (const Controller &)

                    当这个Listener对象从controller中被移除的时候,或者这个controller对象被销毁的时候调用。


 

virtual void     onFocusGained (const Controller &)

                    当这个应用程序变成前台应用程序的时候被调用。


 

virtual void     onFocusLost (const Controller &)

                   当这个应用程序失去前台焦点变成后台应用程序的时候被调用。


 

virtual void     onFrame (const Controller &)

                   当获得一个新的手和手指的跟踪数据帧的时候被调用。


 

virtual void     onInit (const Controller &)

                   被调用一次,当这个Listener对象被新添加到一个controller对象的时候。


 

      virtual     ~Listener ()     

                    析构函数


 

 

 


 

详细说明

 

定义了一系列回调函数,你可以在子类中复写它们,来对Leap Motion 控制器对象引发的事件做出回应

为了处理Leap Motion 事件,创建一个Listener子类的实例,并且把它分配到这个controller实例。当一个时间发生的时候,controller 调用相关的listener回调函数,通过一个对自身的引用。你不必要实现你不需要处理的事件的回调函数。

controller对象在由Leap Motion 库创建的一个线程中调用这些listener函数,而不是在用来创建或者设置listener实例的线程中。

Since

1.0

 

 


 

 

构造函数和析构函数文档

 

Leap::Listener::Listener()

构造一个listener对象。

Since

1.0

 

virtual Leap::Listener::~Listener()

销毁一个listener对象。

 


 

 

 

成员函数文档

 

virtual void Leap::Listener::onConnect(const Controller & )

当controller对象连接到Leap Motion 软件并且Leap Motion 硬件插上的时候被调用,或者当这个Listener对象被添加到一个已经连接的controller对象的时候被调用。

void SampleListener::onConnect(const Controller& controller) {
    std::cout << "Connected" << std::endl;
}

参数:

controller  调用这个回调函数的controller对象

Since

1.0

 

virtual void Leap::Listener::onDisconnect(const Controller & )

当controller对象和Leap Motion 软件的连接断开或者Leap Motion 硬件被拔下来的时候调用。

当Leap Motion硬件没有被插上的时候,用户关闭Leap Motion 软件的时候,或者Leap Motion 软件遇到不可恢复的错误的时候,controller对象可能断开。

void SampleListener::onDisconnect(const Controller& controller) {
    std::cout << "Disconnected" << std::endl;
}

注意:当你在调试模式启动了Leap应用的时候,Leap Motion库不会从应用程序断开连接。这就允许你单步执行代码而不会因为超时而丢失连接。

参数:

controller   调用这个回调函数的controller对象

Since

1.0

 

virtual void Leap::Listener::onExit(const Controller & )

当这个Listener对象从controller中被移除的时候,或者这个controller对象被销毁的时候调用。

void SampleListener::onExit(const Controller& controller) {
    std::cout << "Exited" << std::endl;
}

参数:

controller   调用这个回调函数的controller对象

Since

1.0

 

virtual void Leap::Listener::onFocusGained(const Controller & )

当这个应用程序变成前台应用程序的时候被调用。

只有前台的应用程序从Leap Motion controller接收跟踪到的数据。这个函数只有在controller对象在连接状态的时候被调用。

void SampleListener::onFocusGained(const Controller& controller) {
    std::cout << "Focus gained " << std::endl;
}

参数:

controller   调用这个回调函数的controller对象

Since

1.0

 

virtual void Leap::Listener::onFocusLost(const Controller & )

当这个应用程序失去前台焦点变成后台应用程序的时候被调用。

只有前台的应用程序从Leap Motion controller接收跟踪到的数据。这个函数只有在controller对象在连接状态的时候被调用。

void SampleListener::onFocusLost(const Controller& controller) {
    std::cout << "Focus lost " << std::endl;
}

参数:

controller   调用这个回调函数的controller对象

Since

1.0

 

 

virtual void Leap::Listener::onFrame(const Controller & )

当获得一个新的手和手指的跟踪数据帧的时候被调用。

使用Controller::frame()函数访问新的帧数据。

void SampleListener::onFrame(const Controller& controller) {
    std::cout << "New frame " << std::endl;
}

注意:controller跳过任何等待的onFrame事件,当你的处理程序执行的时候。如果你的实现执行时间太长才返回结果,一个或者更多的帧就会被忽略。controller仍然把跳过的帧加入到历史帧队列中。当调用Controller::frame()函数的时候,你可以访问近期的帧通过history参数。如果任何的等候onFrame事件被跳过了,你可以通过比较近期的帧的ID和最新的帧的ID来判断。

参数:

controller   调用这个回调函数的controller对象

Since

1.0

 

 

virtual void Leap::Listener::onInit(const Controller & )

被调用一次,当这个Listener对象被新添加到一个controller对象的时候。

void SampleListener::onInit(const Controller& controller) {
    std::cout << "Initialized" << std::endl;
}

参数:

controller   调用这个回调函数的controller对象

Since

1.0

 

 

 

posted @ 2013-10-23 10:03  Sachin  阅读(490)  评论(0编辑  收藏  举报