CTWM
Loading...
Searching...
No Matches
/usr/src/RPM/BUILD/ctwm-4.1.0/r_structs.h
Go to the documentation of this file.
1/*
2 * Copyright notice...
3 */
4
5#ifndef _CTWM_R_STRUCTS_H
6#define _CTWM_R_STRUCTS_H
7
8
9/**
10 * A particular extent of space.
11 *
12 * This defines an area on the abstract display. It commonly represents
13 * a monitor when defining our screen layout, and is also used to
14 * represent a window when we're manipulating it on our screen space.
15 */
16struct RArea {
17 int x; ///< X position
18 int y; ///< Y position
19 int width; ///< X dimension
20 int height; ///< Y dimension
21};
22
23
24/**
25 * A set of RArea's.
26 *
27 * This is generally used to define a contiguous region formed of various
28 * stitched-together subareas.
29 */
30struct RAreaList {
31 int len; ///< How many we're using
32 int cap; ///< How many we have space for
33 RArea *areas; ///< Array of RArea members of this list
34};
35
36
37/**
38 * The layout of our display.
39 *
40 * This may encompass multiple monitors, of differing sizes. It's
41 * generally only used by a few vars at startup describing the layout,
42 * which gets referred to when we need to find various borders of our
43 * output.
44 */
45struct RLayout {
46 RAreaList *monitors; ///< List of all output monitors
47 RAreaList *horiz; ///< List of all unique horizontal regions
48 RAreaList *vert; ///< List of all unique vertical regions
49
50 /// List of names of the monitors. `names[i]` corresponds with
51 /// `monitors->areas[i]`. This is used for looking up geometries
52 /// with output names via RLayoutXParseGeometry(); e.g,
53 /// "HDMI1:800x600+20+50".
54 char **names;
55};
56
57#endif /* _CTWM_R_STRUCTS_H */
A set of RArea's.
Definition r_structs.h:30
RArea * areas
Array of RArea members of this list.
Definition r_structs.h:33
int cap
How many we have space for.
Definition r_structs.h:32
int len
How many we're using.
Definition r_structs.h:31
A particular extent of space.
Definition r_structs.h:16
int y
Y position.
Definition r_structs.h:18
int width
X dimension.
Definition r_structs.h:19
int height
Y dimension.
Definition r_structs.h:20
int x
X position.
Definition r_structs.h:17
The layout of our display.
Definition r_structs.h:45
char ** names
List of names of the monitors.
Definition r_structs.h:54
RAreaList * horiz
List of all unique horizontal regions.
Definition r_structs.h:47
RAreaList * monitors
List of all output monitors.
Definition r_structs.h:46
RAreaList * vert
List of all unique vertical regions.
Definition r_structs.h:48