QPixmap QS60StylePrivate::part(QS60StyleEnums::SkinParts part, const QSize &size, QPainter *painter, QS60StylePrivate::SkinElementFlags flags) { Q_UNUSED(painter); const QString partKey = QS60Style::partKeys().at(part); const QPicture partPicture = QS60StyleModeSpecifics::m_partPictures.value(partKey); QSize partSize(partPicture.boundingRect().size()); if (flags & (SF_PointEast | SF_PointWest)) { const int temp = partSize.width(); partSize.setWidth(partSize.height()); partSize.setHeight(temp); } const qreal scaleX = size.width() / (qreal)partSize.width(); const qreal scaleY = size.height() / (qreal)partSize.height(); QImage partImage(size, QImage::Format_ARGB32); partImage.fill(Qt::transparent); QPainter resultPainter(&partImage); QTransform t; if (flags & SF_PointEast) t.translate(size.width(), 0); else if (flags & SF_PointSouth) t.translate(size.width(), size.height()); else if (flags & SF_PointWest) t.translate(0, size.height()); t.scale(scaleX, scaleY); if (flags & SF_PointEast) t.rotate(90); else if (flags & SF_PointSouth) t.rotate(180); else if (flags & SF_PointWest) t.rotate(270); resultPainter.setTransform(t, true); const_cast<QPicture *>(&partPicture)->play(&resultPainter); resultPainter.end(); QPixmap result = QPixmap::fromImage(partImage); if (flags & SF_StateDisabled) { QStyleOption opt; QPalette *themePalette = QS60StylePrivate::themePalette(); if (themePalette) opt.palette = *themePalette; result = QApplication::style()->generatedIconPixmap(QIcon::Disabled, result, &opt); } return result; }
void CPositionDisplay::SizeChanged() { TSize headerShrink(7, 2); TSize valueShrink(12, 2); TInt partHeight = Rect().Height() / 3; TSize partSize(Rect().Width(), partHeight); TRect rect(Rect().iTl, partSize); TRect shrunk = rect; shrunk.Shrink( headerShrink); iHeader->SetRect(shrunk); rect.Move(0,partHeight); shrunk = rect; shrunk.Shrink( valueShrink); iLatControl->SetRect(shrunk); rect.Move(0, partHeight - 2); shrunk = rect; shrunk.Shrink( valueShrink); iLonControl->SetRect(shrunk); }