replace old renderer access pattern
This commit is contained in:
@@ -303,7 +303,7 @@ absl::Status Controller::OnEntry(std::string filename) {
|
||||
master_editor_.emulator().set_audio_device_id(audio_device_);
|
||||
}
|
||||
InitializeKeymap();
|
||||
master_editor_.SetupScreen(renderer_, filename);
|
||||
master_editor_.SetupScreen(filename);
|
||||
active_ = true;
|
||||
return absl::OkStatus();
|
||||
}
|
||||
@@ -367,9 +367,10 @@ absl::Status Controller::OnLoad() {
|
||||
|
||||
void Controller::DoRender() const {
|
||||
ImGui::Render();
|
||||
SDL_RenderClear(renderer_.get());
|
||||
ImGui_ImplSDLRenderer2_RenderDrawData(ImGui::GetDrawData(), renderer_.get());
|
||||
SDL_RenderPresent(renderer_.get());
|
||||
SDL_RenderClear(Renderer::GetInstance().renderer());
|
||||
ImGui_ImplSDLRenderer2_RenderDrawData(ImGui::GetDrawData(),
|
||||
Renderer::GetInstance().renderer());
|
||||
SDL_RenderPresent(Renderer::GetInstance().renderer());
|
||||
}
|
||||
|
||||
void Controller::OnExit() {
|
||||
@@ -420,18 +421,7 @@ absl::Status Controller::CreateSDL_Window() {
|
||||
}
|
||||
|
||||
absl::Status Controller::CreateRenderer() {
|
||||
renderer_ = std::unique_ptr<SDL_Renderer, sdl_deleter>(
|
||||
SDL_CreateRenderer(window_.get(), -1,
|
||||
SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC),
|
||||
sdl_deleter());
|
||||
if (renderer_ == nullptr) {
|
||||
return absl::InternalError(
|
||||
absl::StrFormat("SDL_CreateRenderer: %s\n", SDL_GetError()));
|
||||
} else {
|
||||
SDL_SetRenderDrawBlendMode(renderer_.get(), SDL_BLENDMODE_BLEND);
|
||||
SDL_SetRenderDrawColor(renderer_.get(), 0x00, 0x00, 0x00, 0x00);
|
||||
}
|
||||
return absl::OkStatus();
|
||||
return Renderer::GetInstance().CreateRenderer(window_.get());
|
||||
}
|
||||
|
||||
absl::Status Controller::CreateGuiContext() {
|
||||
@@ -446,8 +436,9 @@ absl::Status Controller::CreateGuiContext() {
|
||||
}
|
||||
|
||||
// Initialize ImGui for SDL
|
||||
ImGui_ImplSDL2_InitForSDLRenderer(window_.get(), renderer_.get());
|
||||
ImGui_ImplSDLRenderer2_Init(renderer_.get());
|
||||
ImGui_ImplSDL2_InitForSDLRenderer(window_.get(),
|
||||
Renderer::GetInstance().renderer());
|
||||
ImGui_ImplSDLRenderer2_Init(Renderer::GetInstance().renderer());
|
||||
|
||||
if (flags()->kLoadSystemFonts) {
|
||||
LoadSystemFonts();
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define YAZE_APP_CORE_CONTROLLER_H
|
||||
|
||||
#include <SDL.h>
|
||||
|
||||
#include "imgui/backends/imgui_impl_sdl2.h"
|
||||
#include "imgui/backends/imgui_impl_sdlrenderer2.h"
|
||||
#include "imgui/imconfig.h"
|
||||
@@ -12,6 +13,7 @@
|
||||
|
||||
#include "absl/status/status.h"
|
||||
#include "app/core/common.h"
|
||||
#include "app/core/platform/renderer.h"
|
||||
#include "app/editor/master_editor.h"
|
||||
#include "app/editor/utils/editor.h"
|
||||
#include "app/gui/icons.h"
|
||||
@@ -45,13 +47,12 @@ class Controller : public ExperimentFlags {
|
||||
absl::Status CreateGuiContext();
|
||||
absl::Status LoadFontFamilies() const;
|
||||
absl::Status LoadAudioDevice();
|
||||
|
||||
void SetupScreen() {
|
||||
master_editor_.SetupScreen(renderer_);
|
||||
}
|
||||
|
||||
void SetupScreen() { master_editor_.SetupScreen(); }
|
||||
auto master_editor() -> editor::MasterEditor & { return master_editor_; }
|
||||
auto renderer() -> SDL_Renderer * { return renderer_.get(); }
|
||||
auto renderer() -> SDL_Renderer * {
|
||||
return Renderer::GetInstance().renderer();
|
||||
}
|
||||
auto window() -> SDL_Window * { return window_.get(); }
|
||||
|
||||
private:
|
||||
@@ -81,7 +82,6 @@ class Controller : public ExperimentFlags {
|
||||
int16_t *audio_buffer_;
|
||||
SDL_AudioDeviceID audio_device_;
|
||||
std::shared_ptr<SDL_Window> window_;
|
||||
std::shared_ptr<SDL_Renderer> renderer_;
|
||||
};
|
||||
|
||||
} // namespace core
|
||||
|
||||
Reference in New Issue
Block a user