diff options
author | louis <louis.braun@gmx.de> | 2014-09-27 09:25:14 +0200 |
---|---|---|
committer | louis <louis.braun@gmx.de> | 2014-09-27 09:25:14 +0200 |
commit | b0509b5182b6e0d04f05e6b3d5676b0d21f51966 (patch) | |
tree | 22b302342f22843e0815eb5f516c85f1478cbf0b /libcore/pixmapcontainer.h | |
download | vdr-plugin-skindesigner-0.0.1.tar.gz vdr-plugin-skindesigner-0.0.1.tar.bz2 |
initial commit version 0.0.10.0.1
Diffstat (limited to 'libcore/pixmapcontainer.h')
-rw-r--r-- | libcore/pixmapcontainer.h | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/libcore/pixmapcontainer.h b/libcore/pixmapcontainer.h new file mode 100644 index 0000000..06f9104 --- /dev/null +++ b/libcore/pixmapcontainer.h @@ -0,0 +1,73 @@ +#ifndef __PIXMAP_CONTAINER_H +#define __PIXMAP_CONTAINER_H + +#include <string> +#include <vdr/plugin.h> +#include "fontmanager.h" + +enum eFlushState { + fsOpen, + fsLock, + fsCount, +}; + +class cPixmapContainer : public cThread { +private: + static cMutex mutex; + static cOsd *osd; + static eFlushState flushState; + bool pixContainerInit; + int numPixmaps; + cPixmap **pixmaps; + int *pixmapsTransparency; + bool checkRunning; + int fadeTime; + bool deleteOsdOnExit; +protected: + void SetInitFinished(void) { pixContainerInit = false; }; + bool CreateOsd(int Left, int Top, int Width, int Height); + void DeleteOsdOnExit(void) { deleteOsdOnExit = true; }; + void LockFlush(void); + void OpenFlush(void); + //Wrappers for access to pixmaps + bool PixmapExists(int num); + int NumPixmaps(void) { return numPixmaps; }; + void CreatePixmap(int num, int Layer, const cRect &ViewPort, const cRect &DrawPort = cRect::Null); + bool DestroyPixmap(int num); + void DrawText(int num, const cPoint &Point, const char *s, tColor ColorFg, tColor ColorBg, std::string fontName, int fontSize); + void DrawRectangle(int num, const cRect &Rect, tColor Color); + void DrawEllipse(int num, const cRect &Rect, tColor Color, int Quadrants = 0); + void DrawImage(int num, const cPoint &Point, const cImage &Image); + void DrawBitmap(int num, const cPoint &Point, const cBitmap &Bitmap, tColor ColorFg = 0, tColor ColorBg = 0, bool Overlay = false); + void Fill(int num, tColor Color); + void SetAlpha(int num, int Alpha); + void SetTransparency(int num, int Transparency); + void SetLayer(int num, int Layer); + int Width(int num); + int Height(int num); + int DrawportWidth(int num); + int DrawportHeight(int num); + int DrawportX(int num); + int DrawportY(int num); + void SetDrawPortPoint(int num, const cPoint &Point); + void SetCheckRunning(void) { checkRunning = true; }; + void UnsetCheckRunning(void) { checkRunning = false; }; + //HELPERS -- do not access the pixmaps array directly, use wrapper functions + void SetFadeTime(int fade) { fadeTime = fade; }; + void FadeIn(void); + void FadeOut(void); + void ScrollVertical(int num, int scrollDelay, int scrollSpeed); + void ScrollHorizontal(int num, int scrollDelay, int scrollSpeed, int scrollMode); + void CancelSave(void); + void DoSleep(int duration); + void DrawBlendedBackground(int num, int xStart, int width, tColor color, tColor colorBlending, bool fromTop); + void DrawRoundedCorners(int num, int radius, int x, int y, int width, int height); + void DrawRoundedCornersWithBorder(int num, tColor borderColor, int radius, int width, int height); +public: + cPixmapContainer(int numPixmaps); + virtual ~cPixmapContainer(void); + void DoFlush(void); + virtual void Action(void) {}; +}; + +#endif //__PIXMAP_CONTAINER_H
\ No newline at end of file |