view src/ui/bmi/mmiDialogs.h @ 275:79cfefc1e2b4

audio mode load: gracefully handle mode files of wrong AEC version Unfortunately our change of enabling L1_NEW_AEC (which is necessary in order to bring our Calypso ARM fw into match with the underlying DSP reality) brings along a change in the audio mode file binary format and file size - all those new tunable AEC parameters do need to be stored somewhere, after all. But we already have existing mode files in the old format, and setting AEC config to garbage when loading old audio modes (which is what would happen without the present change) is not an appealing proposition. The solution implemented in the present change is as follows: the audio mode loading code checks the file size, and if it differs from the active version of T_AUDIO_MODE, the T_AUDIO_AEC_CFG structure is cleared - set to the default (disabled AEC) for the compiled type of AEC. We got lucky in that this varying T_AUDIO_AEC_CFG structure sits at the end of T_AUDIO_MODE!
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 30 Jul 2021 02:55:48 +0000
parents 62480f597962
children
line wrap: on
line source

//#error MmiDialogs includiert
#ifndef _DEF_MMI_DIALOGS_H_
#define _DEF_MMI_DIALOGS_H_
/*******************************************************************************

          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:       MmiDialogs
 $File:         MmiDialogs.h
 $Revision:     1.0

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

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

 Description:

  MMI Information dialogue handling.


********************************************************************************
 $History: MmiDialogs.h

    Apr 03, 2007    ER: OMAPS00122561  x0pleela
    Description:   [ACI] Phone lock feature has to be supported by ACI
    Solution: Phone Lock ER implementation

    Mar 11, 2006   REF:DR:OMAPS00061467  x0035544
    Description:   27.22.4.13.3 SET UP CALL (display of icons) fails.
    Solution: added the new structure T_SAT_IconData and defined its variable at the structures T_dialog_info
    and T_DISPLAY_DATA.

    Feb 24, 2005 REF: CRR MMI-SPR-29102 xnkulkar
       Description: The phone resets when user presses the ''End All' key while the SMSs are being deleted.
       Solution: As the user has already confirmed that all SMS messages are to be deleted, ''End All' key
            press is ignored till the delete operation is over.
          xrashmic 08 Feb, 2005 MMI-SPR-27853
        Moved the T_dialog_info structure from MmiDialogs.c to MmiDialogs.h


        xrashmic 08 Feb, 2005 MMI-SPR-27853
        Moved the T_dialog_info structure from MmiDialogs.c to MmiDialogs.h

     Jun 04,2004 CRR:13601 xpradipg - SASKEN
     Description: CFO interrogation display : Timer to long
     Fix: Timer is enabled for the information dialog. It times out after 5 seconds from the last key
            press.
  25/10/00      Original Condat(UK) BMI version.

 $End

*******************************************************************************/
#include "mfw_mfw.h"
/* SPR#1428 - SH - New Editor changes */
#ifdef NEW_EDITOR
#include "ATBCommon.h"
#include "ATBDisplay.h"
#include "ATBEditor.h"
#else /* NEW_EDITOR */
#include "mfw_edt.h"
#endif /* NEW_EDITOR */
#include "mfw_icn.h"

#include "mmiMmi.h" //for 'DialogsDummy'
#include "mmiIcons.h"

//#include "font_bitmaps.h" //For t_font_bitmap definition

#define TIMER_EXIT  0x0BB8             /* Default SMS timer period - 3 secs.  */
                                       /* Information dialogue display times. */
#define ONE_SECS  0x03E8        /* 1000 milliseconds.     */
#define TWO_SECS  0x07D0        /* 2000 milliseconds.     */
#define THREE_SECS  0x0BB8             /* 3000 milliseconds.                  */
#define FOUR_SECS  (4000)
#define FIVE_SECS   0x1388             /* 5000 milliseconds.                  */
#define SIX_SECS    (6000)
#define TEN_SECS    0x2710             /* 10000 milliseconds.                 */
#define TWO_MIN     0x1D4C0            /* 2 min                               */
#define FOREVER     0xFFFF             /* Infinite time period.               */

#define SMS_PROMPTX      5
#define SMS_PROMPTY     45
#define PROMPTX          7
#define PROMPTY         17
#define INFO_TEXTX      6
#define INFO_TEXTY      15
#define INFO_TEXTY2     26
#define INFO_TEXTY3     37
#define FRAMEX1          4
#define FRAMEY1         14
#define FRAMEX2         92
#define FRAMEY2         52

#define DLG_BORDER_VERTICAL_0       0x0000      //leave no border
#define DLG_BORDER_VERTICAL_1       0x0001      //leave 25% of bitmap to the left/right unused
#define DLG_BORDER_VERTICAL_2       0x0002
#define DLG_BORDER_VERTICAL_3       0x0003
#define DLG_BORDER_VERTICAL         0x0003


#define DLG_BORDER_HORIZONTAL_0     0x0000
#define DLG_BORDER_HORIZONTAL_1     0x0004  //leave 25% of bitmap to the top/bottom unused
#define DLG_BORDER_HORIZONTAL_2     0x0008
#define DLG_BORDER_HORIZONTAL_3     0x000C
#define DLG_BORDER_HORIZONTAL       0x000C

#define DLG_INFO_LAYOUT_BOTTOM      0x0010  //display data on bottom of bitmap
#define DLG_INFO_LAYOUT_TOP         0x0020  //display data at top of bitmap
#define DLG_INFO_LAYOUT_LEFT        0x0040
#define DLG_INFO_LAYOUT_RIGHT       0x0080
#define DLG_INFO_LAYOUT_CENTRE      0x0000
#define DLG_INFO_LAYOUT_FILL        0x00F0  //move data to edges of available area


/*
 * common template definitions
 */
typedef void (*T_DIALOG_FUNC)(T_MFW_HND win, USHORT event, USHORT value, void * parameter);


typedef struct
{
  T_DIALOG_FUNC  dialog;
  void         * data;
} T_MMI_CONTROL;

#define ALLOC_MEMORY mfwAlloc
#define FREE_MEMORY  mfwFree

extern  void mmi_send_event (T_MFW_HND win, USHORT event, USHORT value, void * parameter);

#define SEND_EVENT(w,e,v,p) mmi_send_event(w,e,v,p)

/*
 * End of common template definitions
 */

 /*
 * Definitions from common dialog function
 */

//Berlin_UK int
/* kk 011102
  typedef void   (*T_VOID_FUNC)();
  typedef short  (*T_SHORT_FUNC)();
*/
//Berlin_UK int
//GW-SPR#762 wrap definitions
#define WRAP_STRING_1 (0x01)
#define WRAP_STRING_2 (0x02)

#define DLG_TYPE_NORMAL     0x01
#define DLG_TYPE_POPUP      0x02
//#define T_BITMAP t_font_bitmap - defined in Mmiicons.h

//x0035544 Feb 07, 2006 DR:OMAPS00061467
#ifdef FF_MMI_SAT_ICON
typedef struct
{
                        /* SAT ICON DATA   */
    U8 width;               /* SAT Icon width  */
    U8 height;              /* SAT Icon height */
    char* dst;                           /* Icon data      */
    BOOL selfExplanatory;
} T_SAT_IconData;
#endif

typedef struct
{
  char *       TextString;
  BOOL          SoftKeyStrings;     // SH - TRUE if we are providing strings for softkeys rather than IDs
  USHORT       LeftSoftKey;
  USHORT       RightSoftKey;
  char          *LSKString;         // SH - Text for customised softkey
  char          *RSKString;         // SH - Text for customised softkey
  ULONG        Time;
  T_MFW_EVENT  KeyEvents;
  USHORT       TextId;
  USHORT       Identifier;
  char *       TextString2;
  USHORT       TextId2;
  T_VOID_FUNC  Callback;
  UBYTE         WrapStrings;    // GW-SPR#762 - bits 0,1 set=wrap string 1,2
  //GW Added colour definition
  U32           displayCol;

  int           dlgType;    //Type of popup
  T_BITMAP      *bgdBitmap; //Bitmap for background image
  MfwRect       *dlgPos;    //Position of dialog
  MfwIcnAttr*   icon_array;
  int           current_icon;
  UBYTE         number_of_frames;
  UBYTE         current_frame;
  T_MFW_HND     animation_timer;
  int           anim_time;
 //x0035544 Feb 07, 2006 DR:OMAPS00061467
#ifdef FF_MMI_SAT_ICON
  T_SAT_IconData       IconData; //Sat icon information
#endif
} T_DISPLAY_DATA;

//xrashmic 08 Feb, 2005 MMI-SPR-27853
//Moved the sturcture from mmidialog.c to mmidialogs.h, need this structure to update the
// dialog screen with the send progress information
typedef struct
{
  T_MMI_CONTROL   mmi_control;
  T_MFW_HND       parent_win;
  T_MFW_HND       info_win;
  T_MFW_HND       info_tim;
  T_MFW_HND       info_kbd;
  T_MFW_HND       info_kbd_long;
  T_MFW_HND       icon;
  /*
   * animation fields
   */
  UBYTE            number_of_frames;
  UBYTE            current_frame;
  T_MFW_HND        anim_time;
  MfwIcnAttr       *icon_array;
  MfwIcnAttr       *current_icon;
  T_MFW_HND        animation_timer;

  /*
   * internal data
   */
  char          *TextString;
  USHORT        LeftSoftKey;
  USHORT        RightSoftKey;
  char          *LSKString;     // SH - text for left soft key
  char          *RSKString;     // SH - text for right soft key
  BOOL          SoftKeyStrings;     // SH - TRUE if using text rather than IDs for soft keys
  UBYTE         WrapStrings;    // GW - bits 0,1 set=wrap string 1,2
  ULONG         Time;
  T_MFW_EVENT   KeyEvents;
  USHORT        TextId;
  USHORT        Identifier;
  char *        TextString2;
  USHORT        TextId2;
  T_VOID_FUNC   Callback;

  U32       dlgCol;
  U32       dlgType;
  T_BITMAP  *dlgBgdBitmap;
  int       dlgSkFormat;
 //x0035544 Feb 07, 2006 DR:OMAPS00061467
#ifdef FF_MMI_SAT_ICON
  T_SAT_IconData IconData; //Sat icon information
#endif
} T_dialog_info;

typedef struct
{
  USHORT       TitleTextId;
  char *       TextString;
#ifdef NEW_EDITOR   /* SPR#1428 - SH - New Editor changes */
  T_ED_ATTR     EditorAttrScroll;
#else /* NEW_EDITOR */
  MfwEdtAttr    EdtAttrScroll;
#endif /* NEW_EDITOR */
  USHORT       LeftSoftKey;
  USHORT       RightSoftKey;
  ULONG        Time;
  T_MFW_EVENT  KeyEvents;
  USHORT       Identifier;
  T_VOID_FUNC  Callback;
} T_SCROLL_DISPLAY_DATA;
/*
 * Function expected from Info Dialog
 */
#define INFO_TIMEOUT   1
#define INFO_KCD_LEFT  2
#define INFO_KCD_RIGHT 3
#define INFO_KCD_HUP   4
#define INFO_KCD_UP    5
#define INFO_KCD_DOWN  6
#define INFO_KCD_0_9   7
#define INFO_KCD_ALL   8
#define INFO_KCD_CLEAR 9
#define INFO_KCD_OFFHOOK 10
#define INFO_KCD_CALL 11

#define PROMPT_LENGTH    16

//x0pleela 02 Apr, 2007  ER: OMAPS00122561
#ifdef FF_PHONE_LOCK

T_MFW_HND phlock_info_dialog (T_MFW_HND        parent_win,T_DISPLAY_DATA * display_info);
#endif //FF_PHONE_LOCK

extern  T_MFW_HND info_dialog (T_MFW_HND        parent_win,
                               T_DISPLAY_DATA * display_info);

T_MFW_HND info_dialog_softkeystrings (T_MFW_HND parent_win, T_DISPLAY_DATA * display_info);

extern T_MFW_HND mmi_dialog_information_screen(T_MFW_HND parent_win, int TxtId,char* text,
          T_VOID_FUNC call_back, USHORT identifier);
extern T_MFW_HND mmi_dialog_information_screen_forever(MfwHnd win,int TextId, char* TextStr, int colour);

void dlg_zeroDisplayData( T_DISPLAY_DATA *displayInfo);
void dlg_initDisplayData_TextId( T_DISPLAY_DATA *displayInfo, int lsk, int rsk, int str1, int str2, int colId);
void dlg_initDisplayData_TextStr( T_DISPLAY_DATA *displayInfo, int lsk, int rsk,char *str1, char *str2, int colId);
void dlg_initDisplayData_events( T_DISPLAY_DATA *displayInfo, T_VOID_FUNC callback, int timer, T_MFW_EVENT keyEvents);

/*GB*/
void mmi_dialogs_insert_icon (T_MFW_HND win_dialog ,MfwIcnAttr *icon);
void mmi_dialogs_insert_animation (T_MFW_HND win_dialog ,S32 anim_time ,MfwIcnAttr *icon ,UBYTE number_of_frames);

void mmi_dialogs_insert_animation_new (T_DISPLAY_DATA *animateInfo , S32 anim_time ,MfwIcnAttr* icon ,UBYTE number_of_frames);
//Jun 04,2004 CRR:13601 xpradipg - SASKEN
//declaration for the function definition
extern void InfoDialogTimRestart(T_MFW_HND win);

// Feb 24, 2005 REF: CRR MMI-SPR-29102 xnkulkar
// Prototype declaration for the function 'mmi_dialog_information_screen_delete_all()'
T_MFW_HND mmi_dialog_information_screen_delete_all(MfwHnd win,int TextId, char* TextStr, int colour);

/*
 * Internal events
 */
#define DIALOG_INIT    200
#define DIALOG_DESTROY 201

// c018 rsa
typedef int DisplayData; // ??? rsa  needed!?
typedef int DialogInfo; // ??? rsa  needed!?

typedef enum
            {
             DIALOGS_REASON_NULL = DialogsDummy,
             DIALOGS_REASON_TIMER,
             DIALOGS_REASON_LEFTKEY,
             DIALOGS_REASON_RIGHTKEY,
             DIALOGS_REASON_CLEARKEY
            }DialogReasons;

// end c018 rsa
#endif