1004{
1007 "\n"
1008 "<h2>How to navigate a VP1GraphicsView</h2>\n"
1009 "\n"
1010 " <p>\n <b>H/F1</b> Show this help."
1011 " \n <b>S</b> Seek mode.\n"
1012 " \n <b>+/-</b> Zoom.\n"
1013 " \n <b>CTRL+HOME</b> Set home.\n"
1014 " \n <b>HOME</b> View home.\n"
1015 " \n <b>1</b> View all.\n"
1016 " \n <b>ESC</b> Switch between view and pick mode.\n"
1017 " \n <b>P</b> Print view.\n"
1018 " \n <b>CTRL+P</b> Save snapshot to image file.</p>\n"
1019 " <p>\n <b>Mouse wheel</b> zoom. Use <b>CTRL</b> and <b>SHIFT</b> for finegrained control.</p>\n"
1020 " <p>\n To select items (in pick mode), click on them. Selected multiple by holding down <b>SHIFT</b>.</p>\n"
1021 "\n"
1022 "<p>\n"
1023 " Please report any bugs to <i>Thomas.Kittelmann@cern.ch</i>.\n"
1024 "</p>\n"
1025 "\n"
1026 "\n"
1027 "</html>" );
1028 QFont myfont("Helvetica",36);
1029
1030 helptext.setDefaultFont ( myfont );
1031
1032 }
1033
1035 helptextimage =
new QImage(imrect.size(), QImage::Format_ARGB32);
1036
1037 QPainter painter;
1039
1040 int pageWidth = qMax(imrect.width() - 100, 100);
1041 int pageHeight = qMax(imrect.height() - 100, 100);
1042 if (pageWidth !=
helptext.pageSize().width()) {
1043 helptext.setPageSize(QSize(pageWidth, pageHeight));
1044 }
1045
1046 QRect textRect(imrect.width() / 2 - pageWidth / 2,
1047 imrect.height() / 2 - pageHeight / 2,
1048 pageWidth,
1049 pageHeight);
1050 int pad = 10;
1051 QRect clearRect = textRect.adjusted(-pad, -pad, pad, pad);
1052 painter.setPen(Qt::NoPen);
1053 painter.setBrush(QColor(0, 0, 0, 63));
1054 int shade = 10;
1055 painter.drawRect(clearRect.x() + clearRect.width() + 1,
1056 clearRect.y() + shade,
1057 shade,
1058 clearRect.height() + 1);
1059 painter.drawRect(clearRect.x() + shade,
1060 clearRect.y() + clearRect.height() + 1,
1061 clearRect.width() - shade + 1,
1062 shade);
1063
1064 painter.setRenderHint(QPainter::Antialiasing, false);
1065 painter.setBrush(QColor(255, 255, 255, 220));
1066 painter.setPen(Qt::black);
1067 painter.drawRect(clearRect);
1068
1069 painter.setClipRegion(textRect, Qt::IntersectClip);
1070 painter.translate(textRect.topLeft());
1071
1072 QAbstractTextDocumentLayout::PaintContext ctx;
1073
1074 QLinearGradient
g(0, 0, 0, textRect.height());
1075 g.setColorAt(0, Qt::black);
1076 g.setColorAt(0.9, Qt::black);
1077 g.setColorAt(1, Qt::transparent);
1078
1079 QPalette pal =
view->viewport()->palette();
1080 pal.setBrush(QPalette::Text, g);
1081
1082 ctx.palette = std::move(pal);
1083 ctx.clip = QRect(0, 0, textRect.width(), textRect.height());
1084 helptext.documentLayout()->draw(&painter, ctx);
1085
1086 painter.end();
1087
1088}