72
GUI Fugui 2005/04/26

GUI Fugui 2005/04/26. 2 Outline I. GUI overview II. GUI description III. Use GUI IV. GUI principle

Embed Size (px)

Citation preview

GUI

Fugui2005/04/26

2

Outline

I. GUI overviewII. GUI descriptionIII. Use GUIIV. GUI principle

3

1. GUI overview

1. Screen1. Menu2. Message box3. Public4. Private

2. Component1. Menu & MenuItem2. Button & Scrollbar3. InputBox & InlineEditBox4. Other

3. Primitive

4

1.1.1 Scr – Menu

Text List Text Matrix IconText List IconText Matrix

RadioBox List CheckBox List SeveralColumns List

InlineEdit List

5

1.1.2 Scr – MsgBoxText

MessageIconText Message

LongText Message

Icon Message

Full Screen Icon Message

IconText Popup

Message

IconText Help Message

Percentage Message

6

1.1.3 Scr – PublicColor Picker Multiline Edit

BoxView Picture

ListSingleline Edit

Box

Double Slide IconText Popup

Message

Slide–Single

7

1.1.4 Scr – PrivateIdle Call Dialer Calendar

Message PhoneBook Picture Edit SubLCD

8

1.2.1 Comp – Menu & MenuItem

Menu

Fixed list menu

Fixed matrix menu

3D circular menu

Llist menu

Matrix menu

MenuItem

Fixed text menuitem

Fixed icontext menuitem

Fixed icontext list menuitem

Fixed twostate menuitem

Background

ScrollBar

9

1.2.2 Comp – Button & Scrollbar

Button

button

text button

icon button

icontext button

Scrollbar

STYLE 1

STYLE 2

STYLE 3

Progress indicator Slide

10

1.2.3 Comp – InputBox & InlineEditBox

InlineEditBoxDisplay only

Select

Date

Time

Time period

Dow(day of week) select

Ip4 edit

Color select

Full screen edit

Text edit

User defined select

Attach image

Image text type

Multiline edit

Multiline read only

InputBoxMultitap input

Single line input box

Multi line input box

Dialer input box

Dialer input box(touch screen)

11

1.2.4 Comp – Other

Status bar 0

Title bar

Information bar

Virtual keyboard

Button bar

Scrolling text

Popup description

Left softkey

Arrow indication

Status bar 2(SubLCD)

Status bar 1

Right softkey

Shortcut

12

1.3 Primitive

Grapha

Point

Button rect

Line Shadow rect

Line style Gradient rect

Rect Cross hatch fill rectangle

Solid rect Hatch fill rectangle

Frame rectAlternate cross hatch fill rectangle

Round rect Alternate hatch fill rectangle

String Image

13

2. GUI description1. Primitive

1. LCD & Layer2. Position & Area & Clip3. Color & Transparent4. String & Font5. Image6. Filled area7. Theme

2. Component1. Menu2. MenuItem3. Button4. InputBox15. InputBox26. Scrollbar7. StatusBar

3. Screen1. Menu2. Message box3. Message box24. Public5. Private6. private2

14

2.1.1 Prim – LCD & Layer

Base layer

Layer1

Layer2

NULL

NULL

NULL

NULL

NULL

Layer list

Position: 0, 0Size: 176, 220Source key: FALSEOpacity: FALSE

Position: 18, 50Size: 140, 100Source key: FALSEOpacity: 128 (0–255)

Position: –20, 70Size: 200, 40Source key: (0, 0, 255)Opacity: FALSE

LCD

=>

Screen

15

2.1.2 Prim – Coordinate & ClipLayer Coordinate

X axis

Layer width

Y

axis

Layer

heig

ht

LCD CoordinateX

axis

LCDr width

Y

axis

LCD

heig

ht

Image position: 20 20

Clip: (30,30,130,60)

Text position: 10 70

Text clip: (20,50,120,80)

=>

Layer

<=

Screen

16

2.1.3 Prim – Color & Transparent

COLOR R G B

UI_COLOR_LIGHT_GREY 120 120 120

UI_COLOR_WHITE 255 255 255

UI_COLOR_DARK_GREY 64 64 64

UI_COLOR_BLACK 0 0 0

UI_COLOR_RED 255 0 0

UI_COLOR_3D_FILLER 180 180 200

UI_COLOR_GREY 192 192 192

UI_COLOR_GREEN 0 255 0

COLOR

R 0 – 255

G 0 – 255

B 0 – 255

Alpha 0 – 100

Color table

Transparent type Desc

String => Layer No transparent

Grapha => Layer No transparent

Image––bmp => Layer No transparent

Image—gif => Layer Transparent color in gif palette

Image––jpg => Layer No transparent

Layer => LCD Transparent by layer source_key

17

2.1.4 Prim – String & FontFont

Font attribute Value Sample

bold 0 / 1

italic 0 / 1

underline 0 / 1

size 0: Small

1: Medium

2: Large

3: SubLCD

4: Dialling

color unused

type unused

oblique 0 / 1

smallCaps unused

Other font attributeText color Color = UI_COLOR_RED

Text border color

Border color = UI_COLOR_GREEN

18

2.1.5 Prim – ImageImage type File extension Sample Description

BMP | BMP_FILE .bmp

BMP_SEQUENCE folder

WBMP | WBMP_FILE none unused

DEVICE_BITMAP .pbm

DEVICE_BITMAP_SEQUENCE

none unused

GIF | GIF_FILE .gif

JPG | JPG_FILE .jpg

JPG_SEQUENCE folder

AVI | AVI_FILE .avi

3GP | 3GP_FILE .3gp

MP4 | MP4_FILE .mp4

19

2.1.6 Prim – Filled area

TYPE_COLOR

TYPE_GRADI ENT_COLOR(HORI ZONTAL_FI LL)

TYPE_GRADI ENT_COLOR(VERTI CAL_FI LL)

TYPE_TEXTURE

TYPE_BI TMAP

TYPE_HATCH_COLOR

TYPE_ALTERNATE_HATCH_COLOR

TYPE_CROSS_HATCH_COLOR

TYPE_ALTERNATE_CROSS_HATCH_COLOR

TYPE_CUSTOM_FI LL_TYPE1

Fi l l ed typeNO_BORDER

SI NGLE_BORDER

DOUBLE_BORDER

3D_BORDER

ROUNDED_BORDER

ELEVATED_BORDER

DEPRESSED_BORDER

3D_ELEVATED_BORDER

3D_DEPRESSED_BORDER

SHADOW

SHADOW_DOUBLE_LI NE

Fi l l ed border

Fi l l ed shadow

Filled area = filled type + filled border +filled shadow

20

2.1.7 Prim – Theme

GUI themefi l l ed area border theme

button themetext button themei con button theme

i context button thememul ti tap i nput theme

si ngl e l i ne i nput box thememul ti l i ne i nput box themeverti cal scrol l bar theme

hori zontal scrol l bar themehori zontal progress i ndi cator themeverti cal progress i ndi cator theme

verti cal sl i de themehori zontal sl i de theme

text menui tem themei context menui tem theme

fi xed text menui tem themefi xed i context menui tem theme

fi xed i context l i st menui tem themefi xed twostate menui tem theme

l i st menu themefi xed l i st menu theme

matri x menu themefi xed matri x menu theme

wi ndow ti t l e themedi al er i nput box themedrop down control themei nformati on bar themeEMS i nput box theme

UI _fi l l ed_area LSK_up_fi l l er;UI _fi l l ed_area LSK_down_fi l l er;UI _fi l l ed_area LSK_di sabl ed_fi l l er;UI _fi l l ed_area RSK_up_fi l l er;UI _fi l l ed_area RSK_down_fi l l er;UI _fi l l ed_area matri x_background_fi l l er;UI _fi l l ed_area matri x_normal _i tem_fi l l er;UI _fi l l ed_area matri x_sel ected_i tem_fi l l er;UI _fi l l ed_area matri x_di sabl ed_i tem_fi l l er;

UI _fi l l ed_area vi rtual _keyboard_key_down_fi l l er;

col or UI _bl ack_col or;col or UI _whi te_col or;col or LSK_up_text_col or;col or matri x_normal _text_col or;col or matri x_sel ected_text_col or;col or matri x_di sabl ed_text_col or;

UI _font_type button_font;UI _font_type mul ti tap_font;UI _font_type drop_down_control _font;UI _font_type l i st_mai n_menu_font;UI _font_type matri x_mai n_menu_font;UI _font_type vi rtual _keyboard_font;

s32 scrol l bar_si ze;

MMI theme

………………………………………

………………………………………

………………………………………

………………………………………

21

2.2.1 Comp – Menu

Component El ement UI theme MMI themenormal _fi l l er

focussed_fi l l erscrol l bar vbar_wi dth scrol l bar_si ze

normal _fi l l erfocussed_fi l l er

vbar_wi dthhbar_hei ght

Fi xed l i st menu background l i st_background_fi l l ermai n_menu_background_fi l l er

Fi xed matri x menubackground matri x_background_fi l l er

mai n_menu_background_fi l l er

scrol l bar scrol l bar_si ze

22

2.2.2 Comp – MenuItemComponent El ement UI theme MMI theme

normal _fi l l er l i st_background_fi l l er

di sabl ed_fi l l er

l i st_normal _i tem_fi l l ermatri x_normal _i tem_fi l l er

mai n_menu_background_fi l l eri nl i ne_l i st_di sabl ed_i tem_fi l l er

sel ected_fi l l erfocussed_fi l l er

normal _text_col or l i st_normal _text_col or

di sabl ed_text_col or

l i st_di sabl ed_text_col ormatri x_di sabl ed_text_col or

l i st_mai n_menu_di sabl ed_text_col ormatri x_mai n_menu_sel ected_text_col or

i nl i ne_l i st_di sabl ed_text_col orsel ected_text_col orfocussed_text_col or

text_font

l i st_menu_fontmatri x_menu_font

l i st_mai n_menu_fontmatri x_mai n_menu_font

l i st_sel ected_i tem_fi l l ermatri x_sel ected_i tem_fi l l er

textl i st_sel ected_text_col or

matri x_sel ected_text_col or

Fi xed text menui temFi xed i context menui tem

Fi xed i context l i st menui temFi xed twostate menui tem

background

23

2.2.3 Comp – ButtonComponent El ement UI theme MMI theme

normal _up_fi l l erdi sabl ed_up_fi l l erfocussed_up_fi l l ercl i cked_up_fi l l ernormal _down_fi l l er

di sabl ed_down_fi l l erfocussed_down_fi l l ercl i cked_down_fi l l ernormal _up_text_col or

di sabl ed_up_text_col orfocussed_up_text_col orcl i cked_up_text_col ornormal _down_text_col or

di sabl ed_down_text_col orfocussed_down_text_col orcl i cked_down_text_col or

text_font button_font

Text buttonI context button

text

LSK_up_text_col orRSK_up_text_col or

LSK_down_text_col orRSK_down_text_col or

ButtonText buttonI con button

I context button

background

LSK_up_fi l l erRSK_up_fi l l er

LSK_down_fi l l erRSK_down_fi l l er

24

2.2.4.1 Comp – InputBox1Component El ement UI theme MMI theme

normal _fi l l erdi sabl ed_fi l l ersel ected_fi l l er

speci al _text_col ornormal _text_col or

di sabl ed_text_col orsel ected_text_col orsel ecti on_text_col or i nputbox_sel ected_text_col or

sel ecti on_col or i nputbox_sel ector_col ortext_font i nputbox_fonttext_gap

cursor_col or i nputbox_cursor_col orboundary_col or

vbar_wi dth scrol l bar_si ze

I nformati on bar background background_col or i nformati on_bar_col or

background f mul t i tap_fi l l ersel ector_col or mul t i tap_sel ector_col or

normal _text_col or mul t i tap_normal _text_col orsel ected_text_col or mul t i tap_sel ected_text_col or

text_font mul t i tap_fonttext_gap

normal _fi l l erdi sabl ed_fi l l ersel ected_fi l l er

normal _text_col ordi sabl ed_text_col orsel ected_text_col or

sel ecti on_text_col or i nputbox_sel ected_text_col ori nl i ne_edi t_sel ected_text_col or

sel ecti on_col or i nputbox_sel ector_col ori nl i ne_edi t_sel ector_col or

text_font i nputbox_fontshortcut_i ndi cator_font

i nputbox_fi l l ershortcut_i ndi cator_background_fi l l er

formatted_i nputbox_normal _fi l l er

text

i nputbox_normal _text_col orshortcut_i ndi cator_text_col or

i nl i ne_edi t_focussed_text_col or

Mul t i tap i nputtext

Si ngl el i ne i nputbox

background

Mul t i l i ne i nputbox

background i nputbox_fi l l er

text

i nputbox_normal _text_col or

other

25

2.2.4.2 Comp – InputBox2Component El ement UI theme MMI theme

normal _fi l l erdi sabl ed_fi l l ersel ected_fi l l er

normal _text_col ordi sabl ed_text_col orsel ected_text_col orsel ecti on_text_col or di al er_i nputbox_sel ected_text_col or

sel ecti on_col or di al er_i nputbox_sel ector_col ortext_font i nputbox_fonttext_gap

other cursor_col or di al er_i nputbox_cursor_col or

normal _fi l l erdi sabl ed_fi l l ersel ected_fi l l er

normal _text_col or i nputbox_normal _text_col orsel ected_text_col or i nputbox_sel ected_text_col or

sel ecti on_col or i nputbox_sel ector_col orcursor_col or i nputbox_cursor_col or

boundary_col orvbar_wi dth scrol l bar_si ze

Di al er i nputbox

background di al er_i nputbox_background_fi l l er

text

di al er_i nputbox_normal _text_col or

EMS i nputbox

background i nputbox_fi l l er

text

other

26

2.2.5 Comp – ScrollbarComponent El ement UI theme MMI theme

f ocussed_bar_fi l l ernormal _bar_fi l l er

di sabl ed_bar_fi l l erup_button_theme scrol l bar_i ndi cator_fi l l erup_button_i con

down_button_theme scrol l bar_i ndi cator_fi l l erdown_button_i con

scrol l _button_theme scrol l bar_i ndi cator_fi l l erscrol l _button_i con

focussed_bar_fi l l ernormal _bar_fi l l er

di sabl ed_bar_fi l l erl ef t_button_theme scrol l bar_i ndi cator_fi l l erl ef t_button_i con

ri ght_button_theme scrol l bar_i ndi cator_fi l l erri ght_button_i con

scrol l _button_theme scrol l bar_i ndi cator_fi l l erscrol l _button_i con

background background_fi l l erforeground_fi l l er

n_fi l l erspercentages

bl ock_wi dth/ bl ock_hei ghtbl ock_gap

border border_gap

focussed_bar_fi l l ernormal _bar_fi l l er

di sabl ed_bar_fi l l erscrol l _button_theme scrol l bar_i ndi cator_fi l l erscrol l _button_i con

background scrol l bar_background_fi l l er

verti cal _scrol l bar up_button

down_button

scrol l _button

verti cal _scrol l bar

background scrol l bar_background_fi l l er

l ef t_button

ri ght_button

scrol l _button

scrol l bar_background_fi l l er

i ndi cator

Progress i ndi cator i ndi cator

Sl i debackground

27

2.2.6 Comp – StatusBarFi l e I con Desc Fi l e I con Desc

SI _SI G. GI F Si gnal strength SI _FM12. BMP Unread Fax L1+L2SI _SI G_L1. GI F Si gnal strength wi th L1 SI _EM1. BMP Unread Emai l L1SI _SI G_L2. GI F Si gnal strength wi th L2 SI _EM2. BMP Unread Emai l L2SI _L1. BMP Li ne 1 SI _EM12. BMP Unread Emai l L1+L2SI _L2. BMP Li ne 2 SI _MGE. BMP MessageSI _BAT. GI F Battery strength SI _FOR01. BMP Cal l Di vert L1SI _LOCK. BMP Keypad l ock SI _FOR02. BMP Cal l Di vert L2SI _VI B. BMP Vi brator SI _FOR. BMP Cal l Di vert L1+L2SI _SI LENT. BMP Si l ent SI _REC. BMP Voi ce recordSI _RI NG. BMP Ri ng SI _MUTE. BMP MuteSI _VR. BMP Vi brate and ri ng SI _CHAT1. BMP Chat Room1 Bl i nki ng I conSI _VTR. BMP Vi brate then ri ng SI _CHAT2. BMP Chat Room2 Bl i nki ng I conSI _ALARM. BMP Al arm SI _STWATCH. bmp I mage for Stopwatch I conSI _RM. BMP Roami ng SI _J vl ogo. bmp J ava pauseSI _MCA. BMP Mi ssed Cal l SI _WMAL. bmp SubLCD: Vi brate then Ri ngSI _GPRS. BMP GPRS SI _NCGSM. bmp Network Ci pheri ng for GSMSI _EAR. BMP EarPhone SI _NCGPRS. bmp Network Ci pheri ng for GPRSSI _MMSU. BMP EarPhone SI _I MPSMG. bmp I dl e Screen when new msg comesSI _MMSB. BMP EarPhone SI _I MPS. bmp I dl e Screen when l ogi n serverSI _I R. gi f I R SB_SI L. BMP SubLCD: Si l entSI _BT. bmp BT SB_SI G. GI F SubLCD: Si gnal strengthSI _BT_CON. bmp BT SB_BAT. GI F SubLCD: Battery strengthSI _BT_ND. bmp BT SB_MG. BMP SubLCD: MessageSI _Wal kt. bmp PoC regi strati on SB_RI NG. BMP SubLCD: Ri ngSI _GPRSC. BMP GPRS attach wi thout pdp SB_VI B. BMP SubLCD: Vi bratorSI _VOML1. BMP Unread Voi ce L1 SB_VR. BMP SubLCD: Vi brate and Ri ngSI _VOML2. BMP Unread Voi ce L2 SB_VTR. BMP SubLCD: Vi brate then Ri ngSI _VOML12. BMP Unread Voi ce L1+L2 SB_ALARM. BMP SubLCD: Al armSI _FM1. BMP Unread Fax L1 SB_MCA. BMP SubLCD: Mi ssed Cal lSI _FM2. BMP Unread Fax L2

28

2.3.1 Scr – MenuScreen MenuI tem type Menu type I nput Hi nt Freq Desc

Screen 1 Text Li st I D N Low Goto Screen6Screen 6 Text Li st Buff er Y Hi ghScreen 10 Text Li st I D Y None Dropdown l i st, show one i tem and hi ntScreen 22 Text Matri x Buff er N Low Di spl ay symbol s l i stScreen 55 Text Li st I D Y Low Goto Screen6Screen 56 Text Li st Buff er Y Low The same Screen6Screen 4 I conText Li st Buff er N NoneScreen 15 I conText Li st| Matri x I D N Hi ghScreen 32 I conText Li st Buff er N Low Ti t l e i s mul t i l i ne textScreen 52 I conText Li st I D Y Hi gh Goto Screen353Screen 53 I conText Li st Buff er Y Hi gh Goto Screen353Screen 54 I conText Li st Buff er Y None Have two hi ntsScreen 84 I conText Li st Buff er N LowScreen 170 I conText Li st Buff er N Low I cons are buff er tooScreen 174 I conText Li st Buff er Y Low I cons are buff er tooScreen 176 I conText Li st Buff er Y Low I cons are buff er tooScreen 184 I conText Li st Functi on Y Hi gh Dynami c fi xed menu(PhoneBook, SMS. . . )Screen 353 I conText Li st Buff er Y LowScreen 11 TwoState Li st I D N Hi gh Radi o Button Li st, Goto Screen36Screen 12 TwoState Li st Buff er N Low Check Box Li stScreen 13 TwoState Li st I D N Low Check Box Li st, Goto Screen12Screen 36 TwoState Li st Buff er N Hi gh Radi o Button Li stScreen 50 TwoState Li st Buff er N None Check Box Li st, i nput two LSK i con and textScreen 51 TwoState Li st I D N None Check Box Li st, i nput two LSK i con and textScreen 75 TwoState Li st Buff er N None Don' t be sel ectedScreen 107 TwoState Li st Buff er N None Radi o Button Li st(have two fi xed MenuI tem)Screen 109 TwoState Li st Buff er Y Low Radi o Button Li stScreen 140 TwoState Li st Buff er N Low Check Box Li st, Auto change i tem statusScreen 172 TwoState Li st Buff er N Low Radi o Button Li stScreen 3 Several Col s Li st Buff er N None Text Col s: 1, I con Col s: 5Screen 23 Several Col s Li st Buff er N None Text Col s: 2, I con Col s: 1Screen 24 Several Col s Li st Buff er N None Text Col s: 1, I con Col s: 1Screen 73 Several Col s Li st Buff er N Hi gh Text Col s: 1, I con Col s: 2Screen 85 Several Col s Li st Buff er N None Text Col s: 2, I con Col s: 0Screen 89 Several Col s Li st Buff er Y Hi gh Text Col s: 2, I con Col s: 0, text1 i s fi xed numberScreen 130 Several Col s Li st I D N None Text Col s: 2, I con Col s: 0Screen 150 Several Col s Li st Buff er N None Text Col s: 2, I con Col s: 0Screen 153 Several Col s Li st Buff er N None Text Col s: 2, I con Col s: 0, the same screen150Screen 57 I nl i neEdi t Li st I nl i neI tem N Hi gh I nl i ne edi t l i st

29

2.3.2.1 Scr – MsgBoxScreen Ti t l e LRSK Message Message I con Feq Desc

Screen 2 Y Y I D N Low Goto Screen7Screen 7 Y Y Buf N Hi ghScreen 8 Y Y I D I D Hi gh Goto Screen66Screen 9 N N I D - Up I D- Down Low Ful l screenScreen 21 Y Y I D - Ri ght Fi xed - Lef t Low Mai n used for hel p screenScreen 25 Y Y I D - Up N None Di spl ay DateTi me(Down)Screen 26 Y Y I D - Up N None Di spl ay Date(Down)Screen 27 Y Y I D - Up N None Di spl ay Ti me(Down)Screen 29 Y Y EMSData N NoneScreen 31 N N I D N None Ful l screenScreen 34 N Buf Buf - Down Buf - Up NoneScreen 58 Y Y I D - Ri ght I D - Lef t NoneScreen 59 Y Y Buf - Ri ght I D - Lef t NoneScreen 60 N N I D - Up I D - Down NoneScreen 61 N N Buf - Up I D - Down LowScreen 62 N N I D - Up I D - Down Low Popup di al og(not cl ear background)Screen 63 N N Buf - Up I D - Down Low Popup di al og(not cl ear background)Screen 64 N N I D - Down I D - Up Low Popup di al og(not cl ear background)Screen 65 N N Buf - Down I D - Up Low Popup di al og(not cl ear background)Screen 66 Y Y I D I D Hi gh Layout by category_screen_l ayout_fl agsScreen 67 Y Y N Buf NoneScreen 68 Y Y Buf N NoneScreen 69 Y Y I D N Low Di spl ay wi th Mul ti l i ne Edi t BoxScreen 70 Y Y Buf N None Di spl ay wi th Mul ti l i ne Edi t BoxScreen 71 Y Y I D N NoneScreen 72 Y Y Buf N Low Di spl ay wi th PercentageScreen 74 Y Y Buf N Hi gh Show l ong text(scrol l )Screen 108 Y Y Two buf N None Scrol l abl e noti fi cati on screen for SATScreen 119 N Y Buf - Down I D - Up Low

30

2.3.2.2 Scr – MsgBox2Screen Ti t l e LRSK Message Message I con Feq Desc

Screen 121 N Y Buf - Up I D - Down Low Al arm I ndi cati onScreen 123 Y Y I D - Down I D - Up Low Popup di al og(Ful l screen)Screen 124 Y Y Buf - Down I D - Up None Popup di al og(Ful l screen)Screen 129 Buf Y N I D Low Vi ew I mageScreen 141 Y Y Buf - Up I D - Down Low StatusBar/ Ti t l eScreen 145 Buf Y Buf - Up I D - Down Low Di spl ays the Del i very report screen(vScrol l )Screen 151 Y Y Buf - Up Buf - Down LowScreen 152 Y Y Buf N Low See Screen7, but no scrol lScreen 154 Y Y Two buf - Up I D - Down Hi gh Di spl ays the Message Recei ved screenScreen 162 N Y I D - Up I D - Down Low Popup di al og(not cl ear background)Screen 163 N Y Buf - Up I D - Down None Popup di al og(not cl ear background)Screen 164 N Y I D - Down I D - Up Low Popup di al og(not cl ear background)Screen 165 N Y Buf - Down I D - Up Low Popup di al og(not cl ear background)Screen 173 Buf Buf Buf N Low Dynami c noti fi cati on screenScreen 205 N Y Buf - Up I D - Down Low

31

2.3.3 Scr – PublicScreen Type Desc

Screen 91 Col or Pi cker Di spl ays the col or pi cker screenScreen 5 Mul ti l i ne Edi t Box Common Mul ti l i ne Edi t BoxScreen 35 Mul ti l i ne Edi t Box Di spl ay wi th Mul t i l i ne Edi t Box(don' t be used)Screen 115 Mul ti l i ne Edi t Box For Wap/ WCSSScreen 171 Mul ti l i ne Edi t Box Di spl ays the dynami c i con noti fi cati on wi th user i nput screenScreen 221 Mul ti medi a-Empty Screen Onl y fi l l background_col orScreen 223 Mul ti medi a-Pl ay Audi o Pl ay Audi o From FmgrScreen 224 Mul ti medi a-Pl ay Vi deo Pl ay vi deo i n ful l screenScreen 225 Mul ti medi a-Pl ay Vi deo Pl ay vi deo not i n ful l screenScreen 222 Mul ti medi a-Vi ew I mage Vi ew I mage From FmgrScreen 142 Vi ew Pi cture Li st Di spl ays the pi cture l i st screenScreen 106 Show Ani mated I con Shows an ani mated i con(Ful l Screen)Screen 166 Show Ani mated I con Shows an ani mated i con(Ful l Screen, Ani mati onCompl eteCal l back )Screen 111 Si ngl el i ne Edi t Box I nput wi th two message, mai n used for enter pi n screenScreen 88 Sl i de-Doubl e Sl i de Di spl ays the Doubl e Sl i de control screenScreen 87 Sl i de-Si ngl e Di spl ays the Si ngl e Sl i de control screenScreen 155 Sl i de-Si ngl e Di spl ays the Si ngl e Sl i de control screen wi th message

32

2.3.4.1 Scr – PrivateScreen Appl i cati on Desc

Screen 122 BMI BMI Resul tScreen 80 Cal endar Di spl ay cal endar screen No l unarScreen 82 Cal endar Di spl ay cal endar screen wi th l unar Screen 18 Cal l I ncomi ng Cal lScreen 19 Cal l 1002 Acti ve Cal l Mul t i pl eScreen 20 Cal l 1002 Acti ve Cal l Si ngl eScreen 204 Cal l Di spl ays the si ngl e acti ve cal l screenScreen 125 Cal ori eScreen 90 Cal ori e Wi th two val ue l i st, used for cal ori eScreen 305 Chat MessageScreen 16 Di al er I nputboxScreen 261 Emai l Vi ew Emai l I nboxScreen 262 Emai l Vi ew Emai l I nbox Draf tScreen 263 Emai l Vi ew Emai l OutboxScreen 212 Fi l e Manager Fi l e Expl orerScreen 213 Fi l e Manager Fi l e Expl orer Thi ckScreen 81 Heal th Cal endar Di spl ays the Heal th Cal endarScreen 33 I dl e Screen Mai n I dl e ScreenScreen 131 I dl e Screen Screen Save Wi th Anal og Or Di gi talScreen 86 I dl e Screen Wal l paper Vi ew Anal og Cl ockScreen 128 I dl e Screen Wal l paper Vi ew Di gi tal Cl ockScreen 120 I dl e Screen Thi s i s the new Network searchi ng screenScreen 14 Mai n MenuScreen 39 Message Read MessageScreen 28 Message Wri te MessageScreen 143 Message EMS-di spl ays the obj ect l i st screenScreen 144 Message EMS-Di spl ays the obj ect l i st screenScreen 275 MMS Wri te MMSScreen 214 Phoart Phoart I con Sel ect

33

2.3.4.2 Scr – Private2Screen Appl i cati on Desc

Screen 200 PhoneBook PhoneBook Qui ck Search Li stScreen 93 Pi cture Edi t Fi l l Pi ctureScreen 92 Pi cture Edi t Pen Sett i ngScreen 306 Stop Watch Mul t i purpose Stop WatchScreen 307 Stop Watch Spl i t Lap Ti mi ng Stop watchScreen 301 SubLCD MessageBox wi th stri ng and i conScreen 302 SubLCD Cl ear SubLCDScreen 303 SubLCD Show worl d cl ockScreen 304 SubLCD Show MsgBox I conScreen 310 SubLCD Show si ngl e stri ng i n subl cd (vhCenter)Screen 311 SubLCD Di spal y the mesage and i con on subl cdScreen 312 SubLCD Show one ci ty detai l on sub l cd screen (Sub I dl e Screen)Screen 313 SubLCD MessageBox wi th ful l screen i conScreen 331 SubLCD Thi s category i s a empty SubLCD categoryScreen 333 SubLCD Audi o pl ayer sub di spl ayScreen 105 Vol ume Set Vol ume Level

34

3. Use GUI

1. Screen1. Menu2. Message box3. Public

2. Component3. Primitive

35

3.1.1.1.1 Scr – Menu – TextListU8 subMenuData[MAX_SUB_MENUS][MAX_SUB_MENU_SIZE];U16 list_of_items[MAX_SUB_MENUS];U8 subHintData[MAX_SUB_MENUS][MAX_SUB_MENU_HINT_SIZE];S32 number_of_items = 0;S32 default_highlighted_item = 0;U8* guiBuffer;S32 i = 0;

EntryNewScreen(NEW_SCREEN_ID, ExitFunction, Entryfunction, NULL);guiBuffer = GetCurrGuiBuffer (NEW_SCREEN_ID); number_of_items = GetNumOfChild( CURRENT_PARENT_ITEM_ID );GetSequenceStringIds(CURRENT_PARENT_ITEM_ID , list_of_items);SetParentHandler(CURRENT_PARENT_ITEM_ID );RegisterHighlightHandler(ExecuteCurrHiliteHandler);for (i=0;i<number_of_items;i++)

subMenuData[i]=(PU8)get_string(list_of_items[i]);

ShowCategory1Screen( title_id,title_icon_id,left_softkey_id,left_softkey_icon_id,right_softkey_id,right_softkey_icon_id, //Common screen data

number_of_items, //Number of itemslist_of_items, //List of text itemsdefault_highlighted_item, //This is the default item that will be highlighted (if there is no history)guiBuffer); //history buffer

ShowCategory6Screen(title_id,title_icon_id,left_softkey_id,left_softkey_icon_id,right_softkey_id,right_softkey_icon_id, //Common screen data

number_of_items, //Number of itemssubMenuData, //List of text itemssubHintData, //list of descriptionsdefault_highlighted_item, //This is the default item that will be highlighted (if there is no history)guiBuffer); //history buffer

ShowCategory55Screen(title_id,title_icon_id,left_softkey_id,left_softkey_icon_id,right_softkey_id,right_softkey_icon_id, //Common screen data

number_of_items, //Number of itemslist_of_items, //List of text itemssubHintData, //list of descriptionsdefault_highlighted_item, //This is the default item that will be highlighted (if there is no history)guiBuffer); //history buffer

Screen 1 Screen 6 Screen 55

36

3.1.1.2.1 Scr – Menu – IconTextList1U8 subMenuData[MAX_SUB_MENUS][MAX_SUB_MENU_SIZE];U16 list_of_items[MAX_SUB_MENUS];U16 list_of_icons[MAX_SUB_MENUS];U8 subHintData[MAX_SUB_MENUS][MAX_SUB_MENU_HINT_SIZE];S32 number_of_items = 0;S32 default_highlighted_item = 0;U8* guiBuffer;S32 i = 0;

EntryNewScreen(NEW_SCREEN_ID, ExitFunction, Entryfunction, NULL);guiBuffer = GetCurrGuiBuffer (NEW_SCREEN_ID); number_of_items = GetNumOfChild( CURRENT_PARENT_ITEM_ID );GetSequenceStringIds(CURRENT_PARENT_ITEM_ID , list_of_items);GetSequenceImageIds(CURRENT_PARENT_ITEM_ID , list_of_icons);SetParentHandler(CURRENT_PARENT_ITEM_ID );RegisterHighlightHandler(ExecuteCurrHiliteHandler);for (i=0;i<number_of_items;i++)

subMenuData[i]=(PU8)get_string(list_of_items[i]);

ShowCategory15Screen(title_id,title_icon_id,left_softkey_id,left_softkey_icon_id,right_softkey_id,right_softkey_icon_id, //Common screen data

number_of_items, //Number of itemslist_of_items, //List of text itemslist_of_icons, //list of descriptionsLIST_MENU, //flags, LIST_MENU or MATRIX_MENUdefault_highlighted_item, //This is the default item that will be highlighted (if there is no history)guiBuffer); //history buffer

ShowCategory52Screen(title_id,title_icon_id,left_softkey_id,left_softkey_icon_id,right_softkey_id,right_softkey_icon_id, //Common screen data

number_of_items, //Number of itemslist_of_items, //List of text itemslist_of_icons, //list of descriptionssubHintData, //list of descriptions0, //flags, unuseddefault_highlighted_item, //This is the default item that will be highlighted (if there is no history)guiBuffer); //history buffer

ShowCategory53Screen(title_id,title_icon_id,left_softkey_id,left_softkey_icon_id,right_softkey_id,right_softkey_icon_id, //Common screen data

number_of_items, //Number of itemssubMenuData, //List of text itemslist_of_icons, //list of descriptionssubHintData, //list of descriptions0, //flags, unuseddefault_highlighted_item, //This is the default item that will be highlighted (if there is no history)guiBuffer); //history buffer

Screen 15 Screen 52 Screen 53

37

3.1.1.2.2 Scr – Menu – IconTextList2pBOOL get_item_func(S32 item_index, UI_string_type str_buff, UI_image_type* img_buff_p, U8 str_img_mask ){

pfnUnicodeStrcpy((S8*) str_buff, (S8*)g_my_items[store_index]);*img_buff_p = g_my_icons[store_index];

}

S32 get_hint_func( S32 item_index, UI_string_type *hint_array ){

pfnUnicodeStrcpy((S8*)hint_array[0], (S8*)g_my_hints[item_index]);}

void MyHighlightHandler(S32 nIndex) {

g_my_activate_item = nIndex;}

S32 number_of_items = 0;S32 default_highlighted_item = 0;U8* guiBuffer;S32 i = 0;EntryNewScreen(NEW_SCREEN_ID, ExitFunction, Entryfunction, NULL);guiBuffer = GetCurrGuiBuffer (NEW_SCREEN_ID); number_of_items = 100;RegisterHighlightHandler(MyHighlightHandler);

//Dynamic fixed listShowCategory184Screen( title_id,title_icon_id,left_softkey_id,left_softkey_icon_id,right_softkey_id,right_softkey_icon_id, //Common screen data

number_of_items, //Number of itemsget_item_func, //function pointer to get next displayed itemsget_hint_func, //function pointer to get next displayed hint datadefault_highlighted_item, //This is the default item that will be highlighted (if there is no history)guiBuffer); //history buffer

Screen 184

38

3.1.1.3 Scr – Menu – RadioBoxListvoid MyHighlightHandler(S32 nIndex) {

g_my_activate_item = nIndex;}Void MyLeftSoftkeyFunction(){

………… //use g_my_activate_item }

U8 subMenuData[MAX_SUB_MENUS][MAX_SUB_MENU_SIZE];U16 list_of_items[MAX_SUB_MENUS];S32 number_of_items = 0;S32 default_highlighted_item = 0;U8* guiBuffer;S32 i = 0;

EntryNewScreen(NEW_SCREEN_ID, ExitFunction, Entryfunction, NULL);guiBuffer = GetCurrGuiBuffer (NEW_SCREEN_ID); number_of_items = GetNumOfChild( CURRENT_PARENT_ITEM_ID );GetSequenceStringIds(CURRENT_PARENT_ITEM_ID , list_of_items);SetParentHandler(CURRENT_PARENT_ITEM_ID );RegisterHighlightHandler(MyHighlightHandler);for (i=0;i<number_of_items;i++)

subMenuData[i]=(PU8)get_string(list_of_items[i]);

ShowCategory11Screen(title_id,title_icon_id,left_softkey_id,left_softkey_icon_id,right_softkey_id,right_softkey_icon_id, //Common screen data

number_of_items, //Number of itemslist_of_items, //List of text itemsdefault_highlighted_item, //This is the default item that will be highlighted (if there is no history)guiBuffer); //history buffer

ShowCategory36Screen(title_id,title_icon_id,left_softkey_id,left_softkey_icon_id,right_softkey_id,right_softkey_icon_id, //Common screen data

number_of_items, //Number of itemssubMenuData, //List of text itemsdefault_highlighted_item, //This is the default item that will be highlighted (if there is no history)guiBuffer); //history buffer

SetLeftSoftkeyFunction( MyLeftSoftkeyFunction, KEY_EVENT_UP);

Screen 11 Screen 36

39

3.1.1.4 Scr – Menu – CheckBoxListvoid MyHighlightHandler(S32 nIndex) {

g_my_activate_item = nIndex;}Void MyLeftSoftkeyFunction(){

………… //use g_my_activate_item standard_check_list_handle_item_select(g_my_activate_item);

}

U16 list_of_items[MAX_SUB_MENUS];U8 list_of_status[MAX_SUB_MENUS];S32 number_of_items = 0;S32 default_highlighted_item = 0;U8* guiBuffer;S32 i = 0;

EntryNewScreen(NEW_SCREEN_ID, ExitFunction, Entryfunction, NULL);guiBuffer = GetCurrGuiBuffer (NEW_SCREEN_ID); number_of_items = GetNumOfChild( CURRENT_PARENT_ITEM_ID );GetSequenceStringIds(CURRENT_PARENT_ITEM_ID , list_of_items);SetParentHandler(CURRENT_PARENT_ITEM_ID );RegisterHighlightHandler(MyHighlightHandler);

………………………… //Init list_of_status

ShowCategory13Screen(title_id,title_icon_id,left_softkey_id,left_softkey_icon_id,right_softkey_id,right_softkey_icon_id, //Common screen data

number_of_items, //Number of itemslist_of_items, //List of text itemsdefault_highlighted_item, //This is the default item that will be highlighted (if there is no history)guiBuffer); //history buffer

SetLeftSoftkeyFunction( MyLeftSoftkeyFunction, KEY_EVENT_UP);

Screen 13

40

3.1.1.4 Scr – Menu – SeveralColsListU8 subMenuData[MAX_SUB_MENUS][MAX_SUB_MENU_SIZE];U16 list_of_items[MAX_SUB_MENUS];U16 list_of_icons1[MAX_SUB_MENUS];U16 list_of_icons2[MAX_SUB_MENUS];U8 subHintData[MAX_SUB_MENUS][MAX_SUB_MENU_HINT_SIZE];S32 number_of_items = 0;S32 default_highlighted_item = 0;U8* guiBuffer;S32 i = 0;

EntryNewScreen(NEW_SCREEN_ID, ExitFunction, Entryfunction, NULL);guiBuffer = GetCurrGuiBuffer (NEW_SCREEN_ID);

number_of_items = GetNumOfChild( CURRENT_PARENT_ITEM_ID );GetSequenceStringIds(CURRENT_PARENT_ITEM_ID , list_of_items);SetParentHandler(CURRENT_PARENT_ITEM_ID );RegisterHighlightHandler(ExecuteCurrHiliteHandler);for (i=0;i<number_of_items;i++)

subMenuData[i]=(PU8)get_string(list_of_items[i]);………………………… //Init list_of_icons1 and list_of_icons2

ShowCategory73Screen(title_id,title_icon_id,left_softkey_id,left_softkey_icon_id,right_softkey_id,right_softkey_icon_id, //Common screen data

number_of_items, //Number of itemssubMenuData, //List of text itemslist_of_icons1, //list of icons1list_of_icons2, //list of icons2default_highlighted_item, //This is the default item that will be highlighted (if there is no history)guiBuffer, 0); //history buffer

Screen 73

41

3.1.1.5 Scr – Menu – InlineEditListvoid MyHighlightHandler(S32 nIndex) {

switch(nIndex){Case 0:

……Default:

……}

}

U16 list_of_icons[MAX_SUB_MENUS];S32 number_of_items = 0;S32 default_highlighted_item = 0;U8* guiBuffer;S32 i = 0;

EntryNewScreen(NEW_SCREEN_ID, ExitFunction, Entryfunction, NULL);guiBuffer = GetCurrGuiBuffer (NEW_SCREEN_ID); RegisterHighlightHandler(MyHighlightHandler);

SetInlineItemActivation((&wgui_inline_items[0]),INLINE_ITEM_ACTIVATE_WITHOUT_KEY_EVENT,0);SetInlineItemDisplayOnly((&wgui_inline_items[0]),(U8*)my_string);

SetInlineItemActivation( (&wgui_inline_items[1]), INLINE_ITEM_ACTIVATE_WITHOUT_KEY_EVENT,0);SetInlineItemTextEdit( (&wgui_inline_items[1]), (PU8)my_text_buffer, 3,INPUT_TYPE_NUMERIC);

………………………………………..//more inline item see 3.2.7

ShowCategory57Screen(title_id,title_icon_id,left_softkey_id,left_softkey_icon_id,right_softkey_id,right_softkey_icon_id, //Common screen data

number_of_items, //Number of itemssubMenuData, //List of text itemslist_of_icons, //list of icons1wgui_inline_items, //See InlineItem structuredefault_highlighted_item, //This is the default item that will be highlighted (if there is no history)guiBuffer, 0); //history buffer

Screen 57

42

3.1.2 Scr – MsgBox

Screen 8 Screen 74 Screen 154

U16 message_string_id;S8* message_string_buffer;S8* message_string_buffer2;U16 message_icon_id;U8* guiBuffer;

EntryNewScreen(NEW_SCREEN_ID, ExitFunction, Entryfunction, NULL);guiBuffer = GetCurrGuiBuffer (NEW_SCREEN_ID);

message_string_id = MY_MESSAGE_ID;Message_icon_id = MY_MESSAGE_ICON_ID;Message_string_buffer = GetString(MY_MESSAGE_ID);Message_string_buffer2 = GetString(MY_MESSAGE_ID2);

ShowCategory8Screen( title_id,title_icon_id,left_softkey_id,left_softkey_icon_id,right_softkey_id,right_softkey_icon_id, //Common screen datamessage_string_id, //Notification messagemessage_icon_id, //Notification imageguiBuffer); //history buffer

ShowCategory74Screen( title_id,title_icon_id,left_softkey_id,left_softkey_icon_id,right_softkey_id,right_softkey_icon_id, //Common screen datamessage_string_buffer, //Notification message100, //Notification message sizeguiBuffer); //history buffer

ShowCategory154Screen( title_id,title_icon_id,left_softkey_id,left_softkey_icon_id,right_softkey_id,right_softkey_icon_id, //Common screen datamessage_string_buffer, //Notification message1message_string_buffer2, //Notification message2message_icon_id, //Notification imageguiBuffer); //history buffer

43

3.1.3 Scr – PublicS8 string_buffer[100];U16 message_icon_id;U8* guiBuffer;

EntryNewScreen(NEW_SCREEN_ID, ExitFunction, Entryfunction, NULL);guiBuffer = GetCurrGuiBuffer (NEW_SCREEN_ID);

ShowCategory5Screen( title_id,title_icon_id,left_softkey_id,left_softkey_icon_id,right_softkey_id,right_softkey_icon_id, //Common screen dataINPUT_TYPE_ALPHANUMERIC_SENTENCECASE, //input_type, Type of input to usestring_buffer, //Buffer the input box should use.Size of the buffer100, //Size of the bufferguiBuffer); //history buffer

44

3.2.1.1 Comp – Menu & Menuitems(WGUI)Menu related functions

Create menu void create_fixed_list(void); void create_fixed_matrix(void);

Associate menu and menuitems associate_fixed_icontext_list associate_fixed_icontext_list_list associate_fixed_icontext_list_matrix associate_fixed_icontext_matrix associate_fixed_multirow_list_list associate_fixed_text_list associate_fixed_text_matrix associate_fixed_twostate_list associate_fixed_twostate_matrix

Register menu key handler register_fixed_list_keys register_fixed_list_shortcut_handler register_fixed_matrix_keys register_fixed_matrix_shortcut_handler

Register highlight handler register_fixed_list_highlight_handler register_fixed_list_unhighlight_handler register_fixed_matrix_highlight_handler

Set menu void move_fixed_list(s32 x,s32 y) void move_fixed_matrix(s32 x,s32 y) void resize_fixed_list(s32 width,s32 height) void resize_fixed_matrix(s32 width,s32

height) Show menu

void redraw_fixed_list(void) void show_fixed_list(void) void show_fixed_matrix(void)

Menuitems related functions Create menuitems

create_fixed_text_menuitems create_fixed_icontext_menuitems create_fixed_icontext_list_menuitems create_fixed_twostate_menuitems

Add menuitem add_fixed_icontext_item add_fixed_icontext_items add_location_fixed_icontext_item add_fixed_text_item add_fixed_text_items add_location_fixed_text_item add_fixed_twostate_item add_fixed_twostate_items add_location_fixed_twostate_item add_fixed_icontext_list_item_icon add_fixed_icontext_list_item_text

Set menuitems resize_fixed_icontext_menuitems resize_fixed_text_menuitems resize_fixed_twostate_menuitems resize_fixed_icontext_list_menuitems set_fixed_icontext_positions set_fixed_twostate_positions

45

3.2.1.2 Comp – Menu Example(WGUI)// Step 1, Create menu

create_fixed_list();// Step 2, Create menuitems

create_fixed_icontext_menuitems();// Step 3, Associate menu and menuitems

associate_fixed_icontext_list();// Step 4, Set menuitems data

for(i=0;i<number_of_items;i++)add_fixed_icontext_item(list_of_items[i],list_of_icons[i]);

// Step 5, Register menu key handlerregister_fixed_list_shortcut_handler();register_fixed_list_keys();

// Step 6, Register menu highlight handlerregister_fixed_list_highlight_handler(standard_list_highlight_handler);

// Step 7, Set menumove_fixed_list(0,(MMI_title_y+MMI_title_height));resize_fixed_list(MMI_content_width,MMI_content_height);

// Step 7, Set menuitemsresize_fixed_icontext_menuitems(0,MMI_MENUITEM_HEIGHT);set_fixed_icontext_positions( MMI_ICONTEXT_MENUITEM_HEIGHT+2,0,1,0);

// Step 8, Show menuShow_fixed_list();

46

3.2.1.3 Comp – Menu(GUI)Fixed list menu functions

Create menu pixtel_UI_create_fixed_list_menu

Set menu pixtel_UI_set_fixed_list_menu_current_theme pixtel_UI_set_fixed_list_menu_theme pixtel_UI_resize_fixed_list_menu pixtel_UI_move_fixed_list_menu

Menu goto functions pixtel_UI_fixed_list_menu_goto_item pixtel_UI_fixed_list_menu_goto_next_item pixtel_UI_fixed_list_menu_goto_previous_ite

m pixtel_UI_fixed_list_menu_goto_next_page pixtel_UI_fixed_list_menu_goto_previous_pag

e pixtel_UI_fixed_list_menu_goto_first_item pixtel_UI_fixed_list_menu_goto_last_item

Set menuitems functions pixtel_UI_set_fixed_list_menu_item_functions pixtel_UI_set_fixed_list_menu_common_item

_data

Show menu pixtel_UI_show_fixed_list_menu

Fixed matrix menu functions Create menu

pixtel_UI_create_fixed_matrix_menu

Set menu pixtel_UI_set_fixed_matrix_menu_current_theme pixtel_UI_set_fixed_matrix_menu_theme pixtel_UI_fixed_matrix_menu_auto_configure pixtel_UI_fixed_matrix_menu_setup pixtel_UI_resize_fixed_matrix_menu pixtel_UI_move_fixed_matrix_menu

Menu goto functions pixtel_UI_fixed_matrix_menu_locate_highlighted_it

em pixtel_UI_fixed_matrix_menu_goto_next_item pixtel_UI_fixed_matrix_menu_goto_previous_item pixtel_UI_fixed_matrix_menu_goto_previous_row pixtel_UI_fixed_matrix_menu_goto_next_row pixtel_UI_fixed_matrix_menu_goto_previous_colum

n pixtel_UI_fixed_matrix_menu_goto_next_column pixtel_UI_fixed_matrix_menu_goto_first_item pixtel_UI_fixed_matrix_menu_goto_last_item pixtel_UI_fixed_matrix_menu_goto_next_page pixtel_UI_fixed_matrix_menu_goto_previous_page pixtel_UI_fixed_matrix_menu_goto_item

Set menuitems functions pixtel_UI_set_fixed_matrix_menu_item_functions pixtel_UI_set_fixed_matrix_menu_common_item_da

ta

Show menu pixtel_UI_show_fixed_matrix_menu

47

3.2.1.4 Comp – MenuItem(GUI)Text functions

Create pixtel_UI_create_fixed_text_menuitem

Set pixtel_UI_set_fixed_text_menuitem_theme pixtel_UI_set_fixed_text_menuitem_current_theme pixtel_UI_fixed_text_menuitem_set_text_position pixtel_UI_resize_fixed_text_menuitem

Item functions pixtel_UI_measure_fixed_text_menuitem pixtel_UI_highlight_fixed_text_menuitem pixtel_UI_remove_highlight_fixed_text_menuitem

Show pixtel_UI_show_fixed_text_menuitem

Icontext Create

pixtel_UI_create_fixed_icontext_menuitem Set

pixtel_UI_set_fixed_icontext_menuitem_current_theme

pixtel_UI_set_fixed_icontext_menuitem_theme pixtel_UI_fixed_icontext_menuitem_set_text_position pixtel_UI_fixed_icontext_menuitem_set_icon_position pixtel_UI_resize_fixed_icontext_menuitem

Item functions pixtel_UI_hide_fixed_icontext_menuitem pixtel_UI_measure_fixed_icontext_menuitem pixtel_UI_highlight_fixed_icontext_menuitem pixtel_UI_remove_highlight_fixed_icontext_menuitem

Show pixtel_UI_show_fixed_icontext_menuitem

Icontext list Create

pixtel_UI_create_fixed_icontext_list_menuitem Set

pixtel_UI_set_fixed_icontext_list_menuitem_current_theme pixtel_UI_set_fixed_icontext_list_menuitem_theme pixtel_UI_fixed_icontext_list_menuitem_set_post_display pixtel_UI_fixed_icontext_list_menuitem_set_text_coordinates pixtel_UI_fixed_icontext_list_menuitem_set_icon_coordinates pixtel_UI_resize_fixed_icontext_list_menuitem

Item functions pixtel_UI_measure_fixed_icontext_list_menuitem pixtel_UI_highlight_fixed_icontext_list_menuitem pixtel_UI_remove_highlight_fixed_icontext_list_menuitem

Show pixtel_UI_show_fixed_icontext_list_menuitem

Twostate Create

pixtel_UI_create_fixed_twostate_menuitem Set

pixtel_UI_set_fixed_twostate_menuitem_current_theme

pixtel_UI_set_fixed_twostate_menuitem_theme pixtel_UI_fixed_twostate_menuitem_set_text_position pixtel_UI_fixed_twostate_menuitem_set_icon_position pixtel_UI_fixed_twostate_menuitem_set_icons pixtel_UI_resize_fixed_twostate_menuitem

Item functions pixtel_UI_measure_fixed_twostate_menuitem pixtel_UI_highlight_fixed_twostate_menuitem pixtel_UI_remove_highlight_fixed_twostate_menuitem

Show pixtel_UI_show_fixed_twostate_menuitem

48

3.2.1.5 Comp – Fixed list menu Example(GUI)fixed_text_menuitem common_item; // common item datafixed_text_menuitem_type item_list [10]; // 10 items in the listvoid * item_pointers [10]; // 10 item pointers for the 10 itemsfixed_list_menu demo_menu; // sample fixed menu

/* Initialization */…for( k=0; k<10; k++){ item_pointers[k]=(void*) item_list[k]; // initialize the list of pointers}…item_list[0].text=”one”; // add the itemsitem_list[1].text=”two”;….Item_list[9].text=”nine”;…/* Association with a fixed list menu */pixtel_UI_create_fixed_list_menu(&demo_menu,0,0,120,120);demo_menu.n_items=10;demo_menu.items=item_pointers;demo_menu.common_item_data=&common_item;pixtel_UI_set_fixed_list_menu_item_functions(&demo_menu, pixtel_UI_show_fixed_text_menuitem, // Display function

pixtel_UI_measure_fixed_text_menuitem, // Measure functionpixtel_UI_highlight_fixed_text_menuitem, // Highlight functionpixtel_UI_remove_highlight_fixed_text_menuitem, // Remove highlight functiondummy_function); // Hide function (In this case a dummy)

pixtel_UI_show_fixed_list_menu(&demo_menu); // Display the fixed menu

49

3.2.1.6 Comp – Fixed matrix menu Example(GUI)fixed_text_menuitem common_item; // common item datafixed_text_menuitem_type item_list [10]; // 10 items in the listvoid * item_pointers [10]; // 10 item pointers for the 10 itemsfixed_matrix_menu demo_menu;

/* Initialization */…for( k=0; k<10; k++){ item_pointers[k]=(void*) item_list[k]; // initialize the list of pointers}…item_list[0].text=”one”; // add the itemsitem_list[1].text=”two”;….Item_list[9].text=”nine”;…/* Association with the fixed matrix menu */pixtel_UI_create_fixed_matrix_menu(&demo_menu,0,0,120,120);pixtel_UI_fixed_matrix_setup(&demo_menu,32,32,3,0); // 3 columns, n rowsdemo_menu.n_items=10;demo_menu.items=item_pointers;demo_menu.common_item_data=&common_item;pixtel_UI_set_fixed_matrix_menu_item_functions(&demo_menu, pixtel_UI_show_fixed_text_menuitem, // Display function

pixtel_UI_measure_fixed_text_menuitem, // Measure functionpixtel_UI_highlight_fixed_text_menuitem, // Highlight functionpixtel_UI_remove_highlight_fixed_text_menuitem, // Remove highlight functiondummy_function); // Hide function (In this case a dummy)

pixtel_UI_show_fixed_matrix_menu(&demo_menu); // Display the fixed menu

50

3.2.2.1 Comp – Button(GUI)Button functions

Create pixtel_UI_create_button

Set pixtel_UI_set_button_current_theme pixtel_UI_set_button_theme

Show pixtel_UI_show_button

Text button functions Create

pixtel_UI_create_text_button Set

pixtel_UI_set_text_button_current_theme

pixtel_UI_set_text_button_theme pixtel_UI_set_text_button_BG_theme pixtel_UI_text_button_set_text_position

Show pixtel_UI_show_text_button

Icontext button functions Create

pixtel_UI_create_icontext_button Set

pixtel_UI_set_icontext_button_current_theme

pixtel_UI_set_icontext_button_theme pixtel_UI_set_icontext_button_BG_theme pixtel_UI_resize_icontext_button pixtel_UI_move_icontext_button pixtel_UI_icontext_button_set_icon_positon pixtel_UI_icontext_button_set_text_position pixtel_UI_icontext_button_set_icon

Show pixtel_UI_show_icontext_button

Icon button functions Create

pixtel_UI_create_icon_button Set

pixtel_UI_set_icon_button_current_theme

pixtel_UI_set_icon_button_theme pixtel_UI_set_icon_button_BG_theme pixtel_UI_resize_icon_button pixtel_UI_move_icon_button pixtel_UI_icon_button_set_icon_positon pixtel_UI_icon_button_set_icon

Show pixtel_UI_show_icon_button

51

3.2.3.1 Comp – Scrollbar(GUI)Scrollbar functions

Create pixtel_UI_create_vertical_scrollbar

Set pixtel_UI_set_vertical_scrollbar_current_th

eme pixtel_UI_set_vertical_scrollbar_theme pixtel_UI_set_vertical_scrollbar_range pixtel_UI_set_vertical_scrollbar_value pixtel_UI_set_vertical_scrollbar_scale pixtel_UI_move_vertical_scrollbar pixtel_UI_resize_vertical_scrollbar

Show pixtel_UI_show_vertical_scrollbar

Progress indicator functions Create

pixtel_UI_create_vertical_progress_indicator Set

pixtel_UI_set_vertical_progress_indicator_theme pixtel_UI_set_vertical_progress_indicator_range pixtel_UI_set_vertical_progress_indicator_value

Show pixtel_UI_show_vertical_progress_indicator

Slide functions Create

pixtel_UI_create_vertical_slide Set

pixtel_UI_set_vertical_slide_current_theme

pixtel_UI_set_vertical_slide_theme pixtel_UI_set_vertical_slide_range pixtel_UI_set_vertical_slide_value pixtel_UI_set_vertical_slide_scale pixtel_UI_move_vertical_slide pixtel_UI_resize_vertical_slide

Show pixtel_UI_show_vertical_slide

52

3.2.3.2 Comp – Scrollbar ExampleScrollbar:// create the scrollbarvertical_scrollbar vbar;pixtel_UI_create_vertical_scrollbar(&vbar,100,10,8,60);// set the range and scale and valuepixtel_UI_set_vertical_scrollbar_range(&vbar, 100); // for example to display 100 items in a list viewpixtel_UI_set_vertical_scrollbar_scale(&vbar,6); // for example, 6 items displayed at a time in the listpixtel_UI_set_vertical_scrollbar_value(&vbar,0); // for example, at first item in the list view// show vertical scrollbarpixtel_UI_show_vertical_scrollbar(&vbar);

Slide:// create the slidevertical_slide slide;pixtel_UI_create_vertical_slide(&slide,0,0,8,100);// set the range and scale and valuepixtel_UI_set_vertical_slide_range(&slide,100);pixtel_UI_set_vertical_slide_value(&slide,66);pixtel_UI_set_vertical_slide_scale(&slide,15);// show vertical slidepixtel_UI_show_vertical_slide(&slide);

Progress:// create the progress indicatorhorizontal_progress_indicator b;pixtel_UI_create_horizontal_progress_indicator(&b, 10,10,100,15);// set the range and scale and valuepixtel_UI_set_horizontal_progress_indicator_range(&b, 100);pixtel_UI_set_horizontal_progress_indicator_value(&b, 33);// show horizontal progresspixtel_UI_show_horizontal_progress_indicator(&b);

53

3.2.4 Comp – StatusbarStatusbar example://Enable status icon bar(show screen):

show_status_icon_bar(0);show_status_icon_bar(1);show_status_icon_bar(2);

//show all three status bar(redraw screen):

show_status_icons();//Close all three status bar(exit screen):

close_status_icons();

Statusbar icons related functions:void ShowStatusIcon(s16 icon_ID);void HideStatusIcon(s16 icon_ID);void disable_status_icon(s16 icon_ID);void enable_status_icon(s16 icon_ID);void ChangeStatusIconLevel(s16 icon_ID,byte level_percentage);void ChangeStatusIconImage(s16 icon_ID, U16 image_ID); void AnimateStatusIcon(s16 icon_ID);void BlinkStatusIcon(s16 icon_ID);void set_status_icon_state(s16 icon_ID,byte state);void reset_status_icon_state(s16 icon_ID);

54

3.2.5 Comp – Scrolling textscrolling_text g_scrolling_text;//My scrolling text

//Timer callbackvoid timer_callback(void){

pixtel_UI_handle_scrolling_text( &g_scrolling_text);}

//Draw background callbackvoid draw_background(S32 x1, S32 y1, S32 x2, S32 y2){

color bg_color = pixtel_UI_color( 0, 255, 255 );pixtel_UI_push_clip();pixtel_UI_set_clip(x1, y1, x2, y2);pixtel_UI_fill_rectangle(x1,y1,x2,y2, bg_color);pixtel_UI_pop_clip();

}

//Create and show scrolling textvoid show_my_scrolling_text(){

UI_character_type str[] = L”Show scrolling text”;color text_color = pixtel_UI_color( 255, 255, 255 );color border_color = pixtel_UI_color( 0, 0, 0 );

pixtel_UI_create_scrolling_text( &g_scrolling_text,10, 10, 100, 20, str, timer_callback, draw_background, text_color, border_color);

pixtel_UI_show_scrolling_text(&g_scrolling_text);}

55

3.2.6 Comp – Popup description//Step 1, Create popup description

UI_pop_up_description my_desc;UI_character_type str[] = L”My popup description”;pixtel_UI_create_pop_up_description( &my_desc, 10, 10, 100, 20 );

//Step 2, Set popup description

pixtel_UI_set_pop_up_description_current_theme( &my_desc);pixtel_UI_set_pop_up_description_n_strings(&my_desc , 1);pixtel_UI_set_pop_up_description_text( &my_desc, 0, str);

//Step 3, Show popup description

pixtel_UI_show_pop_up_description(&my_desc);pixtel_UI_pop_up_description_start_scroll(&my_desc);

//Step 4, Stop popup description

pixtel_UI_pop_up_description_stop_scroll();

56

3.2.7.1 Comp – InlineEdit – Text Full screen edit:

void custom_setup_function(void) {

ChangeLeftSoftkey (STR_GLOBAL_OPTIONS, IMG_GLOBAL_OPTIONS);SetLeftSoftkeyFunction(EntryScrForInputMethodAndDone, KEY_EVENT_UP);SetInputMethodAndDoneCaptionIcon(IMG_SCR_PBOOK_CAPTION);

}

UI_character_type my_string[100];SetInlineItemActivation(&wgui_inline_items[inline_item_index],KEY_LSK,KEY_EVENT_UP);SetInlineItemFullScreenEdit( &wgui_inline_items[inline_item_index],TITLE_ID, TITLE_ICON_ID, (PU8)my_string,100,

INPUT_TYPE_ALPHANUMERIC_SENTENCECASE );SetInlineFullScreenEditCustomFunction(&wgui_inline_items[inline_item_index], custom_setup_function);

Text edit:UI_character_type my_string[100];SetInlineItemTextEdit( &wgui_inline_items[inline_item_index], (U8*)PU8)my_string, 100, INPUT_TYPE_DECIMAL_NUMERIC );

Multiline edit:UI_character_type my_string[100];SetInlineItemMultiLineEdit( &wgui_inline_items[inline_item_index], my_string,

(U8*)GetString(STR_EMAIL_SIGNATURE_TEXT), 100, INPUT_TYPE_ALPHANUMERIC_SENTENCECASE );

Multiline read only:UI_character_type my_string[100];SetInlineMultiLineRdOnly ( &wgui_inline_items[inline_item_index],

(U8*)PU8)my_string, 100, INPUT_TYPE_USE_ENCODING_BASED_LENGTH |

INPUT_TYPE_ALPHANUMERIC_SENTENCECASE, 3);

57

3.2.7.2 Comp – InlineEdit – SelectSelect:

S32 my_select_index = 0;S32 num_of_items = 3;UI_character_type list_of_items[3][] = {L”slect 1”, L”select 2”, L”selct 3”}; SetInlineItemSelect(&(wgui_inline_items[inline_item_index]), num_of_items, (U8**)list_of_items, &my_select_index );

Color select:void color_highlighted_callback(U16 index){

//Save index}U16 HilitedColor = 1;color color_list[3] = {{0,255,255}, {255,0,0}, {0,255,0}};SetInlineItemColorSelect(&wgui_inline_items[inline_item_index], 3, HilitedColor , color_list, color_highlighted_callback);

User defined select:U8* current_item_callback(){

return (U8*)L”index 2”;}U8* previous_item_callback(){

return (U8*)L”index 1”;}U8* next_item_callback(){

return (U8*)L”index 3”;}SetInlineItemUserDefinedSelect(&wgui_inline_items[inline_item_index],current_item_callback, previous_item_callback, next_item_callback);

58

3.2.7.3 Comp – InlineEdit – DateTimeDate:

void DateEditorCallback(U8 *DateStr, U8 *day,U8 *month,U8 *year) //show date string callback{

pfnUnicodeStrcpy((S8*)DateStr,(S8*)year); pfnUnicodeStrcat((S8*)DateStr,(S8*)"/");pfnUnicodeStrcat((S8*)DateStr,(S8*)month); pfnUnicodeStrcat((S8*)DateStr,(S8*)"/");pfnUnicodeStrcat((S8*)DateStr,(S8*)day);

}SetInlineItemDate( (&(wgui_inline_items[inline_item_index]), (U8*)gDate,(U8*)gMonth,(U8*)gYear, DateEditorCallback);

set_inline_date_boundary(2030, 2000, 12, 1); //year from 2000 to 2030,month from 1 to 12

Time:void TimeEditorCallBack(U8 *string_buffer,U8* hours_buffer,U8* min_buffer,U8* AM_PM_flag){

pfnUnicodeStrcpy((S8*)string_buffer,(S8*)hours_buffer);pfnUnicodeStrcat((S8*)string_buffer,(S8*)":");pfnUnicodeStrcat((S8*)string_buffer,(S8*)min_buffer);

}SetInlineItemTime (&wgui_inline_items[inline_item_index], (U8*)HourBuf, (U8*)MinBuf,NULL, TimeEditorCallBack);

Time period:void TimeEditorCallBack(U8* string_buffer, U8* hours_buffer1, U8* minutes_buffer1, U8* AM_PM_flag1,

U8* hours_buffer2,U8* minutes_buffer2,U8* AM_PM_flag2){

//Set string_buffer such as “12:30 – 17:50”}SetInlineItemTimePeriod(&(wgui_inline_items[inline_item_index]),(U8*)HourBuff1, (U8*)MinBuff1, NULL,

(U8*)HourBuff2, (U8*)MinBuff2, NULL, TimeEditorCallBack);

Dow(day of week) select:S32 HilitedDays = 3;U8 gDaysStates[7] = {1,0,0,0,1,1,0};SetInlineItemDOWSelect(&(wgui_inline_items[inline_item_index]),HilitedDays, gDaysStates);

59

3.2.7.4 Comp – InlineEdit – Common Activation:

S32 key_code = INLINE_ITEM_ACTIVATE_WITHOUT_KEY_EVENT; // Or KEY_0 to MAX_KEYS

S32 key_event = 0; //Or KEY_EVENT_DOWN / KEY_EVENT_UP / KEY_LONG_PRESS / KEY_REPEATSetInlineItemActivation(&(wgui_inline_items[inline_item_index]), key_code, key_event );

Display only:SetInlineItemDisplayOnly(&(wgui_inline_items[inline_item_index]), my_string);

Caption:SetInlineItemCaption(&wgui_inline_items[inline_item_index], (U8*)my_sting);

Ip4 edit:void ip_addr_callback(U8* string_buffer,U8 *IP1,U8 *IP2,U8 *IP3,U8 *IP4){

//Set string_buffer such as “172.021.210.70”}

UI_character_type ip_string[4][4]; //255.255.255.255SetInlineItemIP4(&wgui_inline_items[inline_item_index], ip_string[0], ip_string[1], ip_string[2], ip_string[3], ip_addr_callback);

60

3.2.7.5 Comp – InlineEdit – Set flag Follow

void SetInlineItemFollowUp(InlineItem *item,s32 index) void SetInlineItemFollowDown(InlineItem *item,s32 index)

Width and Height void DisableInlineItemHighlight(InlineItem *item) void SetInlineItemFullWidth(InlineItem *item)

Justify void LeftJustifyInlineItem(InlineItem *item) void RightJustifyInlineItem(InlineItem *item) void CenterJustifyInlineItem(InlineItem *item)

Boundary void DisableInlineItemBoundary(InlineItem *item) void EnableInlineItemBoundary(InlineItem *item)

DottedUnderline void SetInlineItemDottedUnderline(InlineItem *item)

61

3.2.8 Comp – Title & Buttonbar

Title://In show screen

MMI_title_icon = MY_TITLE_ICON_ID;MMI_title_string = (U8*)L”my title”;

//In redraw screen

draw_title();

//Other functions

ChangeTitleString( (U8*)L”my title string” );ChangeTitleIcon( MY_TITLE_ICON_ID2 );ChangeTitle((U8*)L”my title string” , MY_TITLE_ICON_ID2 );draw_scrolling_title();close_scrolling_title();

Buttonbar:show_softkey_background();draw_arrow_indication(left_enable, right_enable, up_enable, down_enable);show_left_softkey();show_right_softkey();show_softkey(MMI_LEFT_SOFTKEY|MMI_RIGHT_SOFTKEY|MMI_CENTER_SOFTKEY);

62

3.3.1 Prim – GUI global variableGUI global variable Macro 128*128 128*160

176*220 240*320

MAIN_LCD_device_width GDI_LCD_WIDTH 128 128 176 240

MAIN_LCD_device_height GDI_LCD_HEIGHT 160 160 220 320

MMI_status_bar_height MMI_STATUS_BAR_HEIGHT 16 18 18 18

MMI_content_y MMI_CONTENT_Y 0 20 42 54

MMI_content_height MMI_CONTENT_HEIGHT 92 120 158 242

MMI_content_width MMI_CONTENT_WIDTH 128 128 176 240

MMI_title_height MMI_TITLE_HEIGHT 18 20 24 36

MMI_title_width MMI_TITLE_WIDTH 128 128 176 240

MMI_title_y MMI_TITLE_Y 0 0 18 18

MMI_button_bar_heightMMI_BUTTON_BAR_HEIGHT 18 20 20 24

MMI_softkey_width MMI_SOFTKEY_WIDTH 50 50 70 70

MMI_softkey_height MMI_SOFTKEY_HEIGHT 18 19 20 24

MMI_pop_up_dialog_width

MMI_POP_UP_DIALOG_WIDTH 108 108 136 218

MMI_pop_up_dialog_height

MMI_POP_UP_DIALOG_HEIGHT 86 114 138 138

MMI_menuitem_height MMI_MENUITEM_HEIGHT 18 17 22 30

63

3.3.2.1 Prim – String – Set & ShowstFontAttribute my_font = {0,/*bold*/ 0,/*italic*/ 0,/*underline*/ 2,/*size*/

100,/*color*/ 2,/*type*/ 0,/*oblique*/ 0/*smallCaps*/};

S32 line_height = 30;// Set attributepixtel_UI_set_text_color(UI_COLOR_RED);pixtel_UI_set_text_border_color(UI_COLOR_GREEN);pixtel_UI_set_font(&my_font);

// Print stringpixtel_UI_move_text_cursor(5,1);pixtel_UI_print_character((UI_character_type)L' 我 ');

pixtel_UI_move_text_cursor(100,30);pixtel_UI_print_bordered_character((UI_character_type)L' 我 ');

pixtel_UI_move_text_cursor(4,60);pixtel_UI_set_line_height(line_height);pixtel_UI_print_text((UI_string_type)L" 字符串: print_text");pixtel_UI_draw_rectangle(4,60,200,60+line_height,UI_COLOR_GREEN);

pixtel_UI_move_text_cursor(0,100);pixtel_UI_print_bordered_text((UI_string_type)L" 字符串: print_bordered_text");

pixtel_UI_move_text_cursor(1,130);pixtel_UI_print_text_n((UI_string_type)L" 字符串: print_text_n",6);

pixtel_UI_move_text_cursor(10,160);pixtel_UI_print_bordered_text_n((UI_string_type)L" 字符串:

print_bordered_text_n",6);

pixtel_UI_move_text_cursor(50,190);pixtel_UI_printf((UI_string_type)"printf-%d",line_height);

64

3.3.2.2 Prim – String – MeasureS32 width = 0, height = 0;pixtel_UI_set_text_color(UI_COLOR_RED);pixtel_UI_set_text_border_color(UI_COLOR_GREEN);

width = pixtel_UI_get_character_width((UI_character_type)L' 我 ');pixtel_UI_move_text_cursor(10,10);pixtel_UI_printf((UI_string_type)"width = %d",width);

height = pixtel_UI_get_character_height((UI_character_type)L' 我 ');pixtel_UI_move_text_cursor(10,35);pixtel_UI_printf((UI_string_type)"height = %d", height);

pixtel_UI_measure_character((UI_character_type)L' 我 ', &width, &height);pixtel_UI_move_text_cursor(10,60);pixtel_UI_printf((UI_string_type)"width = %d height = %d",width, height);

width = pixtel_UI_get_string_width((UI_string_type)L" 字符串 String 123");pixtel_UI_move_text_cursor(10,85);pixtel_UI_printf((UI_string_type)"width = %d",width);

width = pixtel_UI_get_string_width_n((UI_string_type)L" 字符串 String 123", 7);pixtel_UI_move_text_cursor(10,110);pixtel_UI_printf((UI_string_type)"width = %d",width);

height = pixtel_UI_get_string_height((UI_string_type)L" 字符串 String 123");pixtel_UI_move_text_cursor(10,135);pixtel_UI_printf((UI_string_type)"height = %d", height);

pixtel_UI_measure_string((UI_string_type)L" 字符串 String 123", &width, &height);

pixtel_UI_move_text_cursor(10,160);pixtel_UI_printf((UI_string_type)"width = %d height = %d",width, height);

pixtel_UI_measure_string_n((UI_string_type)L" 字符串 String 123", 8, &width, &height);

pixtel_UI_move_text_cursor(10,185);pixtel_UI_printf((UI_string_type)"width = %d height = %d",width, height);

65

3.3.3.1 Prim – Image – StaticU16 image_id = MY_IMAGE_ID;UI_image_type image_ptr = (UI_image_type)GetImage(image_id);UI_string_type image_name = L"C:\\my_image.c";S32 offset_x = 10, offset_y = 10, resized_width = 120, resized_height = 150;S32 n_frames = 0, single_frame = 0, start_frame = 2;S32 width = 0, height = 0;U16 image_type = GDI_IMAGE_TYPE_INVALID;gdi_handle ani_handle = NULL;

gdi_image_draw(offset_x, offset_y, image_ptr);gdi_image_draw_id(offset_x, offset_y, image_id);gdi_image_draw_file(offset_x, offset_y, image_name);

gdi_image_draw_resized(offset_x, offset_y, resized_width, resized_height, image_ptr); gdi_image_draw_resized_id(offset_x, offset_y, resized_width, resized_height, image_id); gdi_image_draw_resized_file(offset_x, offset_y, resized_width, resized_height, image_name);

gdi_image_draw_animation_single_frame(offset_x, offset_y, image_ptr, single_frame); gdi_image_draw_animation_single_frame_id(offset_x, offset_y, image_id, single_frame);

gdi_image_get_frame_count(image_ptr, &n_frames); gdi_image_get_frame_count_id(image_id, &n_frames); gdi_image_get_dimension(image_ptr, &width, &height); gdi_image_get_dimension_id(image_id, &width, &height); gdi_image_get_dimension_file(image_name, &width, &height); image_type = gdi_image_get_type_from_file(image_name); image_type = gdi_image_get_type_from_id(image_id);

66

3.3.3.2 Prim – Image - animationU16 image_id = MY_IMAGE_ID;UI_image_type image_ptr = (UI_image_type)GetImage(image_id);UI_string_type image_name = L"C:\\my_image.c";S32 offset_x = 10, offset_y = 10, resized_width = 120, resized_height = 150;S32 n_frames = 0, single_frame = 0, start_frame = 2;S32 width = 0, height = 0;U16 image_type = GDI_IMAGE_TYPE_INVALID;gdi_handle ani_handle = NULL;

gdi_image_draw_animation(offset_x, offset_y, image_ptr, &ani_handle);

gdi_image_draw_animation_id(offset_x, offset_y, image_id, &ani_handle);

gdi_image_draw_animation_frames_id(offset_x, offset_y, image_id, &ani_handle, start_frame);

gdi_image_draw_animation_once_id(offset_x, offset_y, image_id, &ani_handle);

gdi_image_draw_animation_frames(offset_x, offset_y, image_ptr, &ani_handle, start_frame);

gdi_image_draw_animation_once(offset_x, offset_y, image_ptr, &ani_handle);

gdi_image_draw_animation_file(offset_x, offset_y, image_name, &ani_handle);

gdi_image_draw_animation_resized(offset_x, offset_y, resized_width, resized_height, image_ptr, &ani_handle);

gdi_image_draw_animation_resized_file(offset_x, offset_y, resized_width, resized_height, image_name, &ani_handle);

gdi_image_draw_animation_frames_file(offset_x, offset_y, image_name, &ani_handle, start_frame);

67

3.3.4.1 Prim – Grapha – Pixel & linecolor c = { 255, 0, 0, 100};U32 line_color = DRV_RGB_TO_HW(255,0,0);U8 bits[10] = {1,1,1,1,0,0,0,1,0,0};

for (x1 = 20; x1 < 160; x1+=3)pixtel_UI_putpixel(x1, 10, c);

pixtel_UI_draw_vertical_line(20, 160, 160, c);

pixtel_UI_draw_horizontal_line(20,160, 20, c);

pixtel_UI_line(20, 20, 160, 160 , c);

pixtel_UI_wline(160, 22, 20, 160, c, 5);

gdi_draw_line(30, 100, 80, 160, line_color);

gdi_draw_line(20, 110, 90, 150, line_color);

gdi_draw_line_style(80, 60, 120, 60, line_color, 10, bits);

gdi_draw_line_style(120, 60, 120, 100, line_color, 10, bits);

68

3.3.4.2 Prim – Grapha – Rectgdi_color rect_color = DRV_RGB_TO_HW(255,0,0);gdi_color frame_color = DRV_RGB_TO_HW(0,255,0);gdi_color shadow_color = DRV_RGB_TO_HW(0,0,255);gdi_color rect_color_start = DRV_RGB_TO_HW(0,255,255);gdi_color rect_color_end = DRV_RGB_TO_HW(255,0,255);

gdi_draw_rect(10, 10, 160, 30, frame_color);

gdi_draw_solid_rect(10, 35, 160, 55, rect_color);

gdi_draw_greyscale_rect(10, 60, 160, 80, 20);

gdi_draw_frame_rect(10, 85, 160, 105, rect_color, frame_color, 3);

gdi_draw_round_rect(10, 110, 160, 130, rect_color, frame_color, 2);

gdi_draw_button_rect(10, 135, 160, 155, rect_color, frame_color, 3, 4, TRUE);

gdi_draw_shadow_rect(10, 160, 160, 180, rect_color, frame_color, 2, shadow_color, 4);

gdi_draw_gradient_rect(10, 190, 160, 210, rect_color_start, rect_color_end, frame_color,

3, 0);

69

3.3.5 Prim – Filled areacolor colors[] = {{0,0,0,100}, {255,255,0,100}, {0,255,0,100}, {0,0,255,100},{0,255,255}};byte pts[] = { 50,50,30,40};gradient_color gc = {colors,pts,3};UI_filled_area f = {

NULL/*flag*/, get_image(IMG_GLOBAL_SAVE)/*bitmap*/, &gc/*gradient color*/, { 0, 255, 0, 100}/*color*/, { 255, 0, 0, 100}/*alternate color*/,{ 255, 0, 255, 100}/*border color*/, { 0, 255, 255, 100}/*shadow color*/, 100/*transparent color*/

};S32 *flags = &f.flags;S32 y = 0;

*flags = UI_FILLED_AREA_TYPE_COLOR | UI_FILLED_AREA_TYPE_NO_BORDER; y += 5;pixtel_UI_draw_filled_area(10, y, 160, y + 18, &f);

*flags = UI_FILLED_AREA_TYPE_GRADIENT_COLOR ; y += 24;pixtel_UI_draw_filled_area(10, y, 160, y + 18, &f);

*flags = UI_FILLED_AREA_TYPE_TEXTURE | UI_FILLED_AREA_SINGLE_BORDER; y += 24;pixtel_UI_draw_filled_area(10, y, 160, y + 18, &f);

*flags = UI_FILLED_AREA_TYPE_BITMAP | UI_FILLED_AREA_DOUBLE_BORDER | UI_FILLED_AREA_3D_BORDE;

y += 24;pixtel_UI_draw_filled_area(10, y, 160, y + 18, &f);

*flags = UI_FILLED_AREA_TYPE_HATCH_COLOR | UI_FILLED_AREA_ROUNDED_BORDER; y += 24;pixtel_UI_draw_filled_area(10, y, 160, y + 18, &f);

*flags = UI_FILLED_AREA_TYPE_ALTERNATE_HATCH_COLOR | UI_FILLED_AREA_ELEVATED_BORDER; y += 24;pixtel_UI_draw_filled_area(10, y, 160, y + 18, &f);

*flags = UI_FILLED_AREA_TYPE_CROSS_HATCH_COLOR | UI_FILLED_AREA_SINGLE_BORDER | UI_FILLED_AREA_3D_DEPRESSED_BORDER | UI_FILLED_AREA_SHADOW; y += 24;

pixtel_UI_draw_filled_area(10, y, 160, y + 18, &f);

*flags = UI_FILLED_AREA_TYPE_ALTERNATE_CROSS_HATCH_COLOR | UI_FILLED_AREA_SHADOW_DOUBLE_LINE;

y += 24;pixtel_UI_draw_filled_area(10, y, 160, y + 18, &f);

*flags = UI_FILLED_AREA_TYPE_CUSTOM_FILL_TYPE1; y += 24;pixtel_UI_draw_filled_area(10, y, 160, y + 18, &f);

70

Show Category ScreenShow Category Screen

XXX:ShowCategoryXXXScreenRedrawCategoryXXXScreenExitCategoryXXXScreenGetCategoryXXXHistoryGetCategoryXXXHistorySize

ShowCategoryXXXScreen:• Clear screen key handler• Register screen key

handler• Change softkey text/icon• Save parameter• Create screen component• Set screen component• Register screen function• Display screen

RedrawCategoryXXXScreen:• Clear screen• Draw title status icon• Draw title • Display other component• Draw softkey

71

Q&A

Thank you!