X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Frender.h;h=2b2c8dad74b291347144e9dc9189da570cb9c695;hb=e4d2b385529847b926a716731be4a8c22ed79007;hp=0a5949f9fab35dc029b076cdd3d1407f38edac2d;hpb=2bf7793d4d241efca25c452b5c8a5897b2a29da3;p=i3%2Fi3 diff --git a/include/render.h b/include/render.h index 0a5949f9..2b2c8dad 100644 --- a/include/render.h +++ b/include/render.h @@ -2,14 +2,35 @@ * vim:ts=4:sw=4:expandtab * * i3 - an improved dynamic tiling window manager - * © 2009-2011 Michael Stapelberg and contributors (see also: LICENSE) + * © 2009 Michael Stapelberg and contributors (see also: LICENSE) * * render.c: Renders (determines position/sizes) the layout tree, updating the * various rects. Needs to be pushed to X11 (see x.c) to be visible. * */ -#ifndef I3_RENDER_H -#define I3_RENDER_H +#pragma once + +#include + +/** + * This is used to keep a state to pass around when rendering a con in render_con(). + * + */ +typedef struct render_params { + /* A copy of the coordinates of the container which is being rendered. */ + int x; + int y; + + /* The computed height for decorations. */ + int deco_height; + /* Container rect, subtract container border. This is the actually usable space + * inside this container for clients. */ + Rect rect; + /* The number of children of the container which is being rendered. */ + int children; + /* A precalculated list of sizes of each child. */ + int *sizes; +} render_params; /** * "Renders" the given container (and its children), meaning that all rects are @@ -21,4 +42,8 @@ */ void render_con(Con *con, bool render_fullscreen); -#endif +/** + * Returns the height for the decorations + * + */ +int render_deco_height(void);