Skip to main content

astal_river_sys/
lib.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from ../../../girs
3// from ../../../gtk-girs
4// DO NOT EDIT
5
6#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
7#![allow(
8    clippy::approx_constant,
9    clippy::type_complexity,
10    clippy::unreadable_literal,
11    clippy::upper_case_acronyms
12)]
13#![cfg_attr(docsrs, feature(doc_cfg))]
14
15use glib_sys as glib;
16use gobject_sys as gobject;
17
18#[cfg(unix)]
19#[allow(unused_imports)]
20use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};
21#[allow(unused_imports)]
22use libc::{intptr_t, off_t, size_t, ssize_t, time_t, uintptr_t, FILE};
23#[allow(unused_imports)]
24use std::ffi::{
25    c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
26};
27
28#[allow(unused_imports)]
29use glib::{gboolean, gconstpointer, gpointer, GType};
30
31// Enums
32pub type AstalRiverTransform = c_int;
33pub const ASTAL_RIVER_TRANSFORM_NORMAL: AstalRiverTransform = 0;
34pub const ASTAL_RIVER_TRANSFORM_ROTATE_90_DEG: AstalRiverTransform = 1;
35pub const ASTAL_RIVER_TRANSFORM_ROTATE_180_DEG: AstalRiverTransform = 2;
36pub const ASTAL_RIVER_TRANSFORM_ROTATE_270_DEG: AstalRiverTransform = 3;
37pub const ASTAL_RIVER_TRANSFORM_FLIPPED: AstalRiverTransform = 4;
38pub const ASTAL_RIVER_TRANSFORM_FLIPPED_ROTATE_90_DEG: AstalRiverTransform = 5;
39pub const ASTAL_RIVER_TRANSFORM_FLIPPED_ROTATE_180_DEG: AstalRiverTransform = 6;
40pub const ASTAL_RIVER_TRANSFORM_FLIPPED_ROTATE_270_DEG: AstalRiverTransform = 7;
41
42// Constants
43pub const ASTAL_RIVER_MAJOR_VERSION: c_int = 0;
44pub const ASTAL_RIVER_MICRO_VERSION: c_int = 0;
45pub const ASTAL_RIVER_MINOR_VERSION: c_int = 1;
46pub const ASTAL_RIVER_VERSION: &[u8] = b"0.1.0\0";
47
48// Callbacks
49pub type AstalRiverCommandCallback = Option<unsafe extern "C" fn(gboolean, *const c_char)>;
50pub type AstalRiverLayoutDemandCallback = Option<
51    unsafe extern "C" fn(
52        *mut AstalRiverLayout,
53        *mut AstalRiverOutput,
54        c_uint,
55        c_uint,
56        c_uint,
57        *mut *mut c_char,
58        *mut *mut glib::GList,
59        gpointer,
60    ),
61>;
62
63// Records
64#[derive(Copy, Clone)]
65#[repr(C)]
66pub struct AstalRiverGeometry {
67    pub x: c_uint,
68    pub y: c_uint,
69    pub width: c_uint,
70    pub height: c_uint,
71}
72
73impl ::std::fmt::Debug for AstalRiverGeometry {
74    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
75        f.debug_struct(&format!("AstalRiverGeometry @ {self:p}"))
76            .field("x", &self.x)
77            .field("y", &self.y)
78            .field("width", &self.width)
79            .field("height", &self.height)
80            .finish()
81    }
82}
83
84#[derive(Copy, Clone)]
85#[repr(C)]
86pub struct AstalRiverLayoutClass {
87    pub parent_class: gobject::GObjectClass,
88}
89
90impl ::std::fmt::Debug for AstalRiverLayoutClass {
91    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
92        f.debug_struct(&format!("AstalRiverLayoutClass @ {self:p}"))
93            .field("parent_class", &self.parent_class)
94            .finish()
95    }
96}
97
98#[derive(Copy, Clone)]
99#[repr(C)]
100pub struct AstalRiverOutputClass {
101    pub parent_class: gobject::GObjectClass,
102}
103
104impl ::std::fmt::Debug for AstalRiverOutputClass {
105    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
106        f.debug_struct(&format!("AstalRiverOutputClass @ {self:p}"))
107            .field("parent_class", &self.parent_class)
108            .finish()
109    }
110}
111
112#[derive(Copy, Clone)]
113#[repr(C)]
114pub struct AstalRiverRiverClass {
115    pub parent_class: gobject::GObjectClass,
116}
117
118impl ::std::fmt::Debug for AstalRiverRiverClass {
119    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
120        f.debug_struct(&format!("AstalRiverRiverClass @ {self:p}"))
121            .field("parent_class", &self.parent_class)
122            .finish()
123    }
124}
125
126// Classes
127#[repr(C)]
128#[allow(dead_code)]
129pub struct AstalRiverLayout {
130    _data: [u8; 0],
131    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
132}
133
134impl ::std::fmt::Debug for AstalRiverLayout {
135    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
136        f.debug_struct(&format!("AstalRiverLayout @ {self:p}"))
137            .finish()
138    }
139}
140
141#[repr(C)]
142#[allow(dead_code)]
143pub struct AstalRiverOutput {
144    _data: [u8; 0],
145    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
146}
147
148impl ::std::fmt::Debug for AstalRiverOutput {
149    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
150        f.debug_struct(&format!("AstalRiverOutput @ {self:p}"))
151            .finish()
152    }
153}
154
155#[repr(C)]
156#[allow(dead_code)]
157pub struct AstalRiverRiver {
158    _data: [u8; 0],
159    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
160}
161
162impl ::std::fmt::Debug for AstalRiverRiver {
163    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
164        f.debug_struct(&format!("AstalRiverRiver @ {self:p}"))
165            .finish()
166    }
167}
168
169extern "C" {
170
171    //=========================================================================
172    // AstalRiverTransform
173    //=========================================================================
174    pub fn astal_river_transform_get_type() -> GType;
175
176    //=========================================================================
177    // AstalRiverGeometry
178    //=========================================================================
179    pub fn astal_river_geometry_get_type() -> GType;
180    pub fn astal_river_geometry_new(
181        x: c_uint,
182        y: c_uint,
183        width: c_uint,
184        height: c_uint,
185    ) -> *mut AstalRiverGeometry;
186    pub fn astal_river_geometry_new_zero() -> *mut AstalRiverGeometry;
187    pub fn astal_river_geometry_copy(geometry: *mut AstalRiverGeometry) -> *mut AstalRiverGeometry;
188    pub fn astal_river_geometry_free(geometry: *mut AstalRiverGeometry);
189
190    //=========================================================================
191    // AstalRiverLayout
192    //=========================================================================
193    pub fn astal_river_layout_get_type() -> GType;
194    pub fn astal_river_layout_get_namespace(self_: *mut AstalRiverLayout) -> *const c_char;
195    pub fn astal_river_layout_set_layout_demand_callback(
196        self_: *mut AstalRiverLayout,
197        callback: AstalRiverLayoutDemandCallback,
198        user_data: gpointer,
199        destroy_notify: glib::GDestroyNotify,
200    );
201
202    //=========================================================================
203    // AstalRiverOutput
204    //=========================================================================
205    pub fn astal_river_output_get_type() -> GType;
206    pub fn astal_river_output_get_description(self_: *mut AstalRiverOutput) -> *const c_char;
207    pub fn astal_river_output_get_focused_tags(self_: *mut AstalRiverOutput) -> c_uint;
208    pub fn astal_river_output_get_focused_view(self_: *mut AstalRiverOutput) -> *mut c_char;
209    pub fn astal_river_output_get_height(self_: *mut AstalRiverOutput) -> c_int;
210    pub fn astal_river_output_get_id(self_: *mut AstalRiverOutput) -> c_uint;
211    pub fn astal_river_output_get_layout_name(self_: *mut AstalRiverOutput) -> *mut c_char;
212    pub fn astal_river_output_get_make(self_: *mut AstalRiverOutput) -> *const c_char;
213    pub fn astal_river_output_get_model(self_: *mut AstalRiverOutput) -> *const c_char;
214    pub fn astal_river_output_get_name(self_: *mut AstalRiverOutput) -> *mut c_char;
215    pub fn astal_river_output_get_occupied_tags(self_: *mut AstalRiverOutput) -> c_uint;
216    pub fn astal_river_output_get_physical_height(self_: *mut AstalRiverOutput) -> c_int;
217    pub fn astal_river_output_get_physical_width(self_: *mut AstalRiverOutput) -> c_int;
218    pub fn astal_river_output_get_refresh_rate(self_: *mut AstalRiverOutput) -> c_double;
219    pub fn astal_river_output_get_scale_factor(self_: *mut AstalRiverOutput) -> c_int;
220    pub fn astal_river_output_get_urgent_tags(self_: *mut AstalRiverOutput) -> c_uint;
221    pub fn astal_river_output_get_width(self_: *mut AstalRiverOutput) -> c_int;
222    pub fn astal_river_output_get_x(self_: *mut AstalRiverOutput) -> c_int;
223    pub fn astal_river_output_get_y(self_: *mut AstalRiverOutput) -> c_int;
224    pub fn astal_river_output_set_focused_tags(self_: *mut AstalRiverOutput, tags: c_uint);
225
226    //=========================================================================
227    // AstalRiverRiver
228    //=========================================================================
229    pub fn astal_river_river_get_type() -> GType;
230    pub fn astal_river_river_new() -> *mut AstalRiverRiver;
231    pub fn astal_river_river_get_default() -> *mut AstalRiverRiver;
232    pub fn astal_river_river_get_focused_output(self_: *mut AstalRiverRiver) -> *mut c_char;
233    pub fn astal_river_river_get_focused_view(self_: *mut AstalRiverRiver) -> *mut c_char;
234    pub fn astal_river_river_get_mode(self_: *mut AstalRiverRiver) -> *mut c_char;
235    pub fn astal_river_river_get_output(
236        self_: *mut AstalRiverRiver,
237        name: *mut c_char,
238    ) -> *mut AstalRiverOutput;
239    pub fn astal_river_river_get_outputs(self_: *mut AstalRiverRiver) -> *mut glib::GList;
240    pub fn astal_river_river_new_layout(
241        self_: *mut AstalRiverRiver,
242        namespace: *const c_char,
243    ) -> *mut AstalRiverLayout;
244    pub fn astal_river_river_run_command_async(
245        self_: *mut AstalRiverRiver,
246        length: c_int,
247        cmd: *mut *const c_char,
248        callback: AstalRiverCommandCallback,
249    );
250
251    //=========================================================================
252    // Other functions
253    //=========================================================================
254    pub fn astal_river_get_default() -> *mut AstalRiverRiver;
255
256}