gri3-wm/libi3
Jan Alexander Steffens 16160462a3 Use OVER operator for drawing text (#2908)
For opaque text, SOURCE is not any different from OVER. However, when
drawing color glyphs (which consist of RGBA pixels instead of strokes)
SOURCE's handling of alpha is not what we want.

I stumbled across this because cairo 1.15.8 seems to clear the surface
before drawing color emoji if the operator is SOURCE, deleting every-
thing drawn before. Arguably, the area outside the glyph bounds should
not be touched, but even if this is a cairo bug the problem of alpha
within the glyph remains.
2017-09-09 17:32:34 +02:00
..
README Introduce libi3, an *internal* library to eliminate code duplication 2011-10-02 16:11:30 +01:00
dpi.c Avoid use of uninitialized in init_dpi_end 2017-08-23 15:48:58 +02:00
draw_util.c libi3: Add basic validation to hex color conversion 2017-07-12 17:53:15 -04:00
fake_configure_notify.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
font.c Use OVER operator for drawing text (#2908) 2017-09-09 17:32:34 +02:00
format_placeholders.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
get_colorpixel.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
get_config_path.c Respect SYSCONFDIR when looking for defaut 'xdg' directory 2016-11-09 22:34:39 +01:00
get_exe_path.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
get_mod_mask.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
get_process_filename.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
get_visualtype.c Update copyright notices and get rid of ranges 2015-04-20 17:50:21 -04:00
ipc_connect.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
ipc_recv_message.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
ipc_send_message.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
is_debug_build.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
mkdirp.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
resolve_tilde.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
root_atom_contents.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
safewrappers.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
string.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
strndup.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00
ucs2_conversion.c Ensure all *.[ch] files include config.h 2016-10-23 21:09:24 +02:00

README

Introduction
============

libi3 is an *INTERNAL* library which contains functions that i3 and related
tools (i3-msg, i3-input, i3-nagbar, i3-config-wizard, i3bar) use.

It is NOT to be used by other programs.

Structure
=========

Every function gets its own .c file, which in turn gets compiled into an .o
object file. Afterwards, all .o files are archived into one static library
(libi3.a). This library will be linked into all i3 binaries. The linker is able
to eliminate unused .o files when linking, so only the functions which you
actually use will be included in the corresponding binary.