blob: 553c91a4f5142053c01146663cb7271d58309222 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
#ifndef MATE_RR_PRIVATE_H
#define MATE_RR_PRIVATE_H
#include <X11/Xlib.h>
#ifdef HAVE_RANDR
#include <X11/extensions/Xrandr.h>
#endif
typedef struct ScreenInfo ScreenInfo;
struct ScreenInfo
{
int min_width;
int max_width;
int min_height;
int max_height;
#ifdef HAVE_RANDR
XRRScreenResources *resources;
#endif
MateRROutput ** outputs;
MateRRCrtc ** crtcs;
MateRRMode ** modes;
MateRRScreen * screen;
MateRRMode ** clone_modes;
#ifdef HAVE_RANDR
RROutput primary;
#endif
};
struct MateRRScreenPrivate
{
GdkScreen * gdk_screen;
GdkWindow * gdk_root;
Display * xdisplay;
Screen * xscreen;
Window xroot;
ScreenInfo * info;
int randr_event_base;
int rr_major_version;
int rr_minor_version;
Atom connector_type_atom;
};
struct MateRROutputInfoPrivate
{
char * name;
gboolean on;
int width;
int height;
int rate;
int x;
int y;
MateRRRotation rotation;
gboolean connected;
gchar vendor[4];
guint product;
guint serial;
double aspect;
int pref_width;
int pref_height;
char * display_name;
gboolean primary;
};
struct MateRRConfigPrivate
{
gboolean clone;
MateRRScreen *screen;
MateRROutputInfo **outputs;
};
gboolean _mate_rr_output_name_is_laptop (const char *name);
#endif
|