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

Abstract factory interface for creating UI elements. More...

#include <IUIFactory.hpp>

Inheritance diagram for UI::IUIFactory:
Inheritance graph
Collaboration diagram for UI::IUIFactory:
Collaboration graph

Public Member Functions

virtual ~IUIFactory ()=default
 Virtual destructor.
 
virtual std::unique_ptr< IButtonCreateButton ()=0
 Create a button instance.
 
virtual std::unique_ptr< IMenuCreateMenu ()=0
 Create a menu instance.
 
virtual std::unique_ptr< ITextInputCreateTextInput ()=0
 Create a text input instance.
 
virtual std::unique_ptr< ISliderCreateSlider ()=0
 Create a slider instance.
 

Detailed Description

Abstract factory interface for creating UI elements.

This interface is the main entry point to instantiate UI primitives without depending on a backend implementation (DIP).

Ownership:

  • CreateButton() returns a unique_ptr: the caller owns the button instance.
  • CreateMenu() returns a unique_ptr: the caller owns the menu instance.

Definition at line 28 of file IUIFactory.hpp.

Constructor & Destructor Documentation

◆ ~IUIFactory()

virtual UI::IUIFactory::~IUIFactory ( )
virtualdefault

Virtual destructor.

Member Function Documentation

◆ CreateButton()

◆ CreateMenu()

virtual std::unique_ptr< IMenu > UI::IUIFactory::CreateMenu ( )
pure virtual

Create a menu instance.

Returns
Unique pointer to a new menu.

Implemented in UI::RaylibUIFactory.

Referenced by Game::BaseMenu::BaseMenu().

◆ CreateSlider()

virtual std::unique_ptr< ISlider > UI::IUIFactory::CreateSlider ( )
pure virtual

Create a slider instance.

Returns
Unique pointer to a new slider.

Implemented in UI::RaylibUIFactory.

Referenced by Game::SettingsMenu::SettingsMenu().

◆ CreateTextInput()

virtual std::unique_ptr< ITextInput > UI::IUIFactory::CreateTextInput ( )
pure virtual

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