mlx매크로

박호준·2020년 12월 21일
0

1. mlx 생성

void	*mlx_init();
  • return 값 : mlx_ptr

2. mlx 창 생성

void	*mlx_new_window(void *mlx_ptr, int size_x, int size_y, char *title);
  • mlx_ptr : mlx_init 넣기
  • title : 제목

3. mlx 이미지 생성

void	*mlx_new_image(void *mlx_ptr,int width,int height);

typedef struct	s_img
{
	void		*img_ptr;
	int			*data;
	//아래 3개 값은 이해 안해도 사용하는데 지장이 없음.
	//선언한뒤 함수의 인자로만 잘 넣어주면 알아서 정보를 받아나옴.
	int			size_l;
	int			bpp;
	int			endian;
}				t_img;

4. mlx 이미지 파일 가져오기

void	*mlx_xpm_file_to_image
	(void *mlx_ptr, char *filename, int *width, int *height);
  • *filename : "파일 위치"
  • width, height : 주소값

5. mlx 이미지 만들기

char	*mlx_get_data_addr
	(void *img_ptr, int *bits_per_pixel,int *size_line, int *endian);
  • (int *)으로 형변환 후 출력 필요
    why? 어차피 4로 곱해야하기 때문
  • mlx_get_data_addr (img_ptr, &img.bpp, &img.size_l, &img.endian)

6. mlx 이미지 출력

 int	mlx_put_image_to_window
 	(void *mlx_ptr, void *win_ptr, void *img_ptr, int x, int y);

7. mlx hook

 int	mlx_hook
 	(void *win_ptr, int x_event, int x_mask, int (*funct)(), void *param);
  • key, mouse, 종료 값을 받아 올 수 있는 것

  • x_event
    X_KEY_PRESS2
    X_KEY_RELEASE3
    X_DESTROY_NOTIFY17
  • x_mask : mac에선 0

  • funct : 함수 주소

  • param :

8. mlx 마지막

int	mlx_loop_hook (void *mlx_ptr, int (*funct_ptr)(), void *param);
int	mlx_loop (void *mlx_ptr);
profile
hopark

0개의 댓글