#ifndef ___OSDOUT_SOFTOSD_H
#define ___OSDOIT_SOFTOSD_H


#define X_DISPLAY_MISSING
#include <Imlib2.h>

#include "fbout.h"

#include <vdr/plugin.h>
#include <vdr/device.h>

typedef unsigned char UINT8;

// --- cSoftOsd -----------------------------------------------
class cSoftOsd : public cOsd {
private:
	FbRenderer *_Out;
protected:
	int _X, _Y;
	Imlib_Image _OsdImage;
public:
cSoftOsd(FbRenderer *Out, int XOfs, int XOfs);
virtual ~cSoftOsd();
virtual eOsdError CanHandleAreas(const tArea *Areas, int NumAreas);
virtual void Flush(void);
};

class cSoftOsdProvider : public cOsdProvider {
	private:
		cOsd *osd;
		FbRenderer *_Out;
	public:
		cSoftOsdProvider(FbRenderer *Out);
		virtual cOsd *CreateOsd(int Left, int Top);
};

#endif //OSDOUT_SOFTOSD_H
