summaryrefslogtreecommitdiff
path: root/osd.h
diff options
context:
space:
mode:
authorAndreas Regel <andreas.regel@powarman.de>2004-02-04 21:11:00 +0100
committerAndreas Regel <andreas.regel@powarman.de>2004-02-04 21:11:00 +0100
commit2e17045cd1b8abe771d136cbc3a815b547d32280 (patch)
tree99d3f176d8b6d32160d7464cdbbcf25a33c47a61 /osd.h
parent64fe6b70d0a5b34a80ff458fbf1664018d5c0182 (diff)
downloadvdr-plugin-osdpip-2e17045cd1b8abe771d136cbc3a815b547d32280.tar.gz
vdr-plugin-osdpip-2e17045cd1b8abe771d136cbc3a815b547d32280.tar.bz2
Release version 0.0.4v0.0.4
- a second osd window with some information about the viewed channel and event is now shown on screen
Diffstat (limited to 'osd.h')
-rw-r--r--osd.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/osd.h b/osd.h
index 5b30ca1..7216b79 100644
--- a/osd.h
+++ b/osd.h
@@ -16,6 +16,8 @@ extern "C"
#endif
}
+#include <sys/time.h>
+
#include <vdr/osd.h>
#include <vdr/thread.h>
#include <vdr/status.h>
@@ -25,14 +27,19 @@ class cRingBufferFrame;
class cOsdPipReceiver;
class cQuantize;
-class cOsdPipObject: public cOsdObject, public cThread {
+class cOsdPipObject: public cOsdObject, public cThread, public cStatus {
private:
cOsdBase *m_Osd;
cRingBufferFrame *m_ESBuffer;
cOsdPipReceiver *m_Receiver;
const cChannel *m_Channel;
tWindowHandle m_Window;
- cBitmap *m_Bitmap;
+ cBitmap * m_Bitmap;
+ tWindowHandle m_WindowInfo;
+ cBitmap * m_BitmapInfo;
+
+ time_t m_ShowTime;
+ bool m_ShowInfo;
bool m_Active;
bool m_Ready;
@@ -50,6 +57,7 @@ private:
unsigned int m_AlphaBase;
unsigned int m_Palette[256];
int m_PaletteStart;
+ unsigned char m_PaletteLookup[256];
cQuantize * quantizer;
@@ -57,8 +65,11 @@ private:
int Resample();
int ConvertToRGB();
void ProcessImage(unsigned char * data, int length);
+
+ void ShowChannelInfo(const cChannel * channel);
protected:
virtual void Action(void);
+ virtual void ChannelSwitch(const cDevice * device, int channelNumber);
public:
cOsdPipObject(cDevice *Device, const cChannel *Channel);