i3
Data Structures | Enumerations | Functions
tiling_drag.c File Reference
#include "all.h"
Include dependency graph for tiling_drag.c:

Go to the source code of this file.

Data Structures

struct  callback_params
 

Enumerations

enum  drop_type_t { DT_SIBLING , DT_CENTER , DT_PARENT }
 

Functions

static xcb_window_t create_drop_indicator (Rect rect)
 
static Rect con_rect_plus_deco_height (Con *con)
 
static Confind_drop_target (uint32_t x, uint32_t y)
 
static Rect adjust_rect (Rect rect, direction_t direction, uint32_t threshold)
 
static bool con_on_side_of_parent (Con *con, direction_t direction)
 
 DRAGGING_CB (drag_callback)
 
void tiling_drag (Con *con, xcb_button_press_event_t *event)
 Initiates a mouse drag operation on a tiled window. More...
 

Enumeration Type Documentation

◆ drop_type_t

Enumerator
DT_SIBLING 
DT_CENTER 
DT_PARENT 

Definition at line 62 of file tiling_drag.c.

Function Documentation

◆ adjust_rect()

static Rect adjust_rect ( Rect  rect,
direction_t  direction,
uint32_t  threshold 
)
static

Definition at line 74 of file tiling_drag.c.

References D_DOWN, D_LEFT, D_RIGHT, D_UP, Rect::height, Rect::width, Rect::x, and Rect::y.

Referenced by DRAGGING_CB().

◆ con_on_side_of_parent()

static bool con_on_side_of_parent ( Con con,
direction_t  direction 
)
static

Definition at line 94 of file tiling_drag.c.

References con_descend_direction(), con_orientation(), D_DOWN, D_LEFT, D_RIGHT, D_UP, L_STACKED, L_TABBED, Con::layout, orientation_from_direction(), and Con::parent.

Referenced by DRAGGING_CB().

Here is the call graph for this function:

◆ con_rect_plus_deco_height()

static Rect con_rect_plus_deco_height ( Con con)
static

Definition at line 19 of file tiling_drag.c.

References Con::deco_rect, Rect::height, Con::rect, and Rect::y.

Referenced by DRAGGING_CB(), and find_drop_target().

◆ create_drop_indicator()

static xcb_window_t create_drop_indicator ( Rect  rect)
static

◆ DRAGGING_CB()

DRAGGING_CB ( drag_callback  )

◆ find_drop_target()

static Con * find_drop_target ( uint32_t  x,
uint32_t  y 
)
static

◆ tiling_drag()

void tiling_drag ( Con con,
xcb_button_press_event_t *  event 
)