X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fview%2Fviewitempaintparams.hpp;h=9f2125c86159271ab981df0b46e2d201eac6bdc4;hb=4c7a19d3d7049bcc9fb3185ce2bc91333a7ca9e1;hp=3128ef4802c3ce902f9791ccec2e607f803e1744;hpb=5b5fa4da3b7112414b9f51e6626ae7f4bf606f02;p=pulseview.git diff --git a/pv/view/viewitempaintparams.hpp b/pv/view/viewitempaintparams.hpp index 3128ef4..9f2125c 100644 --- a/pv/view/viewitempaintparams.hpp +++ b/pv/view/viewitempaintparams.hpp @@ -14,45 +14,71 @@ * 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 . */ -#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 +#include namespace pv { -namespace view { +namespace views { +namespace TraceView { class ViewItemPaintParams { public: - ViewItemPaintParams(int left, int right, double scale, double offset); + ViewItemPaintParams( + const QRect &rect, double scale, const pv::util::Timestamp& offset); + + QRect rect() const { + return rect_; + } + + double scale() const { + return scale_; + } + + const pv::util::Timestamp& offset() const { + return offset_; + } int left() const { - return left_; + return rect_.left(); } int right() const { - return right_; + return rect_.right(); } - double scale() const { - return scale_; + int top() const { + return rect_.top(); } - double offset() const { - return offset_; + int bottom() const { + return rect_.bottom(); } int width() const { - return right_ - left_; + return rect_.width(); + } + + int height() const { + return rect_.height(); } double pixels_offset() const { - return offset_ / scale_; + return (offset_ / scale_).convert_to(); + } + + bool next_bg_colour_state() { + const bool state = bg_colour_state_; + bg_colour_state_ = !bg_colour_state_; + return state; } public: @@ -61,13 +87,14 @@ public: static int text_height(); private: - int left_; - int right_; + 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