namespace sc = simgear::canvas;
sc::MouseEventPtr event(new sc::MouseEvent);
+ event->time = ea.getTime();
event->pos.x() = 0.5 * (ea.getXnormalized() + 1) * _width + 0.5;
event->pos.y() = 0.5 * (ea.getYnormalized() + 1) * _height + 0.5;
#include <simgear/canvas/Canvas.hxx>
#include <simgear/canvas/MouseEvent.hxx>
+SGPropertyNode_ptr CanvasWidget::_time;
+
//------------------------------------------------------------------------------
CanvasWidget::CanvasWidget( int x, int y,
int width, int height,
namespace sc = simgear::canvas;
sc::MouseEventPtr event(new sc::MouseEvent);
+
+ if( !_time )
+ _time = globals->get_props()->getNode("/sim/time/elapsed-sec");
+ event->time = _time->getDoubleValue();
+
event->pos.set(x - abox.min[0], abox.max[1] - y);
event->delta.set( event->pos.x() - _last_x,
event->pos.y() - _last_y );
float _last_x,
_last_y;
+
+ static SGPropertyNode_ptr _time;
};
#endif /* CANVASWIDGET_HXX_ */
.member("x", &sc::MouseEvent::getPosX)
.member("y", &sc::MouseEvent::getPosY)
.member("deltaX", &sc::MouseEvent::getDeltaX)
- .member("deltaY", &sc::MouseEvent::getDeltaY);
+ .member("deltaY", &sc::MouseEvent::getDeltaY)
+ .member("click_count", &sc::MouseEvent::getCurrentClickCount);
NasalCanvas::init("Canvas")
.member("_node_ghost", &elementGetNode<sc::Canvas>)
.member("size_x", &sc::Canvas::getSizeX)