GLFW windows

This commit is contained in:
John Alanbrook 2022-06-24 19:06:40 +00:00
parent 6a681764af
commit 496b9ca5d7
2 changed files with 18 additions and 10 deletions

View file

@ -9,6 +9,10 @@
#define LOG_CRITICAL 3
#define YughLog(cat, pri, msg, ...) mYughLog(cat, pri, __LINE__, __FILE__, msg, __VA_ARGS__)
#define YughInfo(msg, ...) mYughLog(0, LOG_INFO, __LINE__, __FILE__, msg, __VA_ARGS__)
#define YughWarn(msg, ...) mYughLog(0, LOG_WARN, __LINE__, __FILE__, msg, __VA_ARGS__)
#define YughError(msg, ...) mYughLog(0, LOG_ERROR, __LINE__, __FILE__, msg, __VA_ARGS__)
#define YughCritical(msg, ...) mYughLog(0, LOG_CRITICAL, __LINE__, __FILE__, msg, __VA_ARGS__)
void mYughLog(int category, int priority, int line, const char *file, const char *message, ...);

View file

@ -10,15 +10,23 @@
struct mSDLWindow *mainwin;
static struct mSDLWindow *windows[5];
static struct mSDLWindow windows[5];
static int numWindows = 0;
struct mSDLWindow *MakeSDLWindow(const char *name, int width, int height,
uint32_t flags)
{
struct mSDLWindow *w = calloc(1, sizeof(struct mSDLWindow));
if (numWindows >= 5) {
YughError("Already max number of windows.", 5);
}
struct mSDLWindow *w = &windows[numWindows++];
w->width = width;
w->height = height;
if (numWindows > 0)
w->window = glfwCreateWindow(width, height, name, NULL, windows[0].window);
else
w->window = glfwCreateWindow(width, height, name, NULL, NULL);
if (!w->window) {
@ -29,15 +37,11 @@ struct mSDLWindow *MakeSDLWindow(const char *name, int width, int height,
glfwSwapInterval(1);
w->id = numWindows;
if (numWindows < 5)
windows[numWindows++] = w;
w->id = numWindows-1;
}
mainwin = windows[0];
mainwin = &windows[0];
return w;
}
@ -132,7 +136,7 @@ void window_handle_event(struct mSDLWindow *w)
void window_all_handle_events()
{
for (int i = 0; i < numWindows; i++) {
window_handle_event(windows[i]);
window_handle_event(&windows[i]);
}
}