mirror of
https://github.com/seekrs/MacroLibX.git
synced 2026-01-11 22:53:34 +00:00
working
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2022/10/04 21:49:46 by maldavid #+# #+# */
|
||||
/* Updated: 2024/03/27 21:00:53 by maldavid ### ########.fr */
|
||||
/* Updated: 2024/04/03 15:05:24 by maldavid ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
|
||||
#include <Core/Graphics.h>
|
||||
#include <Platform/Inputs.h>
|
||||
#include <Core/DriverLoader.h>
|
||||
#include <Core/Fps.h>
|
||||
|
||||
namespace mlx
|
||||
@@ -58,6 +59,7 @@ namespace mlx
|
||||
|
||||
private:
|
||||
FpsManager m_fps;
|
||||
DriverLoader m_driver_loader;
|
||||
std::list<Texture> m_textures;
|
||||
std::vector<std::unique_ptr<GraphicsSupport>> m_graphics;
|
||||
std::function<int(void*)> f_loop_hook;
|
||||
|
||||
39
runtime/Includes/Core/DriverLoader.h
git.filemode.normal_file
39
runtime/Includes/Core/DriverLoader.h
git.filemode.normal_file
@@ -0,0 +1,39 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* DriverLoader.h :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/04/02 16:56:10 by maldavid #+# #+# */
|
||||
/* Updated: 2024/04/03 15:02:44 by maldavid ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#ifndef __MLX_CORE_DRIVER_LOADER__
|
||||
#define __MLX_CORE_DRIVER_LOADER__
|
||||
|
||||
#include <Drivers/DriverInstance.h>
|
||||
|
||||
namespace mlx
|
||||
{
|
||||
class DriverLoader
|
||||
{
|
||||
public:
|
||||
DriverLoader() = default;
|
||||
|
||||
template <typename T>
|
||||
inline bool LoadDriver();
|
||||
|
||||
inline void ShutdownAllDrivers();
|
||||
|
||||
~DriverLoader() = default;
|
||||
|
||||
private:
|
||||
std::vector<std::unique_ptr<DriverInstance> > m_instances;
|
||||
};
|
||||
}
|
||||
|
||||
#include <Core/DriverLoader.inl>
|
||||
|
||||
#endif
|
||||
30
runtime/Includes/Core/DriverLoader.inl
git.filemode.normal_file
30
runtime/Includes/Core/DriverLoader.inl
git.filemode.normal_file
@@ -0,0 +1,30 @@
|
||||
/* **************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* DriverLoader.inl :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/04/03 14:55:01 by maldavid #+# #+# */
|
||||
/* Updated: 2024/04/03 14:55:01 by maldavid ### ########.fr */
|
||||
/* */
|
||||
/* **************************************************************************** */
|
||||
|
||||
#pragma once
|
||||
#include <Core/DriverLoader.h>
|
||||
|
||||
namespace mlx
|
||||
{
|
||||
template <typename T>
|
||||
bool DriverLoader::LoadDriver()
|
||||
{
|
||||
m_instances.emplace_back(new T)->InitDriver();
|
||||
}
|
||||
|
||||
void DriverLoader::ShutdownAllDrivers()
|
||||
{
|
||||
for(auto& driver : m_instances)
|
||||
driver->ShutdownDriver();
|
||||
m_instances.clear();
|
||||
}
|
||||
}
|
||||
27
runtime/Includes/Core/ImagesManager.h
git.filemode.normal_file
27
runtime/Includes/Core/ImagesManager.h
git.filemode.normal_file
@@ -0,0 +1,27 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ImagesManager.h :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/04/03 15:11:47 by maldavid #+# #+# */
|
||||
/* Updated: 2024/04/21 15:13:43 by maldavid ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#ifndef __MLX_CORE_IMAGES_MANAGER__
|
||||
#define __MLX_CORE_IMAGES_MANAGER__
|
||||
|
||||
namespace mlx
|
||||
{
|
||||
class ImagesManager
|
||||
{
|
||||
public:
|
||||
|
||||
private:
|
||||
std::unordered_set<Texture*> m_textures_registry;
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user