summaryrefslogtreecommitdiff
path: root/textwindow.h
blob: 568d1520787c1f06e1544534e648c95a1c144e91 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#ifndef __NOPACITY_TEXTWINDOW_H
#define __NOPACITY_TEXTWINDOW_H

#include <vdr/skins.h>
#include <vdr/thread.h>
#include "services/tvscraper.h"
#include "services/scraper2vdr.h"

class cNopacityTextWindow : public cThread {
private:
    cOsd *osd;
    cFont *font;
    cFont *fontHeader;
    cPixmap *pixmapBackground;
    cPixmap *pixmap;
    cRect *geometry;
    int drawportHeight;
    cRect *vidWin;
    cRect oldVidWin;
    bool scaledWindow;
    cString text;
    cTextWrapper twTextTall;
    cTextWrapper twTextFull;
    bool drawTextTall;
    bool drawTextFull;
    bool hasManualPoster;
    cString manualPosterPath;
    bool hasPoster;
    TVScraperGetPoster poster;
    ScraperGetPoster posterScraper2Vdr;
    int posterWidth, posterHeight;
    bool SetTextScroller(int border, int left);
    void CreatePixmap(void);
    void CreatePixmapFullScreen(void);
    void DrawText(int border, int left);
    void DrawPoster(int border);
    int DrawTextWrapper(const char *text, int width, int top, int x, const cFont *font, tColor color, int maxHeight);
    void DrawTextWrapperFloat(const char *text, int widthSmall, int widthFull, int top, int heightNarrow, int x, const cFont *font, tColor color, int maxHeight);
    void DoSleep(int duration);
    virtual void Action(void);
    void ScaleVideoWindow(void);
public:
    cNopacityTextWindow(cOsd *osd, cFont *font, cRect *vidWin);
    cNopacityTextWindow(cOsd *osd, cFont *font, cFont *fontHeader);
    virtual ~cNopacityTextWindow(void);
    void SetGeometry(cRect *geo) {geometry = geo;};
    void SetEvent(const cEvent *event);
    void SetRecording(const cRecording *recording);
    void SetText(cString Text) {text = Text;};
    bool SetManualPoster(const cRecording *recording, bool fullscreen = false);
    void SetPoster(const cEvent *event, const cRecording *recording, bool fullscreen = false);
};

#endif //__NOPACITY_TEXTWINDOW_H