MetaImGUI 1.0.0
ImGui Application Template for C++20
Loading...
Searching...
No Matches
MetaImGUI::UIRenderer Class Reference

Handles all ImGui rendering operations. More...

#include <UIRenderer.h>

Public Member Functions

 UIRenderer ()
 
 ~UIRenderer ()
 
 UIRenderer (const UIRenderer &)=delete
 
UIRendereroperator= (const UIRenderer &)=delete
 
 UIRenderer (UIRenderer &&)=delete
 
UIRendereroperator= (UIRenderer &&)=delete
 
bool Initialize (GLFWwindow *window)
 Initialize ImGui context and backends.
 
void Shutdown ()
 Shutdown ImGui context.
 
void BeginFrame ()
 Begin a new ImGui frame.
 
void EndFrame ()
 End the current ImGui frame and render.
 
void RenderMainWindow (UIEvents &events)
 Render the main application window.
 
void RenderMenuBar (UIEvents &events, bool showDemoWindow, bool showISSTracker)
 Render the menu bar.
 
void RenderStatusBar (const std::string &statusMessage, float fps, const char *version, bool updateInProgress)
 Render the status bar.
 
void RenderAboutWindow (bool &showAboutWindow)
 Render the about dialog.
 
void RenderUpdateNotification (bool &showUpdateNotification, UpdateInfo *updateInfo)
 Render the update notification dialog.
 
void ShowDemoWindow (bool &showDemoWindow)
 Show ImGui demo window.
 
void RenderISSTrackerWindow (bool &showISSTracker, ISSTracker *issTracker)
 Render the ISS tracker window.
 

Static Public Member Functions

static void HelpMarker (const char *desc)
 Helper to show tooltip with question mark.
 

Detailed Description

Handles all ImGui rendering operations.

UIRenderer encapsulates all ImGui-specific rendering logic, keeping the Application class focused on high-level orchestration and state management.

Definition at line 40 of file UIRenderer.h.

Constructor & Destructor Documentation

◆ UIRenderer() [1/3]

MetaImGUI::UIRenderer::UIRenderer ( )
default

◆ ~UIRenderer()

MetaImGUI::UIRenderer::~UIRenderer ( )

Definition at line 77 of file UIRenderer.cpp.

References Shutdown().

◆ UIRenderer() [2/3]

MetaImGUI::UIRenderer::UIRenderer ( const UIRenderer )
delete

◆ UIRenderer() [3/3]

MetaImGUI::UIRenderer::UIRenderer ( UIRenderer &&  )
delete

Member Function Documentation

◆ BeginFrame()

void MetaImGUI::UIRenderer::BeginFrame ( )

Begin a new ImGui frame.

Definition at line 116 of file UIRenderer.cpp.

◆ EndFrame()

void MetaImGUI::UIRenderer::EndFrame ( )

End the current ImGui frame and render.

Definition at line 122 of file UIRenderer.cpp.

◆ HelpMarker()

void MetaImGUI::UIRenderer::HelpMarker ( const char *  desc)
static

Helper to show tooltip with question mark.

Parameters
descTooltip description text

Definition at line 615 of file UIRenderer.cpp.

References MetaImGUI::UILayout::TEXT_WRAP_POS_MULTIPLIER.

◆ Initialize()

bool MetaImGUI::UIRenderer::Initialize ( GLFWwindow *  window)

Initialize ImGui context and backends.

Parameters
windowGLFW window pointer
Returns
true if initialization succeeded

Definition at line 81 of file UIRenderer.cpp.

References MetaImGUI::ThemeManager::Apply(), and MetaImGUI::ThemeManager::Modern.

◆ operator=() [1/2]

UIRenderer & MetaImGUI::UIRenderer::operator= ( const UIRenderer )
delete

◆ operator=() [2/2]

UIRenderer & MetaImGUI::UIRenderer::operator= ( UIRenderer &&  )
delete

◆ RenderAboutWindow()

void MetaImGUI::UIRenderer::RenderAboutWindow ( bool &  showAboutWindow)

Render the about dialog.

Parameters
showAboutWindowReference to visibility flag

Definition at line 303 of file UIRenderer.cpp.

References MetaImGUI::UILayout::ABOUT_WINDOW_HEIGHT, MetaImGUI::UILayout::ABOUT_WINDOW_WIDTH, MetaImGUI::Localization::Instance(), and MetaImGUI::UILayout::VERTICAL_SPACING_SMALL.

◆ RenderISSTrackerWindow()

◆ RenderMainWindow()

void MetaImGUI::UIRenderer::RenderMainWindow ( UIEvents events)

◆ RenderMenuBar()

void MetaImGUI::UIRenderer::RenderMenuBar ( UIEvents events,
bool  showDemoWindow,
bool  showISSTracker 
)

Render the menu bar.

Parameters
eventsUI event bus — menu items fire signals on this object
showDemoWindowCurrent state of demo window visibility (for tick mark)
showISSTrackerCurrent state of ISS tracker window visibility (for tick mark)

Definition at line 163 of file UIRenderer.cpp.

References MetaImGUI::ThemeManager::Apply(), MetaImGUI::UIEvents::checkUpdatesRequested, MetaImGUI::ThemeManager::Classic, MetaImGUI::ThemeManager::Dark, MetaImGUI::Signal< Args >::Emit(), MetaImGUI::UIEvents::exitRequested, MetaImGUI::ThemeManager::GetCurrent(), MetaImGUI::Localization::Instance(), MetaImGUI::ThemeManager::Light, MetaImGUI::ThemeManager::Modern, MetaImGUI::UIEvents::showAboutRequested, MetaImGUI::UIEvents::toggleDemoWindow, and MetaImGUI::UIEvents::toggleISSTracker.

◆ RenderStatusBar()

void MetaImGUI::UIRenderer::RenderStatusBar ( const std::string &  statusMessage,
float  fps,
const char *  version,
bool  updateInProgress 
)

Render the status bar.

Parameters
statusMessageStatus message to display
fpsCurrent FPS
versionVersion string
updateInProgressWhether an update check is in progress

Definition at line 236 of file UIRenderer.cpp.

References MetaImGUI::UILayout::ITEM_SPACING_X, MetaImGUI::UILayout::ITEM_SPACING_Y, MetaImGUI::UILayout::STATUS_BAR_HEIGHT, MetaImGUI::UILayout::STATUS_CIRCLE_PADDING, MetaImGUI::UILayout::STATUS_CIRCLE_RADIUS, MetaImGUI::UILayout::STATUS_RIGHT_SIDE_WIDTH, MetaImGUI::UILayout::WINDOW_PADDING_X, and MetaImGUI::UILayout::WINDOW_PADDING_Y.

◆ RenderUpdateNotification()

◆ ShowDemoWindow()

void MetaImGUI::UIRenderer::ShowDemoWindow ( bool &  showDemoWindow)

Show ImGui demo window.

Parameters
showDemoWindowReference to visibility flag

Definition at line 489 of file UIRenderer.cpp.

◆ Shutdown()

void MetaImGUI::UIRenderer::Shutdown ( )

Shutdown ImGui context.

Definition at line 106 of file UIRenderer.cpp.

Referenced by ~UIRenderer().


The documentation for this class was generated from the following files: