int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, #ifdef _WIN32_WCE LPWSTR lpCmdLine, #else LPSTR lpCmdLine2, #endif int nCmdShow) #endif { Airspaces airspace_database; AirspaceWarningManager airspace_warning(airspace_database); airspace_warnings = new ProtectedAirspaceWarningManager(airspace_warning); InitialiseDataPath(); ScreenGlobalInit screen_init; #ifdef WIN32 ResourceLoader::Init(hInstance); #endif LoadFiles(airspace_database); Fonts::Initialize(); Airspaces::AirspaceTree::const_iterator it = airspace_database.begin(); AirspaceInterceptSolution ais; for (unsigned i = 0; i < 5 && it != airspace_database.end(); ++i, ++it) airspace_warning.GetWarning(*it->get_airspace()) .UpdateSolution((AirspaceWarning::State)i, ais); SingleWindow main_window; main_window.set(_T("STATIC"), _T("RunAirspaceWarningDialog"), 0, 0, 640, 480); main_window.show(); Layout::Initialize(640, 480); Fonts::Initialize(); DialogLook dialog_look; dialog_look.Initialise(Fonts::map_bold, Fonts::map, Fonts::map_bold, Fonts::map_bold); SetXMLDialogLook(dialog_look); dlgAirspaceWarningsShowModal(main_window, *airspace_warnings); Fonts::Deinitialize(); DeinitialiseDataPath(); delete airspace_warnings; return 0; }
static void Main() { Airspaces airspace_database; AirspaceWarningManager airspace_warning(airspace_database); airspace_warnings = new ProtectedAirspaceWarningManager(airspace_warning); LoadFiles(airspace_database); Airspaces::AirspaceTree::const_iterator it = airspace_database.begin(); AirspaceInterceptSolution ais; for (unsigned i = 0; i < 5 && it != airspace_database.end(); ++i, ++it) airspace_warning.GetWarning(it->GetAirspace()) .UpdateSolution((AirspaceWarning::State)i, ais); dlgAirspaceWarningsShowModal(*airspace_warnings); delete airspace_warnings; }
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, #ifdef _WIN32_WCE LPWSTR lpCmdLine, #else LPSTR lpCmdLine2, #endif int nCmdShow) #endif { #ifdef WIN32 Args args(GetCommandLine(), "DRIVER FILE"); #else Args args(argc, argv, "DRIVER FILE"); #endif DebugReplay *replay = CreateDebugReplay(args); if (replay == NULL) return EXIT_FAILURE; args.ExpectEnd(); InitialiseDataPath(); Profile::SetFiles(_T("")); Profile::Load(); const Waypoints way_points; InterfaceBlackboard blackboard; blackboard.SetComputerSettings().SetDefaults(); GlideComputerTaskEvents task_events; TaskManager task_manager(way_points); task_manager.SetTaskEvents(task_events); Airspaces airspace_database; AirspaceWarningManager airspace_warning(airspace_database); ProtectedTaskManager protected_task_manager(task_manager, blackboard.GetComputerSettings().task); LoadFiles(airspace_database); GlideComputer glide_computer(way_points, airspace_database, protected_task_manager, task_events); glide_computer.SetTerrain(terrain); glide_computer.Initialise(); glide_computer.ReadComputerSettings(blackboard.GetComputerSettings()); ScreenGlobalInit screen_init; LoadReplay(replay, glide_computer, blackboard); delete replay; #ifdef WIN32 ResourceLoader::Init(hInstance); #endif Layout::Initialize(640, 480); SingleWindow main_window; main_window.set(_T("STATIC"), _T("RunAnalysis"), PixelRect{0, 0, 640, 480}); Fonts::Initialize(); dialog_settings.SetDefaults(); Look *look = new Look(); look->Initialise(); look->InitialiseConfigured(blackboard.GetUISettings()); SetXMLDialogLook(look->dialog); dialog_look = &look->dialog; main_window.show(); dlgAnalysisShowModal(main_window, *look, blackboard, glide_computer, &protected_task_manager, &airspace_database, terrain); delete look; Fonts::Deinitialize(); delete terrain; DeinitialiseDataPath(); return 0; }