linphone-desktop/ui/modules/Common/Image/Icon.qml
2018-08-06 15:47:09 +02:00

46 lines
1 KiB
QML

import QtQuick 2.7
import Common 1.0
import Utils 1.0
// =============================================================================
// An icon image properly resized.
// =============================================================================
Item {
property var iconSize // Required.
property string icon
height: iconSize
width: iconSize
Image {
function _checkIconSize () {
Utils.assert(
iconSize != null && iconSize >= 0,
'`iconSize` must be defined and must be positive. (icon=`' +
icon + '`, iconSize=' + iconSize + ')'
)
}
anchors.centerIn: parent
height: {
_checkIconSize()
return iconSize > sourceSize.height
? sourceSize.height
: iconSize
}
width: {
_checkIconSize()
return iconSize > sourceSize.width
? sourceSize.width
: iconSize
}
fillMode: Image.PreserveAspectFit
source: Utils.resolveImageUri(icon)
// Warning: Perfomance cost.
mipmap: true
}
}