add Controller::CreateTestContext
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
#include <imgui/backends/imgui_impl_sdlrenderer2.h>
|
||||
#include <imgui/imgui.h>
|
||||
#include <imgui/imgui_internal.h>
|
||||
#include <imgui_test_engine/imgui_te_context.h>
|
||||
|
||||
#include <memory>
|
||||
|
||||
@@ -238,6 +239,7 @@ absl::Status Controller::OnEntry(std::string filename) {
|
||||
RETURN_IF_ERROR(CreateSDL_Window())
|
||||
RETURN_IF_ERROR(CreateRenderer())
|
||||
RETURN_IF_ERROR(CreateGuiContext())
|
||||
RETURN_IF_ERROR(CreateTestContext())
|
||||
if (flags()->kLoadAudioDevice) {
|
||||
RETURN_IF_ERROR(LoadAudioDevice())
|
||||
master_editor_.emulator().set_audio_buffer(audio_buffer_);
|
||||
@@ -304,6 +306,8 @@ void Controller::DoRender() const {
|
||||
}
|
||||
|
||||
void Controller::OnExit() {
|
||||
ImGuiTestEngine_Stop(engine);
|
||||
ImGui::DestroyContext();
|
||||
if (flags()->kLoadAudioDevice) {
|
||||
SDL_PauseAudioDevice(audio_device_, 1);
|
||||
SDL_CloseAudioDevice(audio_device_);
|
||||
@@ -312,6 +316,7 @@ void Controller::OnExit() {
|
||||
ImGui_ImplSDLRenderer2_Shutdown();
|
||||
ImGui_ImplSDL2_Shutdown();
|
||||
ImGui::DestroyContext();
|
||||
ImGuiTestEngine_DestroyContext(engine);
|
||||
SDL_Quit();
|
||||
}
|
||||
|
||||
@@ -396,6 +401,25 @@ absl::Status Controller::CreateGuiContext() {
|
||||
return absl::OkStatus();
|
||||
}
|
||||
|
||||
absl::Status Controller::CreateTestContext() {
|
||||
// Initialize Test Engine
|
||||
engine = ImGuiTestEngine_CreateContext();
|
||||
ImGuiTestEngineIO &test_io = ImGuiTestEngine_GetIO(engine);
|
||||
test_io.ConfigVerboseLevel = ImGuiTestVerboseLevel_Info;
|
||||
test_io.ConfigVerboseLevelOnError = ImGuiTestVerboseLevel_Debug;
|
||||
|
||||
// Register your Tests
|
||||
master_editor_.RegisterTests(engine);
|
||||
|
||||
// Start test engine
|
||||
ImGuiTestEngine_Start(engine, ImGui::GetCurrentContext());
|
||||
|
||||
// TODO: Setup with absl signal handler
|
||||
ImGuiTestEngine_InstallDefaultCrashHandler();
|
||||
|
||||
return absl::OkStatus();
|
||||
}
|
||||
|
||||
absl::Status Controller::LoadFontFamilies() const {
|
||||
ImGuiIO &io = ImGui::GetIO();
|
||||
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
#include <SDL.h>
|
||||
#include <imgui/backends/imgui_impl_sdl2.h>
|
||||
#include <imgui/backends/imgui_impl_sdlrenderer2.h>
|
||||
#include <imgui/imconfig.h>
|
||||
#include <imgui/imgui.h>
|
||||
#include <imgui/imgui_internal.h>
|
||||
#include <imgui/imconfig.h>
|
||||
|
||||
#include <memory>
|
||||
|
||||
@@ -56,6 +56,7 @@ class Controller : public ExperimentFlags {
|
||||
absl::Status CreateSDL_Window();
|
||||
absl::Status CreateRenderer();
|
||||
absl::Status CreateGuiContext();
|
||||
absl::Status CreateTestContext();
|
||||
absl::Status LoadFontFamilies() const;
|
||||
absl::Status LoadAudioDevice();
|
||||
void CloseWindow() { active_ = false; }
|
||||
@@ -65,6 +66,7 @@ class Controller : public ExperimentFlags {
|
||||
bool active_;
|
||||
int audio_frequency_ = 48000;
|
||||
int16_t *audio_buffer_;
|
||||
ImGuiTestEngine *engine;
|
||||
editor::MasterEditor master_editor_;
|
||||
SDL_AudioDeviceID audio_device_;
|
||||
std::shared_ptr<SDL_Window> window_;
|
||||
|
||||
Reference in New Issue
Block a user