Loading [MathJax]/extensions/TeX/AMSmath.js
Radium Engine  1.7.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
TimelineTimeScale.cpp
1#include <Core/CoreMacros.hpp>
2#include <Gui/Timeline/TimelineScrollArea.hpp>
3#include <Gui/Timeline/TimelineTimeScale.hpp>
4#include <QPainter>
5
6namespace Ra::Gui {
7
8TimelineTimeScale::TimelineTimeScale( QWidget* parent ) : QFrame( parent ) {}
9
10void TimelineTimeScale::setScrollArea( TimelineScrollArea* scrollArea ) {
11 m_scrollArea = scrollArea;
12}
13
14void TimelineTimeScale::paintEvent( QPaintEvent* event ) {
15 if ( m_scrollArea == nullptr ) {
16 QFrame::paintEvent( event );
17 return;
18 }
19
20 QPainter painter( this );
21 painter.setRenderHint( QPainter::Antialiasing );
22
23 painter.drawText( 0, 11, "sec" );
24 Scalar pixPerSec = m_scrollArea->getPixPerSec();
25 Scalar step = m_scrollArea->getStep();
26 for ( int i = 1; i < m_scrollArea->getNbInterval(); i++ ) {
27 int x = int( pixPerSec * step * i );
28 QString time = QString::number( double( ( i - 1 ) * step ) );
29 int dec = time.size() * 6 / 2;
30 painter.drawText( x - dec, 11, time );
31 }
32}
33
34} // namespace Ra::Gui