aboutsummaryrefslogtreecommitdiffstats
path: root/minilibx-bsd/man/man1/mlx_loop.1
diff options
context:
space:
mode:
authorJozanLeClerc <bousset.rudy@gmail.com>2020-04-15 16:19:44 +0200
committerJozanLeClerc <bousset.rudy@gmail.com>2020-04-15 16:19:44 +0200
commit46687fa2cef63e99a0ded077d88c3b19b20cc1ca (patch)
tree020590d4319b4bd0217cdf97750f3a8338d3069e /minilibx-bsd/man/man1/mlx_loop.1
parentAdded line to gitignore (diff)
download42-cub3d-46687fa2cef63e99a0ded077d88c3b19b20cc1ca.tar.gz
42-cub3d-46687fa2cef63e99a0ded077d88c3b19b20cc1ca.tar.bz2
42-cub3d-46687fa2cef63e99a0ded077d88c3b19b20cc1ca.tar.xz
42-cub3d-46687fa2cef63e99a0ded077d88c3b19b20cc1ca.tar.zst
42-cub3d-46687fa2cef63e99a0ded077d88c3b19b20cc1ca.zip
Now BSD compliant
Diffstat (limited to 'minilibx-bsd/man/man1/mlx_loop.1')
-rw-r--r--minilibx-bsd/man/man1/mlx_loop.1141
1 files changed, 141 insertions, 0 deletions
diff --git a/minilibx-bsd/man/man1/mlx_loop.1 b/minilibx-bsd/man/man1/mlx_loop.1
new file mode 100644
index 0000000..3397ce2
--- /dev/null
+++ b/minilibx-bsd/man/man1/mlx_loop.1
@@ -0,0 +1,141 @@
+.TH MiniLibX 3 "September 19, 2002"
+.SH NAME
+MiniLibX - Handle events
+.SH SYNOPSYS
+
+.nf
+.I int
+.fi
+.B mlx_loop
+(
+.I void *mlx_ptr
+);
+
+.nf
+.I int
+.fi
+.B mlx_key_hook
+(
+.I void *win_ptr, int (*funct_ptr)(), void *param
+);
+
+.nf
+.I int
+.fi
+.B mlx_mouse_hook
+(
+.I void *win_ptr, int (*funct_ptr)(), void *param
+);
+
+.nf
+.I int
+.fi
+.B mlx_expose_hook
+(
+.I void *win_ptr, int (*funct_ptr)(), void *param
+);
+
+.nf
+.I int
+.fi
+.B mlx_loop_hook
+(
+.I void *mlx_ptr, int (*funct_ptr)(), void *param
+);
+
+.SH X-WINDOW EVENTS
+
+The X-Window system is bi-directionnal. On one hand, the program sends orders to
+the screen to display pixels, images, and so on. On the other hand,
+it can get information from the keyboard and mouse associated to
+the screen. To do so, the program receives "events" from the keyboard or the
+mouse.
+
+.SH DESCRIPTION
+
+To receive events, you must use
+.B mlx_loop
+(). This function never returns. It is an infinite loop that waits for
+an event, and then calls a user-defined function associated with this event.
+A single parameter is needed, the connection identifier
+.I mlx_ptr
+(see the
+.B mlx manual).
+
+You can assign different functions to the three following events:
+.br
+- A key is pressed
+.br
+- The mouse button is pressed
+.br
+- A part of the window should be re-drawn
+(this is called an "expose" event, and it is your program's job to handle it).
+.br
+
+Each window can define a different function for the same event.
+
+The three functions
+.B mlx_key_hook
+(),
+.B mlx_mouse_hook
+() and
+.B mlx_expose_hook
+() work exactly the same way.
+.I funct_ptr
+is a pointer to the function you want to be called
+when an event occurs. This assignment is specific to the window defined by the
+.I win_ptr
+identifier. The
+.I param
+adress will be passed to the function everytime it is called, and should be
+used to store the parameters it might need.
+
+The syntax for the
+.B mlx_loop_hook
+() function is identical to the previous ones, but the given function will be
+called when no event occurs.
+
+When it catches an event, the MiniLibX calls the corresponding function
+with fixed parameters:
+.nf
+
+ expose_hook(void *param);
+ key_hook(int keycode,void *param);
+ mouse_hook(int button,int x,int y,void *param);
+ loop_hook(void *param);
+
+.fi
+These function names are arbitrary. They here are used to distinguish
+parameters according to the event. These functions are NOT part of the
+MiniLibX.
+
+.I param
+is the address specified in the mlx_*_hook calls. This address is never
+used nor modified by the MiniLibX. On key and mouse events, additional
+information is passed:
+.I keycode
+tells you which key is pressed (look for the X11 include file "keysymdef.h"),
+(
+.I x
+,
+.I y
+) are the coordinates of the mouse click in the window, and
+.I button
+tells you which mouse button was pressed.
+
+.SH GOING FURTHER WITH EVENTS
+The MiniLibX provides a much generic access to all X-Window events. The
+.I mlx.h
+include define
+.B mlx_hook()
+in the same manner mlx_*_hook functions work. The event and mask values
+will be taken from the X11 include file "X.h".
+
+See source code of mlx_int_param_event.c to find out how the MiniLibX will
+call your own function for a specific event.
+
+.SH SEE ALSO
+mlx(3), mlx_new_window(3), mlx_pixel_put(3), mlx_new_image(3)
+
+.SH AUTHOR
+Copyright ol@ - 2002-2014 - Olivier Crouzet