FireBirdLib - Topfield TMS PVR TAP Programming Library
FBLib_TMSOSDMenu.h
Go to the documentation of this file.
1#ifndef FBLIB_TMSOSDMENU_H
2#define FBLIB_TMSOSDMENU_H
3
4#include "libFireBird.h"
5
6#define ITEMNAMESIZE 128
7#define ITEMVALUESIZE 128
8#define STDSTRINGSIZE 256
9#define NRMENULEVELS 5
10#define MAXBUTTONS 20
11#define MAXMBBUTTONS 5
12#define FONTYOFFSET -3
13
14#define LISTBOX_FRAME_THICKNESS 2
15#define LISTBOX_GAP_FRAME_TO_X 8
16#define LISTBOX_OFFSET_TO_X (LISTBOX_FRAME_THICKNESS + LISTBOX_GAP_FRAME_TO_X)
17#define LISTBOX_ADDITIONAL_WIDTH (2 * LISTBOX_OFFSET_TO_X + _ScrollBarVisible_Gd.width)
18
19#define WaitSpinnerItems 12
20#define WaitSpinnerItemWidth 6
21#define WaitSpinnerItemHeight 14
22#define WaitSpinnerWidth ((2 * WaitSpinnerItems - 1) * WaitSpinnerItemWidth)
23#define WaitSpinnerItemsTrail 8
24#define WaitSpinnerSpeed 10
25#define WaitSpinnerItemColorBlank RGB(192, 192, 192)
26#define WaitSpinnerItemColorShade -64 // shade to RGB(128, 128, 128)
27#define WaitSpinnerItemColorTrail RGB(120, 120, 120)
28
29extern dword WaitSpinnerPosY;
30
31typedef struct
32{
33 char Name[ITEMNAMESIZE];
34 char Value[ITEMVALUESIZE];
35 TYPE_GrData *pNameIconGd;
36 TYPE_GrData *pValueIconGd;
38 dword NameColor;
39 dword TextColor;
45 dword ID;
47}tItem;
48
49typedef struct
50{
51 dword X;
52 dword Y;
53 TYPE_GrData *pButtonGd;
54 dword Color;
55 char Text[STDSTRINGSIZE];
57
58typedef enum
59{
63 OMDM_Text // like Memo, but CurrentTopIndex won't follow CurrentSelection
65
66typedef struct
67{
68 dword XPos;
69 dword Width;
78 dword ValueXPos;
84 dword NrButtons;
85 dword ButtonXStart[4];
86 char TitleLeft[STDSTRINGSIZE];
87 char TitleRight[STDSTRINGSIZE];
88 dword LogoX;
89 dword LogoY;
90 TYPE_GrData *pLogoGd;
91 dword PrevLogoX;
92 dword PrevLogoY;
93 dword PrevLogoW;
94 dword PrevLogoH;
95 char *MemoText;
104 void (*CallbackProcedure)(tOSDCB OSDCBType, word OSDRgn);
105}tMenu;
106
107typedef struct
108{
112 char Title[STDSTRINGSIZE];
113 char Text[STDSTRINGSIZE];
114// tFontData *FontColorPickerTitle;
115// tFontData *FontColorPickerCursor;
117
118typedef enum
119{
124
125typedef enum
126{
131
139
140extern TYPE_GrData _Button_0_Gd;
141extern TYPE_GrData _Button_1_Gd;
142extern TYPE_GrData _Button_2_Gd;
143extern TYPE_GrData _Button_3_Gd;
144extern TYPE_GrData _Button_4_Gd;
145extern TYPE_GrData _Button_5_Gd;
146extern TYPE_GrData _Button_6_Gd;
147extern TYPE_GrData _Button_7_Gd;
148extern TYPE_GrData _Button_8_Gd;
149extern TYPE_GrData _Button_9_Gd;
150extern TYPE_GrData _Button_ar_Gd;
151extern TYPE_GrData _Button_audio_Gd;
152extern TYPE_GrData _Button_aux_Gd;
153extern TYPE_GrData _Button_blue_Gd;
154extern TYPE_GrData _Button_cut_Gd;
155extern TYPE_GrData _Button_down_Gd;
156extern TYPE_GrData _Button_exit_Gd;
157extern TYPE_GrData _Button_fav_Gd;
158extern TYPE_GrData _Button_ffwd_Gd;
159extern TYPE_GrData _Button_filelist_Gd;
160extern TYPE_GrData _Button_green_Gd;
161extern TYPE_GrData _Button_guide_Gd;
162extern TYPE_GrData _Button_info_Gd;
163extern TYPE_GrData _Button_jumpend_Gd;
164extern TYPE_GrData _Button_jumpstart_Gd;
165extern TYPE_GrData _Button_left_Gd;
166extern TYPE_GrData _Button_list_Gd;
167extern TYPE_GrData _Button_m_Gd;
168extern TYPE_GrData _Button_menu_Gd;
169extern TYPE_GrData _Button_mute_Gd;
170extern TYPE_GrData _Button_nouse_Gd;
171extern TYPE_GrData _Button_ok_Gd;
172extern TYPE_GrData _Button_option_Gd;
173extern TYPE_GrData _Button_pause_Gd;
174extern TYPE_GrData _Button_play_Gd;
175extern TYPE_GrData _Button_progminus_Gd;
176extern TYPE_GrData _Button_progplus_Gd;
177extern TYPE_GrData _Button_recall_Gd;
178extern TYPE_GrData _Button_record_Gd;
179extern TYPE_GrData _Button_red_Gd;
180extern TYPE_GrData _Button_right_Gd;
181extern TYPE_GrData _Button_rwd_Gd;
182extern TYPE_GrData _Button_sat_Gd;
183extern TYPE_GrData _Button_select_Gd;
184extern TYPE_GrData _Button_sleep_Gd;
185extern TYPE_GrData _Button_step_Gd;
186extern TYPE_GrData _Button_stop_Gd;
187extern TYPE_GrData _Button_subtitle_Gd;
188extern TYPE_GrData _Button_ttx_Gd;
189extern TYPE_GrData _Button_tv_radio_Gd;
190extern TYPE_GrData _Button_up_Gd;
191extern TYPE_GrData _Button_vf_Gd;
192extern TYPE_GrData _Button_volminus_Gd;
193extern TYPE_GrData _Button_volplus_Gd;
194extern TYPE_GrData _Button_white_Gd;
195extern TYPE_GrData _Button_yellow_Gd;
196
197extern TYPE_GrData _Cursor_Blue_Normal_Gd;
198extern TYPE_GrData _Cursor_Blue_Small_Gd;
199extern TYPE_GrData _Cursor_Blue_Tiny_Gd;
200extern TYPE_GrData _Cursor_Dark_Normal_Gd;
201extern TYPE_GrData _Cursor_Dark_Small_Gd;
202extern TYPE_GrData _Cursor_Dark_Tiny_Gd;
203extern TYPE_GrData _InfoBox_Gd;
204extern TYPE_GrData _InputBox_Gd;
206extern TYPE_GrData _pfeil_l_Gd;
207extern TYPE_GrData _pfeil_l_bright_Gd;
208extern TYPE_GrData _pfeil_r_Gd;
209extern TYPE_GrData _pfeil_r_bright_Gd;
210extern TYPE_GrData _Progressbar_Gd;
211extern TYPE_GrData _ScrollBarInvisible_Gd;
212extern TYPE_GrData _ScrollBarKnob_Gd;
213extern TYPE_GrData _ScrollBarVisible_Gd;
214
215extern TYPE_GrData _ColorPicker_Gd;
216extern TYPE_GrData _ColorPicker_CursorNone_Gd;
217extern TYPE_GrData _ColorPicker_CursorDeselected_Gd;
219
220extern word OSDRgn;
221extern word MyOSDRgn; //Used by OSDMenuSaveMyRegion()
222extern word OSDMenuSelectionBarRgn;
224extern tMenu Menu[NRMENULEVELS];
225extern dword CurrentMenuLevel;
226extern dword ButtonColor;
227extern dword LastUnprocessedOSDMenuKey;
230
231extern word InfoBoxOSDRgn;
232extern dword InfoBoxTimeOut;
233extern byte *InfoBoxSaveArea;
235extern bool InfoBoxExitButton;
236
237extern word MessageBoxOSDRgn;
239extern bool MessageBoxNoNormalMode;
240extern bool MessageBoxAllowScrollOver;
241
242extern word ProgressBarOSDRgn;
243extern word ProgressBarFullRgn;
244extern dword ProgressBarLastValue;
245
246extern word ColorPickerOSDRgn;
247extern dword ColorPickerColor;
248extern dword ColorPickerDefaultColor;
251
252extern word WaitSpinnerRgn;
253extern int WaitSpinnerIndex;
254extern dword WaitSpinnerTimeout;
255
256void OSDCalcIndices(void);
257void OSDDrawBackground(void);
258void OSDDrawButtons(void);
259void OSDDrawList(void);
260void OSDDrawLogo(void);
261void OSDDrawMemo(void);
262void OSDDrawScrollBar(void);
263void OSDDrawTitle(void);
264void OSDMemoFormatText(void);
265void OSDMenuColorPickerDrawCursor(tCurrentColorSelected CursorColor, bool Selected);
266void OSDMenuDrawCursor(dword x, dword y, dword w, dword h);
267void OSDMenuFreeStdFonts(void);
268TYPE_GrData *OSDMenuGetIconPointer(tButtonIcon ButtonIcon, TYPE_GrData *UserDefinedButton);
269void OSDMenuInit(bool AllowScrollingOfLongText, bool HasValueColumn, bool NumberedItems, bool ScrollLoop, const char *TitleLeft, const char *TitleRight);
270void OSDMenuLoadStdFonts(void);
271void OSDMenuPutS(word rgn, dword x, dword y, dword maxX, const char *str, dword fcolor, dword bcolor, byte fntSize, byte bDot, byte align);
272void OSDMenuWaitSpinnerIdle(void);
273void OSDMenuWaitSpinnerDrawItem(word rgn, dword x, dword rgb);
274dword OSDMenuWaitSpinnerShadeColor(dword rgb, word step, word steps);
275
276#endif
#define MAXMBBUTTONS
TYPE_GrData _Button_menu_Gd
#define MAXBUTTONS
TYPE_GrData _Button_info_Gd
TYPE_GrData _Button_5_Gd
TYPE_GrData _Button_ffwd_Gd
int ColorPickerLastCursorBlue
TYPE_GrData _Button_sat_Gd
int ColorPickerLastCursorRed
Definition: OSDMenuInit.c:31
tOSDMenuLastCursorType OSDMenuLastCursor
Definition: OSDMenuInit.c:10
int ColorPickerLastCursorGreen
TYPE_GrData _Cursor_Dark_Normal_Gd
TYPE_GrData _Button_guide_Gd
dword InfoBoxSaveAreaX
Definition: OSDMenuInit.c:15
TYPE_GrData _Button_sleep_Gd
#define ITEMNAMESIZE
void OSDMenuDrawCursor(dword x, dword y, dword w, dword h)
TYPE_GrData _Button_exit_Gd
TYPE_GrData _Button_mute_Gd
void OSDMemoFormatText(void)
TYPE_GrData _ScrollBarInvisible_Gd
TYPE_GrData _Button_9_Gd
TYPE_GrData _Cursor_Blue_Tiny_Gd
void OSDDrawBackground(void)
void OSDMenuColorPickerDrawCursor(tCurrentColorSelected CursorColor, bool Selected)
dword LastUnprocessedOSDMenuKey
Definition: OSDMenuInit.c:37
tMenu Menu[NRMENULEVELS]
Definition: OSDMenuInit.c:6
TYPE_GrData _Cursor_Dark_Tiny_Gd
TYPE_GrData _Button_stop_Gd
TYPE_GrData _Button_fav_Gd
void OSDDrawButtons(void)
Definition: OSDDrawButtons.c:3
TYPE_GrData _MessageBoxSelectedButtonBackground_Gd
tFontDataUC OSDMenuFont_18
Definition: OSDMenuInit.c:43
TYPE_GrData _Button_7_Gd
void OSDMenuInit(bool AllowScrollingOfLongText, bool HasValueColumn, bool NumberedItems, bool ScrollLoop, const char *TitleLeft, const char *TitleRight)
Definition: OSDMenuInit.c:47
TYPE_GrData _Button_1_Gd
TYPE_GrData _pfeil_r_bright_Gd
void OSDDrawScrollBar(void)
TYPE_GrData _Button_jumpstart_Gd
TYPE_GrData _Button_progminus_Gd
bool OSDDirty
Definition: OSDMenuInit.c:5
tFontDataUC OSDMenuFont_10
Definition: OSDMenuInit.c:39
TYPE_GrData _Button_0_Gd
TYPE_GrData _Button_record_Gd
TYPE_GrData _Button_yellow_Gd
word ProgressBarFullRgn
Definition: OSDMenuInit.c:24
tMessageBox MessageBox
Definition: OSDMenuInit.c:19
TYPE_GrData _Button_2_Gd
void OSDMenuFreeStdFonts(void)
TYPE_GrData _Button_progplus_Gd
TYPE_GrData _Button_ok_Gd
word MessageBoxOSDRgn
Definition: OSDMenuInit.c:18
TYPE_GrData _ColorPicker_CursorDeselected_Gd
dword InfoBoxTimeOut
Definition: OSDMenuInit.c:13
dword WaitSpinnerTimeout
Definition: OSDMenuInit.c:35
void OSDDrawLogo(void)
Definition: OSDDrawLogo.c:3
bool InfoBoxExitButton
Definition: OSDMenuInit.c:16
word ProgressBarOSDRgn
Definition: OSDMenuInit.c:23
TYPE_GrData _Button_3_Gd
TYPE_GrData _Cursor_Dark_Small_Gd
void OSDMenuWaitSpinnerIdle(void)
TYPE_GrData _Button_audio_Gd
TYPE_GrData _Button_cut_Gd
TYPE_GrData _Button_green_Gd
TYPE_GrData _Button_4_Gd
TYPE_GrData _Button_recall_Gd
TYPE_GrData _Button_tv_radio_Gd
bool MessageBoxAllowScrollOver
Definition: OSDMenuInit.c:21
TYPE_GrData _Button_ttx_Gd
TYPE_GrData _Button_play_Gd
void OSDCalcIndices(void)
Definition: OSDCalcIndices.c:4
TYPE_GrData _Button_right_Gd
TYPE_GrData _Button_rwd_Gd
#define NRMENULEVELS
TYPE_GrData _pfeil_l_Gd
TYPE_GrData _ColorPicker_ValueBackroundSelected_Gd
TYPE_GrData _InputBox_Gd
tFontDataUC OSDMenuFont_12
Definition: OSDMenuInit.c:40
TYPE_GrData _Button_pause_Gd
TYPE_GrData _Button_white_Gd
TYPE_GrData _Button_8_Gd
tFontDataUC OSDMenuFont_14
Definition: OSDMenuInit.c:41
TYPE_GrData _Button_select_Gd
void OSDMenuWaitSpinnerDrawItem(word rgn, dword x, dword rgb)
TYPE_GrData _Button_subtitle_Gd
void OSDDrawList(void)
Definition: OSDDrawList.c:3
TYPE_GrData _Cursor_Blue_Small_Gd
TYPE_GrData _pfeil_l_bright_Gd
tOSDMenuDisplayMode
@ OMDM_Text
@ OMDM_Standard
@ OMDM_Memo
@ OMDM_ListBox
word InfoBoxOSDRgn
Definition: OSDMenuInit.c:12
tOSDMenuLastCursorType
@ LCT_Blue
@ LCT_NRCURSORS
@ LCT_BlueDark
TYPE_GrData _Button_volplus_Gd
void OSDDrawMemo(void)
Definition: OSDDrawMemo.c:3
TYPE_GrData _Button_vf_Gd
#define STDSTRINGSIZE
TYPE_GrData _Button_step_Gd
TYPE_GrData _Button_aux_Gd
dword ProgressBarLastValue
Definition: OSDMenuInit.c:25
void OSDMenuPutS(word rgn, dword x, dword y, dword maxX, const char *str, dword fcolor, dword bcolor, byte fntSize, byte bDot, byte align)
Definition: OSDMenuPutS.c:3
void OSDDrawTitle(void)
Definition: OSDDrawTitle.c:3
TYPE_GrData _Button_left_Gd
#define ITEMVALUESIZE
TYPE_GrData _Button_list_Gd
TYPE_GrData _Button_jumpend_Gd
TYPE_GrData _Button_ar_Gd
TYPE_GrData _Button_option_Gd
TYPE_GrData _ColorPicker_Gd
tCurrentColorSelected CurrentColorSelected
Definition: OSDMenuInit.c:30
TYPE_GrData _Button_volminus_Gd
TYPE_GrData * OSDMenuGetIconPointer(tButtonIcon ButtonIcon, TYPE_GrData *UserDefinedButton)
dword WaitSpinnerPosY
tFontDataUC OSDMenuFont_20B
Definition: OSDMenuInit.c:45
TYPE_GrData _Button_red_Gd
int WaitSpinnerIndex
Definition: OSDMenuInit.c:34
dword OSDMenuWaitSpinnerShadeColor(dword rgb, word step, word steps)
TYPE_GrData _InfoBox_Gd
TYPE_GrData _Button_filelist_Gd
byte * InfoBoxSaveArea
Definition: OSDMenuInit.c:14
TYPE_GrData _Progressbar_Gd
TYPE_GrData _ScrollBarKnob_Gd
TYPE_GrData _Button_blue_Gd
dword CurrentMenuLevel
Definition: OSDMenuInit.c:7
tFontDataUC OSDMenuFont_20
Definition: OSDMenuInit.c:44
TYPE_GrData _Button_down_Gd
bool ListDirty
word ColorPickerOSDRgn
Definition: OSDMenuInit.c:27
TYPE_GrData _Cursor_Blue_Normal_Gd
TYPE_GrData _ScrollBarVisible_Gd
TYPE_GrData _Button_6_Gd
TYPE_GrData _ColorPicker_CursorNone_Gd
TYPE_GrData _Button_m_Gd
word WaitSpinnerRgn
Definition: OSDMenuInit.c:33
bool ButtonsDirty
word OSDRgn
Definition: OSDMenuInit.c:4
bool TitleDirty
void OSDMenuLoadStdFonts(void)
word OSDMenuSelectionBarRgn
Definition: OSDMenuInit.c:4
TYPE_GrData _Button_nouse_Gd
bool LogoDirty
tCursorType MenuCursorType
Definition: OSDMenuInit.c:9
word MyOSDRgn
Definition: OSDMenuInit.c:4
dword ColorPickerDefaultColor
Definition: OSDMenuInit.c:29
bool MessageBoxNoNormalMode
Definition: OSDMenuInit.c:20
TYPE_GrData _pfeil_r_Gd
TYPE_GrData _Button_up_Gd
dword ButtonColor
Definition: OSDMenuInit.c:8
tCurrentColorSelected
@ CCS_Green
@ CCS_Red
@ CCS_Blue
dword InfoBoxSaveAreaY
tFontDataUC OSDMenuFont_16
Definition: OSDMenuInit.c:42
dword ColorPickerColor
Definition: OSDMenuInit.c:28
tButtonIcon
Definition: libFireBird.h:2803
tOSDCB
Definition: libFireBird.h:2790
tCursorType
Definition: libFireBird.h:2747
TYPE_GrData * pButtonGd
dword TextColor
dword ColorPatch
bool drawValue
bool Selectable
TYPE_GrData * pNameIconGd
int CustomIndex
dword ID
bool drawName
bool passDrawing
TYPE_GrData * pValueIconGd
dword NameColor
bool ValueArrows
tFontDataUC * FontListLineNumber
dword LogoX
int CurrentSelection
tFontDataUC * FontRightTitle
bool NumberedItems
bool AllowScrollingOfLongText
dword XPos
dword Width
dword PrevLogoY
dword NrButtons
char * MemoText
int CurrentTopIndex
tItem * Item
tOSDMenuDisplayMode OSDMenuDisplayMode
bool hasValueArrows
dword LogoY
bool HasValueColumn
dword PrevLogoH
tFontDataUC * FontListNameColumn
dword ValueXPos
tFontDataUC * FontLeftTitle
dword PrevLogoW
TYPE_GrData * pLogoGd
tFontDataUC * FontListValueColumn
int MaxItems
int ValueXOffset
tFontDataUC * FontButtons
tFontDataUC * FontMemo
dword PrevLogoX
bool ScrollLoop