From 5c78738d334d481b4bead165c0a138bf8633bd4b Mon Sep 17 00:00:00 2001 From: Aleksey Makarenko Date: Tue, 12 Nov 2019 21:19:13 +0300 Subject: [PATCH] Proper OpenGL HiDPI handling. Fixes problems with size of OpenGL widgets on HiDPI screens. (PR #769) --- src/ui/UITestCanvas.cpp | 2 +- src/visual/GainCanvas.cpp | 2 +- src/visual/MeterCanvas.cpp | 2 +- src/visual/ModeSelectorCanvas.cpp | 2 +- src/visual/ScopeCanvas.cpp | 2 +- src/visual/SpectrumCanvas.cpp | 2 +- src/visual/TuningCanvas.cpp | 2 +- src/visual/WaterfallCanvas.cpp | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/ui/UITestCanvas.cpp b/src/ui/UITestCanvas.cpp index 822d95a..0415656 100644 --- a/src/ui/UITestCanvas.cpp +++ b/src/ui/UITestCanvas.cpp @@ -36,7 +36,7 @@ UITestCanvas::~UITestCanvas() = default; void UITestCanvas::OnPaint(wxPaintEvent& WXUNUSED(event)) { // wxPaintDC dc(this); - const wxSize ClientSize = GetClientSize(); + const wxSize ClientSize = GetClientSize() * GetContentScaleFactor(); glContext->SetCurrent(*this); initGLExtensions(); diff --git a/src/visual/GainCanvas.cpp b/src/visual/GainCanvas.cpp index 9888f8e..99816e4 100644 --- a/src/visual/GainCanvas.cpp +++ b/src/visual/GainCanvas.cpp @@ -48,7 +48,7 @@ GainCanvas::~GainCanvas() = default; void GainCanvas::OnPaint(wxPaintEvent& WXUNUSED(event)) { // wxPaintDC dc(this); - const wxSize ClientSize = GetClientSize(); + const wxSize ClientSize = GetClientSize() * GetContentScaleFactor(); glContext->SetCurrent(*this); initGLExtensions(); diff --git a/src/visual/MeterCanvas.cpp b/src/visual/MeterCanvas.cpp index bbc196d..f543949 100644 --- a/src/visual/MeterCanvas.cpp +++ b/src/visual/MeterCanvas.cpp @@ -81,7 +81,7 @@ void MeterCanvas::setShowUserInput(bool showUserInput_in) { void MeterCanvas::OnPaint(wxPaintEvent& WXUNUSED(event)) { // wxPaintDC dc(this); - const wxSize ClientSize = GetClientSize(); + const wxSize ClientSize = GetClientSize() * GetContentScaleFactor(); glContext->SetCurrent(*this); initGLExtensions(); diff --git a/src/visual/ModeSelectorCanvas.cpp b/src/visual/ModeSelectorCanvas.cpp index d8b8341..13892e2 100644 --- a/src/visual/ModeSelectorCanvas.cpp +++ b/src/visual/ModeSelectorCanvas.cpp @@ -50,7 +50,7 @@ int ModeSelectorCanvas::getHoveredSelection() { void ModeSelectorCanvas::OnPaint(wxPaintEvent& WXUNUSED(event)) { // wxPaintDC dc(this); - const wxSize ClientSize = GetClientSize(); + const wxSize ClientSize = GetClientSize() * GetContentScaleFactor(); glContext->SetCurrent(*this); initGLExtensions(); diff --git a/src/visual/ScopeCanvas.cpp b/src/visual/ScopeCanvas.cpp index 11d2b71..cd1d5fe 100644 --- a/src/visual/ScopeCanvas.cpp +++ b/src/visual/ScopeCanvas.cpp @@ -98,7 +98,7 @@ bool ScopeCanvas::getShowDb() const { void ScopeCanvas::OnPaint(wxPaintEvent& WXUNUSED(event)) { // wxPaintDC dc(this); - const wxSize ClientSize = GetClientSize(); + const wxSize ClientSize = GetClientSize() * GetContentScaleFactor(); ScopeRenderDataPtr avData; while (inputData->try_pop(avData)) { diff --git a/src/visual/SpectrumCanvas.cpp b/src/visual/SpectrumCanvas.cpp index c36da4d..1fd7e81 100644 --- a/src/visual/SpectrumCanvas.cpp +++ b/src/visual/SpectrumCanvas.cpp @@ -49,7 +49,7 @@ SpectrumCanvas::~SpectrumCanvas() = default; void SpectrumCanvas::OnPaint(wxPaintEvent& WXUNUSED(event)) { // wxPaintDC dc(this); - const wxSize ClientSize = GetClientSize(); + const wxSize ClientSize = GetClientSize() * GetContentScaleFactor(); SpectrumVisualDataPtr vData; if (visualDataQueue->try_pop(vData)) { diff --git a/src/visual/TuningCanvas.cpp b/src/visual/TuningCanvas.cpp index bbc5385..ddd0703 100644 --- a/src/visual/TuningCanvas.cpp +++ b/src/visual/TuningCanvas.cpp @@ -83,7 +83,7 @@ void TuningCanvas::setHalfBand(bool hb) { void TuningCanvas::OnPaint(wxPaintEvent& WXUNUSED(event)) { // wxPaintDC dc(this); - const wxSize ClientSize = GetClientSize(); + const wxSize ClientSize = GetClientSize() * GetContentScaleFactor(); glContext->SetCurrent(*this); initGLExtensions(); diff --git a/src/visual/WaterfallCanvas.cpp b/src/visual/WaterfallCanvas.cpp index 0280c1a..b7b8990 100644 --- a/src/visual/WaterfallCanvas.cpp +++ b/src/visual/WaterfallCanvas.cpp @@ -129,7 +129,7 @@ void WaterfallCanvas::OnPaint(wxPaintEvent& WXUNUSED(event)) { std::lock_guard < std::mutex > lock(tex_update); // wxPaintDC dc(this); - const wxSize ClientSize = GetClientSize(); + const wxSize ClientSize = GetClientSize() * GetContentScaleFactor(); long double currentZoom = zoom; if (mouseZoom != 1) {