22#if !defined(FREEMHEG_H)
38# define MHEG_PUBLIC Q_DECL_EXPORT
40# define MHEG_PUBLIC Q_DECL_IMPORT
43using namespace std::chrono_literals;
68 virtual std::chrono::milliseconds
RunAll(
void) = 0;
86#define MHLogAll (MHLogError|MHLogWarning|MHLogNotifications|MHLogScenes|MHLogActions|MHLogLinks|MHLogDetail)
134 virtual void DrawRect(
int xPos,
int yPos,
int width,
int height,
MHRgba colour) = 0;
135 virtual void DrawVideo(
const QRect &videoRect,
const QRect &displayRect) = 0;
142 int &transportId,
int &serviceId) = 0;
144 virtual bool TuneTo(
int channel,
int tuneinfo) = 0;
167 virtual std::chrono::milliseconds
SetStreamPos(std::chrono::milliseconds) = 0;
185 virtual void Draw(
int x,
int y) = 0;
187 virtual void SetSize(
int width,
int height) = 0;
196 virtual void DrawOval(
int x,
int y,
int width,
int height) = 0;
197 virtual void DrawArcSector(
int x,
int y,
int width,
int height,
int start,
int arc,
bool isSector) = 0;
207 virtual void Draw(
int x,
int y) = 0;
208 virtual void SetSize(
int width,
int height) = 0;
209 virtual void SetFont(
int size,
bool isBold,
bool isItalic) = 0;
212 virtual QRect
GetBounds(
const QString &str,
int &strLen,
int maxSize = -1) = 0;
224 virtual void Draw(
int x,
int y, QRect rect,
bool tiled,
bool bUnder) = 0;
std::vector< int > MHPointVec
virtual void Draw(int x, int y, QRect rect, bool tiled, bool bUnder)=0
virtual void CreateFromJPEG(const unsigned char *data, int length)=0
virtual ~MHBitmapDisplay()=default
virtual QSize GetSize()=0
virtual void CreateFromMPEG(const unsigned char *data, int length)=0
virtual void ScaleImage(int newWidth, int newHeight)=0
virtual bool IsOpaque()=0
virtual void CreateFromPNG(const unsigned char *data, int length)=0
virtual std::chrono::milliseconds GetStreamPos()=0
virtual MHDLADisplay * CreateDynamicLineArt(bool isBoxed, MHRgba lineColour, MHRgba fillColour)=0
virtual MHTextDisplay * CreateText(void)=0
virtual bool CheckCarouselObject(const QString &objectPath)=0
virtual bool TuneTo(int channel, int tuneinfo)=0
virtual void StopAudio()=0
virtual void DrawVideo(const QRect &videoRect, const QRect &displayRect)=0
virtual void StopVideo()=0
virtual const char * GetReceiverId(void)=0
virtual bool CheckStop(void)=0
virtual std::chrono::milliseconds GetStreamMaxPos()=0
virtual void DrawBackground(const QRegion ®)=0
virtual bool GetCarouselData(const QString &objectPath, QByteArray &result)=0
virtual int GetICStatus()=0
virtual void SetInputRegister(int nReg)=0
virtual void RequireRedraw(const QRegion ®ion)=0
virtual bool BeginStream(const QString &str, MHStream *notify=nullptr)=0
virtual void DrawRect(int xPos, int yPos, int width, int height, MHRgba colour)=0
virtual bool GetServiceInfo(int channelId, int &netId, int &origNetId, int &transportId, int &serviceId)=0
virtual const char * GetDSMCCId(void)=0
virtual MHBitmapDisplay * CreateBitmap(bool tiled)=0
virtual bool BeginAudio(int tag)=0
virtual bool BeginVideo(int tag)=0
virtual std::chrono::milliseconds SetStreamPos(std::chrono::milliseconds)=0
virtual void EndStream()=0
virtual void StreamPlay(bool play=true)=0
virtual int GetChannelIndex(const QString &str)=0
virtual ~MHContext()=default
virtual void SetLineColour(MHRgba colour)=0
virtual void SetSize(int width, int height)=0
virtual void DrawArcSector(int x, int y, int width, int height, int start, int arc, bool isSector)=0
virtual void DrawLine(int x1, int y1, int x2, int y2)=0
virtual void DrawOval(int x, int y, int width, int height)=0
virtual void DrawPoly(bool isFilled, const MHPointVec &xArray, const MHPointVec &yArray)=0
virtual void SetLineSize(int width)=0
virtual void Draw(int x, int y)=0
virtual void DrawBorderedRectangle(int x, int y, int width, int height)=0
virtual ~MHDLADisplay()=default
virtual void SetFillColour(MHRgba colour)=0
virtual void GenerateUserAction(int nCode)=0
virtual void EngineEvent(int)=0
virtual void StreamStarted(MHStream *, bool bStarted=true)=0
virtual void DrawDisplay(const QRegion &toDraw)=0
virtual void SetBooting()=0
virtual std::chrono::milliseconds RunAll(void)=0
MHRgba(int red, int green, int blue, int alpha)
virtual void SetFont(int size, bool isBold, bool isItalic)=0
virtual ~MHTextDisplay()=default
virtual QRect GetBounds(const QString &str, int &strLen, int maxSize=-1)=0
virtual void SetSize(int width, int height)=0
virtual void Clear(void)=0
virtual void Draw(int x, int y)=0
virtual void AddText(int x, int y, const QString &, MHRgba colour)=0
MHEG_PUBLIC void MHSetLogging(FILE *logStream, unsigned int logLevel)
MHEG_PUBLIC MHEG * MHCreateEngine(MHContext *context)