#pragma once #include "EventList.h" #include #include #include class QPainter; namespace LtsTimelineClassic { class LTSTIMELINECLASSIC_EXPORT EventTools { static const int s_EventTopPadding = 2; static const int s_EventHeightPadding = -6; static const int s_ButtonTopPadding = s_EventTopPadding + 2; static const int s_ButtonHeightPadding = s_EventHeightPadding + 7; public: static int s_test; static qint64 fromMsecsToSeconds(qint64 msecs) { return (msecs / 1000); } static qint64 fromSecondsToMsecs(qint64 minutes) { return (minutes * 1000); } static qint64 getBlockSizeTime(qint64 duration = 0); static void setValues(const qint64 min, const qint64 max, const qint64 sbPos, const qint64 zoomFactor); static void setSection(const int x, const int length); static bool isValid(); static bool isRelative(); static int getEventPosition(qint64 eventTime); static qint64 getAdjustedMin(); static qint64 getAdjustedMax(); static qint64 getTimelineMin(); static qint64 getTimelineMax(); static qint64 getScrollbarPosition(); static void recalcBlockSizeTime(); static qint64 getEventTime(double eventPosition); static void drawEvents(QPainter *painter, const EventGraphicList &eventGraphicList, const int verticalPosition); static void drawMarkLines(QPainter *painter, const EventList &eventList, int viewHeight); static inline int eventWidth() { return s_sectionHeight / 2; } static inline int GetEndPos(int position, int graphicsWidth) { return position - graphicsWidth - 1; } static inline float zoomFactor() { return s_zoomFactor; } static inline void setSectionHeight(int sectionHeight) { s_sectionHeight = sectionHeight; } static bool s_inUse; private: static qint64 _getBlockSizeTime(); static qint64 s_minAdjusted; static qint64 s_maxAdjusted; static qint64 s_minTimeline; static qint64 s_maxTimeline; static qint64 s_sbPos; static qint64 s_zoomFactor; static int s_paintMin; static int s_paintDiff; static bool s_isValid; static int s_sectionHeight; static qint64 s_blockSizeTime; public: static qint64 s_diff; }; }