diff options
Diffstat (limited to 'minilibx_beta/man/man3/mlx.3')
-rw-r--r-- | minilibx_beta/man/man3/mlx.3 | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/minilibx_beta/man/man3/mlx.3 b/minilibx_beta/man/man3/mlx.3 new file mode 100644 index 0000000..4c7e29b --- /dev/null +++ b/minilibx_beta/man/man3/mlx.3 @@ -0,0 +1,110 @@ +.TH MiniLibX 3 "September 19, 2002" +.SH NAME +MiniLibX - Simple Window Interface Library for students +.SH SYNOPSYS +#include <mlx.h> + +.nf +.I void * +.fi +.B mlx_init +(); + +.SH DESCRIPTION +MiniLibX is an easy way to create graphical software, +without any X-Window/X11 programming knowledge under Unix/Linux, nor +any AppKit programming knowledge under MacOS. It provides +simple window creation, a drawing tool, image and basic events +management. + +.SH Unix/Linux: X-WINDOW CONCEPT + +X-Window is a network-oriented graphical system for Unix. +It is based on two main parts: +.br +On one side, your software wants to draw something on the screen and/or +get keyboard & mouse entries. +.br +On the other side, the X-Server manages the screen, keyboard and mouse +(It is often refered to as a "display"). +.br +A network connection must be established between these two entities to send +drawing orders (from the software to the X-Server), and keyboard/mouse +events (from the X-Server to the software). +.br +Nowadays, most of the time, both run on the same computer. + +.SH MacOS: WINDOW SERVER AND GPU + +Your software interacts directly with the Window server who handles the +cohabitation on the screen with other software and the event system, +and interacts with the GPU to handle all drawing stuff. + +.SH INCLUDE FILE +.B mlx.h +should be included for a correct use of the MiniLibX API. +It only contains function prototypes, no structure is needed. + +.SH LIBRARY FUNCTIONS +.P +First of all, you need to initialize the connection +between your software and the display. +Once this connection is established, you'll be able to +use other MiniLibX functions to send and receive the messages from +the display, like "I want to draw a yellow pixel in this window" or +"did the user hit a key?". +.P +The +.B mlx_init +function will create this connection. No parameters are needed, ant it will +return a +.I "void *" +identifier, used for further calls to the library routines. +.P +All other MiniLibX functions are described in the following man pages: + +.TP 20 +.B mlx_new_window +: manage windows +.TP 20 +.B mlx_pixel_put +: draw inside window +.TP 20 +.B mlx_new_image +: manipulate images +.TP 20 +.B mlx_loop +: handle keyboard or mouse events + +.SH LINKING MiniLibX +To use MiniLibX functions, you may need to link +your software with several libraries, including the MiniLibX library itself. +On Unix/Linux, simply add the following arguments at linking time: + +.B -lmlx -lXext -lX11 + +On MacOS, the dynamic Metal library will find on its own the missing components: + +.B -lmlx + +and still on MacOS, the static OpenGL version will need: + +.B -lmlx -framework OpenGL -framework AppKit -lz + +You may also need to specify the path to these libraries, using +the +.B -L +flag. + + +.SH RETURN VALUES +If +.B mlx_init() +fails to set up the connection to the display, it will return NULL, otherwise +a non-null pointer is returned as a connection identifier. + +.SH SEE ALSO +mlx_new_window(3), mlx_pixel_put(3), mlx_new_image(3), mlx_loop(3) + +.SH AUTHOR +Copyright ol@ - 2002-2019 - Olivier Crouzet |