/*
- * This file is part of the sigrok project.
+ * This file is part of the PulseView project.
*
* Copyright (C) 2012 Joel Holdsworth <joel@airwebreathe.org.uk>
*
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#ifndef PV_VIEW_VIEW_H
-#define PV_VIEW_VIEW_H
+#ifndef PULSEVIEW_PV_VIEW_VIEW_H
+#define PULSEVIEW_PV_VIEW_VIEW_H
#include <stdint.h>
#include <QAbstractScrollArea>
+namespace pv {
+
class SigSession;
-namespace pv {
namespace view {
class Header;
+class Ruler;
class Viewport;
class View : public QAbstractScrollArea {
static const int LabelMarginWidth;
static const int RulerHeight;
+ static const int MaxScrollValue;
+
public:
static const int SignalHeight;
int v_offset() const;
void zoom(double steps);
+ void zoom(double steps, int offset);
void set_scale_offset(double scale, double offset);
private:
+ void get_scroll_layout(double &length, double &offset) const;
+
void update_scroll();
- void zoom(double steps, int offset);
-
private:
bool viewportEvent(QEvent *e);
SigSession &_session;
Viewport *_viewport;
+ Ruler *_ruler;
Header *_header;
uint64_t _data_length;
double _offset;
int _v_offset;
-
- friend class Viewport;
};
} // namespace view
} // namespace pv
-#endif // PV_VIEW_VIEW_H
+#endif // PULSEVIEW_PV_VIEW_VIEW_H