Extensions to KreaTvGfx
KreaTvGfx comes with an interface for
"extensions", IKreaTvGfxExtension. These
are not actual extensions of KreaTvGfx but rather plug-ins to
application layer that shall be handled by the graphics rendering
engine. The idea is to be able to implement different plug-ins with a
common interface so that the graphical part can be handled similarly
by the rendering engine, and the control part be handled by the
application itself.
Basically the extension interface contains a Draw() function that
should be called with the back-buffer (when double buffering). The
graphics rendering engine should act as an observer to each extension
to get a callback whenever the graphics has changed and a new call to
Draw() should be performed to show
it. The IKreaTvGfxExtensionObserver
is the common callback interface for extensions.
Subtitling
The subtitle renderer extension is created with
the CreateSubtitleRenderExtension()
function. Which subtitle stream that is actually used within the video
played is controlled with parameters in the Information Service. These
are basically settings to choose preferred language and type of
subtitling.
Teletext
The teletext renderer extension is created with
the CreateTeletextRenderExtension()
function. Which teletext stream that is actually used is controlled with
parameters in the Information Service. The parameters are used to choose preferred language and type of teletext.