Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[vdr] Re: idea concerning new OSD interface
Matthias Raus wrote:
>
> Hi,
>
> something came to my mind regarding the new OSD plugin interface. As Klaus said, the interface
> would be as general as possible. Does this only affect WHAT is shown on the OSD, or can the plugin
> also control HOW this will be shown? Example: The Windows software "watchtvpro" has the ability that
> an OSD window can be faded in and out gradually; in an older version of that software the OSD
> windows even used to slide in and out of the TV screen. I hope you get what I mean.
> I don't know if you, Klaus, have already thought about this. If this plugin interface should become as
> general as possible, it should also permit such things. Take it just as an idea that you could keep in
> mind...
Basically the OSD interface will look like this (some parts left out for clarity):
class cOsdBase {
public:
cOsdBase(int Left, int Top);
virtual ~cOsdBase();
virtual void DrawPixel(int x, int y, tColor Color);
virtual void DrawBitmap(int x, int y, const cBitmap &Bitmap, tColor ColorFg = 0, tColor ColorBg = 0);
virtual void DrawText(int x, int y, const char *s, tColor ColorFg, tColor ColorBg, const cFont *Font, int Width = 0, int Height = 0, int Alignment = taDefault);
virtual void DrawRectangle(int x1, int y1, int x2, int y2, tColor Color);
virtual void DrawEllipse(int x1, int y1, int x2, int y2, tColor Color, int Quadrants = 0);
virtual void Flush(void);
};
A derived class can take full control over all these things.
If it decides to "fade in/out", it can do so in the Flush() function
or the destructor, repectively.
Klaus
--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe vdr" as subject.
Home |
Main Index |
Thread Index