FireBirdLib - Topfield TMS PVR TAP Programming Library
OSDMenuUpdate.c
Go to the documentation of this file.
1#include "FBLib_TMSOSDMenu.h"
2
3void OSDMenuUpdate(bool SuppressOSDSync)
4{
6
7 //Create an OSD region if not already available
8 if(OSDRgn == 0)
9 {
10 OSDDirty = TRUE;
11 OSDRgn = TAP_Osd_Create(0, 0, 720, 576, 0, 0);
12 TAP_ExitNormal();
13 }
14
15 //Draw background & grey rectangles
16 if (OSDDirty)
17 {
19 OSDDirty = FALSE;
21 TitleDirty = TRUE;
22 ListDirty = TRUE;
23 ButtonsDirty = TRUE;
24 LogoDirty = TRUE;
25 }
26
27 //Draw left and right title
28 if (TitleDirty)
29 {
31 TitleDirty = FALSE;
32 }
33
34 //Draw buttons
35 if (ButtonsDirty)
36 {
38 ButtonsDirty = FALSE;
39 LogoDirty = TRUE;
40 }
41
42 //Draw software icon
43 if (LogoDirty)
44 {
46 LogoDirty = FALSE;
47 }
48
49 //Calculate TopIndex & SelectionIndex
51
52 //Draw selection bar
53 //Calculate max width of all item's texts
54 //Draw item numbers, icons & text
55 //Draw value text and arrows
56 if(ListDirty)
57 {
59 switch(Menu[CurrentMenuLevel].OSDMenuDisplayMode)
60 {
61 case OMDM_Standard:
62 case OMDM_ListBox: OSDDrawList(); break;
63 case OMDM_Text:
64 case OMDM_Memo: OSDDrawMemo(); break;
65 }
66
67 ListDirty = FALSE;
68 }
69
70 //Show OSD
71 if(!SuppressOSDSync) TAP_Osd_Sync();
72
73 TRACEEXIT();
74}
tOSDMenuLastCursorType OSDMenuLastCursor
Definition: OSDMenuInit.c:10
void OSDDrawBackground(void)
tMenu Menu[NRMENULEVELS]
Definition: OSDMenuInit.c:6
void OSDDrawButtons(void)
Definition: OSDDrawButtons.c:3
void OSDDrawScrollBar(void)
bool OSDDirty
Definition: OSDMenuInit.c:5
void OSDDrawLogo(void)
Definition: OSDDrawLogo.c:3
void OSDCalcIndices(void)
Definition: OSDCalcIndices.c:4
void OSDDrawList(void)
Definition: OSDDrawList.c:3
@ OMDM_Text
@ OMDM_Standard
@ OMDM_Memo
@ OMDM_ListBox
@ LCT_NRCURSORS
void OSDDrawMemo(void)
Definition: OSDDrawMemo.c:3
void OSDDrawTitle(void)
Definition: OSDDrawTitle.c:3
dword CurrentMenuLevel
Definition: OSDMenuInit.c:7
bool ListDirty
bool ButtonsDirty
word OSDRgn
Definition: OSDMenuInit.c:4
bool TitleDirty
bool LogoDirty
void OSDMenuUpdate(bool SuppressOSDSync)
Definition: OSDMenuUpdate.c:3
#define TRACEEXIT()
Definition: libFireBird.h:1244
#define TRACEENTER()
Definition: libFireBird.h:1243