1b18c2d1eSnia/*
2b18c2d1eSnia * Copyright notice...
3b18c2d1eSnia */
4b18c2d1eSnia
5b18c2d1eSnia#ifndef _CTWM_R_LAYOUT_H
6b18c2d1eSnia#define _CTWM_R_LAYOUT_H
7b18c2d1eSnia
8b18c2d1eSnia#include "r_structs.h"
9b18c2d1eSnia
10b18c2d1eSnia
11b18c2d1eSniaRLayout *RLayoutNew(RAreaList *monitors);
12b18c2d1eSniavoid RLayoutFree(RLayout *self);
13b18c2d1eSnia
14b18c2d1eSniaRLayout *RLayoutCopyCropped(const RLayout *self, int left_margin,
15b18c2d1eSnia                            int right_margin,
16b18c2d1eSnia                            int top_margin, int bottom_margin);
17b18c2d1eSnia
18b18c2d1eSniaRLayout *RLayoutSetMonitorsNames(RLayout *self, char **names);
19b18c2d1eSnia
20b18c2d1eSniaRArea RLayoutGetAreaAtXY(const RLayout *self, int x, int y);
21b18c2d1eSniaRArea RLayoutGetAreaIndex(const RLayout *self, int index);
22b18c2d1eSniaRArea RLayoutGetAreaByName(const RLayout *self, const char *name, int len);
23b18c2d1eSnia
24b18c2d1eSniavoid RLayoutFindTopBottomEdges(const RLayout *self, const RArea *area, int *top,
25b18c2d1eSnia                               int *bottom);
26b18c2d1eSniaint RLayoutFindBottomEdge(const RLayout *self, const RArea *area);
27b18c2d1eSniaint RLayoutFindTopEdge(const RLayout *self, const RArea *area);
28b18c2d1eSniavoid RLayoutFindLeftRightEdges(const RLayout *self, const RArea *area,
29b18c2d1eSnia                               int *left,
30b18c2d1eSnia                               int *right);
31b18c2d1eSniaint RLayoutFindLeftEdge(const RLayout *self, const RArea *area);
32b18c2d1eSniaint RLayoutFindRightEdge(const RLayout *self, const RArea *area);
33b18c2d1eSnia
34b18c2d1eSniaint RLayoutFindMonitorBottomEdge(const RLayout *self, const RArea *area);
35b18c2d1eSniaint RLayoutFindMonitorTopEdge(const RLayout *self, const RArea *area);
36b18c2d1eSniaint RLayoutFindMonitorLeftEdge(const RLayout *self, const RArea *area);
37b18c2d1eSniaint RLayoutFindMonitorRightEdge(const RLayout *self, const RArea *area);
38b18c2d1eSnia
39b18c2d1eSniaRArea RLayoutFullHoriz(const RLayout *self, const RArea *area);
40b18c2d1eSniaRArea RLayoutFullVert(const RLayout *self, const RArea *area);
41b18c2d1eSniaRArea RLayoutFull(const RLayout *self, const RArea *area);
42b18c2d1eSniaRArea RLayoutFullHoriz1(const RLayout *self, const RArea *area);
43b18c2d1eSniaRArea RLayoutFullVert1(const RLayout *self, const RArea *area);
44b18c2d1eSniaRArea RLayoutFull1(const RLayout *self, const RArea *area);
45b18c2d1eSnia
46b18c2d1eSniaRArea RLayoutBigArea(const RLayout *self);
47b18c2d1eSniaint RLayoutNumMonitors(const RLayout *self);
48b18c2d1eSniavoid RLayoutPrint(const RLayout *self);
49b18c2d1eSnia
50b18c2d1eSnia#endif  /* _CTWM_R_LAYOUT_H */
51