aboutsummaryrefslogtreecommitdiffstats
path: root/gui/fpgaviewwidget.cc
diff options
context:
space:
mode:
authorMiodrag Milanovic <mmicko@gmail.com>2018-10-14 12:40:19 +0200
committerMiodrag Milanovic <mmicko@gmail.com>2018-10-14 12:40:19 +0200
commit529a595157a2eef24f8529b0de0c504a40ed503b (patch)
treea5e6c1f5fff31146da8ee3946ab864cc8745b4e6 /gui/fpgaviewwidget.cc
parent96efe48847dbf7f25f97b6059dacacd33fde4bec (diff)
downloadnextpnr-529a595157a2eef24f8529b0de0c504a40ed503b.tar.gz
nextpnr-529a595157a2eef24f8529b0de0c504a40ed503b.tar.bz2
nextpnr-529a595157a2eef24f8529b0de0c504a40ed503b.zip
Recalculate max zoom level depending of arch
Diffstat (limited to 'gui/fpgaviewwidget.cc')
-rw-r--r--gui/fpgaviewwidget.cc12
1 files changed, 7 insertions, 5 deletions
diff --git a/gui/fpgaviewwidget.cc b/gui/fpgaviewwidget.cc
index 53ee7282..3b0b3df7 100644
--- a/gui/fpgaviewwidget.cc
+++ b/gui/fpgaviewwidget.cc
@@ -276,7 +276,7 @@ QMatrix4x4 FPGAViewWidget::getProjection(void)
QMatrix4x4 matrix;
const float aspect = float(width()) / float(height());
- matrix.perspective(90, aspect, zoomNear_, zoomFar_);
+ matrix.perspective(90, aspect, zoomNear_, zoomFar_ + 0.1f);
return matrix;
}
@@ -756,7 +756,7 @@ void FPGAViewWidget::zoomIn() { zoom(10); }
void FPGAViewWidget::zoomOut() { zoom(-10); }
-void FPGAViewWidget::zoomToBB(const PickQuadTree::BoundingBox &bb, float margin)
+void FPGAViewWidget::zoomToBB(const PickQuadTree::BoundingBox &bb, float margin, bool clamp)
{
if (fabs(bb.w()) < 0.00005 && fabs(bb.h()) < 0.00005)
return;
@@ -769,14 +769,15 @@ void FPGAViewWidget::zoomToBB(const PickQuadTree::BoundingBox &bb, float margin)
float distance_w = bb.w() / 2 + margin;
float distance_h = bb.h() / 2 + margin;
zoom_ = std::max(distance_w, distance_h);
- clampZoom();
+ if (clamp)
+ clampZoom();
}
void FPGAViewWidget::zoomSelected()
{
{
QMutexLocker lock(&rendererDataLock_);
- zoomToBB(rendererData_->bbSelected, 0.5f);
+ zoomToBB(rendererData_->bbSelected, 0.5f, true);
}
update();
}
@@ -785,7 +786,8 @@ void FPGAViewWidget::zoomOutbound()
{
{
QMutexLocker lock(&rendererDataLock_);
- zoomToBB(rendererData_->bbGlobal, 1.0f);
+ zoomToBB(rendererData_->bbGlobal, 1.0f, false);
+ zoomFar_ = zoom_;
}
}