adding symbols to dll on windows

This commit is contained in:
Kbz-8
2023-12-08 19:13:25 +01:00
parent 19ce912afe
commit 5dcc2045d6
34 changed files with 108 additions and 75 deletions

View File

@@ -4,6 +4,7 @@
<a href="https://github.com/420verfl0w/MacroLibX/actions/workflows/linux_clang.yml"><img src="https://github.com/420verfl0w/MacroLibX/actions/workflows/linux_clang.yml/badge.svg"></a>
<a href="https://github.com/420verfl0w/MacroLibX/actions/workflows/linux_gcc.yml"><img src="https://github.com/420verfl0w/MacroLibX/actions/workflows/linux_gcc.yml/badge.svg"></a>
<a href="https://github.com/420verfl0w/MacroLibX/actions/workflows/macos_x86.yml"><img src="https://github.com/420verfl0w/MacroLibX/actions/workflows/macos_x86.yml/badge.svg"></a>
<a href="https://github.com/420verfl0w/MacroLibX/actions/workflows/windows.yml"><img src="https://github.com/420verfl0w/MacroLibX/actions/workflows/windows.yml/badge.svg"></a>
</div>
</div>

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/04/02 14:49:49 by maldavid #+# #+# */
/* Updated: 2023/11/25 09:59:39 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:04:59 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -26,10 +26,11 @@
#include <renderer/text_pipeline.h>
#include <utils/non_copyable.h>
#include <renderer/images/texture.h>
#include <core/profile.h>
namespace mlx
{
class GraphicsSupport : public non_copyable
class MLX_API GraphicsSupport : public non_copyable
{
public:
GraphicsSupport(std::size_t w, std::size_t h, const std::string& title, int id);

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/12/07 16:31:51 by kbz_8 #+# #+# */
/* Updated: 2023/12/08 12:56:21 by kbz_8 ### ########.fr */
/* Updated: 2023/12/08 19:05:15 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -14,11 +14,12 @@
#define __MLX_MEMORY__
#include <utils/singleton.h>
#include <core/profile.h>
#include <list>
namespace mlx
{
class MemManager : public Singleton<MemManager>
class MLX_API MemManager : public Singleton<MemManager>
{
friend class Singleton<MemManager>;

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/04 21:53:12 by maldavid #+# #+# */
/* Updated: 2023/11/25 11:33:32 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:05:31 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -15,10 +15,11 @@
#include <SDL2/SDL.h>
#include <string>
#include <core/profile.h>
namespace mlx
{
class MLX_Window
class MLX_API MLX_Window
{
public:
MLX_Window(std::size_t w, std::size_t h, const std::string& title);

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/06 23:18:52 by maldavid #+# #+# */
/* Updated: 2023/11/16 13:56:19 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:05:50 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -15,10 +15,11 @@
#include <volk.h>
#include <renderer/core/render_core.h>
#include <core/profile.h>
namespace mlx
{
class Buffer
class MLX_API Buffer
{
public:
enum class kind { dynamic, uniform, constant };

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/01/25 15:05:05 by maldavid #+# #+# */
/* Updated: 2023/11/14 03:25:59 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:06:07 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -16,10 +16,11 @@
#include <volk.h>
#include "vk_buffer.h"
#include <renderer/renderer.h>
#include <core/profile.h>
namespace mlx
{
class C_IBO : public Buffer
class MLX_API C_IBO : public Buffer
{
public:
inline void create(uint32_t size, const uint16_t* data, const char* name) { Buffer::create(Buffer::kind::constant, size, VK_BUFFER_USAGE_INDEX_BUFFER_BIT, name, data); }

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/06 18:45:29 by maldavid #+# #+# */
/* Updated: 2023/11/14 03:26:10 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:06:28 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -16,10 +16,11 @@
#include "vk_buffer.h"
#include <array>
#include <cstddef>
#include <core/profile.h>
namespace mlx
{
class UBO
class MLX_API UBO
{
public:
void create(class Renderer* renderer, uint32_t size, const char* name);

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/06 18:27:38 by maldavid #+# #+# */
/* Updated: 2023/11/14 04:53:36 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:06:45 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -15,10 +15,11 @@
#include "vk_buffer.h"
#include <renderer/renderer.h>
#include <core/profile.h>
namespace mlx
{
class VBO : public Buffer
class MLX_API VBO : public Buffer
{
public:
inline void create(uint32_t size, const char* name) { Buffer::create(Buffer::kind::dynamic, size, VK_BUFFER_USAGE_VERTEX_BUFFER_BIT, name); }
@@ -26,7 +27,7 @@ namespace mlx
inline void bind(Renderer& renderer) noexcept { vkCmdBindVertexBuffers(renderer.getActiveCmdBuffer().get(), 0, 1, &_buffer, &_offset); }
};
class C_VBO : public Buffer
class MLX_API C_VBO : public Buffer
{
public:
inline void create(uint32_t size, const void* data, const char* name) { Buffer::create(Buffer::kind::constant, size, VK_BUFFER_USAGE_VERTEX_BUFFER_BIT, name, data); }

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/04/02 17:48:52 by maldavid #+# #+# */
/* Updated: 2023/04/02 17:50:48 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:07:00 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -16,13 +16,14 @@
#include <array>
#include <volk.h>
#include <core/profile.h>
#include <renderer/core/render_core.h>
#include <renderer/command/vk_cmd_pool.h>
#include <renderer/command/vk_cmd_buffer.h>
namespace mlx
{
class CmdManager
class MLX_API CmdManager
{
public:
CmdManager() = default;

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/06 18:25:42 by maldavid #+# #+# */
/* Updated: 2023/04/21 13:20:49 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:07:11 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -15,10 +15,11 @@
#include <volk.h>
#include <renderer/core/vk_fence.h>
#include <core/profile.h>
namespace mlx
{
class CmdBuffer
class MLX_API CmdBuffer
{
public:
void init(class CmdManager* manager);

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/06 18:24:12 by maldavid #+# #+# */
/* Updated: 2022/12/18 01:08:31 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:07:22 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -14,10 +14,11 @@
#define __MLX_VK_CMD_POOL__
#include <volk.h>
#include <core/profile.h>
namespace mlx
{
class CmdPool
class MLX_API CmdPool
{
public:
void init();

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/10/20 02:13:03 by maldavid #+# #+# */
/* Updated: 2023/11/14 09:46:32 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:07:34 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -15,10 +15,11 @@
#include <volk.h>
#include <vma.h>
#include <core/profile.h>
namespace mlx
{
class GPUallocator
class MLX_API GPUallocator
{
public:
GPUallocator() = default;

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/08 19:13:42 by maldavid #+# #+# */
/* Updated: 2023/11/11 01:51:26 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:07:49 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -15,10 +15,11 @@
#include <volk.h>
#include "vk_queues.h"
#include <core/profile.h>
namespace mlx
{
class Device
class MLX_API Device
{
public:
void init();

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/04/02 17:52:09 by maldavid #+# #+# */
/* Updated: 2023/04/02 17:52:59 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:08:01 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -14,11 +14,12 @@
#define __MLX_VK_FENCE__
#include <volk.h>
#include <core/profile.h>
#include <renderer/core/render_core.h>
namespace mlx
{
class Fence
class MLX_API Fence
{
public:
Fence() = default;

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/08 19:03:04 by maldavid #+# #+# */
/* Updated: 2022/12/18 17:42:08 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:08:14 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -15,10 +15,11 @@
#include <volk.h>
#include <vector>
#include <core/profile.h>
namespace mlx
{
class Instance
class MLX_API Instance
{
public:
void init();

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/08 19:01:49 by maldavid #+# #+# */
/* Updated: 2022/12/18 22:44:37 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:08:25 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -16,10 +16,11 @@
#include <volk.h>
#include <optional>
#include <cstdint>
#include <core/profile.h>
namespace mlx
{
class Queues
class MLX_API Queues
{
public:
struct QueueFamilyIndices

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/08 18:59:38 by maldavid #+# #+# */
/* Updated: 2023/04/02 17:55:10 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:08:36 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -15,10 +15,11 @@
#include <volk.h>
#include <vector>
#include <core/profile.h>
namespace mlx
{
class Semaphore
class MLX_API Semaphore
{
public:
void init();

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/08 18:57:55 by maldavid #+# #+# */
/* Updated: 2022/12/18 19:34:04 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:08:49 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -15,10 +15,11 @@
#include <volk.h>
#include <vector>
#include <core/profile.h>
namespace mlx
{
class Surface
class MLX_API Surface
{
public:
void create(class Renderer& renderer);

View File

@@ -6,7 +6,7 @@
/* By: maldavid <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/12/19 14:04:25 by maldavid #+# #+# */
/* Updated: 2022/12/19 14:05:19 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:09:02 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -14,10 +14,11 @@
#define __VK_VALIDATION_LAYERS__
#include <volk.h>
#include <core/profile.h>
namespace mlx
{
class ValidationLayers
class MLX_API ValidationLayers
{
public:
void init();

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/01/23 18:32:43 by maldavid #+# #+# */
/* Updated: 2023/01/23 18:44:40 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:09:20 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -15,10 +15,11 @@
#include <volk.h>
#include <cstddef>
#include <core/profile.h>
namespace mlx
{
class DescriptorPool
class MLX_API DescriptorPool
{
public:
void init(std::size_t n, VkDescriptorPoolSize* size);

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/01/23 18:39:36 by maldavid #+# #+# */
/* Updated: 2023/12/07 19:47:07 by kbz_8 ### ########.fr */
/* Updated: 2023/12/08 19:09:31 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -15,11 +15,12 @@
#include <volk.h>
#include <array>
#include <core/profile.h>
#include <renderer/core/render_core.h>
namespace mlx
{
class DescriptorSet
class MLX_API DescriptorSet
{
public:
void init(class Renderer* renderer, class DescriptorPool* pool, class DescriptorSetLayout* layout);

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/01/23 18:36:22 by maldavid #+# #+# */
/* Updated: 2023/03/31 17:54:03 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:09:44 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -17,10 +17,11 @@
#include <cstddef>
#include <vector>
#include <map>
#include <core/profile.h>
namespace mlx
{
class DescriptorSetLayout
class MLX_API DescriptorSetLayout
{
public:
void init(std::vector<std::pair<int, VkDescriptorType>> binds, VkShaderStageFlagBits stage);

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/03/08 02:24:58 by maldavid #+# #+# */
/* Updated: 2023/11/25 10:01:35 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:10:09 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -21,10 +21,11 @@
#include <renderer/descriptors/vk_descriptor_set.h>
#include <renderer/buffers/vk_ibo.h>
#include <renderer/buffers/vk_vbo.h>
#include <core/profile.h>
namespace mlx
{
class Texture : public Image
class MLX_API Texture : public Image
{
public:
Texture() = default;
@@ -61,9 +62,9 @@ namespace mlx
bool _has_been_updated = false;
};
Texture stbTextureLoad(std::filesystem::path file, int* w, int* h);
MLX_API Texture stbTextureLoad(std::filesystem::path file, int* w, int* h);
struct TextureRenderData
struct MLX_API TextureRenderData
{
Texture* texture;
std::size_t hash = 0;
@@ -78,7 +79,7 @@ namespace mlx
namespace std
{
template <>
struct hash<mlx::TextureRenderData>
struct MLX_API hash<mlx::TextureRenderData>
{
size_t operator()(const mlx::TextureRenderData& td) const noexcept
{

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/04/07 16:36:33 by maldavid #+# #+# */
/* Updated: 2023/12/07 18:50:53 by kbz_8 ### ########.fr */
/* Updated: 2023/12/08 19:10:22 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -16,10 +16,11 @@
#include <renderer/images/texture.h>
#include <array>
#include <glm/glm.hpp>
#include <core/profile.h>
namespace mlx
{
class TextureAtlas : public Image
class MLX_API TextureAtlas : public Image
{
public:
TextureAtlas() = default;

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/01/25 11:54:21 by maldavid #+# #+# */
/* Updated: 2023/11/18 17:10:05 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:10:38 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -18,12 +18,13 @@
#include <vector>
#include <renderer/command/vk_cmd_buffer.h>
#include <renderer/command/vk_cmd_pool.h>
#include <core/profile.h>
namespace mlx
{
uint32_t formatSize(VkFormat format);
MLX_API uint32_t formatSize(VkFormat format);
class Image
class MLX_API Image
{
friend class SwapChain;

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/12/18 21:23:52 by maldavid #+# #+# */
/* Updated: 2022/12/19 00:27:29 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:10:51 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -14,11 +14,12 @@
#define __PIPELINE__
#include <volk.h>
#include <core/profile.h>
#include <renderer/command/vk_cmd_buffer.h>
namespace mlx
{
class GraphicPipeline
class MLX_API GraphicPipeline
{
public:
void init(class Renderer& renderer);

View File

@@ -6,19 +6,20 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/03/31 13:18:50 by maldavid #+# #+# */
/* Updated: 2023/08/02 05:27:27 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:11:43 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef __MLX_PIXEL_PUT__
#define __MLX_PIXEL_PUT__
#include <core/profile.h>
#include <renderer/images/texture.h>
#include <renderer/descriptors/vk_descriptor_set.h>
namespace mlx
{
class PixelPutPipeline
class MLX_API PixelPutPipeline
{
public:
PixelPutPipeline() = default;

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/12/18 17:14:45 by maldavid #+# #+# */
/* Updated: 2023/11/20 07:26:12 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:12:06 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -31,12 +31,13 @@
#include <renderer/descriptors/vk_descriptor_set_layout.h>
#include <core/errors.h>
#include <core/profile.h>
#include <glm/glm.hpp>
namespace mlx
{
struct Vertex
struct MLX_API Vertex
{
glm::vec2 pos;
glm::vec4 color;
@@ -77,7 +78,7 @@ namespace mlx
}
};
class Renderer
class MLX_API Renderer
{
public:
Renderer() = default;

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/06 18:19:44 by maldavid #+# #+# */
/* Updated: 2023/11/18 16:44:16 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:11:04 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -14,10 +14,11 @@
#define __MLX_VK_FRAMEBUFFER__
#include <volk.h>
#include <core/profile.h>
namespace mlx
{
class FrameBuffer
class MLX_API FrameBuffer
{
public:
void init(class RenderPass& renderpass, class Image& image);

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/06 18:22:00 by maldavid #+# #+# */
/* Updated: 2023/11/20 07:24:48 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:11:14 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -14,10 +14,11 @@
#define __MLX_VK_RENDER_PASS__
#include <volk.h>
#include <core/profile.h>
namespace mlx
{
class RenderPass
class MLX_API RenderPass
{
public:
void init(VkFormat attachement_format);

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/06 18:23:27 by maldavid #+# #+# */
/* Updated: 2023/11/20 07:25:30 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:11:30 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -15,18 +15,19 @@
#include <vector>
#include <volk.h>
#include <core/profile.h>
#include <renderer/images/vk_image.h>
namespace mlx
{
class SwapChain
class MLX_API SwapChain
{
friend class GraphicPipeline;
friend class RenderPass;
friend class Renderer;
public:
struct SwapChainSupportDetails
struct MLX_API SwapChainSupportDetails
{
VkSurfaceCapabilitiesKHR capabilities;
std::vector<VkSurfaceFormatKHR> formats;

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/04/10 11:52:30 by maldavid #+# #+# */
/* Updated: 2023/04/12 11:38:57 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:12:24 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -20,13 +20,14 @@
#include <memory>
#include <vector>
#include <cstdint>
#include <core/profile.h>
namespace mlx
{
using TextID = uint32_t;
constexpr TextID nulltext = 0;
class TextData
class MLX_API TextData
{
public:
TextData() = default;
@@ -45,7 +46,7 @@ namespace mlx
std::string _text;
};
class TextLibrary
class MLX_API TextLibrary
{
public:
TextLibrary() = default;

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/04/06 16:24:11 by maldavid #+# #+# */
/* Updated: 2023/11/24 19:08:04 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:12:40 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -20,10 +20,11 @@
#include <cstdint>
#include <unordered_set>
#include <renderer/text_library.h>
#include <core/profile.h>
namespace mlx
{
struct TextDrawData
struct MLX_API TextDrawData
{
TextID id;
int x;
@@ -40,7 +41,7 @@ namespace mlx
namespace std
{
template <>
struct hash<mlx::TextDrawData>
struct MLX_API hash<mlx::TextDrawData>
{
std::size_t operator()(const mlx::TextDrawData& d) const noexcept
{
@@ -51,7 +52,7 @@ namespace std
namespace mlx
{
class TextPutPipeline
class MLX_API TextPutPipeline
{
public:
TextPutPipeline() = default;

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/04/11 16:20:25 by maldavid #+# #+# */
/* Updated: 2023/11/25 10:47:10 by maldavid ### ########.fr */
/* Updated: 2023/12/08 19:13:00 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */