+
+void JPEGFrameView::set_overlay(const string &text)
+{
+ if (text.empty()) {
+ overlay_image.reset();
+ return;
+ }
+
+ overlay_image.reset(new QImage(overlay_width, overlay_height, QImage::Format_Grayscale8));
+ overlay_image->fill(0);
+ QPainter painter(overlay_image.get());
+
+ painter.setPen(Qt::white);
+ QFont font = painter.font();
+ font.setPointSize(12);
+ painter.setFont(font);
+
+ painter.drawText(QRectF(0, 0, overlay_width, overlay_height), Qt::AlignCenter, QString::fromStdString(text));
+
+ // Don't refresh immediately; we might not have an OpenGL context here.
+ overlay_input_needs_refresh = true;
+}