카테고리 없음
[FdF] MiniLibX mlx_expose_hook
Or71nH
2022. 6. 22. 17:44
void mlx_expose_hook(mlx_win_list_t *win_ptr, int (*funct_ptr)(), void *param)
{
[(id)(win_ptr->winid) setEvent:12 andFunc:funct_ptr andParam:param];
}
이거 화면이 클릭됫을때 활성화 되는거다
예를들어 롤이 화면 밑으로 내려갓을때는 작동 안하다가 화면 띡 키면 보여주는거와 비슷
예제 이다 걍 하다보면 뭔느낌인지암
#include <stdio.h> // printf()
#include <stdlib.h> // exit()
#include "include/mlx.h"
#define NOT_USE 0 // 안씀
typedef struct s_mouse
{
int mouse_keycode;
int x; // x값
int y; // y값
int draw_x; // x값
int draw_y; // y값
} t_mouse;
typedef struct s_param // 키 값을 입력 받고 정해진 동작을 수행했는지
{ // 여부를 판단하기 위해 선언하였다.
int x; // x값
int y; // y값
int z; // y값
t_mouse mouse;
void *mlx_ptr;
void *win_ptr;
} t_param;
void *ft_memset(void *b, int c, long unsigned int len)
{
unsigned char *ptr;
ptr = (unsigned char *)b;
while (len-- > 0)
*ptr++ = c;
return (b);
}
int expose_win(t_param *param)
{
printf("%p\n", param);
}
int main(void)
{
t_param *param;
param = (t_param *)malloc(sizeof(t_param));
ft_memset(param, 0, sizeof(t_param));
param->mlx_ptr = mlx_init();
param->win_ptr = mlx_new_window(param->mlx_ptr , 300, 300, "Hello, World!");
printf("param->mlx_ptr :%p \nparam->win_ptr : %p \nparam : %p \n",param->mlx_ptr,param->win_ptr, param);
printf("======\n");
mlx_expose_hook(param->win_ptr, &expose_win, param);
printf("======\n");
mlx_loop(param->mlx_ptr);
int a = mlx_clear_window(param->mlx_ptr, param->win_ptr);
printf("%d",a);
return (0);
}