From 350d1977af35ee9cc59f4912593c4083a64dc7d1 Mon Sep 17 00:00:00 2001 From: Loren Burkholder Date: Fri, 13 Aug 2021 20:05:51 -0400 Subject: Add some fancy effects to jdenticon --- src/JdenticonProvider.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'src/JdenticonProvider.cpp') diff --git a/src/JdenticonProvider.cpp b/src/JdenticonProvider.cpp index fd7ee137..5495b2d3 100644 --- a/src/JdenticonProvider.cpp +++ b/src/JdenticonProvider.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include #include @@ -18,8 +19,13 @@ #include "Utils.h" #include "jdenticoninterface.h" -JdenticonResponse::JdenticonResponse(const QString &key, const QSize &requestedSize) +JdenticonResponse::JdenticonResponse(const QString &key, + bool crop, + double radius, + const QSize &requestedSize) : m_key(key) + , m_crop{crop} + , m_radius{radius} , m_requestedSize(requestedSize.isValid() ? requestedSize : QSize(100, 100)) , m_pixmap{m_requestedSize} , jdenticonInterface_{Jdenticon::getJdenticonInterface()} @@ -32,10 +38,16 @@ JdenticonResponse::run() { m_pixmap.fill(Qt::transparent); QPainter painter{&m_pixmap}; + painter.setRenderHint(QPainter::Antialiasing, true); + painter.setRenderHint(QPainter::SmoothPixmapTransform, true); + + QPainterPath ppath; + ppath.addRoundedRect(m_pixmap.rect(), m_radius, m_radius); + + painter.setClipPath(ppath); + QSvgRenderer renderer{ jdenticonInterface_->generate(m_key, m_requestedSize.width()).toUtf8()}; - // m_image = QImage::fromData(jdenticonInterface_->generate(m_key, - // size->width()).toUtf8()); renderer.render(&painter); emit finished(); -- cgit 1.5.1