/*************************************************************************** * Copyright (c) 2003-2006, Broadcom Corporation * All Rights Reserved * Confidential Property of Broadcom Corporation * * THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED SOFTWARE LICENSE * AGREEMENT BETWEEN THE USER AND BROADCOM. YOU HAVE NO RIGHT TO USE OR * EXPLOIT THIS MATERIAL EXCEPT SUBJECT TO THE TERMS OF SUCH AN AGREEMENT. * * $brcm_Workfile: $ * $brcm_Revision: $ * $brcm_Date: $ * * Module Description: * * Revision History: * * $brcm_Log: $ * ***************************************************************************/ #ifndef BSCREEN_H__ #define BSCREEN_H__ #include "bsettop.h" #include "str_table.h" #include "bir_codes.h" #ifdef CUSTOMER_THOMSON #define NUMBER_BUTTONS #endif /* Screen defines */ #define APP_DEFAULT_YIELD (50) /* Milliseconds */ #define SCREEN_DEFAULT_TIMEOUT (10 * 60 * 1000) /* Milliseconds */ //#define SCREEN_DEFAULT_TIMEOUT (2 * 60 * 1000) /* Milliseconds */ #define HIDE_BANNER_TIMEOUT (10 * 1000) /* Milliseconds */ #define BANNER_SMALL_TIMEOUT (5000) /* Milliseconds */ #define BANNER_BIG_TIMEOUT (10 * 1000) /* Milliseconds */ #define BANNER_10_KEY_TIMEOUT (2 * 1000) /* Milliseconds */ #define BANNER_VOLUME_TIMEOUT (1 * 1000) /* Milliseconds */ #define BANNER_SAP_TIMEOUT (2 * 1000) /* Milliseconds */ #define BANNER_CC_TIMEOUT (2 * 1000) /* Milliseconds */ #define SCREENSAVER_IMAGE_TIMEOUT (3 * 1000) /* Milliseconds */ #define VOLUME_INCREMENT (5) #define AUTO_POWER_OFF_TIMEOUT (4 * 60 * 60 * 1000) /* Milliseconds */ //#define AUTO_POWER_OFF_TIMEOUT (SCREEN_DEFAULT_TIMEOUT + 120000) /* Milliseconds */ #define AUTO_POWER_OFF_RESTART_TIMEOUT (1000 * 10) /* Milliseconds */ /* Default to one repeat event every 3/4 second then accelerate */ #define DEFAULT_REPEAT_TIMEOUT ((3 * g_ticks_per_second) / 4) #define MAX_REPEAT_ACCEL 8 #define REPEAT_INC 4 #define KEY_UP 0x40000000 /* Color enums */ typedef enum bcolor_idx_t { eCOLOR_CLEAR, eCOLOR_BLACK, eCOLOR_BLACK_65, eCOLOR_WHITE, eCOLOR_LT_BLUE, eCOLOR_MED_BLUE, eCOLOR_DRK_BLUE, eCOLOR_BRT_YELLOW, eCOLOR_LT_YELLOW, eCOLOR_MED_YELLOW, eCOLOR_DK_YELLOW, eCOLOR_PALE_YELLOW, eCOLOR_NEON_GREEN }bcolor_idx_t; /* Layout enums */ typedef enum bscreen_layout_t { #if (DISPLAY_NTSC || DISPLAY_PAL_M) eHEIGHT = 480, #elif (DISPLAY_PAL || DISPLAY_PAL_NC) eHEIGHT = 576, #else #error display format (NTSC, PAL, PAL-M or PAL-NC) must be defined #endif eWIDTH = 720, eSCREEN_ACTION_SAFE_PERCENT = 10, eSCREEN_ACTION_SAFE_X = (eWIDTH * eSCREEN_ACTION_SAFE_PERCENT / 100), eSCREEN_ACTION_SAFE_Y = (eHEIGHT * eSCREEN_ACTION_SAFE_PERCENT / 100), eSCREEN_ACTION_SAFE_WIDTH = (eWIDTH - (2 * eSCREEN_ACTION_SAFE_X)), eSCREEN_ACTION_SAFE_HEIGHT = (eHEIGHT - (2 * eSCREEN_ACTION_SAFE_Y)), eINFO_AREA_HEIGHT = 30, eINFO_AREA_Y = (eHEIGHT - eSCREEN_ACTION_SAFE_Y - eINFO_AREA_HEIGHT), eMENU_TITLE_AREA_HEIGHT_0_LINE = 60, eMENU_TITLE_AREA_HEIGHT_1_LINE = 80, eMENU_TITLE_AREA_HEIGHT_2_LINE = 100, eMENU_TITLE_AREA_HEIGHT_3_LINE = 120, eMENU_TITLE_AREA_HEIGHT_4_LINE = 140, eMENU_TITLE_TEXT_X = (20 + eSCREEN_ACTION_SAFE_X), eMENU_TITLE_TEXT_Y = (14 + eSCREEN_ACTION_SAFE_Y), eMENU_TITLE_TEXT_WIDTH = (eSCREEN_ACTION_SAFE_WIDTH - 2 * (eMENU_TITLE_TEXT_X - eSCREEN_ACTION_SAFE_X)), eMENU_TITLE_TEXT_HEIGHT = 40, eMENU_TITLE_DESC_TEXT_X = (20 + eMENU_TITLE_TEXT_X), eMENU_TITLE_DESC_TEXT_Y = (40 + eMENU_TITLE_TEXT_Y), eMENU_TITLE_DESC_TEXT_WIDTH = (eWIDTH - eMENU_TITLE_DESC_TEXT_X - eMENU_TITLE_TEXT_X), eMENU_TITLE_DESC_TEXT_HEIGHT = 85, eMENU_TITLE_DESC_TEXT_SPACING = 4, eMENU_PICTURES_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 20), eMENU_PICTURES_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT + 10), eMENU_PICTURES_BUTTON_WIDTH = 190, eMENU_PICTURES_BUTTON_DESC_WIDTH = (eWIDTH - eMENU_PICTURES_FIRST_BUTTON_X - eMENU_PICTURES_BUTTON_WIDTH - eSCREEN_ACTION_SAFE_X), eMENU_PICTURES_BUTTON_DESC_HEIGHT = 95, eMENU_PICTURES_BUTTON_INC_Y = 75, eMENU_SOUND_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 40), eMENU_SOUND_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT + 10), eMENU_SOUND_BUTTON_WIDTH = 186, eMENU_SOUND_BUTTON_DESC_WIDTH = (eWIDTH - eMENU_SOUND_FIRST_BUTTON_X - eMENU_SOUND_BUTTON_WIDTH - eSCREEN_ACTION_SAFE_X), eMENU_SOUND_BUTTON_DESC_HEIGHT = 75, eMENU_SOUND_BUTTON_INC_Y = 60, eMENU_AV_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 70), eMENU_AV_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT + 10), eMENU_AV_BUTTON_WIDTH = 200, eMENU_AV_BUTTON_DESC_WIDTH = (eWIDTH - eMENU_AV_FIRST_BUTTON_X - eMENU_AV_BUTTON_WIDTH - eSCREEN_ACTION_SAFE_X), eMENU_AV_BUTTON_DESC_HEIGHT = 75, eMENU_AV_BUTTON_INC_Y = 60, eMENU_LANGUAGE_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 20), eMENU_LANGUAGE_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT - 15), eMENU_LANGUAGE_BUTTON_WIDTH = 150, eMENU_LANGUAGE_BUTTON_DESC_WIDTH = (eWIDTH - eMENU_LANGUAGE_FIRST_BUTTON_X - eMENU_LANGUAGE_BUTTON_WIDTH - eSCREEN_ACTION_SAFE_X), eMENU_LANGUAGE_BUTTON_DESC_HEIGHT = 75, eMENU_LANGUAGE_BUTTON_INC_Y = 60, eMENU_CAPTIONS_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 20), eMENU_CAPTIONS_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT - 5), eMENU_CAPTIONS_BUTTON_HEIGHT = 30, eMENU_CAPTIONS_BUTTON_WIDTH = 150, eMENU_CAPTIONS_BUTTON_DESC_WIDTH = (eWIDTH - eMENU_CAPTIONS_FIRST_BUTTON_X - eMENU_CAPTIONS_BUTTON_WIDTH - eSCREEN_ACTION_SAFE_X), eMENU_CAPTIONS_BUTTON_DESC_HEIGHT = 75, eMENU_CAPTIONS_BUTTON_INC_Y = 60, eMENU_CAPTIONS_ON_OFF_BUTTON_WIDTH = 130, eMENU_CAPTIONS_ON_OFF_FIRST_BUTTON_Y = eMENU_CAPTIONS_FIRST_BUTTON_Y + 20, eMENU_CAPTIONS_BASIC_BUTTON_WIDTH = 130, eMENU_CAPTIONS_BASIC_FIRST_BUTTON_Y = eMENU_CAPTIONS_FIRST_BUTTON_Y - 40, eMENU_CAPTIONS_BASIC_BUTTON_INC_Y = 40, eMENU_CAPTIONS_ADVANCED_BUTTON_WIDTH = 180, eMENU_CAPTIONS_ADVANCED_FIRST_BUTTON_Y = eMENU_CAPTIONS_FIRST_BUTTON_Y - 40, eMENU_CAPTIONS_ADVANCED_BUTTON_INC_Y = 33, eMENU_CAPTIONS_ADVANCED_BUTTON_HEIGHT = 30, eMENU_CAPTIONS_FONT_OPTIONS_BUTTON_WIDTH = 170, eMENU_CAPTIONS_FONT_OPTIONS_FIRST_BUTTON_Y = eMENU_CAPTIONS_FIRST_BUTTON_Y - 40, eMENU_CAPTIONS_FONT_OPTIONS_BUTTON_INC_Y = 50, eMENU_CAPTIONS_FONT_OPTIONS_BUTTON_HEIGHT = 40, eMENU_CAPTIONS_BACK_OPTIONS_BUTTON_WIDTH = 170, eMENU_CAPTIONS_BACK_OPTIONS_FIRST_BUTTON_Y = eMENU_CAPTIONS_FIRST_BUTTON_Y - 30, eMENU_CAPTIONS_BACK_OPTIONS_BUTTON_HEIGHT = 40, eMENU_CAPTIONS_FONT_BUTTON_WIDTH = 190, eMENU_CAPTIONS_FONT_FIRST_BUTTON_Y = eMENU_CAPTIONS_FIRST_BUTTON_Y - 46, eMENU_CAPTIONS_FONT_BUTTON_INC_Y = 33, eMENU_CAPTIONS_FONT_COLOR_BUTTON_INC_Y = 29, eMENU_CAPTIONS_FONT_BUTTON_HEIGHT = 30, eMENU_CAPTIONS_FONT_COLOR_BUTTON_HEIGHT = 25, eMENU_CAPTIONS_FONT_FIRST_STYLE_BUTTON_Y = eMENU_CAPTIONS_FIRST_BUTTON_Y - 30, eMENU_CAPTIONS_FONT_FIRST_SIZE_BUTTON_Y = eMENU_CAPTIONS_FIRST_BUTTON_Y - 30, eMENU_CAPTIONS_FONT_STYLE_BUTTON_WIDTH = 170, eMENU_CAPTIONS_OPACITY_FIRST_BUTTON_Y = eMENU_CAPTIONS_FIRST_BUTTON_Y - 40, eMENU_CAPTIONS_FONT_OPACITY_BUTTON_WIDTH = 200, eMENU_CAPTIONS_OPACITY_BUTTON_INC_Y = 50, eMENU_CAPTIONS_RESET_FIRST_BUTTON_Y = eMENU_CAPTIONS_FIRST_BUTTON_Y + 15, eMENU_CAPTIONS_EDGE_TYPE_FIRST_BUTTON_Y= eMENU_CAPTIONS_FIRST_BUTTON_Y - 40, eMENU_CAPTIONS_EDGE_TYPE_BUTTON_WIDTH = 216, eMENU_CAPTIONS_EDGE_TYPE_BUTTON_INC_Y = 40, eMENU_SETUP_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 20), #ifdef CONFIG_EIA_708 eMENU_SETUP_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT - 42), #else eMENU_SETUP_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT - 38), #endif eMENU_SETUP_BUTTON_INC_Y = 42, eMENU_SETUP_BUTTON_WIDTH = 200, eMENU_SETUP_BUTTON_DESC_WIDTH = (eWIDTH - eMENU_SETUP_FIRST_BUTTON_X - eMENU_SETUP_BUTTON_WIDTH - eSCREEN_ACTION_SAFE_X + 20), eMENU_SETUP_BUTTON_DESC_HEIGHT = 75, eMENU_CH_SCAN_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 20), eMENU_CH_SCAN_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT + 25), eMENU_CH_SCAN_BUTTON_WIDTH = 160, eMENU_CH_SCAN_BUTTON_DESC_WIDTH = (eWIDTH - eMENU_CH_SCAN_FIRST_BUTTON_X - eMENU_CH_SCAN_BUTTON_WIDTH - eSCREEN_ACTION_SAFE_X), eMENU_CH_SCAN_BUTTON_DESC_HEIGHT = 75, eMENU_CH_SCAN_BUTTON_INC_Y = 75, eMENU_SMART_CH_SCAN_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 20), eMENU_SMART_CH_SCAN_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT - 15), eMENU_SMART_CH_SCAN_BUTTON_WIDTH = 160, eMENU_SMART_CH_SCAN_BUTTON_DESC_WIDTH = (eWIDTH - eMENU_CH_SCAN_FIRST_BUTTON_X - eMENU_CH_SCAN_BUTTON_WIDTH - eSCREEN_ACTION_SAFE_X), eMENU_SMART_CH_SCAN_BUTTON_DESC_HEIGHT = 75, eMENU_SMART_CH_SCAN_BUTTON_INC_Y = 70, eMENU_RESET_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 20), eMENU_RESET_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT + 25), eMENU_RESET_BUTTON_WIDTH = 168, eMENU_RESET_BUTTON_DESC_WIDTH = (eWIDTH - eMENU_RESET_FIRST_BUTTON_X - eMENU_RESET_BUTTON_WIDTH - eSCREEN_ACTION_SAFE_X), eMENU_RESET_BUTTON_DESC_HEIGHT = 75, eMENU_RESET_BUTTON_INC_Y = 75, eMENU_WIZ_WELCOME_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 20), eMENU_WIZ_WELCOME_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT + 65), eMENU_WIZ_WELCOME_BUTTON_WIDTH = 150, eMENU_WIZ_WELCOME_BUTTON_DESC_WIDTH = (eWIDTH - eMENU_WIZ_WELCOME_FIRST_BUTTON_X - eMENU_WIZ_WELCOME_BUTTON_WIDTH - eSCREEN_ACTION_SAFE_X), eMENU_WIZ_WELCOME_BUTTON_DESC_HEIGHT = 75, eMENU_WIZ_WELCOME_BUTTON_INC_Y = 75, eMENU_WIZ_ANTENNA_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 20), eMENU_WIZ_ANTENNA_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT + 45), eMENU_WIZ_ANTENNA_BUTTON_WIDTH = 150, eMENU_WIZ_ANTENNA_BUTTON_DESC_WIDTH = (eWIDTH - eMENU_WIZ_ANTENNA_FIRST_BUTTON_X - eMENU_WIZ_ANTENNA_BUTTON_WIDTH - eSCREEN_ACTION_SAFE_X), eMENU_WIZ_ANTENNA_BUTTON_DESC_HEIGHT = 75, eMENU_WIZ_ANTENNA_BUTTON_INC_Y = 60, eMENU_WIZ_CH_SCAN_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 20), eMENU_WIZ_CH_SCAN_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT + 25), eMENU_WIZ_CH_SCAN_BUTTON_WIDTH = 150, eMENU_WIZ_CH_SCAN_BUTTON_DESC_WIDTH = (eWIDTH - eMENU_WIZ_CH_SCAN_FIRST_BUTTON_X - eMENU_WIZ_CH_SCAN_BUTTON_WIDTH - eSCREEN_ACTION_SAFE_X), eMENU_WIZ_CH_SCAN_BUTTON_DESC_HEIGHT = 75, eMENU_WIZ_CH_SCAN_BUTTON_INC_Y = 60, eMENU_WIZ_SMART_CH_SCAN_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 20), eMENU_WIZ_SMART_CH_SCAN_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT), eMENU_WIZ_SMART_CH_SCAN_BUTTON_WIDTH = 160, eMENU_WIZ_SMART_CH_SCAN_BUTTON_DESC_WIDTH = (eWIDTH - eMENU_WIZ_CH_SCAN_FIRST_BUTTON_X - eMENU_WIZ_CH_SCAN_BUTTON_WIDTH - eSCREEN_ACTION_SAFE_X), eMENU_WIZ_SMART_CH_SCAN_BUTTON_DESC_HEIGHT = 75, eMENU_WIZ_SMART_CH_SCAN_BUTTON_INC_Y = 65, eMENU_WIZ_DONE_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 20), eMENU_WIZ_DONE_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT + 65), eMENU_WIZ_DONE_BUTTON_WIDTH = 150, eMENU_WIZ_DONE_BUTTON_DESC_WIDTH = (eWIDTH - eMENU_WIZ_DONE_FIRST_BUTTON_X - eMENU_WIZ_DONE_BUTTON_WIDTH - eSCREEN_ACTION_SAFE_X), eMENU_WIZ_DONE_BUTTON_DESC_HEIGHT = 75, eMENU_WIZ_DONE_BUTTON_INC_Y = 75, eMENU_AUTO_POWER_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 20), eMENU_AUTO_POWER_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT-40), eMENU_AUTO_POWER_BUTTON_WIDTH = 180, eMENU_AUTO_POWER_BUTTON_DESC_WIDTH = (eWIDTH - eMENU_AUTO_POWER_FIRST_BUTTON_X - eMENU_AUTO_POWER_BUTTON_WIDTH - eSCREEN_ACTION_SAFE_X), eMENU_AUTO_POWER_BUTTON_DESC_HEIGHT = 75, eMENU_AUTO_POWER_BUTTON_INC_Y = 65, eMENU_TIMEZONE_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 20), eMENU_TIMEZONE_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT-56), eMENU_TIMEZONE_BUTTON_WIDTH = 200, eMENU_TIMEZONE_BUTTON_DESC_WIDTH = (eWIDTH - eMENU_TIMEZONE_FIRST_BUTTON_X - eMENU_TIMEZONE_BUTTON_WIDTH - eSCREEN_ACTION_SAFE_X), eMENU_TIMEZONE_BUTTON_DESC_HEIGHT = 75, eMENU_TIMEZONE_BUTTON_INC_Y = 45, eMENU_RATINGS_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 20), eMENU_RATINGS_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT + 5), eMENU_RATINGS_BUTTON_WIDTH = 196, eMENU_RATINGS_BUTTON_DESC_WIDTH = (eWIDTH - eMENU_RATINGS_FIRST_BUTTON_X - eMENU_RATINGS_BUTTON_WIDTH - eSCREEN_ACTION_SAFE_X), eMENU_RATINGS_BUTTON_DESC_HEIGHT = 75, eMENU_RATINGS_BUTTON_INC_Y = 60, eMENU_RATINGS_LOCK_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 20), eMENU_RATINGS_LOCK_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT - 35), eMENU_RATINGS_LOCK_BUTTON_WIDTH = 200, eMENU_RATINGS_LOCK_BUTTON_DESC_WIDTH = (eWIDTH - eMENU_RATINGS_LOCK_FIRST_BUTTON_X - eMENU_RATINGS_LOCK_BUTTON_WIDTH - eSCREEN_ACTION_SAFE_X), eMENU_RATINGS_LOCK_BUTTON_DESC_HEIGHT = 75, eMENU_RATINGS_LOCK_BUTTON_INC_Y = 75, eMENU_RATINGS_LIMITS_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 20), eMENU_RATINGS_LIMITS_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT + 5), eMENU_RATINGS_LIMITS_BUTTON_WIDTH = 156, eMENU_RATINGS_LIMITS_BUTTON_DESC_WIDTH = (eWIDTH - eMENU_RATINGS_LIMITS_FIRST_BUTTON_X - eMENU_RATINGS_LIMITS_BUTTON_WIDTH - eSCREEN_ACTION_SAFE_X), eMENU_RATINGS_LIMITS_BUTTON_DESC_HEIGHT= 75, eMENU_RATINGS_LIMITS_BUTTON_INC_Y = 55, eMENU_RATINGS_TV_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 50), eMENU_RATINGS_RRT_DIM_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 110), eMENU_RATINGS_RRT_DIM_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT - 48), eMENU_RATINGS_RRT_DIM_BUTTON_INC_Y = 28, eMENU_RATINGS_RRT_DIM_BUTTON_WIDTH = 350, eMENU_RATINGS_RRT_DIM_BUTTON_HEIGHT = 25, eMENU_RATINGS_RRT_VAL_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 110), eMENU_RATINGS_RRT_VAL_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT - 48), eMENU_RATINGS_RRT_VAL_BUTTON_INC_Y = 28, eMENU_RATINGS_RRT_VAL_BUTTON_WIDTH = 350, eMENU_RATINGS_RRT_VAL_BUTTON_HEIGHT = 25, eMENU_RATINGS_RRT_UPDATE_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 20), eMENU_RATINGS_RRT_UPDATE_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT - 15), eMENU_RATINGS_RRT_UPDATE_BUTTON_INC_Y = 75, eMENU_RATINGS_RRT_UPDATE_BUTTON_WIDTH = 200, eMENU_RATINGS_TV_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT - 35), eMENU_RATINGS_TV_DLSV_FIRST_BUTTON_X = eMENU_RATINGS_TV_FIRST_BUTTON_X + 80, eMENU_RATINGS_TV_GRID_BUTTON_WIDTH = 120, eMENU_RATINGS_TV_DLSV_GRID_BUTTON_WIDTH= 70, eMENU_RATINGS_TV_BUTTON_WIDTH = 150, eMENU_RATINGS_TV_BUTTON_DESC_WIDTH = (eWIDTH - eMENU_RATINGS_TV_FIRST_BUTTON_X - eMENU_RATINGS_TV_BUTTON_WIDTH - eSCREEN_ACTION_SAFE_X), eMENU_RATINGS_TV_BUTTON_DESC_HEIGHT = 75, eMENU_RATINGS_TV_BUTTON_INC_Y = 40, eMENU_RATINGS_MOVIES_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 15), eMENU_RATINGS_MOVIES_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT - 35), eMENU_RATINGS_MOVIES_BUTTON_WIDTH = 126, eMENU_RATINGS_MOVIES_BUTTON_DESC_WIDTH = (eWIDTH - eMENU_RATINGS_MOVIES_FIRST_BUTTON_X - eMENU_RATINGS_MOVIES_BUTTON_WIDTH - eSCREEN_ACTION_SAFE_X), eMENU_RATINGS_MOVIES_BUTTON_DESC_HEIGHT= 75, eMENU_RATINGS_MOVIES_BUTTON_INC_Y = 33, eMENU_CONTENT_MA_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 30), eMENU_CONTENT_MA_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT - 20), eMENU_CONTENT_MA_BUTTON_WIDTH = 140, eMENU_CONTENT_MA_BUTTON_DESC_WIDTH = (eWIDTH - eMENU_CONTENT_MA_FIRST_BUTTON_X - eMENU_CONTENT_MA_BUTTON_WIDTH - eSCREEN_ACTION_SAFE_X), eMENU_CONTENT_MA_BUTTON_DESC_HEIGHT = 75, eMENU_CONTENT_MA_BUTTON_INC_Y = 50, eMENU_CONTENT_14_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 60), eMENU_CONTENT_14_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT - 40), eMENU_CONTENT_14_BUTTON_WIDTH = 140, eMENU_CONTENT_14_BUTTON_DESC_WIDTH = (eWIDTH - eMENU_CONTENT_14_FIRST_BUTTON_X - eMENU_CONTENT_14_BUTTON_WIDTH - eSCREEN_ACTION_SAFE_X), eMENU_CONTENT_14_BUTTON_DESC_HEIGHT = 75, eMENU_CONTENT_14_BUTTON_INC_Y = 50, eMENU_CONTENT_PG_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 50), eMENU_CONTENT_PG_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT - 40), eMENU_CONTENT_PG_BUTTON_WIDTH = 140, eMENU_CONTENT_PG_BUTTON_DESC_WIDTH = (eWIDTH - eMENU_CONTENT_PG_FIRST_BUTTON_X - eMENU_CONTENT_PG_BUTTON_WIDTH - eSCREEN_ACTION_SAFE_X), eMENU_CONTENT_PG_BUTTON_DESC_HEIGHT = 75, eMENU_CONTENT_PG_BUTTON_INC_Y = 50, eMENU_CONTENT_Y7_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 70), eMENU_CONTENT_Y7_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT - 10), eMENU_CONTENT_Y7_BUTTON_WIDTH = 140, eMENU_CONTENT_Y7_BUTTON_DESC_WIDTH = (eWIDTH - eMENU_CONTENT_Y7_FIRST_BUTTON_X - eMENU_CONTENT_Y7_BUTTON_WIDTH - eSCREEN_ACTION_SAFE_X), eMENU_CONTENT_Y7_BUTTON_DESC_HEIGHT = 75, eMENU_CONTENT_Y7_BUTTON_INC_Y = 50, ePIN_INC_X = 10, ePIN_WIDTH = 76, ePIN_HEIGHT = 76, ePIN_X = eSCREEN_ACTION_SAFE_X + (eSCREEN_ACTION_SAFE_WIDTH / 2) - (((ePIN_WIDTH * 4) + (ePIN_INC_X * 3)) / 2) + 1, ePIN_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT + 40), eMENU_WRONG_PIN_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 20), eMENU_WRONG_PIN_FIRST_BUTTON_Y = (eMENU_TITLE_DESC_TEXT_Y + eMENU_TITLE_DESC_TEXT_HEIGHT + 30), eMENU_WRONG_PIN_BUTTON_WIDTH = 140, eMENU_WRONG_PIN_BUTTON_DESC_WIDTH = (eWIDTH - eMENU_WRONG_PIN_FIRST_BUTTON_X - eMENU_WRONG_PIN_BUTTON_WIDTH - eSCREEN_ACTION_SAFE_X), eMENU_WRONG_PIN_BUTTON_DESC_HEIGHT = 75, eMENU_WRONG_PIN_BUTTON_INC_Y = 75, eMENU_RETRY_BUTTON_WIDTH = 140, eBANNER_WIDTH_OFFSET = 30, eBANNER_X = eSCREEN_ACTION_SAFE_X + eBANNER_WIDTH_OFFSET, eBANNER_Y = eSCREEN_ACTION_SAFE_Y + 20, eBANNER_WIDTH = eSCREEN_ACTION_SAFE_WIDTH - (2 * eBANNER_WIDTH_OFFSET), eBANNER_SMALL_HEIGHT = 110, eBANNER_LARGE_HEIGHT = 130, eBANNER_TITLE_X = eBANNER_X + 10, eBANNER_TITLE_Y = eBANNER_Y + 10, eBANNER_TITLE_WIDTH = eBANNER_WIDTH - 125, eBANNER_TITLE_HEIGHT = 20, eBANNER_CH_NUM_WIDTH = 100, eBANNER_CH_NUM_HEIGHT = eBANNER_TITLE_HEIGHT, eBANNER_CH_NUM_X = eBANNER_X + eBANNER_WIDTH - eBANNER_CH_NUM_WIDTH, eBANNER_CH_NUM_Y = eBANNER_TITLE_Y, eBANNER_CALLSIGN_WIDTH = 100, eBANNER_CALLSIGN_HEIGHT = eBANNER_TITLE_HEIGHT, eBANNER_CALLSIGN_X = eBANNER_X + eBANNER_WIDTH - eBANNER_CALLSIGN_WIDTH, eBANNER_CALLSIGN_Y = eBANNER_TITLE_Y + eBANNER_CH_NUM_HEIGHT + 5, eBANNER_NEXT_TITLE_X = eBANNER_X + 100, eBANNER_NEXT_TITLE_Y = eBANNER_CALLSIGN_Y, eBANNER_EPISODE_WIDTH = 380, eBANNER_EPISODE_HEIGHT = eBANNER_TITLE_HEIGHT, eBANNER_EPISODE_X = eBANNER_TITLE_X, eBANNER_EPISODE_Y = eBANNER_CALLSIGN_Y, eBANNER_TIME_WIDTH = 100, eBANNER_TIME_HEIGHT = eBANNER_TITLE_HEIGHT, eBANNER_TIME_X = eBANNER_X + eBANNER_WIDTH - eBANNER_TIME_WIDTH, eBANNER_TIME_Y = eBANNER_CALLSIGN_Y + eBANNER_CALLSIGN_HEIGHT + 5, eBANNER_RATINGS_WIDTH = eBANNER_WIDTH, eBANNER_RATINGS_HEIGHT = eBANNER_TITLE_HEIGHT, eBANNER_RATINGS_X = eBANNER_TITLE_X, eBANNER_RATINGS_Y = eBANNER_TIME_Y + eBANNER_TIME_HEIGHT + 5, eBANNER_SAP_WIDTH = 40, eBANNER_SAP_HEIGHT = eBANNER_TITLE_HEIGHT, eBANNER_SAP_X = eBANNER_TIME_X - eBANNER_SAP_WIDTH - 5, eBANNER_SAP_Y = eBANNER_TIME_Y, eBANNER_DESC_WIDTH = eBANNER_WIDTH - 20, eBANNER_DESC_HEIGHT = eBANNER_LARGE_HEIGHT - 30, eBANNER_DESC_X = eBANNER_X + 10, eBANNER_DESC_Y = eBANNER_Y + eBANNER_SMALL_HEIGHT + 10, eBANNER_DESC_LINE_SPACING = 6, eBANNER_STATUS_HEIGHT = 105, eBANNER_STATUS_TITLE_ONLY_HEIGHT = 40, eBANNER_STATUS_WIDTH = eBANNER_WIDTH, eBANNER_STATUS_X = eBANNER_X, eBANNER_STATUS_Y = eSCREEN_ACTION_SAFE_Y + eSCREEN_ACTION_SAFE_HEIGHT - eBANNER_STATUS_HEIGHT - 20, eBANNER_STATUS_TITLE_ONLY_Y_OFFSET = 65, eBANNER_POPUP_TITLE_X = eBANNER_STATUS_X + 10, eBANNER_POPUP_TITLE_Y = eBANNER_STATUS_Y + 10, eBANNER_POPUP_TITLE_WIDTH = eBANNER_STATUS_WIDTH - 125, eBANNER_POPUP_VOL_TITLE_WIDTH = 40, eBANNER_POPUP_TITLE_HEIGHT = 22, eBANNER_POPUP_DESC_X = eBANNER_STATUS_X + 10, eBANNER_POPUP_DESC_Y = eBANNER_POPUP_TITLE_Y + eBANNER_POPUP_TITLE_HEIGHT + 5, eBANNER_POPUP_DESC_WIDTH = eBANNER_STATUS_WIDTH - 20, eBANNER_POPUP_DESC_HEIGHT = eBANNER_STATUS_Y + eBANNER_STATUS_HEIGHT - 10 - eBANNER_POPUP_DESC_Y, eBANNER_SIGNAL_X = eBANNER_X + 10, eBANNER_SIGNAL_Y = eBANNER_TIME_Y + 5, eBANNER_SIGNAL_WIDTH = 55, eBANNER_SIGNAL_HEIGHT = 10, eBANNER_START_END_TIME_X = eBANNER_SIGNAL_X + eBANNER_SIGNAL_WIDTH + 35, eBANNER_START_END_TIME_Y = eBANNER_TIME_Y, eBANNER_START_END_TIME_WIDTH = 180, eBANNER_START_END_TIME_HEIGHT = eBANNER_TIME_HEIGHT, eMENU_FIRST_BUTTON_X = (eSCREEN_ACTION_SAFE_X + 30), eMENU_BUTTON_WIDTH = 186, eMENU_BUTTON_INC_Y = 50, eMENU_FIRST_BUTTON_Y = (eSCREEN_ACTION_SAFE_Y + 85), eMENU_ITEM_DESC_X = (180 + 60 + 4 + eSCREEN_ACTION_SAFE_X), eMENU_ITEM_DESC_Y = (90 + 2 + eSCREEN_ACTION_SAFE_Y), eMENU_INFO_X = (10 + eSCREEN_ACTION_SAFE_X), eMENU_INFO_Y = (eINFO_AREA_Y + 5), eMENU_INFO_LINE_SPACING = 4, ePROGRESS_X = 130, ePROGRESS_Y = 220, ePROGRESS_WIDTH = 400, ePROGRESS_HEIGHT = 50, ePROGRESS_LABEL_SPACING = 6, ePROGRESS_VOLUME_X = eBANNER_POPUP_TITLE_X + 175, ePROGRESS_VOLUME_WIDTH = 260, ePROGRESS_VOLUME_HEIGHT = 25, ePROGRESS_GUIDE_X = eBANNER_TITLE_X + 430, ePROGRESS_GUIDE_Y = eBANNER_TITLE_Y - 10, ePROGRESS_GUIDE_WIDTH = 80, ePROGRESS_GUIDE_HEIGHT = 25, ePROGRESS_GUIDE_TEXT_X = ePROGRESS_GUIDE_X - 110, ePROGRESS_GUIDE_TEXT_Y = ePROGRESS_GUIDE_Y + 5, ePROGRESS_GUIDE_TEXT_WIDTH = 100, ePROGRESS_GUIDE_TEXT_HEIGHT = 50, eBUTTON_HEIGHT = 40, eBUTTON_HEIGHT_RATINGS = 30, eBUTTON_BEVEL_GRADIENT_STEP = 2, eBUTTON_MARGIN_X = 4, eBUTTON_MARGIN_RIGHT = 70, eBUTTON_RADIO_BOX_WIDTH = 20, eBUTTON_RADIO_BOX_DOT_WIDTH = 4, eBUTTON_RADIO_BOX_BORDER = 4, eBUTTON_RADIO_BOX_MARGIN_X = 10, eBUTTON_PROGRESS_BORDER = 4, eBUTTON_VOL_PROGRESS_BORDER = 2, eMENU_TEXT_DROPSHADOW = 2, }bscreen_layout_t; /* Font Size Enum */ typedef enum bapp_font_size_t { eFONT_SIZE_SMALL, eFONT_SIZE_MED, eFONT_SIZE_LARGE, eFONT_SIZE_MAX }bapp_font_size_t; /* Screen ID Enum */ typedef enum bapp_screen_id_t { eSCREEN_NULL, eSCREEN_MAIN, eSCREEN_PICTURE, eSCREEN_SOUND, eSCREEN_AV, eSCREEN_ANTENNA, #if 0 eSCREEN_CAPTIONS, eSCREEN_CAPTIONS_ON_OFF, eSCREEN_CAPTIONS_BASIC, #endif eSCREEN_CAPTIONS_ADVANCED, eSCREEN_CAPTIONS_FONT_OPTIONS, eSCREEN_CAPTIONS_BACK_OPTIONS, eSCREEN_CAPTIONS_FONT, eSCREEN_CAPTIONS_FONT_SIZE, eSCREEN_CAPTIONS_FONT_STYLE, eSCREEN_CAPTIONS_FONT_COLOR, eSCREEN_CAPTIONS_FONT_OPACITY, eSCREEN_CAPTIONS_BACK_COLOR, eSCREEN_CAPTIONS_BACK_OPACITY, eSCREEN_CAPTIONS_EDGE_COLOR, eSCREEN_CAPTIONS_EDGE_TYPE, eSCREEN_CAPTIONS_RESET, eSCREEN_LANGUAGE, eSCREEN_SETUP, eSCREEN_CH_SCAN, eSCREEN_SMART_CH_SCAN, eSCREEN_CH_SCAN_PROGRESS, eSCREEN_RESET, eSCREEN_WIZ_WELCOME, eSCREEN_WIZ_LANGUAGE, eSCREEN_WIZ_CH_SCAN, eSCREEN_WIZ_SMART_CH_SCAN, eSCREEN_WIZ_PIN_NEW, eSCREEN_WIZ_PIN_CONFIRM, eSCREEN_WIZ_MISMATCHED_PINS, eSCREEN_WIZ_DONE, eSCREEN_AUTO_POWER, eSCREEN_RATINGS, eSCREEN_RATINGS_LOCK, eSCREEN_RATINGS_LIMITS, eSCREEN_RATINGS_TV, eSCREEN_RATINGS_MOVIES, eSCREEN_RATINGS_RRT_DIM, eSCREEN_RATINGS_RRT_VAL, eSCREEN_RATINGS_RRT_UPDATE, eSCREEN_PIN_VERIFY_LIVE, eSCREEN_PIN_VERIFY_RATINGS, eSCREEN_PIN_VERIFY_RESET, eSCREEN_PIN_NEW, eSCREEN_PIN_CONFIRM, eSCREEN_WRONG_PIN_LIVE, eSCREEN_WRONG_PIN_RATINGS, eSCREEN_WRONG_PIN_RESET, eSCREEN_MISMATCHED_PINS, eSCREEN_BANNER_SMALL, eSCREEN_GUIDE, eSCREEN_SCREENSAVER, eSCREEN_POWER_OFF, eSCREEN_TIMEZONE, eSCREEN_STATUS, eSCREEN_DEBUG, eSCREEN_MAX }bapp_screen_id_t; /* Types of buttons and attibutes*/ typedef enum bbutton_type_t { eBUTTON_MENU = 0x1, eBUTTON_RADIO = 0x2, eBUTTON_CHECK = 0x4, eBUTTON_CHECK_LOCK = 0x8, eBUTTON_DESC_BOX = 0x10, eBUTTON_MAX }bbutton_type_t; /* Button states */ typedef enum bbutton_state_t { eBUTTON_STATE_OFF = 0x0, eBUTTON_STATE_ON = 0x1, eBUTTON_STATE_SELECTED = 0x2, eBUTTON_STATE_MAX }bbutton_state_t; typedef enum tv_ratings_position_t { ePOS_TV_Y, ePOS_TV_Y7, ePOS_TV_Y7_FV, ePOS_TV_G, ePOS_TV_PG, ePOS_TV_PG_D, ePOS_TV_PG_L, ePOS_TV_PG_S, ePOS_TV_PG_V, ePOS_TV_14, ePOS_TV_14_D, ePOS_TV_14_L, ePOS_TV_14_S, ePOS_TV_14_V, ePOS_TV_MA, ePOS_TV_MA_L, ePOS_TV_MA_S, ePOS_TV_MA_V, ePOS_TV_LAST }tv_ratings_position_t; /* Button info structure */ typedef struct bbutton_t { bbutton_type_t type; unsigned short x; unsigned short y; unsigned short width; unsigned short height; btext_id_t text_id; btext_id_t desc_text_id; bapp_screen_id_t next_screen_id; bapp_screen_id_t next_screen_back_id; unsigned short right_justify_text; unsigned int background_color; }bbutton_t; /* Types of events */ typedef enum bevent_type_t { eS_EVENT_IR, eS_EVENT_IDLE, eS_EVENT_SETUP, eS_EVENT_SETUP_DONE, eS_EVENT_SELECTED, eS_EVENT_CHECKED, eS_EVENT_PROGRESS, eS_EVENT_DONE, eS_EVENT_REDRAW, eS_EVENT_CANCEL, eS_EVENT_MAX }bevent_type_t; /* Screen event structure */ typedef struct bscreen_event_t { bevent_type_t type; unsigned int id; void *data; }bscreen_event_t; /* Screen data structure */ typedef struct bscreen_t { btext_id_t title_text_id; btext_id_t desc_text_id; btext_id_t help_text_id; uint16_t top_banner_height; unsigned char button_selection; unsigned char button_checked; unsigned char num_buttons; unsigned int idle_timeout; bapp_screen_id_t last_screen_id; bbutton_t * p_button_array; void (*draw)(void *p_app, void *p_screen); int (*handle_event)(void *p_app, void *p_screen, bscreen_event_t *p_event); unsigned int local_state; }bscreen_t; /* Summary: screen draw callback functions. */ void screen_null_draw(void *v_app, void *v_screen); /* Summary: screen event handler callback functions. */ int screen_picture_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_sound_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_antenna_event(void *v_app, void *v_screen, bscreen_event_t *p_event); #if 0 int screen_captions_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_captions_on_off_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_captions_basic_event(void *v_app, void *v_screen, bscreen_event_t *p_event); #endif int screen_captions_advanced_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_captions_font_options_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_captions_back_options_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_captions_font_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_captions_font_size_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_captions_font_style_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_captions_font_color_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_captions_font_opacity_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_captions_back_color_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_captions_back_opacity_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_captions_edge_color_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_captions_edge_type_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_captions_reset_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_language_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_setup_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_ch_scan_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_ch_scan_progress_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_reset_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_wiz_welcome_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_wiz_language_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_wiz_ch_scan_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_wiz_done_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_auto_power_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_ratings_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_ratings_lock_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_ratings_limits_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_ratings_tv_event(void *v_app, void *v_screen, bscreen_event_t *p_event); const int screen_ratings_tv_pos2dim(int button_position); const int screen_ratings_tv_pos2value(int button_position); const int screen_ratings_tv_xds2pos(int xds_tv_rating); const int screen_ratings_movie_xds2pos(int xds_movie_rating); int screen_ratings_movies_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_ratings_rrt_dim_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_ratings_rrt_val_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_ratings_rrt_update_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_pin_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_wrong_pin_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_banner_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_guide_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_screensaver_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int screen_power_off_event(void *v_app, void *v_screen, bscreen_event_t *p_event); /* Summary: default screen callback functions. */ void bscreen_default_setup(void *v_app, void *v_screen); int bscreen_default_idle(void *v_app, void *v_screen); int bscreen_default_event(void *v_app, void *v_screen, bscreen_event_t *p_event); int bscreen_tv_event(void *v_app, void *v_screen, bscreen_event_t *p_event); void bscreen_default_draw(void *v_app, void *v_screen); void bscreen_antenna_draw(void *v_app, void *v_screen); void bscreen_ch_scan_progress_draw(void *v_app, void *v_screen); void bscreen_wiz_welcome_draw(void *v_app, void *v_screen); void bscreen_wiz_ch_scan_draw(void *v_app, void *v_screen); void bscreen_wiz_done_draw(void *v_app, void *v_screen); void bscreen_ratings_tv_draw(void *v_app, void *v_screen); void bscreen_pin_draw(void *v_app, void *v_screen); void bscreen_auto_power_draw(void *v_app, void *v_screen); void bscreen_popup(void *v_app, void *v_screen); void bscreen_popup_draw(void *v_app, void *v_screen, btext_id_t title, btext_id_t desc); void bscreen_banner_draw(void *v_app, void *v_screen); void bscreen_guide_draw(void *v_app, void *v_screen); void bscreen_screensaver_draw(void *v_app, void *v_screen); void bscreen_power_off_draw(void *v_app, void *v_screen); void bscreen_rrt_dim_draw(void *v_app, void *v_screen); void bscreen_rrt_val_draw(void *v_app, void *v_screen); void bscreen_debug_draw(void *v_app, void *v_screen); int bscreen_debug_event(void *v_app, void *v_screen, bscreen_event_t *p_event); void bscreen_status_draw(void *v_app, void *v_screen); int bscreen_status_event(void *v_app, void *v_screen, bscreen_event_t *p_event); void bscreen_timezone_draw(void *v_app, void *v_screen); int bscreen_timezone_event(void *v_app, void *v_screen, bscreen_event_t *p_event); /* Summary: screen button arrays. */ extern bbutton_t g_buttons_main[]; #define g_buttons_main_num 5 extern bbutton_t g_buttons_picture[]; #define g_buttons_picture_num 2 extern bbutton_t g_buttons_sound[]; #define g_buttons_sound_num 2 extern bbutton_t g_buttons_av[]; #define g_buttons_av_num 2 extern bbutton_t g_buttons_language[]; #define g_buttons_language_num 3 extern bbutton_t g_buttons_setup[]; #ifdef CONFIG_EIA_708 #define g_buttons_setup_num 6 #else #define g_buttons_setup_num 5 #endif extern bbutton_t g_buttons_ch_scan[]; #define g_buttons_ch_scan_num 2 extern bbutton_t g_buttons_smart_ch_scan[]; #define g_buttons_smart_ch_scan_num 3 extern bbutton_t g_buttons_reset[]; #define g_buttons_reset_num 2 extern bbutton_t g_buttons_wiz_welcome[]; #define g_buttons_wiz_welcome_num 1 extern bbutton_t g_buttons_wiz_language[]; #define g_buttons_wiz_language_num 3 extern bbutton_t g_buttons_wiz_ch_scan[]; #define g_buttons_wiz_ch_scan_num 2 extern bbutton_t g_buttons_wiz_smart_ch_scan[]; #define g_buttons_wiz_smart_ch_scan_num 3 extern bbutton_t g_buttons_wiz_mismatched_pins[]; #define g_buttons_wiz_mismatched_pins_num 1 extern bbutton_t g_buttons_wiz_done[]; #define g_buttons_wiz_done_num 1 extern bbutton_t g_buttons_auto_power[]; #define g_buttons_auto_power_num 4 extern bbutton_t g_buttons_ratings[]; #define g_buttons_ratings_num 3 extern bbutton_t g_buttons_ratings_lock[]; #define g_buttons_ratings_lock_num 3 extern bbutton_t g_buttons_ratings_limits[]; #define g_buttons_ratings_limits_num 3 extern bbutton_t g_buttons_ratings_tv[]; #define g_buttons_ratings_tv_num ePOS_TV_LAST #if 0 extern bbutton_t g_buttons_captions[]; #define g_buttons_captions_num 3 extern bbutton_t g_buttons_captions_on_off[]; #define g_buttons_captions_on_off_num 2 extern bbutton_t g_buttons_captions_basic[]; #define g_buttons_captions_basic_num 6 #endif extern bbutton_t g_buttons_captions_advanced[]; #define g_buttons_captions_advanced_num 3 extern bbutton_t g_buttons_captions_font_options[]; #define g_buttons_captions_font_options_num 5 extern bbutton_t g_buttons_captions_back_options[]; #define g_buttons_captions_back_options_num 4 extern bbutton_t g_buttons_captions_font[]; #define g_buttons_captions_font_num 8 extern bbutton_t g_buttons_captions_font_size[]; #define g_buttons_captions_font_size_num 4 extern bbutton_t g_buttons_captions_font_style[]; #define g_buttons_captions_font_style_num 3 extern bbutton_t g_buttons_captions_color[]; #define g_buttons_captions_color_num 9 extern bbutton_t g_buttons_captions_font_opacity[]; extern bbutton_t g_buttons_captions_back_opacity[]; #define g_buttons_captions_opacity_num 5 extern bbutton_t g_buttons_captions_reset[]; #define g_buttons_captions_reset_num 2 extern bbutton_t g_buttons_captions_edge_type[]; #define g_buttons_captions_edge_type_num 6 extern bbutton_t g_buttons_captions_font_color[]; #define g_buttons_captions_font_color_num 9 extern bbutton_t g_buttons_captions_edge_color[]; #define g_buttons_captions_edge_color_num 9 extern bbutton_t g_buttons_timezone[]; #define g_buttons_timezone_num 6 extern bbutton_t g_buttons_ratings_movies[]; #define g_buttons_ratings_movies_num 7 #define MAX_RRT_DIM_BUTTONS 9 #define MAX_RRT_VAL_BUTTONS 9 extern bbutton_t g_buttons_ratings_rrt_dim[]; #define g_buttons_ratings_rrt_dim_num MAX_RRT_DIM_BUTTONS; extern bbutton_t g_buttons_ratings_rrt_val[]; #define g_buttons_ratings_rrt_val_num MAX_RRT_VAL_BUTTONS; extern bbutton_t g_buttons_ratings_rrt_update[]; #define g_buttons_ratings_rrt_update_num 2 extern bbutton_t g_buttons_wrong_pin_live[]; #define g_buttons_wrong_pin_live_num 1 extern bbutton_t g_buttons_wrong_pin_ratings[]; #define g_buttons_wrong_pin_ratings_num 2 extern bbutton_t g_buttons_wrong_pin_reset[]; #define g_buttons_wrong_pin_reset_num 2 extern bbutton_t g_buttons_mismatched_pins[]; #define g_buttons_mismatched_pins_num 2 /* Banner state types */ typedef enum banner_mode_t { eLS_BANNER_OFF, eLS_BANNER_SMALL, eLS_BANNER_BIG, eLS_BANNER_MAX }banner_mode_t; typedef struct banner_state_t { char majorCh[3]; char minorCh[3]; unsigned char majorChIndex; unsigned char minorChIndex; unsigned char dot; unsigned char enter; banner_mode_t mode; bscreen_event_t event; unsigned int repeat_timeout; unsigned int repeat_rate; unsigned int timeout; unsigned int ten_key_timeout; unsigned int volume_timeout; char volume_dirty; unsigned int SAP_timeout; char SAP_dirty; unsigned int CC_timeout; char CC_dirty; unsigned int auto_power_restart_timeout; char auto_power_one_min_warning; }banner_state_t; extern banner_state_t g_banner_state; /* Screensaver State */ typedef struct screensaver_state_t { unsigned int image_swap_timeout; }screensaver_state_t; extern screensaver_state_t g_screensaver_state; /* Guide State */ typedef struct guide_state_t { unsigned int selection; int column; unsigned int offset; char ch_num_str[32]; bscreen_event_t event; unsigned int repeat_timeout; unsigned int repeat_rate; unsigned char update_progress; }guide_state_t; extern guide_state_t g_guide_state; /* Summary: Use the this function to get a UNI string. */ void bscreen_get_string( bapp_lang_t e_lang, /* Language enum */ btext_id_t e_text_id, /* Text enum */ unsigned int *p_uni_str, /* Buffer to put UNI string into */ unsigned int *str_len /* The string length. */ ); /* Summary: Draw the buttons for the screen. Description: Draw the buttons for the screen. */ void bscreen_draw_buttons( void *v_app, /* Opaque app reference */ void *v_screen /* Opaque screen reference */ ); /* Summary: Draw a button for the screen. Description: Draw a button for the screen. */ void bscreen_draw_button(void *v_app, /* application structure */ const bbutton_t *p_button, /* button info structure */ int selected, /* Button selected when non-zero */ int checked, /* Button checked when non-zero */ int idx /* button index or -1 for non index button */ ); /* Summary: Draw a button but override the p_button->text_id text with str_text. Description: Draw a button but override the p_button->text_id text with str_text. */ void bscreen_draw_button_custom_text(void *v_app, /* application structure */ const bbutton_t *p_button, /* button info structure */ char *str_text, /* button text to use (overrides p_button->text_id) */ char *str_desc_text, /* description text to use (overrides p_button->desc_text_id) */ int selected, /* Button selected when non-zero */ int checked, /* Button checked when non-zero */ int idx /* button index or -1 for non index button */ ); /* Summary: Draw a progress meter for the screen. Description: Draw a progress meter for the screen. */ void bscreen_draw_progress(void * v_app, /* Opague app reference */ unsigned int x, /* x coord for progress meter */ unsigned int y, /* y coord for progress meter */ unsigned int width, /* width of progress meter */ unsigned int height, /* height of progress meter */ unsigned int border_width, /* width of meter border */ unsigned int border_color, /* color of meter border */ unsigned int background_color, /* background color behind thumb */ unsigned int percent); /* percentage thumb size (0-100) */ /* Summary: Draw a pin entry field for the screen. Description: Draw a pin entry field for the screen. */ void bscreen_draw_pin(void * v_app, /* Opague app reference */ unsigned int x, /* x coord for pin field */ unsigned int y, /* y coord for pin field */ unsigned int width, /* width of pin field */ unsigned int height, /* height of pin field*/ unsigned int inc_x, /* x increment between digits */ unsigned int selection, /* selected digit */ unsigned int field); /* pin field to draw */ /* Summary: Draw signal level meter in banner Description: Draw signal level meter in banner */ void bscreen_draw_banner_signal_level(void * v_app, /* Opaque app reference */ unsigned int signal); /* signal level */ #endif /* BSCREEN_H__ */