R-Type
Distributed multiplayer game engine in C++
Loading...
Searching...
No Matches
UI::RaylibUIFactory Class Reference

Raylib implementation of the IUIFactory interface. More...

#include <RaylibUIFactory.hpp>

Inheritance diagram for UI::RaylibUIFactory:
Inheritance graph
Collaboration diagram for UI::RaylibUIFactory:
Collaboration graph

Public Member Functions

 RaylibUIFactory (Graphics::IGraphics &graphics)
 Construct a new RaylibUIFactory.
 
 ~RaylibUIFactory () override=default
 Destructor.
 
std::unique_ptr< IButtonCreateButton () override
 Create a button instance.
 
std::unique_ptr< IMenuCreateMenu () override
 Create a menu instance.
 
std::unique_ptr< ITextInputCreateTextInput () override
 Create a text input instance.
 
std::unique_ptr< ISliderCreateSlider () override
 Create a slider instance.
 
- Public Member Functions inherited from UI::IUIFactory
virtual ~IUIFactory ()=default
 Virtual destructor.
 

Private Attributes

Graphics::IGraphics_graphics
 Graphics dependency injected into UI elements.
 

Detailed Description

Raylib implementation of the IUIFactory interface.

Creates Raylib-backed UI primitives (buttons, menus), while returning only abstract interfaces (IButton/IMenu) to keep callers decoupled from the backend.

The factory holds a reference to a Graphics::IGraphics implementation. UI elements created by this factory will use that same graphics instance.

Definition at line 24 of file RaylibUIFactory.hpp.

Constructor & Destructor Documentation

◆ RaylibUIFactory()

UI::RaylibUIFactory::RaylibUIFactory ( Graphics::IGraphics graphics)
explicit

Construct a new RaylibUIFactory.

Parameters
graphicsGraphics wrapper used by UI elements.

Definition at line 15 of file RaylibUIFactory.cpp.

◆ ~RaylibUIFactory()

UI::RaylibUIFactory::~RaylibUIFactory ( )
overridedefault

Destructor.

Member Function Documentation

◆ CreateButton()

std::unique_ptr< IButton > UI::RaylibUIFactory::CreateButton ( )
overridevirtual

Create a button instance.

Returns
Unique pointer to a new button.

Implements UI::IUIFactory.

Definition at line 17 of file RaylibUIFactory.cpp.

References _graphics.

◆ CreateMenu()

std::unique_ptr< IMenu > UI::RaylibUIFactory::CreateMenu ( )
overridevirtual

Create a menu instance.

Returns
Unique pointer to a new menu.

Implements UI::IUIFactory.

Definition at line 21 of file RaylibUIFactory.cpp.

References _graphics.

◆ CreateSlider()

std::unique_ptr< ISlider > UI::RaylibUIFactory::CreateSlider ( )
overridevirtual

Create a slider instance.

Returns
Unique pointer to a new slider.

Implements UI::IUIFactory.

Definition at line 29 of file RaylibUIFactory.cpp.

References _graphics.

◆ CreateTextInput()

std::unique_ptr< ITextInput > UI::RaylibUIFactory::CreateTextInput ( )
overridevirtual

Create a text input instance.

Returns
Unique pointer to a new text input.

Implements UI::IUIFactory.

Definition at line 25 of file RaylibUIFactory.cpp.

References _graphics.

Member Data Documentation

◆ _graphics

Graphics::IGraphics& UI::RaylibUIFactory::_graphics
private

Graphics dependency injected into UI elements.

Definition at line 48 of file RaylibUIFactory.hpp.

Referenced by CreateButton(), CreateMenu(), CreateSlider(), and CreateTextInput().


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