]> sigrok.org Git - pulseview.git/blobdiff - pv/view/viewitempaintparams.hpp
ViewItem: Moved bg_colour_state into ViewItemPaintParams
[pulseview.git] / pv / view / viewitempaintparams.hpp
index a8b519067250976ff0990a510d93a5f2bca6df72..9f2125c86159271ab981df0b46e2d201eac6bdc4 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/>.
  */
 
-#ifndef PULSEVIEW_PV_VIEW_ROWITEMPAINTPARAMS_H
-#define PULSEVIEW_PV_VIEW_ROWITEMPAINTPARAMS_H
+#ifndef PULSEVIEW_PV_VIEWS_TRACEVIEW_VIEWITEMPAINTPARAMS_HPP
+#define PULSEVIEW_PV_VIEWS_TRACEVIEW_VIEWITEMPAINTPARAMS_HPP
+
+#include "pv/util.hpp"
 
 #include <QFont>
+#include <QRect>
 
 namespace pv {
-namespace view {
+namespace views {
+namespace TraceView {
 
 class ViewItemPaintParams
 {
 public:
-       ViewItemPaintParams(const QRect &rect, double scale, double offset);
+       ViewItemPaintParams(
+               const QRect &rect, double scale, const pv::util::Timestamp& offset);
 
        QRect rect() const {
                return rect_;
@@ -39,7 +43,7 @@ public:
                return scale_;
        }
 
-       double offset() const {
+       const pv::util::Timestamp& offset() const {
                return offset_;
        }
 
@@ -64,11 +68,17 @@ public:
        }
 
        int height() const {
-               return rect_.width();
+               return rect_.height();
        }
 
        double pixels_offset() const {
-               return offset_ / scale_;
+               return (offset_ / scale_).convert_to<double>();
+       }
+
+       bool next_bg_colour_state() {
+               const bool state = bg_colour_state_;
+               bg_colour_state_ = !bg_colour_state_;
+               return state;
        }
 
 public:
@@ -79,10 +89,12 @@ public:
 private:
        QRect rect_;
        double scale_;
-       double offset_;
+       pv::util::Timestamp offset_;
+       bool bg_colour_state_;
 };
 
-} // namespace view
+} // namespace TraceView
+} // namespace views
 } // namespace pv
 
-#endif // PULSEVIEW_PV_VIEW_ROWITEMPAINTPARAMS_H
+#endif // PULSEVIEW_PV_VIEWS_TRACEVIEW_VIEWITEMPAINTPARAMS_HPP