source: svn/newcon3bcm2_21bu/dst/app/src/kview/OSD/App_OSD_Scan.c

Last change on this file was 76, checked in by megakiss, 10 years ago

1W 대기전력을 만족시키기 위하여 POWEROFF시 튜너를 Standby 상태로 함

  • Property svn:executable set to *
File size: 9.0 KB
Line 
1/****************************************************************************
2* NAME: App_OSD_Scan.c
3*----------------------------------------------------------------------------
4* Copyright (c) DIGITAL STREAM Technology Inc.
5*----------------------------------------------------------------------------
6* CREATED_BY: Yong Dae Park
7* CREATION_DATE: 2009/09/07
8* $Author: x2silo $
9* $Revision: 1.0 $
10* $Date: 2009/09/07 11:58:43 $
11*----------------------------------------------------------------------------
12* PURPOSE:
13* - Draw autoscan osd
14*****************************************************************************/
15
16/*_____ I N C L U D E __________________________________________*/
17
18#include "App_Main.h"
19#include "App_OSD_Common.h"
20
21#include "DMW_Channel.h"
22#include "App_Fnc_ChTune.h"
23#include "App_Fnc_Ucm.h"
24
25#include "App_Res_Resources.h"
26
27
28
29
30
31/*_____ D E F I N I T I O N ____________________________________*/
32
33#if COMMENT
34____DbgPrint____(){}
35#endif
36
37DHL_MODULE("@o_scn", 0);
38
39
40
41
42
43#if COMMENT
44____Config____(){}
45#endif
46
47#define SCAN_BG_X       123
48#define SCAN_BG_Y       110
49#define SCAN_BG_W       472
50#define SCAN_BG_H       260
51
52#define AREA_GAP 8
53#define TEXT_GAP 2
54//
55#define SCAN_BTN_X (SCAN_BG_X+330+5)
56#define SCAN_BTN_TP_Y (SCAN_BG_Y+2*(AREA_GAP+TEXT_GAP))
57#define SCAN_BTN_BT_Y (SCAN_BTN_TP_Y+60)
58#define SCAN_BTN_W      112
59#define SCAN_BTN_H 50
60
61#define C_BTN_FC_NOR 0xff8Cffff
62#define C_BTN_FC_HL  0xff000000
63#define C_SCAN_TEXT  C_BTN_FC_NOR //0xffc6c8e6
64#define C_CURRF_TEXT 0xfffff003
65
66#define SCANED_RF_X (SCAN_BG_X+3*(AREA_GAP+TEXT_GAP))
67#define SCANED_RF_Y (SCAN_BG_Y+3*(AREA_GAP+TEXT_GAP))
68#define SCANED_RF_W 128
69#define SCANED_CH_X (SCANED_RF_X+149)
70#define TEXT_AREA_H             30
71
72#define SCAN_CURRF_X SCAN_BTN_X
73#define SCAN_CURRF_Y (SCAN_BG_Y+SCAN_BG_H - 2*(AREA_GAP+TEXT_GAP) - TEXT_AREA_H)
74#define SCAN_CURRF_W SCAN_BTN_W
75
76#define SCAN_BAR_X      (SCANED_RF_X)
77#define SCAN_BAR_Y      (SCAN_BG_Y+SCAN_BG_H-2*(AREA_GAP+TEXT_GAP)-25)
78#define SCAN_BAR_W      90
79
80
81
82
83#if COMMENT
84____Types____(){}
85#endif
86
87
88
89
90
91#if COMMENT
92____Variables____(){}
93#endif
94
95
96
97
98
99/*_____ F U N C T I O N ________________________________________*/
100
101void App_OSD_UpdateScanBtn(int mode, BOOL is_stopped)
102{
103        int orig_font_size;
104        orig_font_size=DMG_GetFontSize();
105        DMG_SetFontSize(24);
106
107        if(mode) {              /* update mode */
108                // Up
109                App_OSD_DrawButton(0, SCAN_BTN_X, SCAN_BTN_TP_Y,SCAN_BTN_W);
110                PRINT_STR_EX(SCAN_BTN_X, SCAN_BTN_TP_Y, SCAN_BTN_W, SCAN_BTN_H, 
111                        SCAN_UPDATE_STR, C_BTN_FC_NOR, DMG_OPT_A_CT);
112
113                //Down
114                App_OSD_DrawButton(1, SCAN_BTN_X, SCAN_BTN_BT_Y,SCAN_BTN_W);
115                if(is_stopped)
116                {
117                        PRINT_STR_EX(SCAN_BTN_X, SCAN_BTN_BT_Y, SCAN_BTN_W, SCAN_BTN_H, 
118                                SCAN_STOP_STR, C_BTN_FC_HL, DMG_OPT_A_CT);
119                }
120                else
121                {
122                PRINT_STR_EX(SCAN_BTN_X, SCAN_BTN_BT_Y, SCAN_BTN_W, SCAN_BTN_H, 
123                                SCAN_RESCAN_STR, C_BTN_FC_HL, DMG_OPT_A_CT);
124                }
125               
126        }
127        else {                  /* Rescan mode */
128                // Up
129                App_OSD_DrawButton(1, SCAN_BTN_X, SCAN_BTN_TP_Y,SCAN_BTN_W);
130
131                if(is_stopped)
132                {
133                PRINT_STR_EX(SCAN_BTN_X, SCAN_BTN_TP_Y, SCAN_BTN_W, SCAN_BTN_H, 
134                                SCAN_STOP_STR, C_BTN_FC_HL, DMG_OPT_A_CT);
135                }
136                else
137                {
138                        PRINT_STR_EX(SCAN_BTN_X, SCAN_BTN_TP_Y, SCAN_BTN_W, SCAN_BTN_H, 
139                                SCAN_UPDATE_STR, C_BTN_FC_HL, DMG_OPT_A_CT);
140                }
141               
142
143                //Down
144                App_OSD_DrawButton(0, SCAN_BTN_X, SCAN_BTN_BT_Y,SCAN_BTN_W);
145                PRINT_STR_EX(SCAN_BTN_X, SCAN_BTN_BT_Y, SCAN_BTN_W, SCAN_BTN_H, 
146                        SCAN_RESCAN_STR, C_BTN_FC_NOR, DMG_OPT_A_CT);
147        }
148       
149        DMG_SetFontSize(orig_font_size);
150}
151
152
153void App_OSD_DrawScanBG()
154{
155        int x,y,w,h;
156        char str[20]={0,};
157        DST_CURCHANNEL chinfo;
158        int orig_font_size;
159        orig_font_size=DMG_GetFontSize();
160        DMG_SetFontSize(24);
161       
162        x=SCAN_BG_X;
163        y=SCAN_BG_Y;
164        w=SCAN_BG_W;
165        h=SCAN_BG_H;
166        App_OSD_CommonBox1(x, y, w,h, AREA_GAP, TEXT_GAP, 
167                        COLOR_BG_LIGHT_BLUE, COLOR_BG_OUT_BLUE, COLOR_LINE_SKY_BLUE);
168        x=x+2*AREA_GAP+TEXT_GAP;
169        y=y+2*AREA_GAP+TEXT_GAP;
170        w=300;
171        h=h-2*(2*AREA_GAP+TEXT_GAP);
172        App_OSD_CommonBox2(x, y, w,h, TEXT_GAP, 
173                        COLOR_BG_IN_BLUE, COLOR_LINE_DEEP_BLUE, COLOR_LINE_WEAK_BLUE);
174
175        DMG_FillRect(SCANED_RF_X+SCANED_RF_W+10 , SCANED_RF_Y, 2, 5*(TEXT_AREA_H+5), COLOR_LINE_DEEP_BLUE);
176        DMG_FillRect(SCANED_RF_X+SCANED_RF_W+12, SCANED_RF_Y, 2, 5*(TEXT_AREA_H+5), COLOR_LINE_WEAK_BLUE);
177       
178        App_Ucm_GetCurChInfo(&chinfo);
179
180        if(chinfo.nChannelType == ChannelType_Air){
181                PRINT_STR_EX(SCANED_RF_X, SCANED_RF_Y, SCANED_RF_W, TEXT_AREA_H, 
182                        SCAN_RF_AIR, C_SCAN_TEXT, DMG_OPT_A_CT);       
183        }
184        else {
185                PRINT_STR_EX(SCANED_RF_X, SCANED_RF_Y, SCANED_RF_W, TEXT_AREA_H, 
186                        SCAN_RF_CABLE, C_SCAN_TEXT, DMG_OPT_A_CT);     
187        }
188        PRINT_STR_EX(SCANED_CH_X, SCANED_RF_Y, SCANED_RF_W, TEXT_AREA_H, SCAN_CH_STR, 
189                C_SCAN_TEXT, DMG_OPT_A_CT);     
190
191        DMG_SetFontSize(orig_font_size);
192}
193
194
195
196void App_OSD_EraseScanBG()
197{
198        DMG_EraseRect(SCAN_BG_X, SCAN_BG_Y, SCAN_BG_W, SCAN_BG_H, COLOR_ERAGE);
199}
200
201
202void App_OSD_WaitingScanMsg()
203{
204        char *str;
205
206        if(DMG_GetLanguage()!=0)// spa, kor
207        {
208                GET_STR(str, SCAN_WAIT);
209                       
210               
211                /* 2010.04.05 foxhunt
212                 * App_OSD_UpdateScanBar¿¡¼­ Á¤º¸ refresh¸¦ À§ÇØ erase & print¸¦ Çϰí ÀÖÀ¸¹Ç·Î,
213                 * wait ¸Þ½ÃÁö´Â scan ½ÃÀÛÇÒ ¶§ Çѹø¸¸ printÇÏ¿© º¸¿©ÁÖ¸é µÈ´Ù. */
214                DMG_FillRect(SCAN_CURRF_X-10, SCAN_CURRF_Y - 35, SCAN_CURRF_W+20, TEXT_AREA_H, COLOR_BG_OUT_BLUE);
215                DMG_PrintStrEx(SCAN_CURRF_X-10, SCAN_CURRF_Y - 35, SCAN_CURRF_W+20, TEXT_AREA_H, str, C_CURRF_TEXT, DMG_OPT_A_CT);
216
217                if(DMG_GetLanguage()==1)//spa
218                        str = SCAN_WAIT_SUB_SPA;
219                else
220                        str = SCAN_WAIT_SUB_KOR;
221               
222                /* 2010.04.05 foxhunt
223                 * App_OSD_UpdateScanBar¿¡¼­ Á¤º¸ refresh¸¦ À§ÇØ erase & print¸¦ Çϰí ÀÖÀ¸¹Ç·Î,
224                 * wait ¸Þ½ÃÁö´Â scan ½ÃÀÛÇÒ ¶§ Çѹø¸¸ printÇÏ¿© º¸¿©ÁÖ¸é µÈ´Ù. */
225                DMG_FillRect(SCAN_CURRF_X-10, SCAN_CURRF_Y, SCAN_CURRF_W+20, TEXT_AREA_H, COLOR_BG_OUT_BLUE);
226               
227                if(DMG_GetLanguage()==1)
228                        DMG_SetTempFontSize(22);
229               
230                DMG_PrintStrEx(SCAN_CURRF_X-13, SCAN_CURRF_Y, SCAN_CURRF_W+26, TEXT_AREA_H, str, C_CURRF_TEXT, DMG_OPT_A_CT);
231               
232                if(DMG_GetLanguage()==1)
233                        DMG_RestoreFontSize();
234        }
235        else // eng
236        {
237                GET_STR(str, SCAN_WAIT);
238               
239                /* 2010.04.05 foxhunt
240                 * App_OSD_UpdateScanBar¿¡¼­ Á¤º¸ refresh¸¦ À§ÇØ erase & print¸¦ Çϰí ÀÖÀ¸¹Ç·Î,
241                 * wait ¸Þ½ÃÁö´Â scan ½ÃÀÛÇÒ ¶§ Çѹø¸¸ printÇÏ¿© º¸¿©ÁÖ¸é µÈ´Ù. */
242                DMG_FillRect(SCAN_CURRF_X-10, SCAN_CURRF_Y, SCAN_CURRF_W+20, TEXT_AREA_H, COLOR_BG_OUT_BLUE);
243                DMG_PrintStrEx(SCAN_CURRF_X-10, SCAN_CURRF_Y, SCAN_CURRF_W+20, TEXT_AREA_H, str, C_CURRF_TEXT, DMG_OPT_A_CT);
244        }
245       
246}
247
248
249void App_OSD_UpdateScanBar(int curRF, int percent)
250{
251        char str[20]={0,}, *s;
252        int orig_font_size;
253        orig_font_size=DMG_GetFontSize();
254        DMG_SetFontSize(24);
255
256        App_OSD_DrawProgressBar(0x01, SCAN_BAR_X, SCAN_BAR_Y, SCAN_BAR_W, percent);
257
258        GET_STR(s, SCAN_NUM_RF);
259        sprintf(str, s, curRF);
260        dprint(0, "!!!!! %s\n ", str);
261
262        if(DMG_GetLanguage()!=0)//spa,kor
263        {
264                /* sjpark, spanish/korean ÀÏ °æ¿ì¿¡´Â µÎÁÙ·Î ¸Þ½ÃÁö¸¦ º¸¿©Áֱ⿡ À­ÁÙÀ» Áö¿öÁà¾ß ÇÑ´Ù.
265                        ¸Å¹ø Áö¿öµµ »ó°ü ¾ø´Â °ÍÀΰ¡??
266                */
267                DMG_FillRect(SCAN_CURRF_X-10, SCAN_CURRF_Y-35, SCAN_CURRF_W+20, TEXT_AREA_H, COLOR_BG_OUT_BLUE);
268        }
269       
270        DMG_FillRect(SCAN_CURRF_X-10, SCAN_CURRF_Y, SCAN_CURRF_W+20, TEXT_AREA_H, COLOR_BG_OUT_BLUE);
271        DMG_PrintStrEx(SCAN_CURRF_X-10, SCAN_CURRF_Y, SCAN_CURRF_W+20, TEXT_AREA_H, str, C_CURRF_TEXT, DMG_OPT_A_CT);
272       
273        DMG_SetFontSize(orig_font_size);
274}
275
276
277#define COUNT_OF_SCANEDCH 4
278#define GAP_SCANEDCH 35
279#define SCANEDCH_RF_X SCANED_RF_X
280#define SCANEDCH_Y SCANED_RF_Y
281#define SCANEDCH_W SCANED_RF_W
282#define SCANEDCH_CHANNEL_X SCANED_CH_X
283
284typedef struct
285{
286        UINT8 nRF;
287        int nMajor;
288        int nMinor;
289} ScanedChInfo;
290
291static ScanedChInfo sChInfo[COUNT_OF_SCANEDCH];
292
293void App_OSD_ResetScanedChInfo(void)
294{
295        UINT8 i;
296        for(i=0 ; i<COUNT_OF_SCANEDCH ; i++)
297        {
298                sChInfo[i].nRF = 0;
299                sChInfo[i].nMajor = 0;
300                sChInfo[i].nMinor = 0;
301        }       
302}
303
304void App_OSD_UpdateScanCh(int nRF, int nMajor, int nMinor)
305{
306        int i=0;
307        char sChannel[20]={0,};
308        int orig_font_size;
309        orig_font_size=DMG_GetFontSize();
310        DMG_SetFontSize(24);
311
312        for(i=COUNT_OF_SCANEDCH-1 ; i>0 ; i--)
313                sChInfo[i] = sChInfo[i-1];
314
315        sChInfo[0].nRF = nRF;
316        sChInfo[0].nMajor = nMajor;
317        sChInfo[0].nMinor       = nMinor;
318
319
320        for(i=0 ; i<COUNT_OF_SCANEDCH ; i++)
321        {
322                if(sChInfo[i].nRF == 0)
323                        continue;
324                       
325                sprintf(sChannel, "%d", sChInfo[i].nRF);
326               
327                DMG_FillRect(SCANEDCH_RF_X, SCANEDCH_Y+GAP_SCANEDCH*(COUNT_OF_SCANEDCH-i), SCANEDCH_W, TEXT_AREA_H, COLOR_BG_IN_BLUE);
328               
329                DMG_PrintStrEx(SCANEDCH_RF_X, SCANEDCH_Y+GAP_SCANEDCH*(COUNT_OF_SCANEDCH-i), SCANEDCH_W, TEXT_AREA_H, sChannel, COLOR_WHITE, DMG_OPT_A_CT);
330               
331                if(sChInfo[i].nMinor == ONE_PART_CHANNEL_INDICATOR)
332                        sprintf(sChannel,"%d",sChInfo[i].nMajor);
333                else
334                        sprintf(sChannel,"%d-%d",sChInfo[i].nMajor,sChInfo[i].nMinor);
335                       
336                DMG_FillRect(SCANEDCH_CHANNEL_X, SCANEDCH_Y+GAP_SCANEDCH*(COUNT_OF_SCANEDCH-i), SCANEDCH_W, TEXT_AREA_H, COLOR_BG_IN_BLUE);
337               
338                DMG_PrintStrEx(SCANEDCH_CHANNEL_X, SCANEDCH_Y+GAP_SCANEDCH*(COUNT_OF_SCANEDCH-i), SCANEDCH_W, TEXT_AREA_H, sChannel, COLOR_WHITE, DMG_OPT_A_CT);
339        }
340       
341        DMG_SetFontSize(orig_font_size);
342}
343
344
345
346
347/* end of file */
Note: See TracBrowser for help on using the repository browser.