use floating point for mouse coordinates

pull/3471/head
kallaballa 2 years ago
parent 6e62bc860d
commit c02bb65341
  1. 6
      modules/v4d/include/opencv2/v4d/v4d.hpp
  2. 2
      modules/v4d/src/detail/framebuffercontext.cpp
  3. 7
      modules/v4d/src/v4d.cpp

@ -126,7 +126,7 @@ class CV_EXPORTS V4D {
std::future<void> futureWriter_;
std::function<bool(int key, int scancode, int action, int modifiers)> keyEventCb_;
std::function<void(int button, int action, int modifiers)> mouseEventCb_;
cv::Point mousePos_;
cv::Point2f mousePos_;
uint64_t frameCnt_ = 0;
bool showFPS_ = true;
bool printFPS_ = true;
@ -386,8 +386,8 @@ private:
void mouse_button_event(int button, int action, int modifiers);
bool keyboard_event(int key, int scancode, int action, int modifiers);
cv::Point getMousePosition();
void setMousePosition(const cv::Point& pt);
cv::Point2f getMousePosition();
void setMousePosition(const cv::Point2f& pt);
FrameBufferContext& fbCtx();
CLVAContext& clvaCtx();

@ -309,7 +309,7 @@ void FrameBufferContext::init() {
v4d->nguiCtx().screen().cursor_pos_callback_event(x, y);
}
v4d->setMousePosition(cv::Point{x, y});
v4d->setMousePosition(cv::Point2f(float(x), float(y)));
}
);
glfwSetMouseButtonCallback(getGLFWWindow(),

@ -81,11 +81,11 @@ bool V4D::keyboard_event(int key, int scancode, int action, int modifiers) {
return nguiCtx().screen().keyboard_event(key, scancode, action, modifiers);
}
cv::Point V4D::getMousePosition() {
cv::Point2f V4D::getMousePosition() {
return mousePos_;
}
void V4D::setMousePosition(const cv::Point& pt) {
void V4D::setMousePosition(const cv::Point2f& pt) {
mousePos_ = pt;
}
@ -118,7 +118,6 @@ GLContext& V4D::glCtx(uint32_t idx) {
glContexts_.insert({idx, ctx});
return *ctx;
}
}
bool V4D::hasFbCtx() {
@ -494,7 +493,7 @@ bool V4D::display() {
// swapContextBuffers();
#ifdef __EMSCRIPTEN__
nguiCtx().render(printFPS_, showFPS_);
nguiCtx().render(printFPS_, showFPS_, showTracking_);
#endif
run_sync_on_main<6>([&, this](){
{

Loading…
Cancel
Save