mirror of
https://github.com/seekrs/MacroLibX.git
synced 2026-01-12 07:03:34 +00:00
fixing compilation issues
This commit is contained in:
@@ -12,7 +12,11 @@ namespace mlx
|
||||
{
|
||||
EventBus::RegisterListener({[](const EventBase& event)
|
||||
{
|
||||
}, "__Application" });
|
||||
if(event.What() == Event::FatalErrorEventCode)
|
||||
{
|
||||
std::abort();
|
||||
}
|
||||
}, "__MlxApplication" });
|
||||
|
||||
m_fps.Init();
|
||||
SDLManager::Get().Init();
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
namespace mlx
|
||||
{
|
||||
GraphicsSupport::GraphicsSupport(std::size_t w, std::size_t h, NonOwningPtr<Texture> render_target, int id) :
|
||||
m_put_pixel_manager(&m_renderer),
|
||||
p_window(nullptr),
|
||||
m_width(w),
|
||||
m_height(h),
|
||||
@@ -11,8 +12,8 @@ namespace mlx
|
||||
m_has_window(false)
|
||||
{
|
||||
MLX_PROFILE_FUNCTION();
|
||||
m_renderer.SetWindow(nullptr);
|
||||
m_renderer.Init(render_target);
|
||||
// TODO : re-enable render targets
|
||||
m_renderer.Init(nullptr);
|
||||
m_scene_renderer.Init();
|
||||
|
||||
SceneDescriptor descriptor{};
|
||||
@@ -21,6 +22,7 @@ namespace mlx
|
||||
}
|
||||
|
||||
GraphicsSupport::GraphicsSupport(std::size_t w, std::size_t h, std::string title, int id) :
|
||||
m_put_pixel_manager(&m_renderer),
|
||||
p_window(std::make_shared<Window>(w, h, title)),
|
||||
m_width(w),
|
||||
m_height(h),
|
||||
@@ -28,8 +30,7 @@ namespace mlx
|
||||
m_has_window(true)
|
||||
{
|
||||
MLX_PROFILE_FUNCTION();
|
||||
m_renderer.SetWindow(p_window.get());
|
||||
m_renderer.Init(nullptr);
|
||||
m_renderer.Init(p_window.get());
|
||||
m_scene_renderer.Init();
|
||||
|
||||
SceneDescriptor descriptor{};
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include <PreCompiled.h>
|
||||
#include <Core/Enums.h>
|
||||
#include <Utils/Ansi.h>
|
||||
|
||||
namespace mlx
|
||||
@@ -7,7 +8,7 @@ namespace mlx
|
||||
{
|
||||
struct FatalErrorEvent : public EventBase
|
||||
{
|
||||
std::uint32_t What() const override { return 167; }
|
||||
Event What() const override { return Event::FatalErrorEventCode; }
|
||||
};
|
||||
}
|
||||
|
||||
@@ -48,7 +49,7 @@ namespace mlx
|
||||
if(type == LogType::FatalError)
|
||||
{
|
||||
std::cout << Ansi::bg_red << "Fatal Error: emergency exit" << Ansi::bg_def << std::endl;
|
||||
EventBus::Send("__internal_application", Internal::FatalErrorEvent{});
|
||||
EventBus::Send("__MlxApplication", Internal::FatalErrorEvent{});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace mlx
|
||||
|
||||
void Profiler::AppendProfileData(ProfileResult&& result)
|
||||
{
|
||||
std::lock_guard lock(_mutex);
|
||||
std::lock_guard lock(m_mutex);
|
||||
auto it = m_profile_data.find(result.name);
|
||||
if(it != m_profile_data.end())
|
||||
{
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace mlx
|
||||
m_drop_sdl_responsability = SDL_WasInit(SDL_INIT_VIDEO);
|
||||
if(m_drop_sdl_responsability) // is case the mlx is running in a sandbox like MacroUnitTester where SDL is already init
|
||||
return;
|
||||
SDL_SetMemoryFunctions(MemManager::malloc, MemManager::calloc, MemManager::realloc, MemManager::free);
|
||||
SDL_SetMemoryFunctions(MemManager::Get().Malloc, MemManager::Get().Calloc, MemManager::Get().Realloc, MemManager::Get().Free);
|
||||
|
||||
#ifdef FORCE_WAYLAND
|
||||
SDL_SetHint(SDL_HINT_VIDEODRIVER, "wayland,x11");
|
||||
@@ -43,7 +43,7 @@ namespace mlx
|
||||
|
||||
struct WatcherData
|
||||
{
|
||||
func::function<void(mlx_event_type, int, void*)> callback;
|
||||
func::function<void(mlx_event_type, int, int, void*)> callback;
|
||||
NonOwningPtr<SDLManager> manager;
|
||||
void* userdata;
|
||||
};
|
||||
@@ -61,38 +61,36 @@ namespace mlx
|
||||
}
|
||||
|
||||
std::uint32_t id = event->window.windowID;
|
||||
if(events_hooks.find(id) == events_hooks.end())
|
||||
continue;
|
||||
switch(event->type)
|
||||
{
|
||||
case SDL_KEYUP: data->callback(MLX_KEYUP, event->key.keysym.scancode, data->userdata); break;
|
||||
case SDL_KEYDOWN: data->callback(MLX_KEYDOWN, event->key.keysym.scancode, data->userdata); break;
|
||||
case SDL_MOUSEBUTTONUP: data->callback(MLX_MOUSEUP, event->button.button, data->userdata); break;
|
||||
case SDL_MOUSEBUTTONDOWN: data->callback(MLX_MOUSEDOWN, event->button.button, data->userdata); break;
|
||||
case SDL_KEYUP: data->callback(MLX_KEYUP, id, event->key.keysym.scancode, data->userdata); break;
|
||||
case SDL_KEYDOWN: data->callback(MLX_KEYDOWN, id, event->key.keysym.scancode, data->userdata); break;
|
||||
case SDL_MOUSEBUTTONUP: data->callback(MLX_MOUSEUP, id, event->button.button, data->userdata); break;
|
||||
case SDL_MOUSEBUTTONDOWN: data->callback(MLX_MOUSEDOWN, id, event->button.button, data->userdata); break;
|
||||
case SDL_MOUSEWHEEL:
|
||||
{
|
||||
if(event->wheel.y > 0) // scroll up
|
||||
data->callback(MLX_MOUSEWHEEL, 1, data->userdata);
|
||||
data->callback(MLX_MOUSEWHEEL, id, 1, data->userdata);
|
||||
else if(event->wheel.y < 0) // scroll down
|
||||
data->callback(MLX_MOUSEWHEEL, 2, data->userdata);
|
||||
data->callback(MLX_MOUSEWHEEL, id, 2, data->userdata);
|
||||
if(event->wheel.x > 0) // scroll right
|
||||
data->callback(MLX_MOUSEWHEEL, 3, data->userdata);
|
||||
data->callback(MLX_MOUSEWHEEL, id, 3, data->userdata);
|
||||
else if(event->wheel.x < 0) // scroll left
|
||||
data->callback(MLX_MOUSEWHEEL, 4, data->userdata);
|
||||
data->callback(MLX_MOUSEWHEEL, id, 4, data->userdata);
|
||||
break;
|
||||
}
|
||||
case SDL_WINDOWEVENT:
|
||||
{
|
||||
switch(event.window.event)
|
||||
switch(event->window.event)
|
||||
{
|
||||
case SDL_WINDOWEVENT_CLOSE: data->callback(MLX_WINDOW_EVENT, 0, data->userdata); break;
|
||||
case SDL_WINDOWEVENT_MOVED: data->callback(MLX_WINDOW_EVENT, 1, data->userdata); break;
|
||||
case SDL_WINDOWEVENT_MINIMIZED: data->callback(MLX_WINDOW_EVENT, 2, data->userdata); break;
|
||||
case SDL_WINDOWEVENT_MAXIMIZED: data->callback(MLX_WINDOW_EVENT, 3, data->userdata); break;
|
||||
case SDL_WINDOWEVENT_ENTER: data->callback(MLX_WINDOW_EVENT, 4, data->userdata); break;
|
||||
case SDL_WINDOWEVENT_FOCUS_GAINED: data->callback(MLX_WINDOW_EVENT, 5, data->userdata); break;
|
||||
case SDL_WINDOWEVENT_LEAVE: data->callback(MLX_WINDOW_EVENT, 6, data->userdata); break;
|
||||
case SDL_WINDOWEVENT_FOCUS_LOST: data->callback(MLX_WINDOW_EVENT, 7, data->userdata); break;
|
||||
case SDL_WINDOWEVENT_CLOSE: data->callback(MLX_WINDOW_EVENT, id, 0, data->userdata); break;
|
||||
case SDL_WINDOWEVENT_MOVED: data->callback(MLX_WINDOW_EVENT, id, 1, data->userdata); break;
|
||||
case SDL_WINDOWEVENT_MINIMIZED: data->callback(MLX_WINDOW_EVENT, id, 2, data->userdata); break;
|
||||
case SDL_WINDOWEVENT_MAXIMIZED: data->callback(MLX_WINDOW_EVENT, id, 3, data->userdata); break;
|
||||
case SDL_WINDOWEVENT_ENTER: data->callback(MLX_WINDOW_EVENT, id, 4, data->userdata); break;
|
||||
case SDL_WINDOWEVENT_FOCUS_GAINED: data->callback(MLX_WINDOW_EVENT, id, 5, data->userdata); break;
|
||||
case SDL_WINDOWEVENT_LEAVE: data->callback(MLX_WINDOW_EVENT, id, 6, data->userdata); break;
|
||||
case SDL_WINDOWEVENT_FOCUS_LOST: data->callback(MLX_WINDOW_EVENT, id, 7, data->userdata); break;
|
||||
|
||||
default : break;
|
||||
}
|
||||
@@ -154,14 +152,14 @@ namespace mlx
|
||||
|
||||
if(!SDL_Vulkan_GetInstanceExtensions(static_cast<SDL_Window*>(window), &count, extensions.data()))
|
||||
FatalError("Vulkan : cannot get instance extentions from window : %", SDL_GetError());
|
||||
return extentions;
|
||||
return extensions;
|
||||
}
|
||||
|
||||
Vec2ui SDLManager::GetVulkanDrawableSize(Handle window) const noexcept
|
||||
{
|
||||
Vec2ui extent;
|
||||
SDL_Vulkan_GetDrawableSize(window, &extent.x, &extent.y);
|
||||
return extent;
|
||||
Vec2i extent;
|
||||
SDL_Vulkan_GetDrawableSize(static_cast<SDL_Window*>(window), &extent.x, &extent.y);
|
||||
return Vec2ui{ extent };
|
||||
}
|
||||
|
||||
void SDLManager::Shutdown() noexcept
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include <pre_compiled.h>
|
||||
#include <PreCompiled.h>
|
||||
|
||||
#include <Core/UUID.h>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user