aboutsummaryrefslogtreecommitdiffstats
path: root/gui/fpgaviewwidget.cc
diff options
context:
space:
mode:
authorMiodrag Milanovic <mmicko@gmail.com>2018-11-11 09:04:20 +0100
committerMiodrag Milanovic <mmicko@gmail.com>2018-11-11 09:04:20 +0100
commit3cfdb4e0c101b67dfe6d0d86174d8ed691ad9b28 (patch)
tree190630987853a673c2e265f491f71dbe8e9f4b0a /gui/fpgaviewwidget.cc
parent0ad5197ff4fe7d970fe09741177e2f474631e05f (diff)
downloadnextpnr-3cfdb4e0c101b67dfe6d0d86174d8ed691ad9b28.tar.gz
nextpnr-3cfdb4e0c101b67dfe6d0d86174d8ed691ad9b28.tar.bz2
nextpnr-3cfdb4e0c101b67dfe6d0d86174d8ed691ad9b28.zip
Sorted out zoomout, works for all now
Diffstat (limited to 'gui/fpgaviewwidget.cc')
-rw-r--r--gui/fpgaviewwidget.cc31
1 files changed, 9 insertions, 22 deletions
diff --git a/gui/fpgaviewwidget.cc b/gui/fpgaviewwidget.cc
index 55ed9315..45b35e6b 100644
--- a/gui/fpgaviewwidget.cc
+++ b/gui/fpgaviewwidget.cc
@@ -57,7 +57,7 @@ FPGAViewWidget::FPGAViewWidget(QWidget *parent)
rendererArgs_->changed = false;
rendererArgs_->gridChanged = false;
- rendererArgs_->flags.zoomOutbound = true;
+ rendererArgs_->zoomOutbound = true;
auto fmt = format();
fmt.setMajorVersion(3);
@@ -97,7 +97,7 @@ void FPGAViewWidget::newContext(Context *ctx)
onHighlightGroupChanged(std::vector<DecalXY>(), i);
{
QMutexLocker lock(&rendererArgsLock_);
- rendererArgs_->flags.zoomOutbound = true;
+ rendererArgs_->zoomOutbound = true;
}
pokeRenderer();
}
@@ -339,22 +339,7 @@ void FPGAViewWidget::paintGL()
lineShader_.draw(GraphicElement::STYLE_HOVER, colors_.hovered,
thick2Px, matrix);
- // Flags from pipeline.
- PassthroughFlags flags = rendererData_->flags;
-
- // Check flags passed through pipeline.
- if (flags.zoomOutbound) {
- // If we're doing init zoomOutbound, make sure we're actually drawing
- // something already.
- if (rendererData_->gfxByStyle[GraphicElement::STYLE_FRAME].vertices.size() != 0) {
- zoomOutbound();
- flags.zoomOutbound = false;
- {
- QMutexLocker lock(&rendererArgsLock_);
- rendererArgs_->flags.zoomOutbound = false;
- }
- }
- }
+ // Render ImGui
QtImGui::newFrame();
QMutexLocker lock(&rendererArgsLock_);
if (!(rendererArgs_->hoveredDecal == DecalXY()) && rendererArgs_->hintText.size() > 0)
@@ -438,7 +423,6 @@ void FPGAViewWidget::renderLines(void)
std::vector<DecalXY> highlightedDecals[8];
bool highlightedOrSelectedChanged;
bool gridChanged;
- PassthroughFlags flags;
{
// Take the renderer arguments lock, copy over all we need.
QMutexLocker lock(&rendererArgsLock_);
@@ -453,7 +437,6 @@ void FPGAViewWidget::renderLines(void)
gridChanged = rendererArgs_->gridChanged;
rendererArgs_->changed = false;
rendererArgs_->gridChanged = false;
- flags = rendererArgs_->flags;
}
// Render decals if necessary.
@@ -582,8 +565,12 @@ void FPGAViewWidget::renderLines(void)
}
{
- QMutexLocker locker(&rendererDataLock_);
- rendererData_->flags = flags;
+ QMutexLocker lock(&rendererArgsLock_);
+
+ if (rendererArgs_->zoomOutbound) {
+ zoomOutbound();
+ rendererArgs_->zoomOutbound = false;
+ }
}
}