Major Changes:
- Merged latest Qt5 devel content from dlbo (292 files changed, 7 new dirs)
- Consolidated forward-declarations and include folders
- Removed unneeded modules per Niklas' repo check list
Build System Fixes:
- Fixed CMake VERSION_GREATER syntax in ParticipantManagement/CMakeLists.txt
- Added VLC packages (libvlc-dev, vlc-plugin-base) to docker_build.sh
- Added PostgreSQL dev packages (libpq-dev, postgresql-server-dev-all) to Dockerfile
- Fixed locale warnings (ANSI_X3.4-1968 → C.UTF-8)
- Fixed ArcGIS SDK path warnings when BUILD_ARCGIS=OFF
Code Generation Fixes:
- Fixed IDL enum collisions (PortType→CorePortType/DdsutPortType, PdmEventType)
- Fixed Grantlee template svc_translation.cpp.grantlee:
- Changed {{ idl_enum.name }}_def:: to {{ idl_enum.name }}::
- Fixed .underlying() calls for C++11 scoped enums (enum class)
- Removed generated files from repo (moc_*, *_dtc.h, *_ftc.h)
Validation:
- BUILD_RTI=ON: SUCCESS
- BUILD_RTI=OFF: SUCCESS
- C++17 standard maintained for RTI 7.7 compatibility
- Ubuntu 26.04 Docker environment verified
Remaining Warnings (expected):
- BgViewer, KDChart, KDReports, Poppler-Qt6 not found (optional features)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
109 lines
2.3 KiB
C++
109 lines
2.3 KiB
C++
/**
|
|
* @RDE_HEADER@
|
|
* Interface
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
*/
|
|
|
|
#include <QtWidgets/QApplication>
|
|
#include <QMainWindow>
|
|
#include <QPainter>
|
|
#include <QImage>
|
|
#include <QSvgGenerator>
|
|
#include <QSvgRenderer>
|
|
|
|
void renderImpactSymbol(QPainter& painter)
|
|
{
|
|
// From SymbolDictionaryExtendedImpl::renderImpactSymbol
|
|
|
|
QColor color = Qt::red;
|
|
int size = 100;
|
|
bool filled = false;
|
|
|
|
|
|
QPen pen(color);
|
|
pen.setWidth(2);
|
|
painter.setPen(pen);
|
|
|
|
const int sizeHalf = size/2.0;
|
|
|
|
QPointF center(sizeHalf, sizeHalf);
|
|
|
|
// circle
|
|
if (filled)
|
|
painter.setBrush( color );
|
|
painter.drawEllipse(center, sizeHalf*0.5, sizeHalf*0.5);
|
|
|
|
// // lines
|
|
// QLine newLine(0, sizeHalf, size, sizeHalf);
|
|
// painter.drawLine(newLine);
|
|
|
|
// QTransform trans;
|
|
// trans.translate(sizeHalf, sizeHalf);
|
|
// trans.rotate(45);
|
|
// trans.translate(-sizeHalf, -sizeHalf);
|
|
|
|
// newLine = trans.map(newLine);
|
|
// painter.drawLine(newLine);
|
|
|
|
// newLine = trans.map(newLine);
|
|
// painter.drawLine(newLine);
|
|
|
|
// newLine = trans.map(newLine);
|
|
// painter.drawLine(newLine);
|
|
}
|
|
|
|
|
|
|
|
int main (int argc, char* argv[])
|
|
{
|
|
QApplication app ( argc, argv );
|
|
|
|
// under windows for ArcGIS 10.2.6 and higher
|
|
#ifdef Q_OS_WIN
|
|
QCoreApplication::setAttribute( Qt::AA_UseOpenGLES );
|
|
#endif
|
|
|
|
int fullSize = 100;
|
|
QImage image(fullSize, fullSize, QImage::Format_ARGB32);
|
|
image.fill(qRgba(0,0,0,0));
|
|
|
|
{
|
|
// Image:
|
|
QPainter painterI(&image);
|
|
renderImpactSymbol(painterI);
|
|
painterI.end();
|
|
image.save(QLatin1String("dummy.png"));
|
|
|
|
// SaveSvg:
|
|
QSvgGenerator generator;
|
|
generator.setFileName(QLatin1String("dummy.svg"));
|
|
generator.setSize(QSize(100, 100));
|
|
generator.setViewBox(QRect(0, 0, 100, 100));
|
|
generator.setTitle(QLatin1String("SVG Generator Example Drawing"));
|
|
generator.setDescription(QLatin1String("An SVG drawing created by the SVG Generator"));
|
|
|
|
QPainter painterSvg;
|
|
painterSvg.begin(&generator);
|
|
renderImpactSymbol(painterSvg);
|
|
painterSvg.end();
|
|
}
|
|
|
|
{
|
|
QSvgRenderer svgRenderer;
|
|
QImage image(fullSize, fullSize, QImage::Format_ARGB32);
|
|
image.fill(qRgba(0,0,0,0));
|
|
|
|
QPainter painter(&image);
|
|
svgRenderer.load(QLatin1String("manualDummy.svg"));
|
|
svgRenderer.render(&painter);
|
|
painter.end();
|
|
|
|
image.save(QLatin1String("manualDummy.png"));
|
|
}
|
|
|
|
|
|
return app.exec();
|
|
}
|