UI TASK & KEY EVENT

Similar documents
UI TASK & KEY EVENT

UI TASK & KEY EVENT

°¡°Ç6¿ù³»ÁöÃÖÁ¾

鍮뚮┰硫붾돱??李⑤낯

내지4월최종

Index

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap11-포인터의활용.pptx

슬라이드 1

슬라이드 1

PowerPoint Template

chap 5: Trees

제8장 자바 GUI 프로그래밍 II

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");


Microsoft PowerPoint - chap06-2pointer.ppt

08~15_º¸°ÇÀÇ·áºÐ¾ßODAÆò°¡

슬라이드 1

int main(void) int a; int b; a=3; b=a+5; printf("a : %d \n", a); printf("b : %d \n", b); a b 3 a a+5 b &a(12ff60) &b(12ff54) 3 a 8 b printf(" a : %x \

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

2002년 2학기 자료구조


Microsoft PowerPoint - ch07 - 포인터 pm0415

Lab 3. 실습문제 (Single linked list)_해답.hwp

adfasdfasfdasfasfadf

Java ...

비긴쿡-자바 00앞부속

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

API 매뉴얼

금오공대 컴퓨터공학전공 강의자료

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3


Requirement Definition Wheel Motor 작동하는경우장애물인식후 - Ultrasonic Sensor 홀수번누를경우 +10 Touch Sensor 누를경우 TouchSensor 계속누르고있을경우 (0.5) +10 짝수번누를경우 -10 빛이어두워졌다다

03_queue

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

HW5 Exercise 1 (60pts) M interpreter with a simple type system M. M. M.., M (simple type system). M, M. M., M.

Chapter_02-3_NativeApp

Microsoft PowerPoint - es-arduino-lecture-03

목차 1. 키패드 (KeyPAD) 2. KeyPAD 를이용한비밀번호입력기

BACK TO THE BASIC C++ 버그 헌팅: 버그를 예방하는 11가지 코딩 습관

Microsoft PowerPoint - chap06-1Array.ppt

PowerPoint 프레젠테이션

어댑터뷰

S A S D 발표 : 구태환

untitled

PowerPoint 프레젠테이션

04_인덱스_ _먹1도

BMP 파일 처리

Microsoft PowerPoint Predicates and Quantifiers.ppt

歯처리.PDF

02 C h a p t e r Java

gnu-lee-oop-kor-lec10-1-chap10

untitled

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

untitled

PowerPoint 프레젠테이션

슬라이드 1

C# Programming Guide - Types

화판_미용성형시술 정보집.0305

Lab 4. 실습문제 (Circular singly linked list)_해답.hwp

4. 1 포인터와 1 차원배열 4. 2 포인터와 2 차원배열 4. 3 포인터배열 4. 4 포인터와문자그리고포인터와문자열

°¡°Ç2¿ù-ÃÖÁ¾

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

PowerPoint 프레젠테이션

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Index Process Specification Data Dictionary

12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont

tkinter를 이용한 계산기 구현

C프로-3장c03逞풚

Chapter 4. LISTS

Design Issues

untitled

00_표지.indd

00 SPH-V6900_....

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Ext JS À¥¾ÖÇø®ÄÉÀ̼ǰ³¹ß-³¹Àå.PDF

Chapter #01 Subject

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

IoT FND8 7-SEGMENT api

Microsoft PowerPoint - 05-chap03-ArrayAndPointer.ppt

Interstage5 SOAP서비스 설정 가이드

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

untitled

정답-1-판매용

µðÇÃ24-Ç¥Áö´Ü¸é

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조


1

1

1

1

1

1

1

K&R2 Reference Manual 번역본

Microsoft PowerPoint - chap10-함수의활용.pptx

Transcription:

2007. 2. 5 PLATFORM TEAM 정용학

차례 CONTAINER & WIDGET SPECIAL WIDGET 질의응답및토의 2

Container LCD에보여지는화면한개 1개이상의 Widget을가짐 3

Container 초기화과정 ui_init UMP_F_CONTAINERMGR_Initialize UMP_H_CONTAINERMGR_Initialize UMP 의 Container 에관련된일반적인정보를저장 GUI Style 설정, Indicator Reset 각각의 Container 와 Font 초기화 (24 개 ) UMP_F_CONTAINERMGR_set_direction UMP_H_CONTAINERMGR_set_direction 각각의 Container 방향초기화 4

Container 초기화과정안에 Widget 초기화 UMP_R_CONTAINER_xxx_initialize UMP_R_CONTAINER_xxx_font_initialize UMP_R_CONTAINER_xxx_direction_initialize Container 에포함된각각의 widget 의초기화 widget font, direction 초기화 5

idle 에서 PF1 키를눌렀을경우 MainMenu 호출과정 UA_IDLE_Event_KEY_PRESS switch(event) { case UMP_E_PF1: UA_set_active_menu(&main_menu_tier); UMP_F_APPMGR_open(APPID_MENU, NULL, NULL, NULL); break;.. } UMP_menu_tier_type main_menu_tier = { MENU_1STDEPTH, IDB_NONE, IDS_NONE, (void *)main_menu, (sizeof(main_menu) / sizeof(ump_menu_entry_type)) }; const UMP_menu_entry_type main_menu[] = { { IDB_NONE, IDS_NONE, FALSE, NULL, NULL }, { IDB_NONE, IDS_MENU_1, TRUE, NULL, (&www_menu_tier) }, { IDB_NONE, IDS_MENU_2, TRUE, NULL, (&sound_menu_tier) },... { IDB_NONE, IDS_MENU_9, TRUE, NULL, (&set_menu_tier) }, }; 6

idle 에서 PF1 키를눌렀을경우 MainMenu 호출과정 UA_MENU_Constructor UMP_F_INDICATORMGR_set_backcolor(DDevice_1ST, UMP_16BPP_TRANSPARENCY); UMP_F_INDICATORMGR_set_show(DDevice_1ST, UMP_HIDE); UMP_F_SOFTKEYMGR_set_show(DDevice_1ST, UMP_SHOW); UA_container_set_menu(cur_tier_ptr, UMP_E_1); UA_container_set_menu... if (cur_menu_depth == MENU_1STDEPTH) { WMainMenu.nOnFocus = nfocus; UMP_F_INDICATORMGR_set_backcolor(DDevice_1ST, UMP_16BPP_TRANSPARENCY); UMP_F_INDICATORMGR_set_show(DDevice_1ST, UMP_HIDE); UMP_F_SOFTKEYMGR_set(DDevice_1ST, IDS_NONE, IDS_SK_SELECT, IDS_SK_PREV); UMP_F_SOFTKEYMGR_set_display(DDevice_1ST, SK_Display_Normal); UMP_F_SOFTKEYMGR_set_show(DDevice_1ST, UMP_SHOW); UMP_F_CONTAINERMGR_open(DDevice_1ST, &CMainMenu); }... 7

Container 관련함수 ( 16개 ) void UMP_F_CONTAINERMGR_Initialize(void); void UMP_F_CONTAINERMGR_open(Display_Device_Type DD, ContainerType *Container); void UMP_F_CONTAINERMGR_open_prev_VP(Display_Device_Type DD, ContainerType *Container); void UMP_F_CONTAINERMGR_open_previous(Display_Device_Type DD); void UMP_F_CONTAINERMGR_close(Display_Device_Type DD, ContainerType *Container); void UMP_F_CONTAINERMGR_VP_show(Display_Device_Type DD, boolean ForceUpdate); void UMP_F_CONTAINERMGR_redraw(void); void UMP_F_CONTAINERMGR_handle_focus(Display_Device_Type DD, CMeNavi_Type Navi); 8

Container 관련함수 void UMP_F_CONTAINERMGR_handle_event(Display_Device_Type DD, UMP_Signal_type signal, void *param1, void *param2); void UMP_F_CONTAINERMGR_set_DDevice_Info(Display_Device_Type DD, DDevice_Info_Type DDInfo); void UMP_F_CONTAINERMGR_get_DDevice_Info(Display_Device_Type DD, DDevice_Info_Type *DDInfo); ContainerType *UMP_F_CONTAINERMGR_get_current_container(Display_Device_Type DD); ContainerType *UMP_F_CONTAINERMGR_get_previous_container(Display_Device_Type DD); Display_Device_Type UMP_F_CONTAINERMGR_get_current_DD(void); word UMP_F_CONTAINERMGR_get_current_widget(void); UMP_Return_Type UMP_F_CONTAINERMGR_set_direction(WDirection direction); 9

Widget Container의요소한개한개를 Widget이라고부름 Basic, Special Widget으로나뉨 10

공통변수, 함수 모든 Widget 에공통적으로들어감 11

Widget Example 12

Example ( Set Clock ) CONTAINER & WIDGET WSubMenu_3_2 WIdleColsk_sel WSubMenu_3_2_Scrollbar WIdleCalendar_sel 13

Set Clock 에서좌우로움직였을경우 (widget) Key Press 이벤트가발생되서 WSpinnerfEvent(dword signal, void *param1, void *param2) 함수가호출됨해당값을바꾸고 redrew Set Clock 에서위아래로움직였을경우 (widget) UMP_E_NAVI_UP 인경우 fer_navi_prev 를 return해서이전 Widget으로 focus를옮김 UMP_E_NAVI_DOWN 인경우 fer_navi_next 를 return해서다음 Widget으로 focus를옮김 fexitfocus, fonfocus 호출 redrew 14

Set Clock 에서 OK 키를눌러저장할경우 (application) Key Press 이벤트가발생되서 UA_DISP_CLOCKSET_Event_KEY_PRESS 함수가호출됨 idleclock_store 함수로저장 DialogueBox_INFO UMP_F_SOUND_func_play(UMP_FUNC_OK, UMP.funcsnd_ok); UMP_F_APPMGR_close 15

SPECIAL WIDGET (wdialing) WDialing 대기화면에눌려지는전화번호관련 special widget Wdialing Type sidx - 현재배열에특정위치를가리키는 index bsmallonly - 작은글씨 DialNumber - 눌린 Keypad 값 ( 전화번호 ) 을저장하는배열 sidx 0 1 6... 16

SPECIAL WIDGET (wdialing) Key 가눌린경우 최대 32자리까지 Display, 18자리가넘을경우큰글씨에서작은글씨로변환 큰글씨 ( 6개의숫자, 3줄 ), 작은글씨 ( 8개의숫자, 5줄 ) Key값을배열에저장후 fdraw 17

SPECIAL WIDGET (wdialing) Drew 현재 Device와 Container, Widget을가져옴 DialNumber에저장되어있던 Unicode를 ASCII 코드로변환후 Screen Display 형식으로변환큰글씨와작은글씨 check 이미지출력위해 imgbuff 만들고 (malloc), 이미지정보를얻어옴이미지출력, imgbuff 공간 free 해줌 18

19 질의응답및토의