Files
qt6-migration-pipeline/Lts/Common/LtsTimelineClassic/EventTools.h
T

153 lines
2.3 KiB
C++
Executable File

#pragma once
#include "EventList.h"
#include <LtsTimelineClassic/ltstimelineclassic_export.h>
#include <QRect>
#include <time.h>
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;
};
}