MTK开发参考MTK - Dev - Guide(3)

2019-04-02 19:09

}nvram_lid_commapp_enum;

Note: our new LID must between the ?NVRAM_EF_ADC_LID‘ and ?NVRAM_EF_LAST_LID_COMMAPP‘.

2.

Define size and total in

\\custom\\common\\PLUTO_MMI\\common_nvram_editor_data_item.h

code example:

#define NVRAM_EF_MIIPTS_MSG_SIZE 260 #define NVRAM_EF_MIIPTS_MSG_TOTAL 20

Note: size must be even, if not, phone will be reset just after power on.

3. Add version number to \\interface\\ps\\nvram_editor_data_item.h

code example:

#define NVRAM_EF_MIIPTS_MSG_LID_VERNO \

4. Add a new struct to logical_data_item_table_comm_app in

\\custom\\common\\PLUTO_MMI\\nvram_common_config.c

code example:

ltable_entry_struct

logical_data_item_table_comm_app[NVRAM_EF_LAST_LID_COMMAPP

NVRAM_LID_COMMAPP_BEGIN] = { , }

… { },

NVRAM_EF_MIIPTS_MSG_LID, NVRAM_EF_MIIPTS_MSG_SIZE, NVRAM_EF_MIIPTS_MSG_TOTAL, NVRAM_EF_ZERO_DEFAULT,

NVRAM_ATTR_AVERAGE,

NVRAM_CATEGORY_USER | NVRAM_CATEGORY_CUSTPACK, \

VER(NVRAM_EF_MIIPTS_MSG_LID), \

NVRAM_INVALID_VALUE

-

Note: this item positon is according to the ?NVRAM_EF_MIIPTS_MSG_LID‘ in the enum

存储这种数据,还可以使用系统内置的Flash,在MTK6225-07B-0812上,该盘符是Z盘。

11

fs_quota.c

在数组gFS_ExtQuotaSet中申请一项:

{\ FS_QP_HIG_ENUM, 10*1024, FS_QMAX_NO_LIMIT, FS_COUNT_IN_BYTE}

4 Message organize in nvram

4.1

添加nvram项

在这个文件中添加nvram_user_config.c

4.2 Data structure:

typedef struct

{

S8 title[MIIPTS_MAXIMUM_MESSAGE_TITLE]; }miipts_struct_message_title;

typedef struct {

S8 title[MIIPTS_MAXIMUM_MESSAGE_TITLE]; S8 body[MIIPTS_MAXIMUM_MESSAGE_BODY]; }miipts_struct_message_item;

typedef struct

{

miipts_struct_message_title titles[MIIPTS_MAXIMUM_MESSAGE_ITEMS]; }miipts_struct_message_title_list;

4.3 Function

S32 miipts_read_msg_title_list(miipts_struct_message_title_list *list, S32 size); void miipts_read_msg(S32 index, miipts_struct_message_item *item); void miipts_write_msg(S32 index, miipts_struct_message_item *item); void miipts_append_msg(miipts_struct_message_item *item); void miipts_del_msg(S32 index);

12

4.4 note

We just read all the titles of messages into list when we browse the message list, but not all the message bodies because the data size may too large.

We read one message body into RAM when we enter the message body screen.

wgui_categories_inputs.c

wgui_EMS_inputbox_input_type

wgui_EMS_inputbox_input_mode_changed ;

wgui.c

S32 MMI_status_bar_height; S32 MMI_content_x; S32 MMI_content_y; S32 MMI_content_width; S32 MMI_content_height;

wgui_categories_util.c

MMI_title_string = (UI_string_type) get_string(title); MMI_title_icon = (PU8) get_image(title_icon);

smscore.c

2个有关ems输入和显示的全局变量: static msg_ems_data_struct bufForDisplay; static msg_ems_data_struct bufForEdit; 这个是这2个全局变量的外部接口:

EMSData *GetEMSDataForEdit(EMSData **p, U8 force)

MMI_current_input_box_type = EDITOR_EMS_INPUT_BOX

test_change_input_mode

gdi_layer.c

GDI_LCD is a global value to control the gdi context gdi_layer_lock_frame_buffer();

wgui_categories_util.c

UI_common_screen_exit? ExitCategoryFunction

13

event.c

U8 EntryNewScreen(U16 newscrnID, FuncPtr newExitHandler, FuncPtr newEntryHandler, void *peerBuf)

static FuncPtr currEntryFuncPtr;

static U16 currExitScrnID, currTopScrnID; /* curr exit func ptr with scrn id */ static FuncPtr currExitFuncPtr;

typedef enum { KEY_0= 0, KEY_1, KEY_2, KEY_3, KEY_4, KEY_5, KEY_6, KEY_7, KEY_8, KEY_9,

KEY_LSK, KEY_RSK, KEY_UP_ARROW, KEY_DOWN_ARROW, KEY_LEFT_ARROW, KEY_RIGHT_ARROW, KEY_SEND, KEY_END, KEY_CLEAR, KEY_STAR, KEY_POUND,

KEY_VOL_UP, KEY_VOL_DOWN, KEY_QUICK_ACS, KEY_CAMERA KEY_ENTER, KEY_WAP KEY_IP

MAX_KEYS,

KEY_INVALID

} mmi_keypads_enum;

= KEY_QUICK_ACS,

=KEY_ENTER, =KEY_ENTER,

/* max key codes support */

=0xFE// 255 /* By JL, to sync with driver */

14

typedef enum {

KEY_EVENT_DOWN, KEY_EVENT_UP, KEY_LONG_PRESS, KEY_REPEAT, MAX_KEY_TYPE

} mmi_key_types_enum;

FuncPtr currKeyFuncPtrs[MAX_KEYS][MAX_KEY_TYPE];

#define GDI_ENTER_CRITICAL_SECTION(func) GDI_LOCK; {int gdi_mutex_level = gdi_mutex.cnt;

#define GDI_EXIT_CRITICAL_SECTION(func) GDI_ASSERT(gdi_mutex_level == gdi_mutex.cnt);} GDI_UNLOCK;

wgui_ems.c

wgui_EMS_redraw_input_information_bar wgui_EMS_show_input_mode

wgui_EMS_redraw_remaining_characters_display

use this register function to register control_area_callback dm_register_category_controlled_callback

wgui_categories.c

ShowCategory66Screen

This category is special because it‘s redraw function will be called repeatedly if this category is being on show.

For a category:

ShowCategoryScreen ExitCategoryScreen

dm:draw manager

dm_setup_and_draw_ems_inputbox ?

15


MTK开发参考MTK - Dev - Guide(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中文系本科论文设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: