-
Notifications
You must be signed in to change notification settings - Fork 38.7k
build, qt: Add SVG support, and replace bitcoin PNG image with SVG one #19780
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
|
Isn't SVG rendering a lot of complexity to add? What's the benefit? If we want to use SVGs in the source code, we could adopt Knots's build system changes that render SVG to PNG at dist-time. |
How does SVG rendering complexity differ from
Unconditional visual quality. |
|
As you're a designer of |
Choosing an image is absolutely trivial in comparison to rendering a vector image... Why would we ever be rescaling?
You get the same quality no matter what stage you render. |
Isn't rendering a vector image hidden by
In cases when a requested pixmap size does not coincide with one of stored by
The difference in quality is obvious on screenshots though. |
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
Yes, the concern is importing something complex like qtsvg into the overall codebase/runtime process... Any vulnerability compromises the entire program.
I don't know of any cases where that should happen.
Most of the screenshots here are the DE, not Bitcoin Core...? Providing SVGs for that purpose seems fine and aside from using SVGs inside Core itself. If we're getting scaling artefacts inside Core, we obviously aren't rendering to the size we're using. That's fixed by adjusting what sizes we render. |
|
Is the GUI repo the appropriate home for a PR like this? :) |
Correct. bitcoin-core/gui#38 or #15068 should be used instead.
https://github.com/bitcoin-core/gui is for changes within Closing. |
|
Given SVG files are auditable (it's only text), and we don't accept SVG from any untrusted source, I don't think this is a good concern @luke-jr |
|
Concept ACK if this worked out of the box without the build system changes. |
The build system changes are required for static builds. |
This PR adds SVG support, and replaces
bitcoin.pngwithbitcoin.svg.Here are the benefits:
Fedora 32:

Ubuntu Focal 20.04:

"About Bitcoin Core" dialog with this PR:

bitcoin-core/packaging#27 (comment):
With Qt 5.9.8 (our gitian builds) difference in shadows is observed. No differences with newer Qt versions.