From 991eda006700f1703bcec528c1ff178a4cab9048 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 3 May 2009 17:15:00 +0200 Subject: Version 1.7.7 - The new function cDevice::GetVideoSize() returns the size and aspect ratio of the video material currently displayed. This function is used to determine the proper size of the OSD. Plugin authors should implement this function in classes derived from cDevice, if they are able to replay video. - The OSD and font sizes are now defined in percent of the actual video display size. The maximum OSD size has been raised to 1920x1080, to allow full screen OSD on HD systems. - The OSD size is now automatically adjusted to the actual video display (provided the output device implements the GetVideoSize() function). - cFrameDetector::Analyze() now syncs on the TS packet sync bytes (thanks to Oliver Endriss for reporting broken index generation after a buffer overflow). --- osd.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'osd.h') diff --git a/osd.h b/osd.h index 7690952..ba79fde 100644 --- a/osd.h +++ b/osd.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: osd.h 2.2 2009/04/05 10:16:05 kls Exp $ + * $Id: osd.h 2.3 2009/05/03 13:52:10 kls Exp $ */ #ifndef __OSD_H @@ -406,6 +406,9 @@ public: class cOsdProvider { private: static cOsdProvider *osdProvider; + static int oldWidth; + static int oldHeight; + static int oldAspect; protected: virtual cOsd *CreateOsd(int Left, int Top, uint Level) = 0; ///< Returns a pointer to a newly created cOsd object, which will be located @@ -420,6 +423,11 @@ public: ///< caller must delete it. If the OSD is already in use, or there is no OSD ///< provider, a dummy OSD is returned so that the caller may always use the ///< returned pointer without having to check it every time it is accessed. + static void UpdateOsdSize(bool Force = false); + ///< Inquires the actual size of the video display and adjusts the OSD and + ///< font sizes accordingly. If Force is true, all settings are recalculated, + ///< even if the video resolution hasn't changed since the last call to + ///< this funtion. static void Shutdown(void); ///< Shuts down the OSD provider facility by deleting the current OSD provider. }; -- cgit v1.2.3