aboutsummaryrefslogtreecommitdiffstats
path: root/minilibx/mlx_opengl.m
diff options
context:
space:
mode:
authorRudy Bousset <rbousset@z2r4p3.le-101.fr>2020-01-23 15:18:45 +0100
committerRudy Bousset <rbousset@z2r4p3.le-101.fr>2020-01-23 15:18:45 +0100
commita6acf55cddec28eebf8d0e1c44603270d591cdee (patch)
treedff9c6d1075c05ee89631021e7211343e6949b28 /minilibx/mlx_opengl.m
parentDeleted libx (diff)
download42-cub3d-a6acf55cddec28eebf8d0e1c44603270d591cdee.tar.gz
42-cub3d-a6acf55cddec28eebf8d0e1c44603270d591cdee.tar.bz2
42-cub3d-a6acf55cddec28eebf8d0e1c44603270d591cdee.tar.xz
42-cub3d-a6acf55cddec28eebf8d0e1c44603270d591cdee.tar.zst
42-cub3d-a6acf55cddec28eebf8d0e1c44603270d591cdee.zip
Added back minilibx, added gitignore
Diffstat (limited to 'minilibx/mlx_opengl.m')
-rw-r--r--minilibx/mlx_opengl.m57
1 files changed, 57 insertions, 0 deletions
diff --git a/minilibx/mlx_opengl.m b/minilibx/mlx_opengl.m
new file mode 100644
index 0000000..554d79b
--- /dev/null
+++ b/minilibx/mlx_opengl.m
@@ -0,0 +1,57 @@
+// mlx_opengl.m
+
+#import <Cocoa/Cocoa.h>
+#import <OpenGL/gl3.h>
+#import <AppKit/NSOpenGLView.h>
+
+#include <stdio.h>
+
+#include "mlx_int.h"
+#include "mlx_new_window.h"
+
+
+
+
+
+NSOpenGLPixelFormatAttribute pfa_attrs_opengl[] =
+ {
+ NSOpenGLPFADepthSize, 32,
+ NSOpenGLPFADoubleBuffer,
+ NSOpenGLPFAOpenGLProfile, NSOpenGLProfileVersion4_1Core,
+ 0
+ };
+
+
+
+void *mlx_new_opengl_window(mlx_ptr_t *mlx_ptr, int size_x, int size_y, char *title)
+{
+ mlx_win_list_t *newwin;
+ NSString *str;
+
+ if ((newwin = malloc(sizeof(*newwin))) == NULL)
+ return ((void *)0);
+ newwin->img_list = NULL;
+ newwin->next = mlx_ptr->win_list;
+ newwin->nb_flush = 0;
+ newwin->pixmgt = 0;
+ mlx_ptr->win_list = newwin;
+
+ NSRect windowRect = NSMakeRect(100, 100, size_x, size_y);
+ str = [NSString stringWithCString:title encoding:NSASCIIStringEncoding];
+ newwin->winid = [[MlxWin alloc] initWithRect:windowRect andTitle:str pfaAttrs:pfa_attrs_opengl];
+
+ return ((void *)newwin);
+}
+
+
+int mlx_opengl_swap_buffers(mlx_win_list_t *win_ptr)
+{
+ [(id)(win_ptr->winid) flushGLContext];
+ return (0);
+}
+
+int mlx_opengl_window_set_context(mlx_win_list_t *win_ptr)
+{
+ [(id)(win_ptr->winid) selectGLContext];
+ return (0);
+}