libi3: Introduce get_visualtype

This commit is contained in:
Fernando Tarlá Cardoso Lemos 2011-11-14 21:39:03 -02:00 committed by Quentin Glidic
parent 210fc6dfed
commit 5d8ccc5912
2 changed files with 34 additions and 0 deletions

View File

@ -317,6 +317,12 @@ void draw_text_ascii(const char *text, xcb_drawable_t drawable,
*/ */
int predict_text_width(i3String *text); int predict_text_width(i3String *text);
/**
* Returns the visual type associated with the given screen.
*
*/
xcb_visualtype_t *get_visualtype(xcb_screen_t *screen);
/** /**
* Returns true if this version of i3 is a debug build (anything which is not a * Returns true if this version of i3 is a debug build (anything which is not a
* release version), based on the git version number. * release version), based on the git version number.

28
libi3/get_visualtype.c Normal file
View File

@ -0,0 +1,28 @@
/*
* vim:ts=4:sw=4:expandtab
*
* i3 - an improved dynamic tiling window manager
* © 2009-2011 Michael Stapelberg and contributors (see also: LICENSE)
*
*/
#include "libi3.h"
/*
* Returns the visual type associated with the given screen.
*
*/
xcb_visualtype_t *get_visualtype(xcb_screen_t *screen) {
xcb_depth_iterator_t depth_iter;
for (depth_iter = xcb_screen_allowed_depths_iterator(screen);
depth_iter.rem;
xcb_depth_next(&depth_iter)) {
xcb_visualtype_iterator_t visual_iter;
for (visual_iter = xcb_depth_visuals_iterator(depth_iter.data);
visual_iter.rem;
xcb_visualtype_next(&visual_iter)) {
if (screen->root_visual == visual_iter.data->visual_id)
return visual_iter.data;
}
}
return NULL;
}