#ifndef __TT_MESSAGE_H__ #define __TT_MESSAGE_H__ #include #include "types.h" typedef enum _UMF2TT_MESSAGE_TYPE { TT_NONE, TT_NUMBER_KEYS, TT_LEFT_RIGHT_KEYS, TT_UP_DOWN_KEYS, TT_SUB_UP_DOWN_KEYS, TT_SELECT_LINK, TT_TOP, TT_REFRESH_TIME, TT_ROLLING, TT_VIEWER, TT_CLEAR_PAGE, TT_SUBTITLE, TT_RESET, TT_START_STOP, TT_MAIN_INDEX, TT_REVEAL, TT_HOLD, TT_SIZE, TT_LANGUAGES, TT_TTMODES, TT_SUBCODE, TT_SUBTITLE_PAGE, TT_LIST, TT_STORE, TT_QUERY_LIST, TT_DUMP_REGISTER, TT_SELECT_SUBPAGE, TT_ANDROID_MODE, TT_CANCEL, TT_SET_DIG_LANGUAGE, TT_QUERY_ATT_SUBTITLE, TT_QUERY_TIME, TT_FOND_MODE, //TT_TERMINATE = 99, TT_EXIT = 100, } UMF2TT_MESSAGE_TYPE; typedef enum _TT2UMF_MESSAGE_TYPE { TT_CONTROL_BIT = 0, // TT_NO_TELETEXT, TT_625_WSS_TYPE, TT_ACK_LISTMODE, // TT_ATT_TTSUBTITLE, TT_ACK_TIME, // TT_TERMINATE = 99, } TT2UMF_MESSAGE_TYPE; typedef struct TT_CNI_Data { unsigned short packet830_f1; unsigned short packet830_f2; unsigned short vps; }TT_CNI_Data; typedef struct _Window_Location { unsigned int ulHStart,ulHEnd; unsigned int ulVStart,ulVEnd; char FullScreen; }Window_Location,*PWindow_Location; typedef struct _TT_MESSAGE { int mtype; int command; void *pData; }TT_MESSAGE, *PTT_MESSAGE; #define TT_MESSAGE_SIZE (sizeof(TT_MESSAGE)-sizeof(long int)) #define LANG_NONE 0 #define LANG_ENGLISH 1 #define LANG_POLISH 2 #define LANG_SERBIAN_CROATIAN 3 #define LANG_FRENCH 4 #define LANG_RUSSIAN_BULGARIAN 5 #define LANG_SWEDISH_FINNISH_HUNGARIAN 6 #define LANG_ESTONISN 7 #define LANG_CZECH_SLOVAK 8 #define LANG_TURKISH 9 #define LANG_GERMAN 10 #define LANG_PORTUGUESE_SPANISH 11 #define LANG_SERBIAN_CROATION_SLOVENIAN 12 #define LANG_UKRAINIAN 13 #define LANG_HEBREW 14 #define LANG_ITALIAN 15 #define LANG_LETTISH_LITHUANIAN 16 #define LANG_RUMANIAN 17 #define LANG_GREEK 18 #define LANG_ARABIC 19 #define LANG_OTHER 20 #define CTRLBITN_MSG 0x00000100 typedef enum _TT_CONTROL_BIT_0 { TT_ENGLISH = 0, TT_POLISH, TT_SERBIAN_CROATIAN } TT_CONTROL_BIT_0; typedef enum _TT_CONTROL_BIT_1 { TT_FRENCH = 0, TT_RUSSIAN_BULGARIAN } TT_CONTROL_BIT_1; typedef enum _TT_CONTROL_BIT_2 { TT_SWEDISH_FINNISH_HUNGARIAN = 0, TT_ESTONISN } TT_CONTROL_BIT_2; typedef enum _TT_CONTROL_BIT_3 { TT_CZECH_SLOVAK = 0, TT_TURKISH } TT_CONTROL_BIT_3; typedef enum _TT_CONTROL_BIT_4 { TT_GERMAN } TT_CONTROL_BIT_4; typedef enum _TT_CONTROL_BIT_5 { TT_PORTUGUESE_SPANISH = 0, TT_SERBIAN_CROATION_SLOVENIAN, TT_UKRAINIAN, TT_HEBREW } TT_CONTROL_BIT_5; typedef enum _TT_CONTROL_BIT_6 { TT_ITALIAN= 0, TT_LETTISH_LITHUANIAN } TT_CONTROL_BIT_6; typedef enum _TT_CONTROL_BIT_7 { TT_RUMANIAN = 0, TT_GREEK, TT_ARABIC } TT_CONTROL_BIT_7; typedef enum _TT_NATIONAL_CODE { N_NOTMATCH = 0, N_ARABIC, N_BASQUE, N_BULGARIAN, N_CATALAN, N_CROATION, N_CZECH, N_DANISH, N_DUTCH, N_ENGLISH, N_ESTONIAN, N_FARSI, N_FINNISH, N_FRENCH, N_GALICIAN, N_GERMAN, N_GREEK, N_HEBREW, N_HUNGARIAN, N_IRISH, N_ITALIAN, N_LATVIAN, N_LITHUANIAN, N_MACEDONIAN, N_NORWEGIAN, N_POLISH, N_PORTUGUESE, N_RUMANIAN, N_RUSSIAN, N_SERBIAN, N_SLOVAK, N_SLOVENIAN, N_SPANISH, N_SWEDISH, N_TURKISH, N_UKRAINIAN, N_WELSH } TT_NATIONAL_CODE; typedef enum _TT_G0_SET { G0_WEST_EUR = 0, G0_EAST_EUR, G0_CYRILLIC, G0_ARAB, G0_FARSIAN, G0_HEBREW, G0_GREEK, G0_TURKEY, G0_RUSSIA, G0_RUSSIA2, G0_BYELORUSSIAN, G0_THAI, G0_MAX_NUM // for program } TT_G0_SET; typedef enum _TT_625_WSS_TYPES { FULL_4_3, BOX_14_9_CENTRE, BOX_14_9_TOP, BOX_16_9_CENTRE, BOX_16_9_TOP, BOX_Large_16_9_CENTRE, SHOOT_PROTECT_14_9, W16_9_ANAMORPHIC } TT_625_WSS_TYPES; typedef enum _TT_MODES { TT_Normal, TT_Mix, //Video and Transparent BG Text TT_PAT_R, //Half Picture and Half Right Text TT_PAT_L, //Half Picture and Half Left Text TT_CANCEL_ON, //CANCEL_ON : just display page number TT_CANCEL_OFF, //CANCEL_OFF : display present page TT_INVALID_MODE } TT_MODES; typedef enum _TT_VIEWER_MODE { TT_Viewer_Off, TT_Viewer_On_Normal, TT_Viewer_On_ListMode } TT_VIEWER_MODE; typedef enum _TT_LIST_MODE { TT_List_Off, TT_List_On } TT_LIST_MODE; typedef struct { /* Command functions */ int (*cmd)(TT_MESSAGE *pmsg); /* Quick functions only for query Variables */ unsigned short (*GetWSSData)(); void (*GetCNI)(TT_CNI_Data *); unsigned int (*GetPageCount)(); /* Quick functions only for set Variables */ void (*SetG0CharSet)(TT_G0_SET); void (*GetCurDispPageno)(int *magno, int *pgno, int *subno); } AL_TTX_Ctl_t; typedef void (*TT_Callback_f)(unsigned char state); typedef struct { void (*change_state)(unsigned char state); } AL_TTX_CallbackFun_t; typedef struct _AL_TTX_t { AL_TTX_Ctl_t al_ctl; AL_TTX_CallbackFun_t al_callback; } AL_TTX_t; extern AL_TTX_t gALTTXCTL; int MID_TTX_Uninit(); void MID_TTX_RefreshPage(void); int MID_TTX_init(AL_TTX_Ctl_t *al_ctl, AL_TTX_CallbackFun_t *al_callback); UINT8 MID_TTX_GetInitState(void); /** * @brief the function will get teletext subtitle being exist or not. * * @param void. * * @return 1--- if teletext subtitle is exist , 0 ---otherwise. */ int TTX_CA_GetSubtitleExist(void); /** * @brief the function will set top on/off status. * * the customer can support top mode or not, on = support, off = non support. * * @param status top status. * * @return void. */ void SetTopOnStatus(Boolean status); /** * @brief the function will reset wss data. * * @param void. * * @return void. */ void TTX_CA_ResetWssData(void); /******************************************************************************/ /** * @fun Clear_CNI_Data * * @param void. * * @return void. * ******************************************************************************/ void Clear_CNI_Data(void); /******************************************************************************/ /** * @fun Set_CNI_Status * * @paramb void. * * @return void. * ******************************************************************************/ void Set_CNI_Status(void); #endif