Search
Duplicate

윈도우용 mlx를 만들어보자 (2탄) - 윈도우 띄우기

간단소개
팔만코딩경 컨트리뷰터
ContributorNotionAccount
주제 / 분류
C
Graphics
Scrap
태그
9 more properties

mlx 구조체 살펴보기

mlx 가 어떻게 구현되어있는지 잠깐 살펴보자
mlx 폴더에 가면, mlx_int.h 라는 파일에 mlx 에서 쓰는 구조체들이 선언되어있다.
typedef struct s_event_list { int mask; int (*hook)(); void *param; } t_event_list; typedef struct s_win_list { Window window; GC gc; struct s_win_list *next; int (*mouse_hook)(); int (*key_hook)(); int (*expose_hook)(); void *mouse_param; void *key_param; void *expose_param; t_event_list hooks[MLX_MAX_EVENT]; } t_win_list; typedef struct s_img { XImage *image; Pixmap pix; GC gc; int size_line; int bpp; int width; int height; int type; int format; char *data; XShmSegmentInfo shm; } t_img; typedef struct s_xvar { Display *display; Window root; int screen; int depth; Visual *visual; Colormap cmap; int private_cmap; t_win_list *win_list; int (*loop_hook)(); void *loop_param; int use_xshm; int pshm_format; int do_flush; int decrgb[6]; Atom wm_delete_window; Atom wm_protocols; int end_loop; } t_xvar;
C
복사
xvar 가 핵심적으로 가지고 있는 것들은 다음과 같다고 생각했다.
윈도우 리스트
이벤트 리스트
loop_hook

구조 잡기