i3
render.c File Reference
#include "all.h"
#include <math.h>
Include dependency graph for render.c:

Go to the source code of this file.

Functions

static int * precalculate_sizes (Con *con, render_params *p)
 
static void render_root (Con *con, Con *fullscreen)
 
static void render_output (Con *con)
 
static void render_con_split (Con *con, Con *child, render_params *p, int i)
 
static void render_con_stacked (Con *con, Con *child, render_params *p, int i)
 
static void render_con_tabbed (Con *con, Con *child, render_params *p, int i)
 
static void render_con_dockarea (Con *con, Con *child, render_params *p)
 
int render_deco_height (void)
 Returns the height for the decorations.
 
void render_con (Con *con)
 "Renders" the given container (and its children), meaning that all rects are updated correctly.
 
static bool fullscreen_blocks_floating_render (Con *fullscreen, Con *floating)
 

Function Documentation

◆ fullscreen_blocks_floating_render()

static bool fullscreen_blocks_floating_render ( Con * fullscreen,
Con * floating )
static

Definition at line 253 of file render.c.

References con_descend_focused(), con_find_transient_for_window(), con_has_parent(), config, Window::id, Config::popup_during_fullscreen, and Con::window.

Referenced by render_root().

Here is the call graph for this function:

◆ precalculate_sizes()

static int * precalculate_sizes ( Con * con,
render_params * p )
static

Definition at line 224 of file render.c.

References render_params::children, con_rect_size_in_orientation(), L_SPLITH, L_SPLITV, Con::layout, Con::percent, smalloc(), TAILQ_EMPTY, and TAILQ_FOREACH.

Referenced by render_con().

Here is the call graph for this function:

◆ render_con()

void render_con ( Con * con)

"Renders" the given container (and its children), meaning that all rects are updated correctly.

Note that this function does not call any xcb_* functions, so the changes are completely done in memory only (and side-effect free). As soon as you call x_push_changes(), the changes will be updated in X11.

Definition at line 43 of file render.c.

References Con::border_style, Con::border_width, gaps_t::bottom, BS_NORMAL, calculate_effective_gaps(), CF_GLOBAL, CF_NONE, CF_OUTPUT, render_params::children, con_border_style_rect(), con_get_fullscreen_con(), con_is_internal(), con_is_leaf(), con_num_children(), D_DOWN, D_LEFT, D_RIGHT, D_UP, render_params::deco_height, Con::deco_rect, DLOG, focused, FREE, Con::fullscreen_mode, gaps_has_adjacent_container(), gaps_should_inset_con(), Rect::height, gaps_t::inner, L_DOCKAREA, L_OUTPUT, L_SPLITH, L_SPLITV, L_STACKED, L_TABBED, Con::layout, gaps_t::left, Con::mapped, Con::name, precalculate_sizes(), Con::rect, render_params::rect, rect_add(), rect_sanitize_dimensions(), render_con(), render_con_dockarea(), render_con_split(), render_con_stacked(), render_con_tabbed(), render_deco_height(), render_output(), render_root(), gaps_t::right, render_params::sizes, TAILQ_FIRST, TAILQ_FOREACH, TAILQ_FOREACH_REVERSE, gaps_t::top, Con::type, Rect::width, Con::window, Con::window_rect, Rect::x, render_params::x, x_raise_con(), Rect::y, and render_params::y.

Referenced by cmd_append_layout(), DRAGGING_CB(), DRAGGING_CB(), floating_enable(), manage_window(), render_con(), render_output(), render_root(), and tree_render().

Here is the call graph for this function:

◆ render_con_dockarea()

static void render_con_dockarea ( Con * con,
Con * child,
render_params * p )
static

◆ render_con_split()

static void render_con_split ( Con * con,
Con * child,
render_params * p,
int i )
static

◆ render_con_stacked()

◆ render_con_tabbed()

◆ render_deco_height()

int render_deco_height ( void )

Returns the height for the decorations.

Definition at line 27 of file render.c.

References config, Config::font, and Font::height.

Referenced by con_border_style_rect(), DRAGGING_CB(), handle_client_message(), render_con(), and window_update_icon().

◆ render_output()

static void render_output ( Con * con)
static

Definition at line 316 of file render.c.

References CF_OUTPUT, con_get_fullscreen_con(), Con::deco_rect, DLOG, Con::geometry, Rect::height, Con::rect, render_con(), TAILQ_FOREACH, Con::type, Rect::width, Rect::x, x_raise_con(), Rect::y, and y.

Referenced by render_con().

Here is the call graph for this function:

◆ render_root()

static void render_root ( Con * con,
Con * fullscreen )
static