view src/ui/bmi/mmiResources.h @ 230:baa738eeb842

FCBM code implemented in first pass
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 01 May 2021 10:05:53 +0000
parents 86375353219d
children
line wrap: on
line source

#ifndef _MMIRESOURCES_H_
#define _MMIRESOURCES_H_ 1


/*******************************************************************************

          CONDAT (UK)

********************************************************************************

 This software product is the property of Condat (UK) Ltd and may not be
 disclosed to any third party without the express permission of the owner.

********************************************************************************

 $Project name: Basic MMI
 $Project code: BMI (6349)
 $Module:   Resource Manager
 $File:       MmiResources.h
 $Revision:   1.0

 $Author:   Condat(UK)
 $Date:       25/10/00

********************************************************************************

 Description:

   Define a simple get text routine to fetch a pointer
   to a textual resource given a resource identifier.

   The resource identifiers are given in the MmiBlkResources.h
   module header

********************************************************************************
 $History: MmiResources.h

    May 15, 2006 DR: OMAPS00075852 - xreddymn
    Added new display zone which is located one line above the softkeys.

    May 10, 2004    REF: CRR 15753  Deepa M.D
    Menuitem provided to set the validity period to maximum.

    25/10/00      Original Condat(UK) BMI version.
    03/10/02        Replaced most of the file with version on branch for issue 1150 (MC, SPR 1242)

 $End

*******************************************************************************/

#include "mmiBlkLangDB.h"


/********************************/
/* Positions depending on the language */
//Positions are now in mmiResources.C

#define LAST_LINE (-1)
#define LAST_LINE_TOP (-51)
#define SECOND_LAST_LINE_TOP (-52)

//#define SCREEN_SIZE_X 160
//#define SCREEN_SIZE_Y 120
//#define CHINESE_MENU_VERTICAL_SIZE 84
//#define STANDARD_MENU_VERTICAL_SIZE 84

//#if ((NBRD == 40) || (NBRD == 41))
//#define COLOURDISPLAY
//#endif


#ifndef LSCREEN
#define SCREEN_SIZE_X               96
#define SCREEN_SIZE_Y               64
#define LINE_HEIGHT                 8
#define CHAR_WIDTH                  6
#define LINE_HEIGHT_LATIN           (LINE_HEIGHT)
#define LINE_HEIGHT_CHINESE         12

#define ALLOFFSET                   (0)
#define MNUOFFSET                   (0)

#else
// by nitin for  QVGA LCD
#if (BOARD==61)
#define SCREEN_SIZE_X               240
#define SCREEN_SIZE_Y               320
#else
#define SCREEN_SIZE_X               176
#define SCREEN_SIZE_Y               220
#endif //(BOARD==61)

#define LINE_HEIGHT                 16
#define CHAR_WIDTH                  6
#define LINE_HEIGHT_CHINESE         (LINE_HEIGHT)
#define LINE_HEIGHT_LATIN           (LINE_HEIGHT)

#define ALLOFFSET                   (LINE_HEIGHT*2)
#define MNUOFFSET                   (LINE_HEIGHT)

#endif
#define ALLBUT1LINE (SCREEN_SIZE_Y-1*LINE_HEIGHT+ALLOFFSET)
#define ALLBUT2LINE (SCREEN_SIZE_Y-2*LINE_HEIGHT+ALLOFFSET)
#define ALLBUT3LINE (SCREEN_SIZE_Y-3*LINE_HEIGHT+ALLOFFSET)
#define MNU3LINE (LINE_HEIGHT*3+MNUOFFSET)



extern int Easy_Text_Available;
//////////////////////////
// Common window sizes  //
//////////////////////////

#define BOOKSEARCH_EDITOR           (ZONE_BOTTOM_LINE)

/* SPR#1428 - SH - New Editor changes */
#ifdef NEW_EDITOR
/* SH - moved here from MmiEditor.h */
//Zone data for drawing windows
#define ZONE_FULL_HEIGHT                0x000F
#define ZONE_TOPHALF_HEIGHT             0x000C
#define ZONE_MIDDLE_HEIGHT              0x0006
#define ZONE_BOTTOMHALF_HEIGHT          0x0003
/* xreddymn OMAPS00075852 May-15-2006
 * This display zone is located one line above the softkeys.
 */
#define ZONE_MIDDLETWOLINES_HEIGHT      0x0002
#define ZONE_BOTTOMTWOLINES_HEIGHT      0x0001
#define ZONE_FULL_WIDTH                 0x00F0
#define ZONE_LEFTHALF_WIDTH             0x00C0
#define ZONE_MIDDLE_WIDTH               0x0060
#define ZONE_RIGHTHALF_WIDTH            0x0030

#define ZONE_ICONS                      0x0100
#define ZONE_TITLE                      0x0200
#define ZONE_CASE_ABC                   0x0400
#define ZONE_SOFTKEYS                   0x1000
#define ZONE_SCROLLBAR                  0x2000


#define ZONE_FULLSCREEN                 (ZONE_FULL_HEIGHT | ZONE_FULL_WIDTH)
#define ZONE_FULLICONS                  (ZONE_ICONS|ZONE_FULL_HEIGHT | ZONE_FULL_WIDTH)
#define ZONE_FULLTITLE                  (ZONE_TITLE|ZONE_FULL_HEIGHT | ZONE_FULL_WIDTH)
#define ZONE_FULLSOFTKEYS               (ZONE_SOFTKEYS|ZONE_FULL_HEIGHT | ZONE_FULL_WIDTH)
#define ZONE_FULL_SK_SCROLL             (ZONE_SOFTKEYS|ZONE_FULL_HEIGHT | ZONE_FULL_WIDTH | ZONE_SCROLLBAR)

#define ZONE_FULL_SK_TITLE              (ZONE_TITLE|ZONE_SOFTKEYS|ZONE_FULL_HEIGHT | ZONE_FULL_WIDTH)
#define ZONE_FULL_SK_TITLE_ALPHA        (ZONE_TITLE|ZONE_SOFTKEYS|ZONE_FULL_HEIGHT | ZONE_FULL_WIDTH | ZONE_CASE_ABC)
#define ZONE_FULL_SK_TITLE_SCROLL       (ZONE_TITLE|ZONE_SOFTKEYS|ZONE_FULL_HEIGHT | ZONE_FULL_WIDTH | ZONE_SCROLLBAR)
#define ZONE_WAP_EDITOR                 (ZONE_TITLE|ZONE_SOFTKEYS|ZONE_FULL_HEIGHT | ZONE_FULL_WIDTH)
#define ZONE_MIDDLE_EDITOR              (ZONE_TITLE|ZONE_SOFTKEYS|ZONE_MIDDLE_WIDTH|ZONE_MIDDLE_HEIGHT)

//Specific editor sizes
#define ZONE_SMALL_EDITOR               (0xFF00)    /* editor for small (one line) editors */
#define ZONE_BORDER_EDITOR              (0xFE00)    /* editors with a border to the left/right - sim toolkit */
#define ZONE_BOTTOM_LINE                (0xFD00)    /* editors for the bottom line */
#define ZONE_BOTTOM_LINE_FIND           (0xFC00)    /* editors on the bottom line after "Find:" */
#endif /* NEW_EDITOR */

#ifndef LSCREEN
#define BOOKDETAILS_EDITOR          0xFF01
#define NUMBER_EDITOR               0xFF02
#define PHONEBOOK_DLG_EDITOR        0xFF03
#define BOOKSDN_EDITOR              0xFF04

//MMIbooksearchwindow
//#define BOOKSEARCH_EDITOR         0xFF05
#define CALL_EDITOR                 0xFF06
#define CALLSCRATCHPAD_EDITOR       0xFF07
#define SERVICE_CREATE_EDITOR       0xFF08
#define PASSWORD_EDITOR             0xFF09
#define EM_CREATE_EDITOR            0xFF0A
#define WIN_DIALLING                0xFF30
#define WIN_DIALLING_CB             0xFF31
#define WIN_DIALLING_SMS            0xFF32
#define WIN_DIALLING_SAT            0xFF33

#define PHNO_EDITOR                 0xFF0C

#define CENTRE_EDITOR               0xFF0D

//And for MMIServices - moved here from mmiservices.c
#define SAT_EDITOR                  0xFF0E

#define RPWD_EDITOR                 0xFF0F

//MMIBookCallDetails
#define PHB_EDITOR                  0xFF10

//MMIPins
#define PIN_EDIT_RESET              0xFF13

//MMITimeDate
#define TIMEDATE_EDITOR_AREA        0xFF15

//#define TIMEDATE_EDITOR_AREA 0,20,70,20
#else
#define BOOKDETAILS_EDITOR          ZONE_FULL_SK_TITLE
#define NUMBER_EDITOR               ZONE_FULL_SK_TITLE
#define PHONEBOOK_DLG_EDITOR        ZONE_FULL_SK_TITLE
#define BOOKSDN_EDITOR              ZONE_FULL_SK_TITLE

//MMIbooksearchwindow
#define CALL_EDITOR                 ZONE_FULL_SK_TITLE
#define CALLSCRATCHPAD_EDITOR       ZONE_FULL_SK_TITLE
#define SERVICE_CREATE_EDITOR       ZONE_FULL_SK_TITLE
#define EM_CREATE_EDITOR            ZONE_FULL_SK_TITLE
#define PASSWORD_EDITOR             ZONE_FULL_SK_TITLE
/* SPR#1428 - SH - New Editor changes - change these so they look better */
#ifdef NEW_EDITOR
#define WIN_DIALLING                (ZONE_ICONS|ZONE_SOFTKEYS|ZONE_FULL_WIDTH|ZONE_BOTTOMTWOLINES_HEIGHT)
/* xreddymn OMAPS00075852 May-15-2006: Changed display zone */
#define WIN_DIALLING_CB             (ZONE_ICONS|ZONE_SOFTKEYS|ZONE_FULL_WIDTH|ZONE_MIDDLETWOLINES_HEIGHT)
#define WIN_DIALLING_SMS            (ZONE_ICONS|ZONE_SOFTKEYS|ZONE_FULL_WIDTH|ZONE_BOTTOMHALF_HEIGHT)
/* xreddymn OMAPS00075852 May-15-2006: Changed display zone */
#define WIN_DIALLING_SAT            (ZONE_ICONS|ZONE_SOFTKEYS|ZONE_FULL_WIDTH|ZONE_MIDDLETWOLINES_HEIGHT)
#else /* NEW_EDITOR */
#define WIN_DIALLING                (ZONE_ICONS|ZONE_SOFTKEYS|ZONE_MIDDLE_WIDTH|ZONE_MIDDLE_HEIGHT)
#define WIN_DIALLING_CB             (ZONE_ICONS|ZONE_SOFTKEYS|ZONE_MIDDLE_WIDTH|ZONE_MIDDLE_HEIGHT)
#define WIN_DIALLING_SMS            (ZONE_ICONS|ZONE_SOFTKEYS|ZONE_FULL_WIDTH|ZONE_BOTTOMHALF_HEIGHT)
#define WIN_DIALLING_SAT            (ZONE_ICONS|ZONE_SOFTKEYS|ZONE_FULL_WIDTH|ZONE_BOTTOMTWOLINES_HEIGHT)
#endif /* NEW_EDITOR */

#define PHNO_EDITOR                 ZONE_FULL_SK_TITLE

#define CENTRE_EDITOR               ZONE_FULL_SK_TITLE

//And for MMIServices - moved here from mmiservices.c
#define SAT_EDITOR                  ZONE_FULL_SK_TITLE

#define RPWD_EDITOR                 ZONE_FULL_SK_TITLE

//MMIBookCallDetails
#define PHB_EDITOR                  ZONE_FULL_SK_TITLE

//MMIPins
#define PIN_EDIT_RESET              ZONE_FULL_SK_TITLE

//MMITimeDate
#define TIMEDATE_EDITOR_AREA        ZONE_FULL_SK_TITLE
//#define TIMEDATE_EDITOR_AREA 0,20,70,20

#endif

//For displaying call information
#define CALLINFO_X_AH       8
#define CALLINFO_X_TAGPOS  35
#define INCALLTIMER_X 24
//For autoredial (no chinese)
#define CALL_AUTOREDIAL_X  20
#define CALL_AUTOREDIAL_Y1 16
#define CALL_AUTOREDIAL_Y2 26
#define CALL_AUTOREDIAL_Y3 36
//Information
#define CALL_INFORMATION_X 24
#define CALL_INFORMATION_Y 16
//txt Please Wait
#define TXTMESSAGE_X 20
#define TXTMUTED_X    8


//From mmidynamenu
// default menu dimensions
#define MENU_LEFT     0
#define MENU_INDENT  10
#define MENU_TOP      0
#define MENU_RIGHT   96
#define MENU_BOTTOM  50

// scroll bar dimensions
#define SCROLL_BAR_LEFT 87
#define SMALL_RECT 91
#define ELEVAT_RECT (SMALL_RECT-2)

//MMIIcons
#define TXTCHARGE_X 16

//MMIIdle
//indent for text on idle screen
    #define IDLEMENUTXT1_X 16
    #define IDLEMENUTXT2_X TXTCHARGE_X


//MMIPins
#define INFO_TEXT_X     0
#define INFO_TEXT_Y     6



extern MfwRect selected_area;

//MMIEditor
#define EDITOR_TOP_LEFT_POS_X   4
#define EDITOR_TOP_LEFT_POS_Y   (Mmi_layout_line_height())
#define EDITOR_HORIZONTAL_SIZE  (SCREEN_SIZE_X - EDITOR_TOP_LEFT_POS_X)
#define EDITOR_VERTICAL_SIZE    (SCREEN_SIZE_Y - 2*Mmi_layout_line_height())
#define EDITOR_COLOR            0
#define EDITOR_FONT             0
#define EDITOR_CONTROLS         0

//MMIGame - connect 4
#ifndef LSCREEN
#define GAME_POS_X      0
#define GAME_POS_Y      8
#define GAME_SCALE_X    5
#define GAME_SCALE_Y    5
#define GAME_NAMEPOSX1 56
#define GAME_NAMEPOSY1 6
#define GAME_NAMEPOSX2 56
#define GAME_NAMEPOSY2 (6+21)
#define GAME_NAMEPOSX3 56
#define GAME_NAMEPOSY3 (6+21)
#define GAME_WINPOSX1 56
#define GAME_WINPOSY1 6
#define GAME_WINPOSX2 56
#define GAME_WINPOSY2 (6+21)

#else
#define GAME_POS_X      ((SCREEN_SIZE_X / 2) - (MAX_X_BOARD*GAME_SCALE_X/2))
#define GAME_POS_Y      (27+15)
#define GAME_SCALE_X    13
#define GAME_SCALE_Y    15

#define GAME_NAMEPOSX1 (SCREEN_SIZE_X/2-36)
#define GAME_NAMEPOSX2 (SCREEN_SIZE_X/2-12)
#define GAME_NAMEPOSX3 (SCREEN_SIZE_X/2+12)
#define GAME_NAMEPOSY1  (0)
#define GAME_NAMEPOSY2  (0)
#define GAME_NAMEPOSY3  (0)
#define GAME_WINPOSX1 (SCREEN_SIZE_X/2-12)
#define GAME_WINPOSX2 (SCREEN_SIZE_X/2+12)
#define GAME_WINPOSY1   (0)
#define GAME_WINPOSY2   (0)

#endif

#define	FC_SPLASH_SCREEN_SMALLBW	1

#ifndef COLOURDISPLAY

#if FC_SPLASH_SCREEN_SMALLBW
#define	WELCOME_ANI_POS_X	8
#define	WELCOME_ANI_POS_Y	14
#else
#define WELCOME_ANI_POS_X (SCREEN_SIZE_X  - 56 )/2
#define WELCOME_ANI_POS_Y (SCREEN_SIZE_Y - (42+4))/2
#endif

#else

#define WELCOME_ANI_POS_X ((SCREEN_SIZE_X  - 176 )/2)
#define WELCOME_ANI_POS_Y ((SCREEN_SIZE_Y - 60)/3) //top 1/3 of screen

#endif

//Definitions for 'pop-up' windows with 1/2 lines of text
#define DLG_WINDOW1_LINE 10,20,60,30, 0
#define DLG_WINDOW2_LINE 10,20,60,45, 0

/*NDH - 13/01/04 - CQ 16753 - Redefine these values in accordance with GSM 03.40, para 9.2.3.12.1 */
/*API - 28/07/03 - CQ10203 - Add these defines for the Validity Period of an SMS*/
#define VP_REL_1_HOUR		11
#define VP_REL_12_HOURS		143
#define VP_REL_24_HOURS		167
#define VP_REL_1_WEEK		173
#define VP_REL_MAXIMUM		255	//  May 10, 2004    REF: CRR 15753  Deepa M.D
/*API - CQ10203 END*/
/* NDH - CQ16753 - END */

extern MfwRect menuArea;
extern MfwRect menuNamesArea;
extern MfwRect menuListArea;
extern MfwRect editor_menuArea;
extern MfwRect network_menuArea;
extern MfwRect sat_setup_menuArea;
extern MfwRect sat_select_menuArea;
extern MfwRect smscb_M_CBArea;
extern MfwRect smscb_M_CB_ACTArea;
extern MfwRect smscb_M_CB_TOPArea;
extern MfwRect smscb_M_CB_TOP_CONSArea;
extern MfwRect smscb_M_CB_TOP_CONS_SELArea;
extern MfwRect smscb_CBArea;
extern MfwRect smscb_CB_OPTArea;
extern MfwRect readSMS_menuArea;

#ifdef FF_MMI_FILEMANAGER
extern MfwRect FileType_menuArea;
#endif

extern MfwRect SmsRead_R_OPTArea;
extern MfwRect SmsSend_R_OPTArea;
extern MfwRect melody_menuArea;
extern MfwRect MAINICONarea;
extern MfwRect MAINICONareaColour;  //For the larger colour main icons



/********************************/



/* Define a simple get text routine to fetch a pointer
   to a textual resource given a resource identifier.

   The resource identifiers are given in the MmiBlkResources.h
   module header
*/


char *MmiRsrcGetText( int Id );

void MmiRsrcSetLang(int lang );/*MC SPR 1150 */
void Mmi_Set2English( void );
void Mmi_Set2German( void );
void Mmi_Set2Chinese( void );
#ifdef LANG_CHANGE_TEST
void Mmi_Set2Martian( void );/*MC SPR 1150 */
#endif
void Mmi_Set2Language(int lang);
UBYTE Mmi_getCurrentLanguage(void);

UBYTE Mmi_layout_line(int lineNo);  //GW
UBYTE Mmi_getCurrentLanguage(void); //GW
//The following are redundant - maintain for compatibility only
#define Mmi_layout_first_line(  )   Mmi_layout_line(1)
#define Mmi_layout_second_line( )   Mmi_layout_line(2)
#define Mmi_layout_third_line(  )   Mmi_layout_line(3)
#define Mmi_layout_fourth_line( )   Mmi_layout_line(4)
#define Mmi_layout_fifth_line(  )   Mmi_layout_line(5)

UBYTE Mmi_number_of_lines_without_icons_on_top(void);
UBYTE Mmi_number_of_lines_with_icons_on_top(void);

UBYTE Mmi_layout_softkeyHeight( void );
UBYTE Mmi_layout_line_height(void);
UBYTE Mmi_layout_softkeyArea( MfwRect* rect );
UBYTE Mmi_layout_TitleHeight( void );
UBYTE Mmi_layout_IconHeight( void );
UBYTE Mmi_layout_line_icons(int lineNo);


void Mmi_layout_areas(void);

void Mmi_set_area_attr(MfwRect* area,U16 px,U16 py,U16 sx,U16 sy);
void resources_destroy (T_MFW_HND own_window);
BOOL resources_reset_language(char* string);
typedef struct {
    U16 id;
    U16 count;
    U32 attributes;
} T_RESOURCE_DIRECTORY_HEADER;

// This type identifies the various resources that are listable in the file.
typedef enum
{
    RES_FIRST_RESOURCE_TYPE=0,
    RES_LANGUAGE_TABLE,
    RES_LANGUAGE,
    RES_STRING,
    RES_MELODY_TABLE,
    RES_MELODY,
    RES_LAST_RESOURCE_TYPE
} res_ResourceID_type;

typedef const T_RESOURCE_DIRECTORY_HEADER * RESOURCE_DIRECTORY_HEADER;

typedef unsigned char ST_DIMENSION ;

/*MC SPR 1111*/
typedef struct /*Entry in table of country codes*/
{
    char* country_dialling_code; /*Dialling code(4 digits)*/
    UBYTE   language;           /*language (e.g. ENGLISH_LANGUAGE defined above)*/
}CountryLangEntry;

typedef struct /*Table of country codes and associated languages*/
{
    UBYTE no_of_entries;
    CountryLangEntry* entries;
} CountryLanguageTable;

/*MC end*/
void resources_setColour(unsigned int colIndex);
void resources_setSKColour(unsigned int colIndex);
void resources_setHLColour(unsigned int colIndex);
void resources_setTitleColour(unsigned int colIndex);

void resources_restoreColour( void );
void resources_restoreMnuColour(void);

void resources_setColourMnuItem( int txtId);

int res_getTitleHeight( void );

void res_set_SIMToolkit_title_string(char* SAT_string);

int resources_truncate_to_screen_width(char* IpStr, int IpLen, char* OpStr, int OutLen,
    int ScreenWidth, BOOL unicode);

void resetFactoryColour ( void );
// API - 13-01-03 - 1550
void resetFactoryBackground( void );

/*API - 27/07/03 - CQ10203 - Function Definition for SMS VP reset*/
void resetSMSValidityPeriod( void );
/*API - CQ10203 - END*/

void colour_initial_colours (void);

/* Added to remove warnings Aug-11*/
EXTERN U32 dspl_SetBgdColour (U32 inColour);
EXTERN U32 dspl_SetFgdColour (U32 inColour);
EXTERN void icon_setMainBgdBitmap (int bmpId);
EXTERN void info_screen (T_MFW_HND win, USHORT TextId, USHORT TextId2,T_VOID_FUNC  Callback);
/* End - remove warning Aug -11 */

/*******************************************************************************

                                End of File

*******************************************************************************/

#endif