Commit graph

194 commits

Author SHA1 Message Date
Allan Bazinet
092e5316d1 Use QPolygon for spectrum draw 2024-11-09 13:15:00 -08:00
Allan Bazinet
ef949fd6d1 Always place hover indicator above dial 2024-11-09 07:37:04 -08:00
Allan Bazinet
2c673059d0 Use default argument 2024-11-09 07:09:41 -08:00
Allan Bazinet
1ebf92f319 Tune and document opaque painting 2024-11-09 06:59:38 -08:00
Allan Bazinet
0a3215f69d Simplify plotter inheritance
Plotter can be a QWidget; doesn’t need to be a QFrame.
2024-11-09 05:51:37 -08:00
Allan Bazinet
0560cd5342 Remove paint event recursion guard
We don’t do anything in the paint event that would trigger another paint event; should not need to guard.
2024-11-09 05:17:21 -08:00
Allan Bazinet
fc6ea196c2 Document and revise filter logic 2024-11-08 07:51:56 -08:00
Allan Bazinet
27cb05a0b4 Improve filter efficiency 2024-11-08 07:31:19 -08:00
Allan Bazinet
54f1033c47 Revise m_freqPerPixel initialization 2024-11-08 07:12:52 -08:00
Allan Bazinet
9bbfba27ef Add sanity guards to pixmap creation 2024-11-08 07:08:09 -08:00
Allan Bazinet
e2848b7fdb Simplify float conversion math operations 2024-11-08 05:50:43 -08:00
Allan Bazinet
42efdbfc43 Reduce plotter memory usage
Cut up single overlay pixmap into two smaller pixmaps, displaying only what’s not the filter bandpass.
2024-11-08 04:49:04 -08:00
Allan Bazinet
3cae023fd8 Correct updates on start frequency change 2024-11-07 21:13:59 -08:00
Allan Bazinet
a030b20c2f Update drawing guards 2024-11-07 20:16:19 -08:00
Allan Bazinet
f405a25d74 Compute height directly in drawFilter() 2024-11-07 19:04:55 -08:00
Allan Bazinet
e78612b94a Quick fix for filter display 2024-11-07 18:02:20 -08:00
Allan Bazinet
07f96a83d7 Draw dials on BPP change 2024-11-07 17:54:31 -08:00
Allan Bazinet
2ebf5e2437 Ongoing filter display fixes 2024-11-07 17:51:23 -08:00
Allan Bazinet
45c4001989 Don’t need composition mode for dial drawing 2024-11-07 17:03:59 -08:00
Allan Bazinet
83700f9b4a Plotter update tuning 2024-11-07 13:44:04 -08:00
Allan Bazinet
632bb48a12 Improve dial display efficiency
Optimize drawing of dial pixmaps and dramatically reduce their memory footprint.
2024-11-07 13:10:26 -08:00
Allan Bazinet
15f385e272 Improve decode line drawing text efficiencty 2024-11-07 08:19:31 -08:00
Allan Bazinet
83ff95696e Handle high-DPI displays in plotter 2024-11-07 07:31:29 -08:00
Allan Bazinet
0265d661c4 Cover scale with filter overlay 2024-11-07 07:00:04 -08:00
Allan Bazinet
71e1c810ed Normalize dial / hover drawing 2024-11-07 06:38:20 -08:00
Allan Bazinet
70553090de Document spectrum drawing 2024-10-31 07:08:48 -07:00
Allan Bazinet
46374408bf Simplify spectrum drawing 2024-10-31 06:53:30 -07:00
Allan Bazinet
a559d511f9 Use scoped value for replot 2024-10-31 06:26:44 -07:00
Allan Bazinet
365f045979 Eliminate color table global 2024-10-26 07:02:01 -07:00
Allan Bazinet
e8fccb0dc7 fractionalPart could be constexpr if std::modf is 2024-10-26 06:35:35 -07:00
Allan Bazinet
df8deb5d0d Clean up x0 calculation 2024-10-26 06:31:47 -07:00
Allan Bazinet
c98cefc500 Precompute frequency per pixel 2024-10-26 04:30:16 -07:00
Allan Bazinet
cd4041b7c6 Use common painter variable names 2024-10-25 20:41:55 -07:00
Allan Bazinet
c0cc4464a7 Plotter refactoring and tuning 2024-10-25 13:32:16 -07:00
Allan Bazinet
01ad3ba804 Use float precision specifiers 2024-10-24 21:31:34 -07:00
Allan Bazinet
e802e27f02 Use float precision for dial frequency 2024-10-24 21:25:49 -07:00
Allan Bazinet
e24a008fb4 Break out submode overlay drawing 2024-10-24 17:42:16 -07:00
Allan Bazinet
e18ac68656 Use precomputed m_fSpan 2024-10-24 16:42:20 -07:00
Allan Bazinet
a7aaaedb97 Simplified dial frequency drawing 2024-10-24 12:43:53 -07:00
Allan Bazinet
47b7da49f6 Use consistent value in mouse click freq change 2024-10-24 12:38:58 -07:00
Allan Bazinet
85844ee67b Simplify sub-band drawing 2024-10-24 07:16:12 -07:00
Allan Bazinet
cf878ba7a1 Avoid height overdraw 2024-10-24 05:18:24 -07:00
Allan Bazinet
1113106926 Dial frequency brush fill
Bit of a visual experiment, make the dial frequency component appear a bit more above the waterfall.
2024-10-23 17:04:36 -07:00
Allan Bazinet
40f87142b9 Normalize instance variable names 2024-10-20 21:25:26 -07:00
Allan Bazinet
f4e2a330cd Tune mouse events 2024-10-20 21:20:32 -07:00
Allan Bazinet
0961695fae Eliminate changeFreq SIGNAL and SLOT macro usage 2024-10-20 14:23:10 -07:00
Allan Bazinet
41eddc6e2e Collapse TX and RX frequencies
Separate TX and RX frequencies is a vestige of WSJTX; in JS8Call, there’s really only a single frequency, which is our offset in hertz into the dial frequency. To date the two separate frequencies have had to have been kept in sync at all times; this change removes the distinction and instead uses a single frequency.
2024-10-20 13:54:14 -07:00
Allan Bazinet
4238380242 Graph mode is always FT8
Our widegraph and plotter are always going to be displaying FT8 mode; remove logic to handle multiple modes until such time as they become relevant again, if ever.
2024-10-19 15:16:30 -07:00
Allan Bazinet
466c6415c0 NSPS and FFT_BIN_WIDTH constants
The number of samples per second is fixed and unchanging at 6912, and is therefore a constant. Similarly, since FFT bin width is derived from NSPS, it’s also a constant.
2024-10-19 15:10:31 -07:00
Allan Bazinet
82fe088231 Start cleanup of size usage 2024-10-19 13:49:37 -07:00