.TH MiniLibX 3 "September 19, 2002" .SH NAME MiniLibX - Simple Window Interface Library for students .SH SYNOPSYS #include .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