/** ****************************************************************************** * Xenia : Xbox 360 Emulator Research Project * ****************************************************************************** * Copyright 2015 Ben Vanik. All rights reserved. * * Released under the BSD license - see LICENSE in the root for more details. * ****************************************************************************** */ #ifndef XENIA_DEBUG_UI_MAIN_WINDOW_H_ #define XENIA_DEBUG_UI_MAIN_WINDOW_H_ #include #include "el/elements.h" #include "xenia/debug/ui/application.h" #include "xenia/debug/ui/views/cpu/cpu_view.h" #include "xenia/debug/ui/views/gpu/gpu_view.h" #include "xenia/ui/window.h" namespace xe { namespace debug { namespace ui { class MainWindow { public: MainWindow(Application* app); ~MainWindow(); Application* app() const { return app_; } bool Initialize(); // void NavigateToCpuView(uint32_t address); private: void BuildUI(); void OnClose(); Application* app_ = nullptr; std::unique_ptr platform_window_; std::unique_ptr window_; struct { el::SplitContainer* split_container; el::LayoutBox* toolbar_box; el::TabContainer* tab_container; } ui_ = {0}; views::cpu::CpuView cpu_view_; views::gpu::GpuView gpu_view_; }; } // namespace ui } // namespace debug } // namespace xe #endif // XENIA_DEBUG_UI_MAIN_WINDOW_H_