Recalculate max zoom level depending of arch
This commit is contained in:
parent
96efe48847
commit
529a595157
@ -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_;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -127,7 +127,7 @@ class FPGAViewWidget : public QOpenGLWidget, protected QOpenGLFunctions
|
||||
|
||||
private:
|
||||
const float zoomNear_ = 0.1f; // do not zoom closer than this
|
||||
const float zoomFar_ = 30.0f; // do not zoom further than this
|
||||
float zoomFar_ = 10.0f; // do not zoom further than this
|
||||
const float zoomLvl1_ = 1.0f;
|
||||
const float zoomLvl2_ = 5.0f;
|
||||
|
||||
@ -291,7 +291,7 @@ class FPGAViewWidget : public QOpenGLWidget, protected QOpenGLFunctions
|
||||
QMutex rendererDataLock_;
|
||||
|
||||
void clampZoom();
|
||||
void zoomToBB(const PickQuadTree::BoundingBox &bb, float margin);
|
||||
void zoomToBB(const PickQuadTree::BoundingBox &bb, float margin, bool clamp);
|
||||
void zoom(int level);
|
||||
void renderLines(void);
|
||||
void renderGraphicElement(LineShaderData &out, PickQuadTree::BoundingBox &bb, const GraphicElement &el, float x,
|
||||
|
Loading…
Reference in New Issue
Block a user