source: svn/newcon3bcm2_21bu/dst/dmw/src/grp/grp_test.c @ 22

Last change on this file since 22 was 22, checked in by phkim, 11 years ago
  1. phkim
  2. newcon3sk 를 kctv 로 브랜치 함
  • Property svn:executable set to *
File size: 9.4 KB
Line 
1
2
3#include "DHL_OSAL.h"
4#include "DHL_DBG.h"
5
6#include "DHL_Graphic.h"
7#include "DMG_Draw.h"
8#include "DMG_Menu.h"
9
10/* key(RCU) Á¤ÀÇ */
11#define KEY_LEFT 10
12#define KEY_RIGHT 11
13#define KEY_UP 12
14#define KEY_DOWN 13
15#define KEY_SEL 14
16#define KEY_BACK 15
17#define KEY_EXIT 16
18
19/* timer Á¤ÀÇ */
20#define TIMER_ID_0 0
21
22
23/* id Á¤ÀÇ */
24#define MENU_ID1 0x1
25
26#define FRAME_ID1 0x1
27
28#define FRAME_ID11 0x11
29#define FRAME_ID12 0x12
30
31
32#define FRAME_ID2 0x2
33
34/* menu, frame config : id, name, user_proc */
35#define MENU_CFG MENU_ID1, "m1", DMG_TIME_FOREVER, p_user_menu_proc
36
37#define FRAME1_CFG FRAME_ID1, "fr1", 10000, p_user_frame1_proc
38
39#define FRAME11_CFG FRAME_ID11, "fr11", DMG_TIME_FOREVER, p_user_frame11_proc
40#define FRAME12_CFG FRAME_ID12, "fr12", DMG_TIME_FOREVER, p_user_frame12_proc
41
42#define FRAME2_CFG FRAME_ID2, "fr2", 10000, p_user_frame2_proc
43
44
45
46
47/* string Á¤ÀÇ */
48
49#define M1_STR1 "Settings"
50
51#define F1_STR1 "Channel"
52#define F1_STR2 "Caption"
53#define F1_STR3 "Rating"
54#define F1_STR4 "Function"
55#define F1_STR5 "Media Play"
56#define F1_STR6 "Network"
57
58#define F11_STR1 "Input Selection"
59#define F11_STR2 "Auto Scan"
60#define F11_STR3 "Channel Edit"
61#define F11_STR4 "Signal Strength"
62#define F11_STR5 "Program Guide"
63
64#define F12_STR1 "Caption Display"
65#define F12_STR2 "Caption Service"
66#define F12_STR3 "Caption Option"
67#define F12_STR4 "Caption Text"
68#define F12_STR5 "Caption Background"
69
70#define F121_STR1 "CS1"
71#define F121_STR1 "CS2"
72#define F121_STR1 "CS3"
73#define F121_STR1 "CS4"
74#define F121_STR1 "CS5"
75#define F121_STR1 "CS6"
76
77
78#define M1_PRT1 150, 15, M1_STR1
79
80
81
82#if COMMENT
83__Draw_Func__()
84#endif
85
86
87static void p_draw_m1()
88{
89        DMG_DrawImageFile(0, 0, 0, "image/neo_main.png");
90                       
91        DMG_PrintStr(0, M1_PRT1, 0xffffffff);
92        DMG_AutoRefresh();
93}
94
95
96static void p_draw_f1(UINT32 cur_item_id)
97{
98        int i;
99        char *pstr[6];
100        UINT32 color;
101        char *file_name;
102       
103        pstr[0]=F1_STR1;
104        pstr[1]=F1_STR2;
105        pstr[2]=F1_STR3;
106        pstr[3]=F1_STR4;
107        pstr[4]=F1_STR5;
108        pstr[5]=F1_STR6;
109       
110        for(i=0; i<6; i++) {
111                color=cur_item_id==i?0xff000000:0xffffffff;
112                file_name=cur_item_id==i?"image/f1_active.png":"image/f1_inactive.png";
113               
114                DMG_DrawImageFile(0, 5, 50+i*52, file_name);   
115                DMG_PrintStr(0, 70, 60+i*52, pstr[i], color);
116        }
117       
118        DMG_AutoRefresh();
119}
120
121
122static void p_draw_f11(UINT32 cur_item_id)
123{
124        int i;
125        char *pstr[5];
126        UINT32 color;
127        char *file_name;
128       
129        pstr[0]=F11_STR1;
130        pstr[1]=F11_STR2;
131        pstr[2]=F11_STR3;
132        pstr[3]=F11_STR4;
133        pstr[4]=F11_STR5;
134       
135        for(i=0; i<5; i++) {
136                color=cur_item_id==i?0xff000000:0xffffffff;
137                file_name=cur_item_id==i?"image/f2_active.png":"image/f2_inactive.png";
138               
139                DMG_DrawImageFile(0, 273, 55+i*52, file_name); 
140                DMG_PrintStr(0, 290, 65+i*52, pstr[i], color);
141        }
142       
143        DMG_AutoRefresh();
144}
145
146
147
148
149static void p_draw_f12(UINT32 cur_item_id)
150{
151        int i;
152        char *pstr[5];
153        UINT32 color;
154        char *file_name;
155       
156        pstr[0]=F12_STR1;
157        pstr[1]=F12_STR2;
158        pstr[2]=F12_STR3;
159        pstr[3]=F12_STR4;
160        pstr[4]=F12_STR5;
161       
162        for(i=0; i<5; i++) {
163                color=cur_item_id==i?0xff000000:0xffffffff;
164                file_name=cur_item_id==i?"image/f2_active.png":"image/f2_inactive.png";
165               
166                DMG_DrawImageFile(0, 273, 55+i*52, file_name); 
167                DMG_PrintStr(0, 290, 65+i*52, pstr[i], color);
168        }
169       
170        DMG_AutoRefresh();
171}
172
173
174
175
176
177
178#if COMMENT
179__User_Proc__() {}
180#endif
181
182
183static BOOL p_user_menu_proc(tDMG_CMD cmd, UINT32 opt, UINT32 param1, UINT32 param2)
184{
185        BOOL bret=TRUE;
186        tDMG_Menu *pmenu=(tDMG_Menu *)param1;
187
188#if 0   
189        printf("%s : cmd(%s:0x%x), opt(0x%x), param1(0x%x), param2(0x%x)\n",
190               __FUNCTION__, DMG_CMD_STR(cmd), cmd, opt, param1, param2);
191#endif 
192        switch(cmd) {
193               
194                case eDMG_CMD_ON_MENU_ACTIVE :
195                       
196                        {
197                                tDMG_FontAttr attr;
198                                Jungle_GetFontAttr(&attr);
199                               
200                                attr.size=23;
201                                attr.is_bold=TRUE;
202                                attr.font_style=eDMG_FS_SANSERIF;
203                               
204                                DMG_SetFontAttr(&attr);
205                        }
206                       
207                        DMG_SetTimer(TIMER_ID_0, 1000, 0);
208                       
209                        p_draw_m1();
210                       
211                        bret=FALSE;
212                        break;
213               
214                case eDMG_CMD_ON_TIME :
215                       
216                        if(param1==TIMER_ID_0) {
217                                /* ¹º°¡ animation È¿°ú°¡ ÇÊ¿äÇÏ¸ç »ç¿ë */
218                               
219                        }
220                        else
221                                bret=FALSE;
222                               
223                        break;
224               
225                case eDMG_CMD_ON_TIMEOUT :
226                        DMG_MenuExit();
227                        break;
228               
229                default :
230                        bret=FALSE;
231        }
232       
233        return bret;
234}
235
236
237
238static BOOL p_user_frame1_proc(tDMG_CMD cmd, UINT32 opt, UINT32 param1, UINT32 param2)
239{
240        BOOL bret=TRUE;
241        tDMG_Menu *pmenu;
242        tDMG_Frame *pframe;
243#if 0   
244        printf("%s : cmd(%s:0x%x), opt(0x%x), param1(0x%x), param2(0x%x)\n",
245               __FUNCTION__, DMG_CMD_STR(cmd), cmd, opt, param1, param2);
246#endif 
247        switch(cmd) {
248                case eDMG_CMD_ON_FRAME_ACTIVE :
249                       
250                        {
251                                tDMG_FontAttr attr;
252                                Jungle_GetFontAttr(&attr);
253                               
254                                attr.size=25;
255                                attr.is_bold=TRUE;
256                                attr.font_style=eDMG_FS_SANSERIF;
257                               
258                                DMG_SetFontAttr(&attr);
259                        }
260                       
261                        p_draw_f1(pframe->cur_item_id);
262                       
263                        break;
264               
265                case eDMG_CMD_ON_FRAME_INACTIVE :
266                        p_draw_f1(-1);
267                        break;
268                       
269                case eDMG_CMD_ON_KEY :
270                        pmenu=(tDMG_Menu *)param1;
271                        pframe=pmenu->pcur_frame;
272                       
273                        if(!pframe) break;
274                       
275                        if(param2==KEY_UP) {
276                                if(pframe->cur_item_id>0) pframe->cur_item_id--;
277                                p_draw_f1(pframe->cur_item_id);
278                        }
279                        else if(param2==KEY_DOWN) {
280                                if(pframe->cur_item_id<5) pframe->cur_item_id++;
281                                p_draw_f1(pframe->cur_item_id);
282                        }
283                        else if(param2==KEY_LEFT) {
284                               
285                        }
286                        else if(param2==KEY_RIGHT || param1==KEY_SEL) {
287                                if(pframe->cur_item_id==0)
288                                        DMG_SetFrame(eDMG_CMD_SET_FRAME_ACTIVE, pmenu->id, FRAME_ID11, TRUE);
289                                else
290                                        DMG_SetFrame(eDMG_CMD_SET_FRAME_ACTIVE, pmenu->id, FRAME_ID12, TRUE);
291                        }
292                        else if(param2==KEY_BACK) {
293                                DMG_MenuExit(pmenu);
294                        }
295                        else if(param2==KEY_EXIT) {
296                                DMG_MenuExit(pmenu);
297                        }
298                        break;
299               
300                default :
301                        bret=FALSE;
302        }
303       
304        return bret;
305}
306
307
308static BOOL p_user_frame11_proc(tDMG_CMD cmd, UINT32 opt, UINT32 param1, UINT32 param2)
309{
310        BOOL bret=TRUE;
311       
312        tDMG_Menu *pmenu;
313        tDMG_Frame *pframe;
314
315#if 0
316        printf("%s : cmd(%s:0x%x), opt(0x%x), param1(0x%x), param2(0x%x)\n",
317               __FUNCTION__, DMG_CMD_STR(cmd), cmd, opt, param1, param2);
318#endif
319
320        switch(cmd) {
321                case eDMG_CMD_ON_FRAME_ACTIVE :
322                       
323                        break;
324                       
325                case eDMG_CMD_ON_KEY :
326                        pmenu=(tDMG_Menu *)param1;
327                        pframe=pmenu->pcur_frame;
328                       
329                        if(param2==KEY_UP) {
330                                if(pframe->cur_item_id>0) pframe->cur_item_id--;
331                                p_draw_f11(pframe->cur_item_id);
332                        }
333                        else if(param2==KEY_DOWN) {
334                                if(pframe->cur_item_id<4) pframe->cur_item_id++;
335                                p_draw_f11(pframe->cur_item_id);
336                        }
337                        else if(param2==KEY_LEFT) {
338                                p_draw_f11(-1);
339                               
340                        }
341                        else if(param2==KEY_RIGHT || param2==KEY_SEL) {
342                               
343                        }
344                        else if(param2==KEY_BACK) {
345                                DMG_SetFrame(eDMG_CMD_SET_FRAME_ACTIVE, pmenu->id, FRAME_ID1, TRUE);
346                        }
347                        else if(param2==KEY_EXIT) {
348                                DMG_MenuExit(pmenu);
349                        }
350                        break;
351               
352                default :
353                        bret=FALSE;
354                       
355        }
356       
357        return bret;
358}
359
360
361static BOOL p_user_frame12_proc(tDMG_CMD cmd, UINT32 opt, UINT32 param1, UINT32 param2)
362{
363        BOOL bret=TRUE;
364       
365        tDMG_Menu *pmenu;
366        tDMG_Frame *pframe;
367
368#if 0
369        printf("%s : cmd(%s:0x%x), opt(0x%x), param1(0x%x), param2(0x%x)\n",
370               __FUNCTION__, DMG_CMD_STR(cmd), cmd, opt, param1, param2);
371#endif
372
373        switch(cmd) {
374                case eDMG_CMD_ON_FRAME_ACTIVE :
375                        pframe=(tDMG_Frame *)param2;
376                       
377                        p_draw_f12(pframe->cur_item_id);
378                        break;
379                       
380                case eDMG_CMD_ON_KEY :
381                        pmenu=(tDMG_Menu *)param1;
382                        pframe=pmenu->pcur_frame;
383                       
384                        if(param2==KEY_UP) {
385                        }
386                        else if(param2==KEY_DOWN) {
387                        }
388                        else if(param2==KEY_LEFT) {
389                               
390                        }
391                        else if(param2==KEY_RIGHT || param2==KEY_SEL) {
392                               
393                        }
394                        else if(param2==KEY_BACK) {
395                                DMG_SetFrame(eDMG_CMD_SET_FRAME_ACTIVE, pmenu->id, FRAME_ID1, TRUE);
396                        }
397                        else if(param2==KEY_EXIT) {
398                                DMG_MenuExit(pmenu);
399                        }
400                        break;
401               
402                default :
403                        bret=FALSE;
404                       
405        }
406       
407        return bret;
408}
409
410
411static BOOL p_user_frame2_proc(tDMG_CMD cmd, UINT32 opt, UINT32 param1, UINT32 param2)
412{
413        tDMG_Menu *pmenu;
414        tDMG_Frame *pframe;
415       
416        printf("%s : cmd(%s:0x%x), opt(0x%x), param1(0x%x), param2(0x%x)\n", 
417               __FUNCTION__, DMG_CMD_STR(cmd), cmd, opt, param1, param2);
418       
419        switch(cmd) {
420                case eDMG_CMD_ON_FRAME_ACTIVE :
421                       
422                        break;
423                       
424                case eDMG_CMD_ON_FRAME_INACTIVE :
425                       
426                        break;
427        }
428       
429        return TRUE;
430}
431
432
433void test_grp_init()
434{
435        DHL_GrpInit();
436       
437        DHL_CreatePlane(0, 960, 540, eDHL_PIXELTYPE_ARGB8888);
438        DHL_CreatePlane(1, 720, 720, eDHL_PIXELTYPE_ARGB8888);
439       
440        DHL_SetDisplayPlane(1);
441       
442        DMG_FontInit();
443       
444        DMG_MenuInit(NULL);
445       
446}
447
448
449void test_menu_key(UINT32 key)
450{
451        DMG_SetKeyInput(key);
452}
453
454void test_kbd_input()
455{
456#if 0   
457        extern int dhl_dbg_get_char();
458
459        while(1)
460        {
461                int ch=dhl_dbg_get_char();
462               
463                if(ch=='j') test_menu_key(KEY_LEFT);
464                else if(ch=='l') test_menu_key(KEY_RIGHT);
465                else if(ch=='i') test_menu_key(KEY_UP);
466                else if(ch=='k') test_menu_key(KEY_DOWN);
467                else if(ch=='u') test_menu_key(KEY_BACK);
468                else if(ch=='m') test_menu_key(KEY_SEL);
469                else if(ch=='o') test_menu_key(KEY_EXIT);
470                else if(ch=='x') break;
471        }
472#endif
473}
474
475void test_menu_start()
476{
477        tDMG_Menu *pmenu;
478       
479        test_grp_init();
480       
481        pmenu=DMG_CreateMenu(MENU_CFG);
482       
483        DMG_CreateFrame(pmenu, FRAME1_CFG);
484       
485        DMG_CreateFrame(pmenu, FRAME11_CFG);
486        DMG_CreateFrame(pmenu, FRAME12_CFG);
487       
488        DMG_CreateFrame(pmenu, FRAME2_CFG);
489       
490        DMG_MenuStart(MENU_ID1);
491       
492       
493        test_kbd_input();
494}
495
496
497
498/* end of file */
499
Note: See TracBrowser for help on using the repository browser.