imgui-platform-kit 2.0.0
Cross-platform Dear ImGui application framework
Loading...
Searching...
No Matches
imgui_kit Namespace Reference

Namespaces

namespace  colours
 Named constexpr ImVec4 colour constants (RGBA, 0.0-1.0).
 

Classes

struct  BackgroundImageParameters
 Background image drawn behind all windows. More...
 
struct  DX12BackgroundImageTexture
 D3D12 texture holding the background image and its parameters. More...
 
struct  FontParameters
 Fonts to load at startup. More...
 
struct  IconParameters
 Window icon settings. More...
 
struct  LogEntry
 A single log line: message text and its display colour. More...
 
class  LogWindow
 Built-in window that displays colour-coded log messages. More...
 
struct  StyleParameters
 Visual style of the user interface (theme and window styling). More...
 
class  TemplateWindow
 Minimal reference example of a UserInterfaceWindow subclass. More...
 
class  UserInterface
 Main application object: owns the platform window, the rendering backend and the registered UserInterfaceWindow instances. More...
 
struct  UserInterfaceParameters
 Aggregates all configuration passed to imgui_kit::UserInterface. More...
 
class  UserInterfaceWindow
 Abstract base class for all windows rendered by the kit. More...
 
struct  UserInterfaceWindowParameters
 Base type for parameters passed to UserInterfaceWindow subclasses. More...
 
struct  WindowParameters
 Geometry and title of the top-level platform window. More...
 

Enumerations

enum class  Theme {
  Light , Dark , Classic , AdobeInspired ,
  BlackDevil , BootstrapDark , Cherry , ClassicSteam ,
  CleanDarkRed , Comfy , DuckRed , Darcula ,
  DarkRuda , Darky , DeepDark , DiscordDark ,
  EnemyMouse , EverForest , FutureDark , Gold ,
  GreenFont , GreenLeaf , HazyDark , MaterialFlat ,
  Microsoft , Modern , Moonlight , Photoshoop ,
  PurpleComfy , QuickMinimal , RedFont , RedOni ,
  RoundedVisualStudio , SoftCherry , SonicRiders , Unreal ,
  VisualStudio , Windark , LedSynthmaster
}
 Available colour themes. More...
 
enum class  ImageFitType : uint8_t { KEEP_ASPECT_RATIO = 0 , ZOOM_TO_FIT }
 How a background image is scaled to the window. More...
 

Functions

void showImGuiKitThemeSelector (bool *p_open=nullptr)
 Shows a window that lets the user switch themes at runtime.
 
ImGuiWindowFlags getGlobalWindowFlags ()
 Returns the window flags currently applied to every kit-managed window.
 
void setGlobalWindowFlags (ImGuiWindowFlags flags)
 Replaces the global window flags.
 
void addGlobalWindowFlags (ImGuiWindowFlags flags)
 Adds flags to the global window flags (bitwise OR).
 
void removeGlobalWindowFlags (ImGuiWindowFlags flags)
 Removes flags from the global window flags.
 
Theme appliers

Apply the corresponding theme to the current ImGui context by setting ImGui::GetStyle().

Usually called indirectly through the themes map or StyleParameters::apply() rather than directly. Light, Dark and Classic have no applier here; they use the ImGui built-ins (ImGui::StyleColorsLight/Dark/Classic).

void applyAdobeInspiredTheme ()
 
void applyBlackDevilTheme ()
 
void applyBootstrapDarkTheme ()
 
void applyCherryTheme ()
 
void applyClassicSteamTheme ()
 
void applyCleanDarkRedTheme ()
 
void applyComfyTheme ()
 
void applyDuckRedTheme ()
 
void applyDarculaTheme ()
 
void applyDarkRudaTheme ()
 
void applyDarkyTheme ()
 
void applyDeepDarkTheme ()
 
void applyDiscordDarkTheme ()
 
void applyEnemyMouseTheme ()
 
void applyEverForestTheme ()
 
void applyFutureDarkTheme ()
 
void applyGoldTheme ()
 
void applyGreenFontTheme ()
 
void applyGreenLeafTheme ()
 
void applyHazyDarkTheme ()
 
void applyMaterialFlatTheme ()
 
void applyMicrosoftTheme ()
 
void applyModernTheme ()
 
void applyMoonlightTheme ()
 
void applyPhotoshoopTheme ()
 
void applyPurpleComfyTheme ()
 
void applyQuickMinimalTheme ()
 
void applyRedFontTheme ()
 
void applyRedOniTheme ()
 
void applyRoundedVisualStudioTheme ()
 
void applySoftCherryTheme ()
 
void applySonicRidersTheme ()
 
void applyUnrealTheme ()
 
void applyVisualStudioTheme ()
 
void applyWindarkTheme ()
 
void applyLedSynthmasterTheme ()
 

Variables

const std::unordered_map< Theme, std::string > themeNames
 Human-readable display name for each Theme value.
 
std::unordered_map< Theme, std::function< void()> > themes
 Maps each Theme value to the function that applies it.
 
constexpr char defaultWindowParametersFilename [] = "imgui_window_parameters.ini"
 Default INI filename used by WindowParameters::save() and WindowParameters::load().
 
constexpr char defaultThemeParametersFilename [] = "imgui_theme_parameters.ini"
 Default INI filename reserved for persisting theme parameters.
 
ImGuiWindowFlags g_globalWindowFlags
 ImGui window flags shared by every window managed by the kit.
 

Enumeration Type Documentation

◆ ImageFitType

enum class imgui_kit::ImageFitType : uint8_t
strong

How a background image is scaled to the window.

Enumerator
KEEP_ASPECT_RATIO 

Scale the image preserving its aspect ratio.

ZOOM_TO_FIT 

Stretch the image to fill the window.

◆ Theme

enum class imgui_kit::Theme
strong

Available colour themes.

Light, Dark and Classic map to the ImGui built-in styles; the remaining themes are community styles from ImThemes.

Enumerator
Light 

ImGui built-in light style.

Dark 

ImGui built-in dark style (default).

Classic 

ImGui built-in classic style.

AdobeInspired 

Dark grey theme inspired by Adobe applications.

BlackDevil 

Black theme with red accents.

BootstrapDark 

Dark theme with Bootstrap-like blue accents.

Cherry 

Dark theme with cherry-red accents.

ClassicSteam 

Olive-green theme reminiscent of classic Steam.

CleanDarkRed 

Clean dark theme with red highlights.

Comfy 

Soft, rounded dark theme.

DuckRed 

Dark theme with warm red accents.

Darcula 

Theme based on the JetBrains Darcula palette.

DarkRuda 

Dark blue-grey theme.

Darky 

Plain dark theme.

DeepDark 

Very dark, high-contrast theme.

DiscordDark 

Theme based on Discord's dark palette.

EnemyMouse 

Dark theme with cyan accents.

EverForest 

Muted green theme based on the Everforest palette.

FutureDark 

Futuristic dark theme.

Gold 

Dark theme with gold accents.

GreenFont 

Dark theme with green text.

GreenLeaf 

Green-tinted theme.

HazyDark 

Hazy, low-contrast dark theme.

MaterialFlat 

Flat theme following Material Design colours.

Microsoft 

Light theme inspired by Microsoft's design language.

Modern 

Modern-looking dark theme.

Moonlight 

Dark blue-purple night theme.

Photoshoop 

Dark grey theme inspired by Photoshop.

PurpleComfy 

Soft dark theme with purple accents.

QuickMinimal 

Minimal dark theme.

RedFont 

Dark theme with red text.

RedOni 

Dark theme with strong red accents.

RoundedVisualStudio 

Visual Studio-like theme with rounded corners.

SoftCherry 

Softer variant of the Cherry theme.

SonicRiders 

Colourful theme inspired by Sonic Riders.

Unreal 

Grey theme inspired by Unreal Engine.

VisualStudio 

Theme based on the Visual Studio dark palette.

Windark 

Windows-like dark theme.

LedSynthmaster 

Dark theme inspired by the LED Synthmaster plugin.

Function Documentation

◆ addGlobalWindowFlags()

void imgui_kit::addGlobalWindowFlags ( ImGuiWindowFlags  flags)

Adds flags to the global window flags (bitwise OR).

Parameters
flagsImGui window flags to add.

◆ applyAdobeInspiredTheme()

void imgui_kit::applyAdobeInspiredTheme ( )

◆ applyBlackDevilTheme()

void imgui_kit::applyBlackDevilTheme ( )

◆ applyBootstrapDarkTheme()

void imgui_kit::applyBootstrapDarkTheme ( )

◆ applyCherryTheme()

void imgui_kit::applyCherryTheme ( )

◆ applyClassicSteamTheme()

void imgui_kit::applyClassicSteamTheme ( )

◆ applyCleanDarkRedTheme()

void imgui_kit::applyCleanDarkRedTheme ( )

◆ applyComfyTheme()

void imgui_kit::applyComfyTheme ( )

◆ applyDarculaTheme()

void imgui_kit::applyDarculaTheme ( )

◆ applyDarkRudaTheme()

void imgui_kit::applyDarkRudaTheme ( )

◆ applyDarkyTheme()

void imgui_kit::applyDarkyTheme ( )

◆ applyDeepDarkTheme()

void imgui_kit::applyDeepDarkTheme ( )

◆ applyDiscordDarkTheme()

void imgui_kit::applyDiscordDarkTheme ( )

◆ applyDuckRedTheme()

void imgui_kit::applyDuckRedTheme ( )

◆ applyEnemyMouseTheme()

void imgui_kit::applyEnemyMouseTheme ( )

◆ applyEverForestTheme()

void imgui_kit::applyEverForestTheme ( )

◆ applyFutureDarkTheme()

void imgui_kit::applyFutureDarkTheme ( )

◆ applyGoldTheme()

void imgui_kit::applyGoldTheme ( )

◆ applyGreenFontTheme()

void imgui_kit::applyGreenFontTheme ( )

◆ applyGreenLeafTheme()

void imgui_kit::applyGreenLeafTheme ( )

◆ applyHazyDarkTheme()

void imgui_kit::applyHazyDarkTheme ( )

◆ applyLedSynthmasterTheme()

void imgui_kit::applyLedSynthmasterTheme ( )

◆ applyMaterialFlatTheme()

void imgui_kit::applyMaterialFlatTheme ( )

◆ applyMicrosoftTheme()

void imgui_kit::applyMicrosoftTheme ( )

◆ applyModernTheme()

void imgui_kit::applyModernTheme ( )

◆ applyMoonlightTheme()

void imgui_kit::applyMoonlightTheme ( )

◆ applyPhotoshoopTheme()

void imgui_kit::applyPhotoshoopTheme ( )

◆ applyPurpleComfyTheme()

void imgui_kit::applyPurpleComfyTheme ( )

◆ applyQuickMinimalTheme()

void imgui_kit::applyQuickMinimalTheme ( )

◆ applyRedFontTheme()

void imgui_kit::applyRedFontTheme ( )

◆ applyRedOniTheme()

void imgui_kit::applyRedOniTheme ( )

◆ applyRoundedVisualStudioTheme()

void imgui_kit::applyRoundedVisualStudioTheme ( )

◆ applySoftCherryTheme()

void imgui_kit::applySoftCherryTheme ( )

◆ applySonicRidersTheme()

void imgui_kit::applySonicRidersTheme ( )

◆ applyUnrealTheme()

void imgui_kit::applyUnrealTheme ( )

◆ applyVisualStudioTheme()

void imgui_kit::applyVisualStudioTheme ( )

◆ applyWindarkTheme()

void imgui_kit::applyWindarkTheme ( )

◆ getGlobalWindowFlags()

ImGuiWindowFlags imgui_kit::getGlobalWindowFlags ( )

Returns the window flags currently applied to every kit-managed window.

Returns
The current global ImGui window flags.

◆ removeGlobalWindowFlags()

void imgui_kit::removeGlobalWindowFlags ( ImGuiWindowFlags  flags)

Removes flags from the global window flags.

Parameters
flagsImGui window flags to remove.

◆ setGlobalWindowFlags()

void imgui_kit::setGlobalWindowFlags ( ImGuiWindowFlags  flags)

Replaces the global window flags.

Parameters
flagsNew set of ImGui window flags.

◆ showImGuiKitThemeSelector()

void imgui_kit::showImGuiKitThemeSelector ( bool *  p_open = nullptr)

Shows a window that lets the user switch themes at runtime.

Parameters
p_openOptional ImGui open flag; when given, the window shows a close button that clears it.

Variable Documentation

◆ defaultThemeParametersFilename

constexpr char imgui_kit::defaultThemeParametersFilename[] = "imgui_theme_parameters.ini"
constexpr

Default INI filename reserved for persisting theme parameters.

◆ defaultWindowParametersFilename

constexpr char imgui_kit::defaultWindowParametersFilename[] = "imgui_window_parameters.ini"
constexpr

Default INI filename used by WindowParameters::save() and WindowParameters::load().

◆ g_globalWindowFlags

ImGuiWindowFlags imgui_kit::g_globalWindowFlags
extern

ImGui window flags shared by every window managed by the kit.

◆ themeNames

const std::unordered_map<Theme, std::string> imgui_kit::themeNames
inline

Human-readable display name for each Theme value.

◆ themes

std::unordered_map<Theme, std::function<void()> > imgui_kit::themes
inline

Maps each Theme value to the function that applies it.