From 0b5491e0a2f1a9a4023e2c4eb171287bede41388 Mon Sep 17 00:00:00 2001 From: Marc Sunet Date: Fri, 21 Nov 2025 09:41:06 -0800 Subject: Switch to plain C --- dxwindow/dxwindow.ixx | 113 -------------------------------------------------- 1 file changed, 113 deletions(-) delete mode 100644 dxwindow/dxwindow.ixx (limited to 'dxwindow/dxwindow.ixx') diff --git a/dxwindow/dxwindow.ixx b/dxwindow/dxwindow.ixx deleted file mode 100644 index 6efcc18..0000000 --- a/dxwindow/dxwindow.ixx +++ /dev/null @@ -1,113 +0,0 @@ -module; - -// Include Windows.h before GLFW to avoid macro redefinition warnings. -#define WIN32_LEAN_AND_MEAN -#include - -#define GLFW_INCLUDE_NONE // Do not include OpenGL headers. -#include - -#define GLFW_EXPOSE_NATIVE_WIN32 -#include - -#include -#include - -export module dxwindow; - -namespace dx { - -char glfw_error[1024] = {}; - -void glfw_error_callback(int error, const char* description) -{ - sprintf_s(glfw_error, sizeof(glfw_error), - "GLFW error %d: %s", error, description); -} - -export { - -class Window -{ -public: - ~Window() - { - if (m_window != nullptr) - { - glfwDestroyWindow(m_window); - } - } - - /// Creates the window. - bool Initialise(int width, int height, const char* title) - { - // GLFW by default creates an OpenGL context with the window. - // Use GLFW_NO_API to tell it not to do so. - glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API); - - if ((m_window = glfwCreateWindow( - width, height, title, /*monitor=*/NULL, /*share=*/NULL)) == nullptr) - { - return false; - } - - return true; - } - - /// Returns the native window handle. - /// If the window has not been initialized, returns an invalid handle. - HWND GetWindowHandle() - { - if (!m_window) - { - return NULL; - } - return glfwGetWin32Window(m_window); - } - - /// Updates the window by polling for user input. - void Update() - { - assert(m_window); - glfwPollEvents(); - } - - /// Returns true if the user tried to close the window, false otherwise. - bool ShouldClose() const - { - assert(m_window); - return glfwWindowShouldClose(m_window) == GLFW_TRUE; - } - -private: - GLFWwindow* m_window = nullptr; -}; - -/// Initialise the window subsystem. -/// -/// This function must be called at the start of your application before any -/// Windows are created. -bool WindowInitialise() -{ - glfwSetErrorCallback(glfw_error_callback); - return glfwInit() == GLFW_TRUE; -} - -/// Terminate the window subsystem. -/// -/// This function should be called at the end of your application. Any existing -/// Windows are destroyed and are invalid beyond this call. -void WindowTerminate() -{ - glfwTerminate(); -} - -/// Returns the last Window error. -const char* GetWindowError() -{ - return glfw_error; -} - -} // export - -} // namespace dx -- cgit v1.2.3