From 62a615a17d9b69f3b727d59ed13e297ace610778 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Wed, 24 Oct 2018 20:50:38 +0200 Subject: Fix tooltip position when doing screenshot --- gui/fpgaviewwidget.cc | 5 ++++- gui/fpgaviewwidget.h | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'gui') diff --git a/gui/fpgaviewwidget.cc b/gui/fpgaviewwidget.cc index fe49fc48..16f70056 100644 --- a/gui/fpgaviewwidget.cc +++ b/gui/fpgaviewwidget.cc @@ -368,9 +368,9 @@ void FPGAViewWidget::paintGL() } QtImGui::newFrame(); QMutexLocker lock(&rendererArgsLock_); - if (!(rendererArgs_->hoveredDecal == DecalXY())) { + ImGui::SetNextWindowPos(ImVec2(rendererArgs_->x, rendererArgs_->y)); ImGui::BeginTooltip(); ImGui::PushTextWrapPos(ImGui::GetFontSize() * 35.0f); ImGui::TextUnformatted(rendererArgs_->hintText.c_str()); @@ -717,6 +717,8 @@ void FPGAViewWidget::mouseMoveEvent(QMouseEvent *event) QMutexLocker locked(&rendererArgsLock_); rendererArgs_->hoveredDecal = closest.decal(ctx_); rendererArgs_->changed = true; + rendererArgs_->x = event->x(); + rendererArgs_->y = event->y(); if (closest.type == ElementType::BEL) { rendererArgs_->hintText = std::string("BEL\n") + ctx_->getBelName(closest.bel).c_str(ctx_); CellInfo *cell = ctx_->getBoundBelCell(closest.bel); @@ -862,6 +864,7 @@ void FPGAViewWidget::leaveEvent(QEvent *event) QMutexLocker locked(&rendererArgsLock_); rendererArgs_->hoveredDecal = DecalXY(); rendererArgs_->changed = true; + rendererArgs_->hintText = ""; pokeRenderer(); } diff --git a/gui/fpgaviewwidget.h b/gui/fpgaviewwidget.h index 1fddaf2a..e76e6f32 100644 --- a/gui/fpgaviewwidget.h +++ b/gui/fpgaviewwidget.h @@ -270,6 +270,8 @@ class FPGAViewWidget : public QOpenGLWidget, protected QOpenGLFunctions PassthroughFlags flags; // Hint text std::string hintText; + // cursor pos + int x,y; }; std::unique_ptr rendererArgs_; QMutex rendererArgsLock_; -- cgit v1.2.3