42_solong/minilibx-linux
Camille Chauvet b2dfb505bd kekw
2022-12-22 17:56:11 +01:00
..
.github/workflows kekw 2022-12-22 17:56:11 +01:00
man kekw 2022-12-22 17:56:11 +01:00
test kekw 2022-12-22 17:56:11 +01:00
.gitignore kekw 2022-12-22 17:56:11 +01:00
configure kekw 2022-12-22 17:56:11 +01:00
LICENSE kekw 2022-12-22 17:56:11 +01:00
Makefile kekw 2022-12-22 17:56:11 +01:00
Makefile.mk kekw 2022-12-22 17:56:11 +01:00
mlx_clear_window.c kekw 2022-12-22 17:56:11 +01:00
mlx_destroy_display.c kekw 2022-12-22 17:56:11 +01:00
mlx_destroy_image.c kekw 2022-12-22 17:56:11 +01:00
mlx_destroy_window.c kekw 2022-12-22 17:56:11 +01:00
mlx_expose_hook.c kekw 2022-12-22 17:56:11 +01:00
mlx_ext_randr.c kekw 2022-12-22 17:56:11 +01:00
mlx_flush_event.c kekw 2022-12-22 17:56:11 +01:00
mlx_get_color_value.c kekw 2022-12-22 17:56:11 +01:00
mlx_get_data_addr.c kekw 2022-12-22 17:56:11 +01:00
mlx_hook.c kekw 2022-12-22 17:56:11 +01:00
mlx_init.c kekw 2022-12-22 17:56:11 +01:00
mlx_int_anti_resize_win.c kekw 2022-12-22 17:56:11 +01:00
mlx_int_do_nothing.c kekw 2022-12-22 17:56:11 +01:00
mlx_int_get_visual.c kekw 2022-12-22 17:56:11 +01:00
mlx_int_param_event.c kekw 2022-12-22 17:56:11 +01:00
mlx_int_set_win_event_mask.c kekw 2022-12-22 17:56:11 +01:00
mlx_int_str_to_wordtab.c kekw 2022-12-22 17:56:11 +01:00
mlx_int_wait_first_expose.c kekw 2022-12-22 17:56:11 +01:00
mlx_int.h kekw 2022-12-22 17:56:11 +01:00
mlx_key_hook.c kekw 2022-12-22 17:56:11 +01:00
mlx_lib_xpm.c kekw 2022-12-22 17:56:11 +01:00
mlx_loop_hook.c kekw 2022-12-22 17:56:11 +01:00
mlx_loop.c kekw 2022-12-22 17:56:11 +01:00
mlx_mouse_hook.c kekw 2022-12-22 17:56:11 +01:00
mlx_mouse.c kekw 2022-12-22 17:56:11 +01:00
mlx_new_image.c kekw 2022-12-22 17:56:11 +01:00
mlx_new_window.c kekw 2022-12-22 17:56:11 +01:00
mlx_pixel_put.c kekw 2022-12-22 17:56:11 +01:00
mlx_put_image_to_window.c kekw 2022-12-22 17:56:11 +01:00
mlx_rgb.c kekw 2022-12-22 17:56:11 +01:00
mlx_screen_size.c kekw 2022-12-22 17:56:11 +01:00
mlx_set_font.c kekw 2022-12-22 17:56:11 +01:00
mlx_string_put.c kekw 2022-12-22 17:56:11 +01:00
mlx_xpm.c kekw 2022-12-22 17:56:11 +01:00
mlx_xpm.c.ok kekw 2022-12-22 17:56:11 +01:00
mlx.h kekw 2022-12-22 17:56:11 +01:00
README.md kekw 2022-12-22 17:56:11 +01:00
rgb2c.pl kekw 2022-12-22 17:56:11 +01:00

Build

This is the MinilibX, a simple X-Window (X11R6) programming API in C, designed for students, suitable for X-beginners.

Contents

  • source code in C to create the mlx library
  • man pages (in man/ directory)
  • a test program (in test/ directory) is built with the library
  • a public include file mlx.h
  • a tiny configure script to generate an appropriate Makefile.gen

Requirements for Linux

  • MinilibX only support TrueColor visual type (8,15,16,24 or 32 bits depth)
  • gcc
  • make
  • X11 include files (package xorg)
  • XShm extension must be present (package libxext-dev)
  • Utility functions from BSD systems - development files (package libbsd-dev)
  • e.g. sudo apt-get install gcc make xorg libxext-dev libbsd-dev (Debian/Ubuntu)

Requirements for MacOS

➜  ~ Brew install Xquartz
➜  ~ reboot
➜  ~ xeyes # run an hello world X11 app

MlX Color Opacity / Transparency / Alpha (32 bits depth)

  • 0xFF (fully transparent) or 0x00 (fully opaque)

Compile MinilibX

  • run ./configure or make both will make a few tests, create Makefile.gen and then automatically run make on this generated Makefile.gen . libmlx.a and libmlx_$(HOSTTYPE).a are created. test/mlx-test binary is also created.

Install MinilibX

  • no installation script is provided. You may want to install
    • libmlx.a and/or libmlx_$(HOSTTYPE).a in /usr/X11/lib or /usr/local/lib
    • mlx.h in /usr/X11/include or /usr/local/include
    • man/man3/mlx*.1 in /usr/X11/man/man3 or /usr/local/man/man3

Olivier CROUZET - 2014-01-06 -