DWORD WINAPI CreateWinCEWindow(LPVOID lpParam) { static MidpReentryData newSignal; static MidpEvent newMidpEvent; int screenSize = sizeof(gxj_pixel_type) * CHAM_WIDTH * CHAM_HEIGHT; /* IMPL_NOTE: Need a better way to load the library */ #ifdef CVM_PRELOAD_LIB instanceMain = LoadLibrary(TEXT("cvmi.dll")); #else #ifdef CVM_DEBUG instanceMain = LoadLibrary(TEXT("libmidp_g.dll")); #else instanceMain = LoadLibrary(TEXT("libmidp.dll")); #endif #endif gxj_system_screen_buffer.width = CHAM_WIDTH; gxj_system_screen_buffer.height = CHAM_HEIGHT; gxj_system_screen_buffer.alphaData = 0; gxj_system_screen_buffer.pixelData = (gxj_pixel_type *)midpMalloc(screenSize); memset(gxj_system_screen_buffer.pixelData, 0xff, screenSize); if (!init_windows(GetModuleHandle(NULL), SW_SHOW)) { REPORT_ERROR(LC_AMS, "init_gui() failed"); MessageBox(NULL, TEXT("Failed to start JWC"), TEXT("Bye"), MB_OK); } updateVisibleDesktop(); #if JWC_WINCE_USE_DIRECT_DRAW init_DirectDraw(); #else if (GXOpenDisplay(hwndMain, 0) == 0) { REPORT_ERROR(LC_HIGHUI, "GXOpenDisplay() failed"); } gxDispProps = GXGetDisplayProperties(); #endif createEditors(); #ifdef ENABLE_JSR_184 engine_initialize(); #endif MIDP_EVENT_INITIALIZE(newMidpEvent); while (1) { checkForSystemSignal(&newSignal, &newMidpEvent, 200); } }
void initialize(void) { engine_initialize(); initvmstat(); initpigs(); initifstat(); initiostat(); initsensors(); initmembufs(); initnetstat(); initswap(); initpftop(); initpf(); initpool(); initmalloc(); initnfs(); }