* Make value stick to the line drawn through the mouse position
svn path=/trunk/kdenlive/; revision=4804
davinci.drawText(partW + offset + d, wh-20, QString::number(maxG, 'f', 0));
davinci.drawText(2*partW + 2*offset + d, wh-20, QString::number(maxB, 'f', 0));
davinci.drawText(partW + offset + d, wh-20, QString::number(maxG, 'f', 0));
davinci.drawText(2*partW + 2*offset + d, wh-20, QString::number(maxB, 'f', 0));
- davinci.drawText(ww-distRight+5, 10, "255");
- davinci.drawText(ww-distRight+5, partH+5, "0");
-
-
QImage RGBParade::renderHUD(uint)
{
QImage RGBParade::renderHUD(uint)
{
- if (scopeRect().height() > 0 && m_mouseWithinWidget) {
- QImage hud(m_scopeRect.size(), QImage::Format_ARGB32);
- hud.fill(qRgba(0,0,0,0));
+ QImage hud(m_scopeRect.size(), QImage::Format_ARGB32);
+ hud.fill(qRgba(0,0,0,0));
+
+ QPainter davinci(&hud);
+ davinci.setPen(penLight);
- QPainter davinci(&hud);
- davinci.setPen(penLight);
+ int x = scopeRect().width()-30;
+
+ davinci.drawText(x, scopeRect().height()-RGBParadeGenerator::distBottom, "0");
+ davinci.drawText(x, 10, "255");
+
+ if (scopeRect().height() > 0 && m_mouseWithinWidget) {
- int x = scopeRect().width()-30;
int y = m_mousePos.y() - scopeRect().y();
// Draw a horizontal line through the current mouse position
// and show the value of the waveform there
davinci.drawLine(0, y, scopeRect().size().width()-RGBParadeGenerator::distRight, y);
int y = m_mousePos.y() - scopeRect().y();
// Draw a horizontal line through the current mouse position
// and show the value of the waveform there
davinci.drawLine(0, y, scopeRect().size().width()-RGBParadeGenerator::distRight, y);
+ // Make the value stick to the line unless it is at the top/bottom of the scope
+ const int top = 30;
+ const int bottom = 20+RGBParadeGenerator::distBottom;
+ int valY = y+5;
+ if (valY < top) {
+ valY = top;
+ } else if (valY > scopeRect().height()-bottom) {
+ valY = scopeRect().height()-bottom;
+ }
int val = 255*(1-((float)y/(scopeRect().height()-RGBParadeGenerator::distBottom)));
int val = 255*(1-((float)y/(scopeRect().height()-RGBParadeGenerator::distBottom)));
- davinci.drawText(x, scopeRect().height()/2, QVariant(val).toString());
-
- emit signalHUDRenderingFinished(1, 1);
- return hud;
- } else {
- emit signalHUDRenderingFinished(1, 1);
- return QImage();
+ davinci.drawText(x, valY, QVariant(val).toString());
+
+ emit signalHUDRenderingFinished(1, 1);
+ return hud;
}
QImage RGBParade::renderScope(uint accelerationFactor, QImage qimage)
{
}
QImage RGBParade::renderScope(uint accelerationFactor, QImage qimage)
{
// and show the value of the waveform there
davinci.drawLine(0, y, scopeRect().size().width()-m_textWidth.width(), y);
// and show the value of the waveform there
davinci.drawLine(0, y, scopeRect().size().width()-m_textWidth.width(), y);
+ // Make the value stick to the line unless it is at the top/bottom of the scope
+ const int top = 30;
+ const int bottom = 20;
+ int valY = y+5;
+ if (valY < top) {
+ valY = top;
+ } else if (valY > scopeRect().height()-bottom) {
+ valY = scopeRect().height()-bottom;
+ }
int val = 255*(1-(float)y/scopeRect().height());
int val = 255*(1-(float)y/scopeRect().height());
- davinci.drawText(x, scopeRect().height()/2, QVariant(val).toString());
+ davinci.drawText(x, valY, QVariant(val).toString());
}
davinci.drawText(x, scopeRect().height(), "0");
davinci.drawText(x, 10, "255");
}
davinci.drawText(x, scopeRect().height(), "0");
davinci.drawText(x, 10, "255");