MCPcopy Index your code
hub / github.com/DreamSourceLab/DSView / doPaint

Method doPaint

DSView/pv/view/viewport.cpp:159–244  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

157}
158
159void Viewport::doPaint()
160{
161 using pv::view::Signal;
162
163 QStyleOption o;
164 o.initFrom(this);
165 QPainter p(this);
166 style()->drawPrimitive(QStyle::PE_Widget, &o, &p, this);
167
168 QFont font = p.font();
169 float fSize = AppConfig::Instance().appOptions.fontSize;
170 if (fSize > 10)
171 fSize = 10;
172 font.setPointSizeF(fSize);
173 p.setFont(font);
174
175 _view.session().check_update();
176 QColor fore(QWidget::palette().color(QWidget::foregroundRole()));
177 QColor back(QWidget::palette().color(QWidget::backgroundRole()));
178 fore.setAlpha(View::ForeAlpha);
179 _view.set_back(false);
180
181 std::vector<Trace*> traces;
182 _view.get_traces(_type, traces);
183
184 for(auto t : traces){
185 t->paint_back(p, 0, _view.get_view_width(), fore, back);
186 if (_view.back_ready())
187 break;
188 }
189
190 int mode = _view.session().get_device()->get_work_mode();
191
192 if (mode == LOGIC || _view.session().is_instant())
193 {
194 if (_view.session().is_init_status())
195 {
196 paintCursors(p);
197 }
198 else if (_view.session().is_stopped_status())
199 {
200 paintSignals(p, fore, back);
201 }
202 else if (_view.session().is_realtime_refresh())
203 {
204 _view.session().have_new_realtime_refresh(false); // Try to reset refresh timer.
205
206 if (_view.session().have_view_data() || _view.session().is_instant())
207 paintSignals(p, fore, back);
208 else
209 paintProgress(p, fore, back);
210 }
211 else if (_view.session().is_running_status()){
212 if (_view.session().is_repeat_mode())
213 {
214 paintSignals(p, fore, back);
215
216 if (!_transfer_started){

Callers

nothing calls this directly

Calls 15

check_updateMethod · 0.80
sessionMethod · 0.80
colorMethod · 0.80
set_backMethod · 0.80
get_tracesMethod · 0.80
get_view_widthMethod · 0.80
back_readyMethod · 0.80
get_work_modeMethod · 0.80
get_deviceMethod · 0.80
is_instantMethod · 0.80
is_init_statusMethod · 0.80
is_stopped_statusMethod · 0.80

Tested by

no test coverage detected