X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=logicsignal.h;fp=logicsignal.h;h=359162fd7040cedf47410f326f54638d1b9869b3;hp=8677afe3c03e30e9c5851ca952f8a91296593a7e;hb=64b60583ff73db2bd9458817276687b030fe48e1;hpb=ccdd3ef548ce34f25c6c168598556a350831aa37 diff --git a/logicsignal.h b/logicsignal.h index 8677afe3..359162fd 100644 --- a/logicsignal.h +++ b/logicsignal.h @@ -26,18 +26,12 @@ class LogicData; class LogicSignal : public Signal { -private: - struct Point2F - { - GLfloat x, y; - }; - private: static const float Margin; - static const float EdgeColour[3]; - static const float HighColour[3]; - static const float LowColour[3]; + static const QColor EdgeColour; + static const QColor HighColour; + static const QColor LowColour; static const QColor LogicSignalColours[10]; @@ -47,25 +41,22 @@ public: int probe_index); /** - * Paints the signal into a QGLWidget. - * @param widget the QGLWidget to paint into. + * Paints the signal with a QPainter + * @param p the QPainter to paint into. * @param rect the rectangular area to draw the trace into. * @param scale the scale in seconds per pixel. * @param offset the time to show at the left hand edge of * the view in seconds. **/ - void paint(QGLWidget &widget, const QRect &rect, double scale, - double offset); + void paint(QPainter &p, const QRect &rect, double scale, double offset); private: - int paint_caps(Point2F *const cap_points, + int paint_caps(QPainter &p, QLineF *const lines, std::vector< std::pair > &edges, bool level, double samples_per_pixel, double pixels_offset, int x_offset, int y_offset); - static void paint_lines(Point2F *points, int count); - /** * Get the colour of the logic signal */