Changeset 101500 in vbox for trunk/src/VBox/Frontends/VirtualBox
- Timestamp:
- Oct 18, 2023 2:01:20 PM (16 months ago)
- svn:sync-xref-src-repo-rev:
- 159572
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src/globals
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/globals/UIIconPool.cpp
r101382 r101500 722 722 } 723 723 724 //overlayArchitectureTextOnPixmap("A64", pixmap); 724 725 /* Return pixmap: */ 725 726 return pixmap; 726 727 } 728 729 void UIIconPoolGeneral::overlayArchitectureTextOnPixmap(const QString &strArch, QPixmap &pixmap) const 730 { 731 #if 0 732 /* First create a pixmap and draw a background and text on it: */ 733 QFontMetrics fontMetrics = qApp->fontMetrics(); 734 QRect rect(0, 0, fontMetrics.boundingRect(strArch).width(), fontMetrics.boundingRect(strArch).height()); 735 QPixmap textPixmap(rect.size()); 736 737 QPainter painter(&textPixmap); 738 QFont font = qApp->font(); 739 font.setBold(true); 740 painter.setFont(font); 741 painter.setRenderHint(QPainter::Antialiasing); 742 painter.setRenderHint(QPainter::SmoothPixmapTransform); 743 painter.setRenderHint(QPainter::TextAntialiasing); 744 painter.setPen(QPen(Qt::black, 1)); 745 painter.setBrush(QColor(255, 255, 255, 80)); 746 painter.drawRect(rect); 747 painter.drawText(rect, Qt::AlignHCenter | Qt::AlignVCenter, strArch); 748 749 /* Now draw that^^ pixmap onto our original pixmap:*/ 750 QPainter originalPixmapPainter(&pixmap); 751 originalPixmapPainter.setRenderHint(QPainter::Antialiasing); 752 originalPixmapPainter.setRenderHint(QPainter::SmoothPixmapTransform); 753 QRect targetRect(QPoint(0, 0), QSize(0.34 * pixmap.rect().width(), 0.3 * pixmap.rect().height())); 754 originalPixmapPainter.drawPixmap(targetRect, textPixmap, textPixmap.rect()); 755 #endif 756 #if 1 757 QFont font = qApp->font(); 758 /* Set font' size wrt. @p pixmap height: */ 759 font.setPixelSize(0.3 * pixmap.rect().height()); 760 font.setBold(true); 761 QPainter painter(&pixmap); 762 painter.setFont(font); 763 /* Make a rectangle just a bit larger than text's bounding rect. to have some spacing around the text: */ 764 int w = 1.2 * painter.fontMetrics().boundingRect(strArch).size().width(); 765 int h = 1.0 * painter.fontMetrics().boundingRect(strArch).size().height(); 766 QRect textRect(QPoint(0, 0), QSize(w, h)); 767 painter.setRenderHint(QPainter::Antialiasing); 768 painter.setRenderHint(QPainter::SmoothPixmapTransform); 769 painter.setRenderHint(QPainter::TextAntialiasing); 770 painter.setPen(QPen(Qt::black, 1)); 771 painter.setBrush(QColor(255, 255, 255, 200)); 772 painter.drawRect(textRect); 773 painter.drawText(textRect, Qt::AlignHCenter | Qt::AlignVCenter, strArch); 774 #endif 775 } -
trunk/src/VBox/Frontends/VirtualBox/src/globals/UIIconPool.h
r98103 r101500 164 164 /** Destructs general icon-pool. */ 165 165 virtual ~UIIconPoolGeneral() /* override final */; 166 /** Overlay text @p strArch on top of @p pixmap. */ 167 void overlayArchitectureTextOnPixmap(const QString &strArch, QPixmap &pixmap) const; 166 168 167 169 /** Holds the singleton instance. */
Note:
See TracChangeset
for help on using the changeset viewer.