Sélectionner une révision Git
Line.hh 1,52 Kio
#pragma once
#include "PreCompiledHeaders.hh"
#include "VivyApplication.hh"
#include "Lib/Log.hh"
#include "Lib/Ass/Syl.hh"
#include "Lib/Ass/StyleProperties.hh"
#include "Lib/Ass/Style.hh"
namespace Vivy::Ass
{
class AssFactory;
class Line final {
VIVY_APP_LOGGABLE_OBJECT(Line, logger)
quint64 start{ 0 };
quint64 end{ 0 };
int layer{ 0 };
bool isComment{ true };
QVector<Syl> content{};
StyleProperties styleProperties{};
QString effect{};
QString nameOrActor{};
StyleWeakPtr lineStyle;
QString ___contentAsText;
AssFactory *const assFactory;
public:
//explicit Line(const Line &) = default;
explicit Line(AssFactory *const, const QString &);
explicit Line();
explicit Line(const Line &c) = default;
Line &operator=(const Line &) = delete;
~Line() noexcept = default;
void setStart(quint64 s) noexcept;
void setEnd(quint64 s) noexcept;
quint64 getDuration() const noexcept;
bool getIsComment() const noexcept;
StyleProperties getStyleProperties() const noexcept;
StyleWeakPtr getStyle() const noexcept;
const QVector<Syl> &getContent() const noexcept;
void setContent(const QVector<Syl> &) noexcept;
QVector<Syl> *getContentPtr() noexcept; // FIXME: remove me
quint64 getStart() const noexcept;
quint64 getEnd() const noexcept;
QString getContentAsText() const noexcept;
QString getLineAsText() const noexcept;
private:
void initSylFromString(const QString &) noexcept;
void updateContent() noexcept;
};
}