Kirigami2
icon.cpp
37 // Using 32 because Icon used to redefine implicitWidth and implicitHeight and hardcode them to 32
59 m_theme = static_cast<Kirigami::PlatformTheme *>(qmlAttachedPropertiesObject<Kirigami::PlatformTheme>(this, true));
181 const auto multiplier = QCoreApplication::instance()->testAttribute(Qt::AA_UseHighDpiPixmaps) ? 1 : (window() ? window()->devicePixelRatio() : qGuiApp->devicePixelRatio());
183 mNode->setTexture(s_iconImageCache->loadTexture(window(), m_icon, QQuickWindow::TextureCanUseAtlas));
217 const QUrl possibleRedirectUrl = reply->attribute(QNetworkRequest::RedirectionTargetAttribute).toUrl();
247 if (!m_loadedImage.load(reply, filename.mid(filename.indexOf(QLatin1Char('.'))).toLatin1().constData())) {
252 m_loadedImage = icon.pixmap(window(), icon.actualSize(size().toSize()), iconMode(), QIcon::On).toImage();
271 const auto multiplier = QCoreApplication::instance()->testAttribute(Qt::AA_UseHighDpiPixmaps) ? 1 : (window() ? window()->devicePixelRatio() : qGuiApp->devicePixelRatio());
308 const QColor tintColor = !m_color.isValid() || m_color == Qt::transparent ? (m_selected ? m_theme->highlightedTextColor() : m_theme->textColor()) : m_color;
329 const auto multiplier = QCoreApplication::instance()->testAttribute(Qt::AA_UseHighDpiPixmaps) ? (window() ? window()->devicePixelRatio() : qGuiApp->devicePixelRatio()) : 1;
355 return m_loadedImage.scaled(size, Qt::KeepAspectRatio, smooth() ? Qt::SmoothTransformation : Qt::FastTransformation );
368 m_loadedImage = icon.pixmap(window(), icon.actualSize(QSize(width(), height())), iconMode(), QIcon::On).toImage();
383 QQuickTextureFactory *textureFactory = imageProvider->requestTexture(iconId, &actualSize, size * multiplier);
388 // broken image from data, or the texture factory wasn't healthy, inform the user of this with some useful broken-image thing...
390 img = icon.pixmap(window(), icon.actualSize(QSize(width(), height())), iconMode(), QIcon::On).toImage();
402 } else if(iconSource.startsWith(QLatin1String("http://")) || iconSource.startsWith(QLatin1String("https://"))) {
405 return m_loadedImage.scaled(size, Qt::KeepAspectRatio, smooth() ? Qt::SmoothTransformation : Qt::FastTransformation );
410 if (engine && (qnam = engine->networkAccessManager()) && (!m_networkReply || m_networkReply->url() != url)) {
442 /*const QColor tintColor = !m_color.isValid() || m_color == Qt::transparent ? (m_selected ? m_theme->highlightedTextColor() : m_theme->textColor()) : m_color;
444 if (m_isMask || icon.isMask() || iconSource.endsWith(QLatin1String("-symbolic")) || iconSource.endsWith(QLatin1String("-symbolic-rtl")) || iconSource.endsWith(QLatin1String("-symbolic-ltr")) || guessMonochrome(img)) {
523 qreal probability = qreal(it.value()) / qreal(img.size().width() * img.size().height() - transparentPixels);
529 m_monochromeHeuristics[stdSize] = saturatedPixels <= (img.size().width()*img.size().height() - transparentPixels) * 0.3 && entropy <= 0.3;
Definition: managedtexturenode.h:35
bool canConvert(int targetTypeId) const const
String
QUrl toUrl() const const
virtual QQmlImageProviderBase::ImageType imageType() const const override
This class is the base for color management in Kirigami, different platforms can reimplement this cla...
Definition: platformtheme.h:34
int indexOf(QChar ch, int from, Qt::CaseSensitivity cs) const const
const QChar * constData() const const
bool load(QIODevice *device, const char *format)
qreal devicePixelRatio() const const
int width() const const
T * data() const const
Format_Alpha8
QAction * actualSize(const QObject *recvr, const char *slot, QObject *parent)
RedirectionTargetAttribute
void setRect(const QRectF &r)
void setFiltering(QSGTexture::Filtering filtering)
Definition: managedtexturenode.h:16
QString fallback
The name of a fallback icon to load from the icon theme when the source cannot be found...
Definition: icon.h:59
qreal height() const const
QSizeF size() const const
int size() const const
T value() const const
void finished()
QHash::const_iterator constFind(const Key &key) const const
bool isNull() const const
bool active
Whether this icon will use the QIcon::Active mode when drawing the icon, resulting in a graphical eff...
Definition: icon.h:87
QString & remove(int position, int n)
virtual void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
bool isEmpty() const const
QPixmap pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state) const const
QSize scaled(int width, int height, Qt::AspectRatioMode mode) const const
virtual QImage image() const const
QSizeF size() const const
NoError
void update()
QRgb pixel(int x, int y) const const
QHash::const_iterator constEnd() const const
bool isNull() const const
Mode
QRgb rgb() const const
int width() const const
QQuickWindow * window() const const
bool isEmpty() const const
AA_UseHighDpiPixmaps
bool startsWith(const QString &s, Qt::CaseSensitivity cs) const const
QColor textColor
Color for normal foregrounds, usually text, but not limited to it, anything that should be painted wi...
Definition: platformtheme.h:67
QString path(QUrl::ComponentFormattingOptions options) const const
QSize actualSize(const QSize &size, QIcon::Mode mode, QIcon::State state) const const
bool endsWith(const QString &s, Qt::CaseSensitivity cs) const const
Linear
QCoreApplication * instance()
Icon::Status status
Whether the icon is correctly loaded, is asyncronously loading or there was an error.
Definition: icon.h:131
void deleteLater()
TextureCanUseAtlas
virtual void updatePolish()
int alpha() const const
virtual QImage requestImage(const QString &id, QSize *size, const QSize &requestedSize)
bool widthValid() const const
virtual QQuickTextureFactory * requestTexture(const QString &id, QSize *size, const QSize &requestedSize)
void clear()
qreal x() const const
CompositionMode_SourceIn
bool contains(QChar ch, Qt::CaseSensitivity cs) const const
QColor fromRgba(QRgb rgba)
QHash::const_iterator constBegin() const const
QString placeholder
The name of an icon from the icon theme to show while the icon set in source is being loaded...
Definition: icon.h:72
There was an error while loading the icon, for instance a non existent themed name, or an invalid url.
Definition: icon.h:153
virtual QPixmap requestPixmap(const QString &id, QSize *size, const QSize &requestedSize)
QString mid(int position, int n) const const
bool isNull() const const
KeepAspectRatio
QUrl resolved(const QUrl &relative) const const
int height() const const
bool heightValid() const const
QColor highlightedTextColor
Color for text that has been highlighted, often is a light color while normal text is dark...
Definition: platformtheme.h:77
void finished()
QVariant attribute(QNetworkRequest::Attribute code) const const
QUrl url() const const
void polish()
QSize size() const const
QNetworkReply::NetworkError error() const const
qreal y() const const
int height() const const
virtual QQuickImageResponse * requestImageResponse(const QString &id, const QSize &requestedSize)=0
QIcon fromTheme(const QString &name)
int saturation() const const
QNetworkReply * get(const QNetworkRequest &request)
PreferCache
qreal width() const const
QImage toImage() const const
void enabledChanged()
void moveCenter(const QPoint &position)
QVariant::Type type() const const
QNetworkAccessManager * networkAccessManager() const const
transparent
QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
bool testAttribute(Qt::ApplicationAttribute attribute)
QString toString() const const
SmoothTransformation
bool selected
Whether this icon will use the QIcon::Selected mode when drawing the icon, resulting in a graphical e...
Definition: icon.h:106
QString fileName(QUrl::ComponentFormattingOptions options) const const
void smoothChanged(bool)
QImage scaled(int width, int height, Qt::AspectRatioMode aspectRatioMode, Qt::TransformationMode transformMode) const const
void paletteChanged(const QPalette &palette)
Q_EMITQ_EMIT
QNetworkAccessManager * manager() const const
bool isValid() const const
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Tue Jan 19 2021 22:40:17 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2021 The KDE developers.
Generated on Tue Jan 19 2021 22:40:17 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.