]> sigrok.org Git - pulseview.git/blobdiff - pv/view/trace.cpp
Fix a build issue with std::roundf() on Android.
[pulseview.git] / pv / view / trace.cpp
index 3bdf725df4f4bc52fb739586da259191c5b386e0..e1b51373ae667616895f09f76c224283fd4f410c 100644 (file)
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <extdef.h>
 
-#include <assert.h>
+#include <cassert>
 #include <cmath>
 
 #include <QApplication>
 #include "tracepalette.hpp"
 #include "view.hpp"
 
-#include <pv/widgets/colourbutton.hpp>
-#include <pv/widgets/popup.hpp>
+#include "pv/globalsettings.hpp"
+#include "pv/widgets/colourbutton.hpp"
+#include "pv/widgets/popup.hpp"
+
+using std::pair;
+using std::shared_ptr;
 
 namespace pv {
 namespace views {
 namespace TraceView {
 
-const QPen Trace::AxisPen(QColor(0, 0, 0, 30*256/100));
+const QPen Trace::AxisPen(QColor(0, 0, 0, 30 * 256 / 100));
 const int Trace::LabelHitPadding = 2;
 
-const QColor Trace::BrightGrayBGColour = QColor(0, 0, 0, 10*255/100);
-const QColor Trace::DarkGrayBGColour = QColor(0, 0, 0, 15*255/100);
+const QColor Trace::BrightGrayBGColour = QColor(0, 0, 0, 10 * 255 / 100);
+const QColor Trace::DarkGrayBGColour = QColor(0, 0, 0, 15 * 255 / 100);
 
-Trace::Trace(std::shared_ptr<data::SignalBase> channel) :
+Trace::Trace(shared_ptr<data::SignalBase> channel) :
        base_(channel),
-       coloured_bg_(true), // Default setting is set in MainWindow::setup_ui()
        popup_(nullptr),
        popup_form_(nullptr)
 {
@@ -57,11 +59,6 @@ Trace::Trace(std::shared_ptr<data::SignalBase> channel) :
                this, SLOT(on_colour_changed(const QColor&)));
 }
 
-void Trace::set_coloured_bg(bool state)
-{
-       coloured_bg_ = state;
-}
-
 void Trace::paint_label(QPainter &p, const QRect &rect, bool hover)
 {
        const int y = get_visual_y();
@@ -133,8 +130,7 @@ pv::widgets::Popup* Trace::create_popup(QWidget *parent)
 
        create_popup_form();
 
-       connect(popup_, SIGNAL(closed()),
-               this, SLOT(on_popup_closed()));
+       connect(popup_, SIGNAL(closed()), this, SLOT(on_popup_closed()));
 
        return popup_;
 }
@@ -155,26 +151,24 @@ QRectF Trace::label_rect(const QRectF &rect) const
                label_size.height());
 }
 
-void Trace::paint_back(QPainter &p, const ViewItemPaintParams &pp)
+void Trace::paint_back(QPainter &p, ViewItemPaintParams &pp)
 {
-       if (coloured_bg_)
+       const View *view = owner_->view();
+       assert(view);
+
+       if (view->coloured_bg())
                p.setBrush(base_->bgcolour());
        else
-               p.setBrush(bgcolour_state_ ? BrightGrayBGColour : DarkGrayBGColour);
+               p.setBrush(pp.next_bg_colour_state() ? BrightGrayBGColour : DarkGrayBGColour);
 
        p.setPen(QPen(Qt::NoPen));
 
-       const std::pair<int, int> extents = v_extents();
-
-       const int x = 0;
-       const int y = get_visual_y() + extents.first;
-       const int w = pp.right() - pp.left();
-       const int h = extents.second - extents.first;
-
-       p.drawRect(x, y, w, h);
+       const pair<int, int> extents = v_extents();
+       p.drawRect(pp.left(), get_visual_y() + extents.first,
+               pp.width(), extents.second - extents.first);
 }
 
-void Trace::paint_axis(QPainter &p, const ViewItemPaintParams &pp, int y)
+void Trace::paint_axis(QPainter &p, ViewItemPaintParams &pp, int y)
 {
        p.setRenderHint(QPainter::Antialiasing, false);