X-Git-Url: http://git.code-monkey.de/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fview%2Fviewitempaintparams.hpp;fp=pv%2Fview%2Fviewitempaintparams.hpp;h=3128ef4802c3ce902f9791ccec2e607f803e1744;hp=0000000000000000000000000000000000000000;hb=5b5fa4da3b7112414b9f51e6626ae7f4bf606f02;hpb=26e3af6b15f083239981729b2c3c109ed1d87ba8 diff --git a/pv/view/viewitempaintparams.hpp b/pv/view/viewitempaintparams.hpp new file mode 100644 index 0000000..3128ef4 --- /dev/null +++ b/pv/view/viewitempaintparams.hpp @@ -0,0 +1,73 @@ +/* + * This file is part of the PulseView project. + * + * Copyright (C) 2014 Joel Holdsworth + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * 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 + */ + +#ifndef PULSEVIEW_PV_VIEW_ROWITEMPAINTPARAMS_H +#define PULSEVIEW_PV_VIEW_ROWITEMPAINTPARAMS_H + +#include + +namespace pv { +namespace view { + +class ViewItemPaintParams +{ +public: + ViewItemPaintParams(int left, int right, double scale, double offset); + + int left() const { + return left_; + } + + int right() const { + return right_; + } + + double scale() const { + return scale_; + } + + double offset() const { + return offset_; + } + + int width() const { + return right_ - left_; + } + + double pixels_offset() const { + return offset_ / scale_; + } + +public: + static QFont font(); + + static int text_height(); + +private: + int left_; + int right_; + double scale_; + double offset_; +}; + +} // namespace view +} // namespace pv + +#endif // PULSEVIEW_PV_VIEW_ROWITEMPAINTPARAMS_H