Bugzilla – Attachment 518 Details for
Bug 1056
Trackpad gestures and zooming behave very, very poorly on OSX
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch to disable anti-aliasing on high-resolution displays
0001-Disable-antialiasing-on-high-DPI-displays.patch (text/plain), 2.99 KB, created by
Ryan Govostes
on 2019-03-20 05:23:11 CET
(
hide
)
Description:
Patch to disable anti-aliasing on high-resolution displays
Filename:
MIME Type:
Creator:
Ryan Govostes
Created:
2019-03-20 05:23:11 CET
Size:
2.99 KB
patch
obsolete
>From 1e63de4d254b629ab62460f71e6133fbd221bac4 Mon Sep 17 00:00:00 2001 >From: Ryan Govostes <rgovostes+git@gmail.com> >Date: Tue, 19 Mar 2019 19:30:24 -0400 >Subject: [PATCH 1/3] Disable antialiasing on high-DPI displays > >--- > pv/views/trace/analogsignal.cpp | 3 ++- > pv/views/trace/trace.cpp | 6 ++++-- > pv/views/trace/viewport.cpp | 7 ++++++- > 3 files changed, 12 insertions(+), 4 deletions(-) > >diff --git a/pv/views/trace/analogsignal.cpp b/pv/views/trace/analogsignal.cpp >index d9b72ad..5992464 100644 >--- a/pv/views/trace/analogsignal.cpp >+++ b/pv/views/trace/analogsignal.cpp >@@ -319,6 +319,7 @@ void AnalogSignal::paint_fore(QPainter &p, ViewItemPaintParams &pp) > > void AnalogSignal::paint_grid(QPainter &p, int y, int left, int right) > { >+ bool wasAntialiased = p.testRenderHint(QPainter::Antialiasing); > p.setRenderHint(QPainter::Antialiasing, false); > > if (pos_vdivs_ > 0) { >@@ -363,7 +364,7 @@ void AnalogSignal::paint_grid(QPainter &p, int y, int left, int right) > } > } > >- p.setRenderHint(QPainter::Antialiasing, true); >+ p.setRenderHint(QPainter::Antialiasing, wasAntialiased); > } > > void AnalogSignal::paint_trace(QPainter &p, >diff --git a/pv/views/trace/trace.cpp b/pv/views/trace/trace.cpp >index d7e02bc..65abaf0 100644 >--- a/pv/views/trace/trace.cpp >+++ b/pv/views/trace/trace.cpp >@@ -292,12 +292,13 @@ void Trace::paint_back(QPainter &p, ViewItemPaintParams &pp) > > void Trace::paint_axis(QPainter &p, ViewItemPaintParams &pp, int y) > { >+ bool wasAntialiased = p.testRenderHint(QPainter::Antialiasing); > p.setRenderHint(QPainter::Antialiasing, false); > > p.setPen(axis_pen_); > p.drawLine(QPointF(pp.left(), y), QPointF(pp.right(), y)); > >- p.setRenderHint(QPainter::Antialiasing, true); >+ p.setRenderHint(QPainter::Antialiasing, wasAntialiased); > } > > void Trace::add_color_option(QWidget *parent, QFormLayout *form) >@@ -328,10 +329,11 @@ void Trace::paint_hover_marker(QPainter &p) > > const pair<int, int> extents = v_extents(); > >+ bool wasAntialiased = p.testRenderHint(QPainter::Antialiasing); > p.setRenderHint(QPainter::Antialiasing, false); > p.drawLine(x, get_visual_y() + extents.first, > x, get_visual_y() + extents.second); >- p.setRenderHint(QPainter::Antialiasing, true); >+ p.setRenderHint(QPainter::Antialiasing, wasAntialiased); > } > > void Trace::create_popup_form() >diff --git a/pv/views/trace/viewport.cpp b/pv/views/trace/viewport.cpp >index 83abb7b..44c912a 100644 >--- a/pv/views/trace/viewport.cpp >+++ b/pv/views/trace/viewport.cpp >@@ -30,6 +30,8 @@ > #include <pv/session.hpp> > > #include <QMouseEvent> >+#include <QScreen> >+#include <QWindow> > > #include <QDebug> > >@@ -172,7 +174,10 @@ void Viewport::paintEvent(QPaintEvent*) > [](const shared_ptr<TimeItem> &t) { return !t; })); > > QPainter p(this); >- p.setRenderHint(QPainter::Antialiasing); >+ >+ bool useAntialiasing = >+ window()->windowHandle()->screen()->devicePixelRatio() < 2.0; >+ p.setRenderHint(QPainter::Antialiasing, useAntialiasing); > > for (LayerPaintFunc *paint_func = layer_paint_funcs; > *paint_func; paint_func++) { >-- >2.20.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 1056
: 518 |
519
|
520