Refactor Renderer access and enhance graphics loading functionality

- Replaced instances of Renderer::GetInstance() with Renderer::Get() for consistency across the codebase.
- Updated various rendering methods to streamline bitmap updates and enhance performance.
- Removed unused includes and comments to improve code clarity and maintainability.
This commit is contained in:
scawful
2025-05-08 19:37:48 -04:00
parent fb015523dc
commit 11504ca4c1
18 changed files with 147 additions and 177 deletions

View File

@@ -149,10 +149,10 @@ absl::Status Controller::OnLoad() {
void Controller::DoRender() const {
ImGui::Render();
SDL_RenderClear(Renderer::GetInstance().renderer());
SDL_RenderClear(Renderer::Get().renderer());
ImGui_ImplSDLRenderer2_RenderDrawData(ImGui::GetDrawData(),
Renderer::GetInstance().renderer());
SDL_RenderPresent(Renderer::GetInstance().renderer());
Renderer::Get().renderer());
SDL_RenderPresent(Renderer::Get().renderer());
}
void Controller::OnExit() {
@@ -193,7 +193,7 @@ absl::Status Controller::CreateWindow() {
}
absl::Status Controller::CreateRenderer() {
return Renderer::GetInstance().CreateRenderer(window_.get());
return Renderer::Get().CreateRenderer(window_.get());
}
absl::Status Controller::CreateGuiContext() {
@@ -206,8 +206,8 @@ absl::Status Controller::CreateGuiContext() {
// Initialize ImGui based on the backend
ImGui_ImplSDL2_InitForSDLRenderer(window_.get(),
Renderer::GetInstance().renderer());
ImGui_ImplSDLRenderer2_Init(Renderer::GetInstance().renderer());
Renderer::Get().renderer());
ImGui_ImplSDLRenderer2_Init(Renderer::Get().renderer());
RETURN_IF_ERROR(LoadPackageFonts());

View File

@@ -7,13 +7,7 @@
#include "absl/status/status.h"
#include "app/core/platform/backend.h"
#include "app/core/platform/file_dialog.h"
#include "app/core/platform/renderer.h"
#include "app/editor/editor_manager.h"
#include "imgui/backends/imgui_impl_sdl2.h"
#include "imgui/backends/imgui_impl_sdlrenderer2.h"
#include "imgui/imconfig.h"
#include "imgui/imgui.h"
int main(int argc, char **argv);

View File

@@ -56,13 +56,13 @@ class Sdl2Backend : public PlatformBackend<Sdl2Backend> {
throw std::runtime_error("Failed to create window");
}
if (!Renderer::GetInstance().CreateRenderer(window.get()).ok()) {
if (!Renderer::Get().CreateRenderer(window.get()).ok()) {
throw std::runtime_error("Failed to create renderer");
}
ImGui_ImplSDL2_InitForSDLRenderer(window.get(),
Renderer::GetInstance().renderer());
ImGui_ImplSDLRenderer2_Init(Renderer::GetInstance().renderer());
Renderer::Get().renderer());
ImGui_ImplSDLRenderer2_Init(Renderer::Get().renderer());
}
void init_audio() {
@@ -91,7 +91,7 @@ class Sdl2Backend : public PlatformBackend<Sdl2Backend> {
void shutdown() {
ImGui_ImplSDL2_Shutdown();
ImGui_ImplSDLRenderer2_Shutdown();
SDL_DestroyRenderer(Renderer::GetInstance().renderer());
SDL_DestroyRenderer(Renderer::Get().renderer());
SDL_DestroyWindow(window.get());
SDL_Quit();
}
@@ -103,10 +103,10 @@ class Sdl2Backend : public PlatformBackend<Sdl2Backend> {
void render() {
ImGui::Render();
SDL_RenderClear(Renderer::GetInstance().renderer());
SDL_RenderClear(Renderer::Get().renderer());
ImGui_ImplSDLRenderer2_RenderDrawData(ImGui::GetDrawData(),
Renderer::GetInstance().renderer());
SDL_RenderPresent(Renderer::GetInstance().renderer());
Renderer::Get().renderer());
SDL_RenderPresent(Renderer::Get().renderer());
}
auto window_ptr() -> SDL_Window * { return window.get(); }

View File

@@ -23,7 +23,7 @@ namespace core {
*/
class Renderer {
public:
static Renderer &GetInstance() {
static Renderer &Get() {
static Renderer instance;
return instance;
}