//Ends the terminal, destroy everything int curses_destroy(void) { DeleteObject(font); WinDestroy(); RemoveFontResourceExA("data\\termfont",FR_PRIVATE,NULL);//Unload it return 1; }
LRESULT WINAPI WinProcedure(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam) { switch(msg) { case WM_CREATE: return WinCreate(hWnd) ? 0 : -1; case WM_DESTROY: return WinDestroy(hWnd) ? 0 : -1; case WM_CLOSE: return WinClose(hWnd) ? 0 : -1; case WM_COMMAND: return WinCommand(hWnd,wParam,lParam) ? 0 : -1; case WM_CONTEXTMENU: return WinContextMenu(hWnd,wParam,lParam) ? 0 : -1; case WM_LBUTTONDOWN: return WinButtonDown(hWnd,msg,LOWORD(lParam),HIWORD(lParam)) ? 0 : -1; case WM_KEYDOWN: return WinKeyDown(hWnd,wParam,lParam) ? 0 : -1; case WM_SIZE: return WinSize(hWnd,msg,wParam,lParam) ? 0 : -1; case WM_PAINT: return WinPaint(hWnd) ? 0 : -1; } return DefWindowProc(hWnd,msg,wParam,lParam); }
//Ends the terminal, destroy everything int endwin(void) { DeleteObject(font); WinDestroy(); delete _windows; BOOL b = RemoveFontResourceExA("data\\termfont",FR_PRIVATE,NULL);//Unload it return 1; };
/* -------------------------------------------------------------------------------- Function name : void OSStart(WIN *pWin, THREAD *pThread) Author : ZHengYongzhi Description : Input : ID Return : History: <author> <time> <version> ZhengYongzhi 2008/07/21 Ver1.0 desc: ORG -------------------------------------------------------------------------------- */ _ATTR_OS_CODE_ void OSStart(WIN **pWin, THREAD **pThread) { void *pWinArg; #if PRINTF_CPU_USE int idletime=0,sec_prev=0,sec_cur=0; float cpubusy=0.0; #endif while(1) { *pWin = TaskInit(&pWinArg);//task adjust,call new task code,rturn main window pointer. WinCreat((WIN *)NULL, *pWin, pWinArg); ConnectNumber = 0; printf("wifi init start!\n"); while(1) { #if 1 if (SysService() != RETURN_OK) { break; } if (ThreadProcess(*pThread) != TRUE) { break; } if (WinServiceProc(*pWin) != RETURN_OK) { break; } if (WinKeyProc(*pWin) != RETURN_OK) { break; } WinPaintProc(*pWin); #endif #if PRINTF_CPU_USE idletime ++; sec_cur = GetSysTick()>>9;// 2^7=1.28S if(sec_cur != sec_prev){ sec_prev = sec_cur; cpubusy = 7168.0 / idletime; // 本公式按照主程序1400转/秒为满负荷,通过指令数比得出 printf("CPU usage: %f %\n",cpubusy); idletime = 0; } #endif } //end the main window. WinDestroy(*pWin); } }
//Ends the terminal, destroy everything int curses_destroy(void) { TTF_CloseFont(font); for(int i=0; i<128; i++) { for(int j=0; j<16; j++) { if(glyph_cache[i][j]) SDL_FreeSurface(glyph_cache[i][j]); glyph_cache[i][j] = NULL; } } WinDestroy(); return 1; }
//Ends the terminal, destroy everything int curses_destroy(void) { TTF_CloseFont(font); font = NULL; for (int i=0; i<128; i++) { for (int j=0; j<16; j++) { if (glyph_cache[i][j]) { SDL_FreeSurface(glyph_cache[i][j]); } glyph_cache[i][j] = NULL; } } for(int a=0;a<16;a++)SDL_FreeSurface(ascii[a]); WinDestroy(); return 1; }
/* -------------------------------------------------------------------------------- Function name : uint32 MessageBoxService(void) Author : ZhengYongzhi Description : Input : Return : History: <author> <time> <version> ZhengYongzhi 2009-4-3 Ver1.0 desc: ORG -------------------------------------------------------------------------------- */ _ATTR_HOLD_CODE_ uint32 DialogHoldService(void) { INT16 Retval = 0; UINT32 Count; //check regular time, timing is coming Count = SysTickCounter - HoldSystickCounterBack; if(Count>HOLD_DISPLAY_TIME*100) { WinDestroy(&HoldWin); SendMsg(MSG_HOLDDIALOG_DESTROY); SendMsg(MSG_NEED_PAINT_ALL); } return(Retval); }
_ATTR_WiFiMUSICBrow_CODE_ UINT32 WiFiMusicBrowWinKeyProc(void) { uint32 WifiApKeyVal; uint32 RetVal = RETURN_OK; TASK_ARG TaskArg; WifiApKeyVal = GetKeyVal(); switch (WifiApKeyVal) { case KEY_VAL_MENU_SHORT_UP: if (0 != WiFiMusicBrowTreeInf.CurId) { WiFiMuisicBrowGetName(); SendMsg(MSG_WIFI_MUSIC_SWITCH); } WinDestroy(&WiFiMusicBrowWin); break; case KEY_VAL_ESC_SHORT_UP: WinDestroy(&WiFiMusicBrowWin); break; case KEY_VAL_UP_SHORT_UP: WiFiMusicBrowTreeInf.PreCounter = WiFiMusicBrowTreeInf.KeyCounter; if (WiFiMusicBrowTreeInf.CurId > 0) { WiFiMusicBrowTreeInf.CurId--; if (WiFiMusicBrowTreeInf.KeyCounter == 0) { WiFiMusicBrowTreeInf.KeyCounter = MAX_WIFI_LCD_BROWNUM - 1; WiFiMusicBrowUpProc(); SendMsg(MSG_BROW_DIS_ALL_ITEM); } else { WiFiMusicBrowTreeInf.KeyCounter--; SendMsg(MSG_BROW_DIS_SELE_ITEM); } } else { WiFiMusicBrowTreeInf.CurId = WiFiMusicBrowTreeInf.DispTotalItem - 1; if (WiFiMusicBrowTreeInf.DispTotalItem > MAX_WIFI_LCD_BROWNUM) { if (WiFiMusicBrowTreeInf.DispTotalItem % MAX_WIFI_LCD_BROWNUM) { WiFiMusicBrowTreeInf.KeyCounter = WiFiMusicBrowTreeInf.DispTotalItem % MAX_WIFI_LCD_BROWNUM - 1; } else { WiFiMusicBrowTreeInf.KeyCounter = MAX_WIFI_LCD_BROWNUM - 1; } WiFiMusicBrowUpProc(); SendMsg(MSG_BROW_DIS_ALL_ITEM); } else { WiFiMusicBrowTreeInf.KeyCounter = WiFiMusicBrowTreeInf.DispTotalItem - 1; SendMsg(MSG_BROW_DIS_SELE_ITEM); } } break; case KEY_VAL_DOWN_SHORT_UP: WiFiMusicBrowTreeInf.PreCounter = WiFiMusicBrowTreeInf.KeyCounter; if(WiFiMusicBrowTreeInf.CurId < (WiFiMusicBrowTreeInf.DispTotalItem - 1)) { WiFiMusicBrowTreeInf.CurId++; if(WiFiMusicBrowTreeInf.KeyCounter >= MAX_WIFI_LCD_BROWNUM - 1) { WiFiMusicBrowTreeInf.KeyCounter = 0; WiFiMusicBrowUpProc(); SendMsg(MSG_BROW_DIS_ALL_ITEM);//display all screen } else { WiFiMusicBrowTreeInf.KeyCounter++; SendMsg(MSG_BROW_DIS_SELE_ITEM); } } else { WiFiMusicBrowTreeInf.CurId = 0; WiFiMusicBrowTreeInf.KeyCounter = 0; if(WiFiMusicBrowTreeInf.DispTotalItem > MAX_WIFI_LCD_BROWNUM) { WiFiMusicBrowUpProc(); SendMsg(MSG_BROW_DIS_ALL_ITEM); } else { SendMsg(MSG_BROW_DIS_SELE_ITEM); } } break; default: break; } return RetVal; }