]> sigrok.org Git - pulseview.git/blobdiff - pv/view/ruler.cpp
Handle C-strings as UTF-8
[pulseview.git] / pv / view / ruler.cpp
index ad7082e63bf35a62d7c785ebfe3395db0d58b5db..8d7569e35b427769c191b76d0b50c009116ea156 100644 (file)
@@ -30,6 +30,7 @@
 #include <math.h>
 #include <limits.h>
 
+#include <QApplication>
 #include <QMouseEvent>
 #include <QPainter>
 #include <QTextStream>
@@ -42,6 +43,7 @@ using namespace std;
 namespace pv {
 namespace view {
 
+const int Ruler::RulerHeight = 30;
 const int Ruler::MinorTickSubdivision = 4;
 const int Ruler::ScaleUnits[3] = {1, 2, 5};
 
@@ -73,7 +75,7 @@ QString Ruler::format_time(double t, unsigned int prefix,
        unsigned int precision)
 {
        const double multiplier = pow(10.0,
-               - prefix * 3 - FirstSIPrefixPower);
+               (int)- prefix * 3 - FirstSIPrefixPower);
 
        QString s;
        QTextStream ts(&s);
@@ -83,6 +85,11 @@ QString Ruler::format_time(double t, unsigned int prefix,
        return s;
 }
 
+QSize Ruler::sizeHint() const
+{
+       return QSize(0, RulerHeight);
+}
+
 void Ruler::paintEvent(QPaintEvent*)
 {
        using namespace Qt;
@@ -105,7 +112,7 @@ void Ruler::paintEvent(QPaintEvent*)
                const double min_period = _view.scale() * min_width;
 
                const int order = (int)floorf(log10f(min_period));
-               const double order_decimal = pow(10, order);
+               const double order_decimal = pow(10.0, order);
 
                unsigned int unit = 0;