diff options
author | Miodrag Milanovic <mmicko@gmail.com> | 2018-10-14 12:40:19 +0200 |
---|---|---|
committer | Miodrag Milanovic <mmicko@gmail.com> | 2018-10-14 12:40:19 +0200 |
commit | 529a595157a2eef24f8529b0de0c504a40ed503b (patch) | |
tree | a5e6c1f5fff31146da8ee3946ab864cc8745b4e6 /gui/fpgaviewwidget.cc | |
parent | 96efe48847dbf7f25f97b6059dacacd33fde4bec (diff) | |
download | nextpnr-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.cc | 12 |
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_; } } |