comparison base/View.cpp @ 22:a1a6acb7cd37

* Some fixes to waveform layer greyscaling * Tidying in panner class
author Chris Cannam
date Fri, 03 Feb 2006 17:30:47 +0000
parents 5da86cc182bd
children bb9291d84810
comparison
equal deleted inserted replaced
21:5da86cc182bd 22:a1a6acb7cd37
30 30
31 View::View(QWidget *w, bool showProgress) : 31 View::View(QWidget *w, bool showProgress) :
32 QFrame(w), 32 QFrame(w),
33 m_centreFrame(0), 33 m_centreFrame(0),
34 m_zoomLevel(1024), 34 m_zoomLevel(1024),
35 m_newModel(true),
36 m_followPan(true), 35 m_followPan(true),
37 m_followZoom(true), 36 m_followZoom(true),
38 m_followPlay(PlaybackScrollPage), 37 m_followPlay(PlaybackScrollPage),
39 m_lightBackground(true), 38 m_lightBackground(true),
40 m_showProgress(showProgress), 39 m_showProgress(showProgress),
242 241
243 long 242 long
244 View::getFrameForX(int x) const 243 View::getFrameForX(int x) const
245 { 244 {
246 return (long(x) * long(m_zoomLevel)) + getStartFrame(); 245 return (long(x) * long(m_zoomLevel)) + getStartFrame();
246 }
247
248 int
249 View::getZoomLevel() const
250 {
251 return m_zoomLevel;
247 } 252 }
248 253
249 void 254 void
250 View::setZoomLevel(size_t z) 255 View::setZoomLevel(size_t z)
251 { 256 {
289 connect(layer, SIGNAL(modelChanged(size_t, size_t)), 294 connect(layer, SIGNAL(modelChanged(size_t, size_t)),
290 this, SLOT(modelChanged(size_t, size_t))); 295 this, SLOT(modelChanged(size_t, size_t)));
291 connect(layer, SIGNAL(modelReplaced()), 296 connect(layer, SIGNAL(modelReplaced()),
292 this, SLOT(modelReplaced())); 297 this, SLOT(modelReplaced()));
293 298
294 m_newModel = true;
295 update(); 299 update();
296 300
297 emit propertyContainerAdded(layer); 301 emit propertyContainerAdded(layer);
298 } 302 }
299 303
458 std::cerr << "View(" << this << ")::modelReplaced()" << std::endl; 462 std::cerr << "View(" << this << ")::modelReplaced()" << std::endl;
459 #endif 463 #endif
460 delete m_cache; 464 delete m_cache;
461 m_cache = 0; 465 m_cache = 0;
462 466
463 m_newModel = true;
464 update(); 467 update();
465 } 468 }
466 469
467 void 470 void
468 View::layerParametersChanged() 471 View::layerParametersChanged()
843 ph -= i->second->height(); 846 ph -= i->second->height();
844 } 847 }
845 } 848 }
846 } 849 }
847 } 850 }
848 /*!!!
849 void
850 View::identifyLocalFeatures(bool on, int x, int y)
851 {
852 for (LayerList::const_iterator i = m_layers.end(); i != m_layers.begin(); ) {
853 --i;
854 #ifdef DEBUG_VIEW_WIDGET_PAINT
855 std::cerr << "View::identifyLocalFeatures: calling on " << *i << std::endl;
856 #endif
857 if ((*i)->identifyLocalFeatures(on, x, y)) break;
858 }
859 }
860 */
861 851
862 void 852 void
863 View::paintEvent(QPaintEvent *e) 853 View::paintEvent(QPaintEvent *e)
864 { 854 {
865 // Profiler prof("View::paintEvent", true); 855 // Profiler prof("View::paintEvent", true);
866 // std::cerr << "View::paintEvent" << std::endl; 856 // std::cerr << "View::paintEvent" << std::endl;
867 857
868 if (m_layers.empty()) { 858 if (m_layers.empty()) {
869 QFrame::paintEvent(e); 859 QFrame::paintEvent(e);
870 return; 860 return;
871 }
872
873 if (m_newModel) {
874 m_newModel = false;
875 } 861 }
876 862
877 // ensure our constraints are met 863 // ensure our constraints are met
878 m_zoomLevel = getZoomConstraintBlockSize(m_zoomLevel, 864 m_zoomLevel = getZoomConstraintBlockSize(m_zoomLevel,
879 ZoomConstraint::RoundUp); 865 ZoomConstraint::RoundUp);