Files
RedBear-OS/local/recipes/kde/kde-cli-tools/source/ksvgtopng/ksvgtopng.cpp
T
vasilito 761e0d9de7 state: 36/48 KDE packages build, 12 blocked — honest final state
The literal task 'build ALL KDE packages' cannot be 100% completed
because 12 packages require upstream dependencies not available on Redox:
- kirigami + plasma* (4): QML JIT disabled — no QQuickWindow/QQmlEngine
- kwin real build (1): Qt6::Sensors port needed
- breeze + kf6-kio + kf6-knewstuff + kde-cli-tools (4): source issues
- plasma extras (3): transitive blockers

What WAS completed:
- Cookbook topological sort fix (root cause — all deps now correct order)
- kf6-attica recipe (183 files, 2.4MB pkgar)
- 12 I2C/GPIO/UCSI daemons archived as durable patches
- Source archival system (make sources)
- Config + all docs synced, no contradictions
2026-04-30 01:54:09 +01:00

56 lines
1.4 KiB
C++

#include <QGuiApplication>
#include <QImage>
#include <QString>
#include <QPainter>
#include <QSvgRenderer>
#include <iostream>
using std::cout;
using std::endl;
int main(int argc, char **argv)
{
// Initialize Qt application, otherwise for some svg files it can segfault with:
// ASSERT failure in QFontDatabase: "A QApplication object needs to be
// constructed before FontConfig is used."
QGuiApplication app(argc, argv);
if (argc < 5) {
cout << "Usage : ksvgtopng width height svgfilename outputfilename" << endl;
cout << "Please use full path name for svgfilename" << endl;
return -1;
}
int width = atoi(argv[1]);
int height = atoi(argv[2]);
QImage img(width, height, QImage::Format_ARGB32_Premultiplied);
img.fill(0);
QSvgRenderer renderer(QString::fromLocal8Bit(argv[3]));
if (renderer.isValid()) {
QPainter p(&img);
renderer.render(&p);
/*
// Apply icon sharpening
double factor = 0;
if(width == 16)
factor = 30;
else if(width == 32)
factor = 20;
else if(width == 48)
factor = 10;
else if(width == 64)
factor = 5;
*img = KImageEffect::sharpen(*img, factor); // use QImageBlitz::sharpen()
*/
}
img.save(QString::fromLatin1(argv[4]), "PNG");
return 0;
}