aboutsummaryrefslogtreecommitdiffstats
path: root/libcoopgamma_get_gamma_sync.3
blob: e46cecf65a164e180062f7cc7e5824eb9f4d9728 (plain) (blame)
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
.TH LIBCOOPGAMMA_GET_GAMMA_SYNC 3 LIBCOOPGAMMA
.SH "NAME"
libcoopgamma_get_gamma_sync - Synchronously retrieve a CRTC's filter table
.SH "SYNOPSIS"
.nf
#include <libcoopgamma.h>

int libcoopgamma_get_gamma_sync(const libcoopgamma_filter_query_t* restrict \fIquery\fP,
                                libcoopgamma_filter_table_t* restrict \fItable\fpP,
                                libcoopgamma_context_t *restrict \fIctx\fP);
.fi
.P
Link with
.IR -lcoopgamma .
.SH "DESCRIPTION"
The
.BR libcoopgamma_get_gamma_sync ()
function synchronously retrieves the gamma ramp filter
table for the CRTC, whose name is
.IR query->crtc ,
over the connection of
.I ctx
to the server.
.P
The response will include all filter with a
priority between
.I query->low_priority
and
.IR query->high_priority,
inclusively. If and only if
.I query->coalesce
is nonzero, the, from the selected filters,
resulting gamma ramps are returned
rather than a list of all selected filters.
.P
The filters will be stored in
.IR *table .
In particular, the number of filter (1 if coalesced)
will be stored to
.IR table->filter_count ,
the filters themselves will be stored in
.IR table->filters .
Some metainformation sent by the server will also
be stored in
.IR *table :
.TP
.I info->red_size
The number of stops on the red gamma ramp.
.TP
.I info->green_size
The number of stops on the green gamma ramp.
.TP
.I info->blue_size
The number of stops on the blue gamma ramp.
.TP
.I info->depth
Describes the gamma ramp types used for the CRTC.
.P
For all
.I i
from 0 up to but exclusing
.IR table->filter_count ,
Information about the filter applied
.IR i :th
is stored in
.IR table->filters[i] .
.I table->filters[i].ramps
is the gamma ramps for
.I i :th
the filter. Unless coalesced,
.I table->filters[i].priority
and
.I table->filters[i].class
is also set.
.I table->filters[i].priority
is the prority of the filter, and
.I table->filters[i].class
is the class (identifier) of the filter.
.SH "RETURN VALUES"
Upon successful completion, the
.BR libcoopgamma_get_gamma_recv ()
function returns 0. On error, -1 is returned and
.I errno
is set appropriately.
.SH "ERRORS"
The
.BR libcoopgamma_get_gamma_send ()
function may fail for any reason specified for
.BR libcoopgamma_get_gamma_send (3),
.BR libcoopgamma_get_gamma_recv (3),
.BR libcoopgamma_flush (3),
or
.BR libcoopgamma_synchronise (3).
.SH "SEE ALSO"
.BR libcoopgamma.h (0),
.BR libcoopgamma_filter_query_initialise (3),
.BR libcoopgamma_filter_table_initialise (3),
.BR libcoopgamma_get_gamma_send (3),
.BR libcoopgamma_get_gamma_recv (3),
.BR libcoopgamma_get_crtcs_sync (3),
.BR libcoopgamma_get_gamma_info_sync (3),
.BR libcoopgamma_set_gamma_sync (3)