le2d
v0.4.6
2D game engine framework
Loading...
Searching...
No Matches
resource_factory.hpp
Go to the documentation of this file.
1
#pragma once
2
#include "
le2d/resource/audio_buffer.hpp
"
3
#include "
le2d/resource/font.hpp
"
4
#include "
le2d/resource/shader.hpp
"
5
#include "
le2d/resource/texture.hpp
"
6
#include <memory>
7
8
namespace
le
{
10
class
IResourceFactory
:
public
klib::Polymorphic {
11
public
:
12
[[nodiscard]]
virtual
auto
create_shader
() const -> std::unique_ptr<
IShader
> = 0;
13
[[nodiscard]] virtual auto
create_texture
(
TextureSampler
const& sampler = {})
const
-> std::unique_ptr<ITexture> = 0;
14
[[nodiscard]]
virtual
auto
create_tilesheet
(
TextureSampler
const
& sampler = {})
const
-> std::unique_ptr<ITileSheet> = 0;
15
[[nodiscard]]
virtual
auto
create_font
() const -> std::unique_ptr<
IFont
> = 0;
16
[[nodiscard]] virtual auto
create_audio_buffer
() const -> std::unique_ptr<
IAudioBuffer
> = 0;
17
};
18
}
// namespace le
audio_buffer.hpp
le::IAudioBuffer
Opaque interface for an Audio Buffer.
Definition
audio_buffer.hpp:8
le::IFont
Opaque interface for a Font.
Definition
font.hpp:23
le::IResourceFactory
Factory for IResource derived types.
Definition
resource_factory.hpp:10
le::IResourceFactory::create_audio_buffer
virtual auto create_audio_buffer() const -> std::unique_ptr< IAudioBuffer >=0
le::IResourceFactory::create_texture
virtual auto create_texture(TextureSampler const &sampler={}) const -> std::unique_ptr< ITexture >=0
le::IResourceFactory::create_tilesheet
virtual auto create_tilesheet(TextureSampler const &sampler={}) const -> std::unique_ptr< ITileSheet >=0
le::IResourceFactory::create_font
virtual auto create_font() const -> std::unique_ptr< IFont >=0
le::IResourceFactory::create_shader
virtual auto create_shader() const -> std::unique_ptr< IShader >=0
le::IShader
Opaque interface for a Shader program.
Definition
shader.hpp:7
font.hpp
le
Definition
animation.hpp:8
shader.hpp
le::TextureSampler
Texture Sampler metadata.
Definition
texture.hpp:24
texture.hpp
lib
include
le2d
resource
resource_factory.hpp
Generated by
1.9.8