libshumate_sys/
lib.rs

1// Generated by gir (https://github.com/gtk-rs/gir @ b3d444a058cf)
2// from
3// from gir-files (https://github.com/gtk-rs/gir-files.git @ 5c1e490fe50a)
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 gdk_pixbuf_sys as gdk_pixbuf;
16use gdk_sys as gdk;
17use gio_sys as gio;
18use glib_sys as glib;
19use gobject_sys as gobject;
20use gtk_sys as gtk;
21
22#[cfg(unix)]
23#[allow(unused_imports)]
24use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};
25#[allow(unused_imports)]
26use libc::{intptr_t, off_t, size_t, ssize_t, time_t, uintptr_t, FILE};
27#[allow(unused_imports)]
28use std::ffi::{
29    c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
30};
31
32#[allow(unused_imports)]
33use glib::{gboolean, gconstpointer, gpointer, GType};
34
35// Enums
36pub type ShumateFileCacheError = c_int;
37pub const SHUMATE_FILE_CACHE_ERROR_FAILED: ShumateFileCacheError = 0;
38
39pub type ShumateGeometryType = c_int;
40pub const SHUMATE_GEOMETRY_TYPE_UNKNOWN: ShumateGeometryType = 0;
41pub const SHUMATE_GEOMETRY_TYPE_POINT: ShumateGeometryType = 1;
42pub const SHUMATE_GEOMETRY_TYPE_MULTIPOINT: ShumateGeometryType = 2;
43pub const SHUMATE_GEOMETRY_TYPE_LINESTRING: ShumateGeometryType = 3;
44pub const SHUMATE_GEOMETRY_TYPE_MULTILINESTRING: ShumateGeometryType = 4;
45pub const SHUMATE_GEOMETRY_TYPE_POLYGON: ShumateGeometryType = 5;
46pub const SHUMATE_GEOMETRY_TYPE_MULTIPOLYGON: ShumateGeometryType = 6;
47
48pub type ShumateMapProjection = c_int;
49pub const SHUMATE_MAP_PROJECTION_MERCATOR: ShumateMapProjection = 0;
50
51pub type ShumateState = c_int;
52pub const SHUMATE_STATE_NONE: ShumateState = 0;
53pub const SHUMATE_STATE_LOADING: ShumateState = 1;
54pub const SHUMATE_STATE_LOADED: ShumateState = 2;
55pub const SHUMATE_STATE_DONE: ShumateState = 3;
56
57pub type ShumateStyleError = c_int;
58pub const SHUMATE_STYLE_ERROR_FAILED: ShumateStyleError = 0;
59pub const SHUMATE_STYLE_ERROR_MALFORMED_STYLE: ShumateStyleError = 1;
60pub const SHUMATE_STYLE_ERROR_UNSUPPORTED_LAYER: ShumateStyleError = 2;
61pub const SHUMATE_STYLE_ERROR_INVALID_EXPRESSION: ShumateStyleError = 3;
62pub const SHUMATE_STYLE_ERROR_SUPPORT_OMITTED: ShumateStyleError = 4;
63pub const SHUMATE_STYLE_ERROR_UNSUPPORTED: ShumateStyleError = 5;
64
65pub type ShumateTileDownloaderError = c_int;
66pub const SHUMATE_TILE_DOWNLOADER_ERROR_FAILED: ShumateTileDownloaderError = 0;
67pub const SHUMATE_TILE_DOWNLOADER_ERROR_BAD_RESPONSE: ShumateTileDownloaderError = 1;
68pub const SHUMATE_TILE_DOWNLOADER_ERROR_COULD_NOT_CONNECT: ShumateTileDownloaderError = 2;
69pub const SHUMATE_TILE_DOWNLOADER_ERROR_MALFORMED_URL: ShumateTileDownloaderError = 3;
70pub const SHUMATE_TILE_DOWNLOADER_ERROR_OFFLINE: ShumateTileDownloaderError = 4;
71
72pub type ShumateUnit = c_int;
73pub const SHUMATE_UNIT_BOTH: ShumateUnit = 0;
74pub const SHUMATE_UNIT_METRIC: ShumateUnit = 1;
75pub const SHUMATE_UNIT_IMPERIAL: ShumateUnit = 2;
76
77// Constants
78pub const SHUMATE_MAJOR_VERSION: c_int = 1;
79pub const SHUMATE_MAP_SOURCE_MFF_RELIEF: &[u8] = b"mff-relief\0";
80pub const SHUMATE_MAP_SOURCE_OSM_CYCLE_MAP: &[u8] = b"osm-cyclemap\0";
81pub const SHUMATE_MAP_SOURCE_OSM_MAPNIK: &[u8] = b"osm-mapnik\0";
82pub const SHUMATE_MAP_SOURCE_OSM_TRANSPORT_MAP: &[u8] = b"osm-transportmap\0";
83pub const SHUMATE_MAP_SOURCE_OWM_CLOUDS: &[u8] = b"owm-clouds\0";
84pub const SHUMATE_MAP_SOURCE_OWM_PRECIPITATION: &[u8] = b"owm-precipitation\0";
85pub const SHUMATE_MAP_SOURCE_OWM_PRESSURE: &[u8] = b"owm-pressure\0";
86pub const SHUMATE_MAP_SOURCE_OWM_TEMPERATURE: &[u8] = b"owm-temperature\0";
87pub const SHUMATE_MAP_SOURCE_OWM_WIND: &[u8] = b"owm-wind\0";
88pub const SHUMATE_MAX_LATITUDE: c_double = 85.0511287798;
89pub const SHUMATE_MAX_LONGITUDE: c_double = 180.0;
90pub const SHUMATE_MIN_LATITUDE: c_double = -85.0511287798;
91pub const SHUMATE_MIN_LONGITUDE: c_double = -180.0;
92
93// Callbacks
94pub type ShumateVectorSpriteFallbackFunc = Option<
95    unsafe extern "C" fn(
96        *mut ShumateVectorSpriteSheet,
97        *const c_char,
98        c_double,
99        gpointer,
100    ) -> *mut ShumateVectorSprite,
101>;
102
103// Records
104#[derive(Copy, Clone)]
105#[repr(C)]
106pub struct ShumateCompassClass {
107    pub parent_class: gtk::GtkWidgetClass,
108}
109
110impl ::std::fmt::Debug for ShumateCompassClass {
111    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
112        f.debug_struct(&format!("ShumateCompassClass @ {self:p}"))
113            .field("parent_class", &self.parent_class)
114            .finish()
115    }
116}
117
118#[derive(Copy, Clone)]
119#[repr(C)]
120pub struct ShumateCoordinateClass {
121    pub parent_class: gobject::GInitiallyUnownedClass,
122    pub padding: [gpointer; 16],
123}
124
125impl ::std::fmt::Debug for ShumateCoordinateClass {
126    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
127        f.debug_struct(&format!("ShumateCoordinateClass @ {self:p}"))
128            .field("parent_class", &self.parent_class)
129            .finish()
130    }
131}
132
133#[derive(Copy, Clone)]
134#[repr(C)]
135pub struct ShumateDataSourceClass {
136    pub parent_class: gobject::GObjectClass,
137    pub get_tile_data_async: Option<
138        unsafe extern "C" fn(
139            *mut ShumateDataSource,
140            c_int,
141            c_int,
142            c_int,
143            *mut gio::GCancellable,
144            gio::GAsyncReadyCallback,
145            gpointer,
146        ),
147    >,
148    pub get_tile_data_finish: Option<
149        unsafe extern "C" fn(
150            *mut ShumateDataSource,
151            *mut gio::GAsyncResult,
152            *mut *mut glib::GError,
153        ) -> *mut glib::GBytes,
154    >,
155    pub start_request: Option<
156        unsafe extern "C" fn(
157            *mut ShumateDataSource,
158            c_int,
159            c_int,
160            c_int,
161            *mut gio::GCancellable,
162        ) -> *mut ShumateDataSourceRequest,
163    >,
164    pub padding: [gpointer; 15],
165}
166
167impl ::std::fmt::Debug for ShumateDataSourceClass {
168    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
169        f.debug_struct(&format!("ShumateDataSourceClass @ {self:p}"))
170            .field("parent_class", &self.parent_class)
171            .field("get_tile_data_async", &self.get_tile_data_async)
172            .field("get_tile_data_finish", &self.get_tile_data_finish)
173            .field("start_request", &self.start_request)
174            .finish()
175    }
176}
177
178#[derive(Copy, Clone)]
179#[repr(C)]
180pub struct ShumateDataSourceRequestClass {
181    pub parent_class: gobject::GObjectClass,
182    pub padding: [gpointer; 16],
183}
184
185impl ::std::fmt::Debug for ShumateDataSourceRequestClass {
186    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
187        f.debug_struct(&format!("ShumateDataSourceRequestClass @ {self:p}"))
188            .field("parent_class", &self.parent_class)
189            .finish()
190    }
191}
192
193#[derive(Copy, Clone)]
194#[repr(C)]
195pub struct ShumateFileCacheClass {
196    pub parent_class: gobject::GObjectClass,
197}
198
199impl ::std::fmt::Debug for ShumateFileCacheClass {
200    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
201        f.debug_struct(&format!("ShumateFileCacheClass @ {self:p}"))
202            .field("parent_class", &self.parent_class)
203            .finish()
204    }
205}
206
207#[derive(Copy, Clone)]
208#[repr(C)]
209pub struct ShumateLayerClass {
210    pub parent_class: gtk::GtkWidgetClass,
211    pub get_debug_text: Option<unsafe extern "C" fn(*mut ShumateLayer) -> *mut c_char>,
212    pub padding: [gpointer; 15],
213}
214
215impl ::std::fmt::Debug for ShumateLayerClass {
216    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
217        f.debug_struct(&format!("ShumateLayerClass @ {self:p}"))
218            .field("parent_class", &self.parent_class)
219            .field("get_debug_text", &self.get_debug_text)
220            .finish()
221    }
222}
223
224#[derive(Copy, Clone)]
225#[repr(C)]
226pub struct ShumateLicenseClass {
227    pub parent_class: gtk::GtkWidgetClass,
228}
229
230impl ::std::fmt::Debug for ShumateLicenseClass {
231    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
232        f.debug_struct(&format!("ShumateLicenseClass @ {self:p}"))
233            .field("parent_class", &self.parent_class)
234            .finish()
235    }
236}
237
238#[derive(Copy, Clone)]
239#[repr(C)]
240pub struct ShumateLocationInterface {
241    pub g_iface: gobject::GTypeInterface,
242    pub get_latitude: Option<unsafe extern "C" fn(*mut ShumateLocation) -> c_double>,
243    pub get_longitude: Option<unsafe extern "C" fn(*mut ShumateLocation) -> c_double>,
244    pub set_location: Option<unsafe extern "C" fn(*mut ShumateLocation, c_double, c_double)>,
245}
246
247impl ::std::fmt::Debug for ShumateLocationInterface {
248    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
249        f.debug_struct(&format!("ShumateLocationInterface @ {self:p}"))
250            .field("get_latitude", &self.get_latitude)
251            .field("get_longitude", &self.get_longitude)
252            .field("set_location", &self.set_location)
253            .finish()
254    }
255}
256
257#[derive(Copy, Clone)]
258#[repr(C)]
259pub struct ShumateMapClass {
260    pub parent_class: gtk::GtkWidgetClass,
261}
262
263impl ::std::fmt::Debug for ShumateMapClass {
264    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
265        f.debug_struct(&format!("ShumateMapClass @ {self:p}"))
266            .field("parent_class", &self.parent_class)
267            .finish()
268    }
269}
270
271#[derive(Copy, Clone)]
272#[repr(C)]
273pub struct ShumateMapLayerClass {
274    pub parent_class: ShumateLayerClass,
275}
276
277impl ::std::fmt::Debug for ShumateMapLayerClass {
278    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
279        f.debug_struct(&format!("ShumateMapLayerClass @ {self:p}"))
280            .field("parent_class", &self.parent_class)
281            .finish()
282    }
283}
284
285#[derive(Copy, Clone)]
286#[repr(C)]
287pub struct ShumateMapSourceClass {
288    pub parent_class: gobject::GObjectClass,
289    pub fill_tile_async: Option<
290        unsafe extern "C" fn(
291            *mut ShumateMapSource,
292            *mut ShumateTile,
293            *mut gio::GCancellable,
294            gio::GAsyncReadyCallback,
295            gpointer,
296        ),
297    >,
298    pub fill_tile_finish: Option<
299        unsafe extern "C" fn(
300            *mut ShumateMapSource,
301            *mut gio::GAsyncResult,
302            *mut *mut glib::GError,
303        ) -> gboolean,
304    >,
305    pub padding: [gpointer; 16],
306}
307
308impl ::std::fmt::Debug for ShumateMapSourceClass {
309    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
310        f.debug_struct(&format!("ShumateMapSourceClass @ {self:p}"))
311            .field("parent_class", &self.parent_class)
312            .field("fill_tile_async", &self.fill_tile_async)
313            .field("fill_tile_finish", &self.fill_tile_finish)
314            .finish()
315    }
316}
317
318#[derive(Copy, Clone)]
319#[repr(C)]
320pub struct ShumateMapSourceRegistryClass {
321    pub parent_class: gobject::GObjectClass,
322}
323
324impl ::std::fmt::Debug for ShumateMapSourceRegistryClass {
325    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
326        f.debug_struct(&format!("ShumateMapSourceRegistryClass @ {self:p}"))
327            .field("parent_class", &self.parent_class)
328            .finish()
329    }
330}
331
332#[derive(Copy, Clone)]
333#[repr(C)]
334pub struct ShumateMarkerClass {
335    pub parent_class: gtk::GtkWidgetClass,
336    pub padding: [gpointer; 16],
337}
338
339impl ::std::fmt::Debug for ShumateMarkerClass {
340    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
341        f.debug_struct(&format!("ShumateMarkerClass @ {self:p}"))
342            .field("parent_class", &self.parent_class)
343            .finish()
344    }
345}
346
347#[derive(Copy, Clone)]
348#[repr(C)]
349pub struct ShumateMarkerLayerClass {
350    pub parent_class: ShumateLayerClass,
351}
352
353impl ::std::fmt::Debug for ShumateMarkerLayerClass {
354    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
355        f.debug_struct(&format!("ShumateMarkerLayerClass @ {self:p}"))
356            .field("parent_class", &self.parent_class)
357            .finish()
358    }
359}
360
361#[derive(Copy, Clone)]
362#[repr(C)]
363pub struct ShumatePathLayerClass {
364    pub parent_class: ShumateLayerClass,
365}
366
367impl ::std::fmt::Debug for ShumatePathLayerClass {
368    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
369        f.debug_struct(&format!("ShumatePathLayerClass @ {self:p}"))
370            .field("parent_class", &self.parent_class)
371            .finish()
372    }
373}
374
375#[derive(Copy, Clone)]
376#[repr(C)]
377pub struct ShumatePointClass {
378    pub parent_class: ShumateMarkerClass,
379}
380
381impl ::std::fmt::Debug for ShumatePointClass {
382    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
383        f.debug_struct(&format!("ShumatePointClass @ {self:p}"))
384            .field("parent_class", &self.parent_class)
385            .finish()
386    }
387}
388
389#[derive(Copy, Clone)]
390#[repr(C)]
391pub struct ShumateRasterRendererClass {
392    pub parent_class: ShumateMapSourceClass,
393}
394
395impl ::std::fmt::Debug for ShumateRasterRendererClass {
396    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
397        f.debug_struct(&format!("ShumateRasterRendererClass @ {self:p}"))
398            .field("parent_class", &self.parent_class)
399            .finish()
400    }
401}
402
403#[derive(Copy, Clone)]
404#[repr(C)]
405pub struct ShumateScaleClass {
406    pub parent_class: gtk::GtkWidgetClass,
407}
408
409impl ::std::fmt::Debug for ShumateScaleClass {
410    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
411        f.debug_struct(&format!("ShumateScaleClass @ {self:p}"))
412            .field("parent_class", &self.parent_class)
413            .finish()
414    }
415}
416
417#[derive(Copy, Clone)]
418#[repr(C)]
419pub struct ShumateSimpleMapClass {
420    pub parent_class: gtk::GtkWidgetClass,
421}
422
423impl ::std::fmt::Debug for ShumateSimpleMapClass {
424    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
425        f.debug_struct(&format!("ShumateSimpleMapClass @ {self:p}"))
426            .field("parent_class", &self.parent_class)
427            .finish()
428    }
429}
430
431#[derive(Copy, Clone)]
432#[repr(C)]
433pub struct ShumateSymbolEventClass {
434    pub parent_class: gobject::GObjectClass,
435}
436
437impl ::std::fmt::Debug for ShumateSymbolEventClass {
438    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
439        f.debug_struct(&format!("ShumateSymbolEventClass @ {self:p}"))
440            .field("parent_class", &self.parent_class)
441            .finish()
442    }
443}
444
445#[derive(Copy, Clone)]
446#[repr(C)]
447pub struct ShumateTileClass {
448    pub parent_class: gobject::GObjectClass,
449}
450
451impl ::std::fmt::Debug for ShumateTileClass {
452    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
453        f.debug_struct(&format!("ShumateTileClass @ {self:p}"))
454            .field("parent_class", &self.parent_class)
455            .finish()
456    }
457}
458
459#[derive(Copy, Clone)]
460#[repr(C)]
461pub struct ShumateTileDownloaderClass {
462    pub parent_class: ShumateDataSourceClass,
463}
464
465impl ::std::fmt::Debug for ShumateTileDownloaderClass {
466    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
467        f.debug_struct(&format!("ShumateTileDownloaderClass @ {self:p}"))
468            .field("parent_class", &self.parent_class)
469            .finish()
470    }
471}
472
473#[derive(Copy, Clone)]
474#[repr(C)]
475pub struct ShumateVectorReaderClass {
476    pub parent_class: gobject::GObjectClass,
477}
478
479impl ::std::fmt::Debug for ShumateVectorReaderClass {
480    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
481        f.debug_struct(&format!("ShumateVectorReaderClass @ {self:p}"))
482            .field("parent_class", &self.parent_class)
483            .finish()
484    }
485}
486
487#[derive(Copy, Clone)]
488#[repr(C)]
489pub struct ShumateVectorReaderIterClass {
490    pub parent_class: gobject::GObjectClass,
491}
492
493impl ::std::fmt::Debug for ShumateVectorReaderIterClass {
494    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
495        f.debug_struct(&format!("ShumateVectorReaderIterClass @ {self:p}"))
496            .field("parent_class", &self.parent_class)
497            .finish()
498    }
499}
500
501#[derive(Copy, Clone)]
502#[repr(C)]
503pub struct ShumateVectorRendererClass {
504    pub parent_class: ShumateMapSourceClass,
505}
506
507impl ::std::fmt::Debug for ShumateVectorRendererClass {
508    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
509        f.debug_struct(&format!("ShumateVectorRendererClass @ {self:p}"))
510            .field("parent_class", &self.parent_class)
511            .finish()
512    }
513}
514
515#[derive(Copy, Clone)]
516#[repr(C)]
517pub struct ShumateVectorSpriteClass {
518    pub parent_class: gobject::GObjectClass,
519}
520
521impl ::std::fmt::Debug for ShumateVectorSpriteClass {
522    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
523        f.debug_struct(&format!("ShumateVectorSpriteClass @ {self:p}"))
524            .field("parent_class", &self.parent_class)
525            .finish()
526    }
527}
528
529#[derive(Copy, Clone)]
530#[repr(C)]
531pub struct ShumateVectorSpriteSheetClass {
532    pub parent_class: gobject::GObjectClass,
533}
534
535impl ::std::fmt::Debug for ShumateVectorSpriteSheetClass {
536    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
537        f.debug_struct(&format!("ShumateVectorSpriteSheetClass @ {self:p}"))
538            .field("parent_class", &self.parent_class)
539            .finish()
540    }
541}
542
543#[derive(Copy, Clone)]
544#[repr(C)]
545pub struct ShumateViewportClass {
546    pub parent_class: gobject::GObjectClass,
547}
548
549impl ::std::fmt::Debug for ShumateViewportClass {
550    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
551        f.debug_struct(&format!("ShumateViewportClass @ {self:p}"))
552            .field("parent_class", &self.parent_class)
553            .finish()
554    }
555}
556
557// Classes
558#[repr(C)]
559#[allow(dead_code)]
560pub struct ShumateCompass {
561    _data: [u8; 0],
562    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
563}
564
565impl ::std::fmt::Debug for ShumateCompass {
566    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
567        f.debug_struct(&format!("ShumateCompass @ {self:p}"))
568            .finish()
569    }
570}
571
572#[derive(Copy, Clone)]
573#[repr(C)]
574pub struct ShumateCoordinate {
575    pub parent_instance: gobject::GInitiallyUnowned,
576}
577
578impl ::std::fmt::Debug for ShumateCoordinate {
579    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
580        f.debug_struct(&format!("ShumateCoordinate @ {self:p}"))
581            .field("parent_instance", &self.parent_instance)
582            .finish()
583    }
584}
585
586#[derive(Copy, Clone)]
587#[repr(C)]
588pub struct ShumateDataSource {
589    pub parent_instance: gobject::GObject,
590}
591
592impl ::std::fmt::Debug for ShumateDataSource {
593    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
594        f.debug_struct(&format!("ShumateDataSource @ {self:p}"))
595            .field("parent_instance", &self.parent_instance)
596            .finish()
597    }
598}
599
600#[derive(Copy, Clone)]
601#[repr(C)]
602pub struct ShumateDataSourceRequest {
603    pub parent_instance: gobject::GObject,
604}
605
606impl ::std::fmt::Debug for ShumateDataSourceRequest {
607    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
608        f.debug_struct(&format!("ShumateDataSourceRequest @ {self:p}"))
609            .field("parent_instance", &self.parent_instance)
610            .finish()
611    }
612}
613
614#[repr(C)]
615#[allow(dead_code)]
616pub struct ShumateFileCache {
617    _data: [u8; 0],
618    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
619}
620
621impl ::std::fmt::Debug for ShumateFileCache {
622    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
623        f.debug_struct(&format!("ShumateFileCache @ {self:p}"))
624            .finish()
625    }
626}
627
628#[derive(Copy, Clone)]
629#[repr(C)]
630pub struct ShumateLayer {
631    pub parent_instance: gtk::GtkWidget,
632}
633
634impl ::std::fmt::Debug for ShumateLayer {
635    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
636        f.debug_struct(&format!("ShumateLayer @ {self:p}"))
637            .field("parent_instance", &self.parent_instance)
638            .finish()
639    }
640}
641
642#[repr(C)]
643#[allow(dead_code)]
644pub struct ShumateLicense {
645    _data: [u8; 0],
646    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
647}
648
649impl ::std::fmt::Debug for ShumateLicense {
650    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
651        f.debug_struct(&format!("ShumateLicense @ {self:p}"))
652            .finish()
653    }
654}
655
656#[repr(C)]
657#[allow(dead_code)]
658pub struct ShumateMap {
659    _data: [u8; 0],
660    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
661}
662
663impl ::std::fmt::Debug for ShumateMap {
664    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
665        f.debug_struct(&format!("ShumateMap @ {self:p}")).finish()
666    }
667}
668
669#[repr(C)]
670#[allow(dead_code)]
671pub struct ShumateMapLayer {
672    _data: [u8; 0],
673    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
674}
675
676impl ::std::fmt::Debug for ShumateMapLayer {
677    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
678        f.debug_struct(&format!("ShumateMapLayer @ {self:p}"))
679            .finish()
680    }
681}
682
683#[derive(Copy, Clone)]
684#[repr(C)]
685pub struct ShumateMapSource {
686    pub parent_instance: gobject::GObject,
687}
688
689impl ::std::fmt::Debug for ShumateMapSource {
690    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
691        f.debug_struct(&format!("ShumateMapSource @ {self:p}"))
692            .field("parent_instance", &self.parent_instance)
693            .finish()
694    }
695}
696
697#[repr(C)]
698#[allow(dead_code)]
699pub struct ShumateMapSourceRegistry {
700    _data: [u8; 0],
701    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
702}
703
704impl ::std::fmt::Debug for ShumateMapSourceRegistry {
705    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
706        f.debug_struct(&format!("ShumateMapSourceRegistry @ {self:p}"))
707            .finish()
708    }
709}
710
711#[derive(Copy, Clone)]
712#[repr(C)]
713pub struct ShumateMarker {
714    pub parent_instance: gtk::GtkWidget,
715}
716
717impl ::std::fmt::Debug for ShumateMarker {
718    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
719        f.debug_struct(&format!("ShumateMarker @ {self:p}"))
720            .field("parent_instance", &self.parent_instance)
721            .finish()
722    }
723}
724
725#[repr(C)]
726#[allow(dead_code)]
727pub struct ShumateMarkerLayer {
728    _data: [u8; 0],
729    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
730}
731
732impl ::std::fmt::Debug for ShumateMarkerLayer {
733    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
734        f.debug_struct(&format!("ShumateMarkerLayer @ {self:p}"))
735            .finish()
736    }
737}
738
739#[repr(C)]
740#[allow(dead_code)]
741pub struct ShumatePathLayer {
742    _data: [u8; 0],
743    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
744}
745
746impl ::std::fmt::Debug for ShumatePathLayer {
747    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
748        f.debug_struct(&format!("ShumatePathLayer @ {self:p}"))
749            .finish()
750    }
751}
752
753#[repr(C)]
754#[allow(dead_code)]
755pub struct ShumatePoint {
756    _data: [u8; 0],
757    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
758}
759
760impl ::std::fmt::Debug for ShumatePoint {
761    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
762        f.debug_struct(&format!("ShumatePoint @ {self:p}")).finish()
763    }
764}
765
766#[repr(C)]
767#[allow(dead_code)]
768pub struct ShumateRasterRenderer {
769    _data: [u8; 0],
770    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
771}
772
773impl ::std::fmt::Debug for ShumateRasterRenderer {
774    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
775        f.debug_struct(&format!("ShumateRasterRenderer @ {self:p}"))
776            .finish()
777    }
778}
779
780#[repr(C)]
781#[allow(dead_code)]
782pub struct ShumateScale {
783    _data: [u8; 0],
784    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
785}
786
787impl ::std::fmt::Debug for ShumateScale {
788    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
789        f.debug_struct(&format!("ShumateScale @ {self:p}")).finish()
790    }
791}
792
793#[repr(C)]
794#[allow(dead_code)]
795pub struct ShumateSimpleMap {
796    _data: [u8; 0],
797    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
798}
799
800impl ::std::fmt::Debug for ShumateSimpleMap {
801    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
802        f.debug_struct(&format!("ShumateSimpleMap @ {self:p}"))
803            .finish()
804    }
805}
806
807#[repr(C)]
808#[allow(dead_code)]
809pub struct ShumateSymbolEvent {
810    _data: [u8; 0],
811    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
812}
813
814impl ::std::fmt::Debug for ShumateSymbolEvent {
815    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
816        f.debug_struct(&format!("ShumateSymbolEvent @ {self:p}"))
817            .finish()
818    }
819}
820
821#[repr(C)]
822#[allow(dead_code)]
823pub struct ShumateTile {
824    _data: [u8; 0],
825    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
826}
827
828impl ::std::fmt::Debug for ShumateTile {
829    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
830        f.debug_struct(&format!("ShumateTile @ {self:p}")).finish()
831    }
832}
833
834#[repr(C)]
835#[allow(dead_code)]
836pub struct ShumateTileDownloader {
837    _data: [u8; 0],
838    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
839}
840
841impl ::std::fmt::Debug for ShumateTileDownloader {
842    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
843        f.debug_struct(&format!("ShumateTileDownloader @ {self:p}"))
844            .finish()
845    }
846}
847
848#[repr(C)]
849#[allow(dead_code)]
850pub struct ShumateVectorReader {
851    _data: [u8; 0],
852    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
853}
854
855impl ::std::fmt::Debug for ShumateVectorReader {
856    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
857        f.debug_struct(&format!("ShumateVectorReader @ {self:p}"))
858            .finish()
859    }
860}
861
862#[repr(C)]
863#[allow(dead_code)]
864pub struct ShumateVectorReaderIter {
865    _data: [u8; 0],
866    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
867}
868
869impl ::std::fmt::Debug for ShumateVectorReaderIter {
870    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
871        f.debug_struct(&format!("ShumateVectorReaderIter @ {self:p}"))
872            .finish()
873    }
874}
875
876#[repr(C)]
877#[allow(dead_code)]
878pub struct ShumateVectorRenderer {
879    _data: [u8; 0],
880    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
881}
882
883impl ::std::fmt::Debug for ShumateVectorRenderer {
884    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
885        f.debug_struct(&format!("ShumateVectorRenderer @ {self:p}"))
886            .finish()
887    }
888}
889
890#[repr(C)]
891#[allow(dead_code)]
892pub struct ShumateVectorSprite {
893    _data: [u8; 0],
894    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
895}
896
897impl ::std::fmt::Debug for ShumateVectorSprite {
898    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
899        f.debug_struct(&format!("ShumateVectorSprite @ {self:p}"))
900            .finish()
901    }
902}
903
904#[repr(C)]
905#[allow(dead_code)]
906pub struct ShumateVectorSpriteSheet {
907    _data: [u8; 0],
908    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
909}
910
911impl ::std::fmt::Debug for ShumateVectorSpriteSheet {
912    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
913        f.debug_struct(&format!("ShumateVectorSpriteSheet @ {self:p}"))
914            .finish()
915    }
916}
917
918#[repr(C)]
919#[allow(dead_code)]
920pub struct ShumateViewport {
921    _data: [u8; 0],
922    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
923}
924
925impl ::std::fmt::Debug for ShumateViewport {
926    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
927        f.debug_struct(&format!("ShumateViewport @ {self:p}"))
928            .finish()
929    }
930}
931
932// Interfaces
933#[repr(C)]
934#[allow(dead_code)]
935pub struct ShumateLocation {
936    _data: [u8; 0],
937    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
938}
939
940impl ::std::fmt::Debug for ShumateLocation {
941    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
942        write!(f, "ShumateLocation @ {self:p}")
943    }
944}
945
946extern "C" {
947
948    //=========================================================================
949    // ShumateFileCacheError
950    //=========================================================================
951    pub fn shumate_file_cache_error_get_type() -> GType;
952    pub fn shumate_file_cache_error_quark() -> glib::GQuark;
953
954    //=========================================================================
955    // ShumateGeometryType
956    //=========================================================================
957    #[cfg(feature = "v1_2")]
958    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
959    pub fn shumate_geometry_type_get_type() -> GType;
960
961    //=========================================================================
962    // ShumateMapProjection
963    //=========================================================================
964    pub fn shumate_map_projection_get_type() -> GType;
965
966    //=========================================================================
967    // ShumateState
968    //=========================================================================
969    pub fn shumate_state_get_type() -> GType;
970
971    //=========================================================================
972    // ShumateStyleError
973    //=========================================================================
974    pub fn shumate_style_error_get_type() -> GType;
975    pub fn shumate_style_error_quark() -> glib::GQuark;
976
977    //=========================================================================
978    // ShumateTileDownloaderError
979    //=========================================================================
980    pub fn shumate_tile_downloader_error_get_type() -> GType;
981    pub fn shumate_tile_downloader_error_quark() -> glib::GQuark;
982
983    //=========================================================================
984    // ShumateUnit
985    //=========================================================================
986    pub fn shumate_unit_get_type() -> GType;
987
988    //=========================================================================
989    // ShumateCompass
990    //=========================================================================
991    pub fn shumate_compass_get_type() -> GType;
992    pub fn shumate_compass_new(viewport: *mut ShumateViewport) -> *mut ShumateCompass;
993    pub fn shumate_compass_get_viewport(compass: *mut ShumateCompass) -> *mut ShumateViewport;
994    pub fn shumate_compass_set_viewport(
995        compass: *mut ShumateCompass,
996        viewport: *mut ShumateViewport,
997    );
998
999    //=========================================================================
1000    // ShumateCoordinate
1001    //=========================================================================
1002    pub fn shumate_coordinate_get_type() -> GType;
1003    pub fn shumate_coordinate_new() -> *mut ShumateCoordinate;
1004    pub fn shumate_coordinate_new_full(
1005        latitude: c_double,
1006        longitude: c_double,
1007    ) -> *mut ShumateCoordinate;
1008
1009    //=========================================================================
1010    // ShumateDataSource
1011    //=========================================================================
1012    pub fn shumate_data_source_get_type() -> GType;
1013    #[cfg(feature = "v1_1")]
1014    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1015    pub fn shumate_data_source_get_max_zoom_level(self_: *mut ShumateDataSource) -> c_uint;
1016    #[cfg(feature = "v1_1")]
1017    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1018    pub fn shumate_data_source_get_min_zoom_level(self_: *mut ShumateDataSource) -> c_uint;
1019    pub fn shumate_data_source_get_tile_data_async(
1020        self_: *mut ShumateDataSource,
1021        x: c_int,
1022        y: c_int,
1023        zoom_level: c_int,
1024        cancellable: *mut gio::GCancellable,
1025        callback: gio::GAsyncReadyCallback,
1026        user_data: gpointer,
1027    );
1028    pub fn shumate_data_source_get_tile_data_finish(
1029        self_: *mut ShumateDataSource,
1030        result: *mut gio::GAsyncResult,
1031        error: *mut *mut glib::GError,
1032    ) -> *mut glib::GBytes;
1033    #[cfg(feature = "v1_1")]
1034    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1035    pub fn shumate_data_source_set_max_zoom_level(
1036        self_: *mut ShumateDataSource,
1037        zoom_level: c_uint,
1038    );
1039    #[cfg(feature = "v1_1")]
1040    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1041    pub fn shumate_data_source_set_min_zoom_level(
1042        self_: *mut ShumateDataSource,
1043        zoom_level: c_uint,
1044    );
1045    #[cfg(feature = "v1_1")]
1046    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1047    pub fn shumate_data_source_start_request(
1048        self_: *mut ShumateDataSource,
1049        x: c_int,
1050        y: c_int,
1051        zoom_level: c_int,
1052        cancellable: *mut gio::GCancellable,
1053    ) -> *mut ShumateDataSourceRequest;
1054
1055    //=========================================================================
1056    // ShumateDataSourceRequest
1057    //=========================================================================
1058    #[cfg(feature = "v1_1")]
1059    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1060    pub fn shumate_data_source_request_get_type() -> GType;
1061    #[cfg(feature = "v1_1")]
1062    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1063    pub fn shumate_data_source_request_new(
1064        x: c_int,
1065        y: c_int,
1066        zoom_level: c_int,
1067    ) -> *mut ShumateDataSourceRequest;
1068    #[cfg(feature = "v1_1")]
1069    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1070    pub fn shumate_data_source_request_complete(self_: *mut ShumateDataSourceRequest);
1071    #[cfg(feature = "v1_1")]
1072    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1073    pub fn shumate_data_source_request_emit_data(
1074        self_: *mut ShumateDataSourceRequest,
1075        data: *mut glib::GBytes,
1076        complete: gboolean,
1077    );
1078    #[cfg(feature = "v1_1")]
1079    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1080    pub fn shumate_data_source_request_emit_error(
1081        self_: *mut ShumateDataSourceRequest,
1082        error: *const glib::GError,
1083    );
1084    #[cfg(feature = "v1_1")]
1085    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1086    pub fn shumate_data_source_request_get_data(
1087        self_: *mut ShumateDataSourceRequest,
1088    ) -> *mut glib::GBytes;
1089    #[cfg(feature = "v1_1")]
1090    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1091    pub fn shumate_data_source_request_get_error(
1092        self_: *mut ShumateDataSourceRequest,
1093    ) -> *mut glib::GError;
1094    #[cfg(feature = "v1_1")]
1095    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1096    pub fn shumate_data_source_request_get_x(self_: *mut ShumateDataSourceRequest) -> c_int;
1097    #[cfg(feature = "v1_1")]
1098    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1099    pub fn shumate_data_source_request_get_y(self_: *mut ShumateDataSourceRequest) -> c_int;
1100    #[cfg(feature = "v1_1")]
1101    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1102    pub fn shumate_data_source_request_get_zoom_level(
1103        self_: *mut ShumateDataSourceRequest,
1104    ) -> c_int;
1105    #[cfg(feature = "v1_1")]
1106    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1107    pub fn shumate_data_source_request_is_completed(
1108        self_: *mut ShumateDataSourceRequest,
1109    ) -> gboolean;
1110
1111    //=========================================================================
1112    // ShumateFileCache
1113    //=========================================================================
1114    pub fn shumate_file_cache_get_type() -> GType;
1115    pub fn shumate_file_cache_new_full(
1116        size_limit: c_uint,
1117        cache_key: *const c_char,
1118        cache_dir: *const c_char,
1119    ) -> *mut ShumateFileCache;
1120    pub fn shumate_file_cache_get_cache_dir(self_: *mut ShumateFileCache) -> *const c_char;
1121    pub fn shumate_file_cache_get_cache_key(self_: *mut ShumateFileCache) -> *const c_char;
1122    pub fn shumate_file_cache_get_size_limit(self_: *mut ShumateFileCache) -> c_uint;
1123    pub fn shumate_file_cache_get_tile_async(
1124        self_: *mut ShumateFileCache,
1125        x: c_int,
1126        y: c_int,
1127        zoom_level: c_int,
1128        cancellable: *mut gio::GCancellable,
1129        callback: gio::GAsyncReadyCallback,
1130        user_data: gpointer,
1131    );
1132    pub fn shumate_file_cache_get_tile_finish(
1133        self_: *mut ShumateFileCache,
1134        etag: *mut *mut c_char,
1135        modtime: *mut *mut glib::GDateTime,
1136        result: *mut gio::GAsyncResult,
1137        error: *mut *mut glib::GError,
1138    ) -> *mut glib::GBytes;
1139    pub fn shumate_file_cache_mark_up_to_date(
1140        self_: *mut ShumateFileCache,
1141        x: c_int,
1142        y: c_int,
1143        zoom_level: c_int,
1144    );
1145    pub fn shumate_file_cache_purge_cache_async(
1146        self_: *mut ShumateFileCache,
1147        cancellable: *mut gio::GCancellable,
1148        callback: gio::GAsyncReadyCallback,
1149        user_data: gpointer,
1150    );
1151    pub fn shumate_file_cache_purge_cache_finish(
1152        self_: *mut ShumateFileCache,
1153        result: *mut gio::GAsyncResult,
1154        error: *mut *mut glib::GError,
1155    ) -> gboolean;
1156    pub fn shumate_file_cache_set_size_limit(self_: *mut ShumateFileCache, size_limit: c_uint);
1157    pub fn shumate_file_cache_store_tile_async(
1158        self_: *mut ShumateFileCache,
1159        x: c_int,
1160        y: c_int,
1161        zoom_level: c_int,
1162        bytes: *mut glib::GBytes,
1163        etag: *const c_char,
1164        cancellable: *mut gio::GCancellable,
1165        callback: gio::GAsyncReadyCallback,
1166        user_data: gpointer,
1167    );
1168    pub fn shumate_file_cache_store_tile_finish(
1169        self_: *mut ShumateFileCache,
1170        result: *mut gio::GAsyncResult,
1171        error: *mut *mut glib::GError,
1172    ) -> gboolean;
1173
1174    //=========================================================================
1175    // ShumateLayer
1176    //=========================================================================
1177    pub fn shumate_layer_get_type() -> GType;
1178    pub fn shumate_layer_get_viewport(self_: *mut ShumateLayer) -> *mut ShumateViewport;
1179
1180    //=========================================================================
1181    // ShumateLicense
1182    //=========================================================================
1183    pub fn shumate_license_get_type() -> GType;
1184    pub fn shumate_license_new() -> *mut ShumateLicense;
1185    pub fn shumate_license_append_map_source(
1186        license: *mut ShumateLicense,
1187        map_source: *mut ShumateMapSource,
1188    );
1189    pub fn shumate_license_get_extra_text(license: *mut ShumateLicense) -> *const c_char;
1190    pub fn shumate_license_get_xalign(license: *mut ShumateLicense) -> c_float;
1191    pub fn shumate_license_prepend_map_source(
1192        license: *mut ShumateLicense,
1193        map_source: *mut ShumateMapSource,
1194    );
1195    pub fn shumate_license_remove_map_source(
1196        license: *mut ShumateLicense,
1197        map_source: *mut ShumateMapSource,
1198    );
1199    pub fn shumate_license_set_extra_text(license: *mut ShumateLicense, text: *const c_char);
1200    pub fn shumate_license_set_xalign(license: *mut ShumateLicense, xalign: c_float);
1201
1202    //=========================================================================
1203    // ShumateMap
1204    //=========================================================================
1205    pub fn shumate_map_get_type() -> GType;
1206    pub fn shumate_map_new() -> *mut ShumateMap;
1207    pub fn shumate_map_new_simple() -> *mut ShumateMap;
1208    pub fn shumate_map_add_layer(self_: *mut ShumateMap, layer: *mut ShumateLayer);
1209    pub fn shumate_map_center_on(self_: *mut ShumateMap, latitude: c_double, longitude: c_double);
1210    pub fn shumate_map_get_animate_zoom(self_: *mut ShumateMap) -> gboolean;
1211    pub fn shumate_map_get_go_to_duration(self_: *mut ShumateMap) -> c_uint;
1212    pub fn shumate_map_get_state(self_: *mut ShumateMap) -> ShumateState;
1213    pub fn shumate_map_get_viewport(self_: *mut ShumateMap) -> *mut ShumateViewport;
1214    pub fn shumate_map_get_zoom_on_double_click(self_: *mut ShumateMap) -> gboolean;
1215    pub fn shumate_map_go_to(self_: *mut ShumateMap, latitude: c_double, longitude: c_double);
1216    pub fn shumate_map_go_to_full(
1217        self_: *mut ShumateMap,
1218        latitude: c_double,
1219        longitude: c_double,
1220        zoom_level: c_double,
1221    );
1222    pub fn shumate_map_go_to_full_with_duration(
1223        self_: *mut ShumateMap,
1224        latitude: c_double,
1225        longitude: c_double,
1226        zoom_level: c_double,
1227        duration_ms: c_uint,
1228    );
1229    pub fn shumate_map_insert_layer_above(
1230        self_: *mut ShumateMap,
1231        layer: *mut ShumateLayer,
1232        next_sibling: *mut ShumateLayer,
1233    );
1234    pub fn shumate_map_insert_layer_behind(
1235        self_: *mut ShumateMap,
1236        layer: *mut ShumateLayer,
1237        next_sibling: *mut ShumateLayer,
1238    );
1239    pub fn shumate_map_remove_layer(self_: *mut ShumateMap, layer: *mut ShumateLayer);
1240    pub fn shumate_map_set_animate_zoom(self_: *mut ShumateMap, value: gboolean);
1241    pub fn shumate_map_set_go_to_duration(self_: *mut ShumateMap, duration: c_uint);
1242    pub fn shumate_map_set_map_source(self_: *mut ShumateMap, map_source: *mut ShumateMapSource);
1243    pub fn shumate_map_set_zoom_on_double_click(self_: *mut ShumateMap, value: gboolean);
1244    pub fn shumate_map_stop_go_to(self_: *mut ShumateMap);
1245    pub fn shumate_map_zoom_in(self_: *mut ShumateMap);
1246    pub fn shumate_map_zoom_out(self_: *mut ShumateMap);
1247
1248    //=========================================================================
1249    // ShumateMapLayer
1250    //=========================================================================
1251    pub fn shumate_map_layer_get_type() -> GType;
1252    pub fn shumate_map_layer_new(
1253        map_source: *mut ShumateMapSource,
1254        viewport: *mut ShumateViewport,
1255    ) -> *mut ShumateMapLayer;
1256
1257    //=========================================================================
1258    // ShumateMapSource
1259    //=========================================================================
1260    pub fn shumate_map_source_get_type() -> GType;
1261    pub fn shumate_map_source_fill_tile_async(
1262        self_: *mut ShumateMapSource,
1263        tile: *mut ShumateTile,
1264        cancellable: *mut gio::GCancellable,
1265        callback: gio::GAsyncReadyCallback,
1266        user_data: gpointer,
1267    );
1268    pub fn shumate_map_source_fill_tile_finish(
1269        self_: *mut ShumateMapSource,
1270        result: *mut gio::GAsyncResult,
1271        error: *mut *mut glib::GError,
1272    ) -> gboolean;
1273    pub fn shumate_map_source_get_column_count(
1274        map_source: *mut ShumateMapSource,
1275        zoom_level: c_uint,
1276    ) -> c_uint;
1277    pub fn shumate_map_source_get_id(map_source: *mut ShumateMapSource) -> *const c_char;
1278    pub fn shumate_map_source_get_latitude(
1279        map_source: *mut ShumateMapSource,
1280        zoom_level: c_double,
1281        y: c_double,
1282    ) -> c_double;
1283    pub fn shumate_map_source_get_license(map_source: *mut ShumateMapSource) -> *const c_char;
1284    pub fn shumate_map_source_get_license_uri(map_source: *mut ShumateMapSource) -> *const c_char;
1285    pub fn shumate_map_source_get_longitude(
1286        map_source: *mut ShumateMapSource,
1287        zoom_level: c_double,
1288        x: c_double,
1289    ) -> c_double;
1290    pub fn shumate_map_source_get_max_zoom_level(map_source: *mut ShumateMapSource) -> c_uint;
1291    pub fn shumate_map_source_get_meters_per_pixel(
1292        map_source: *mut ShumateMapSource,
1293        zoom_level: c_double,
1294        latitude: c_double,
1295        longitude: c_double,
1296    ) -> c_double;
1297    pub fn shumate_map_source_get_min_zoom_level(map_source: *mut ShumateMapSource) -> c_uint;
1298    pub fn shumate_map_source_get_name(map_source: *mut ShumateMapSource) -> *const c_char;
1299    pub fn shumate_map_source_get_projection(
1300        map_source: *mut ShumateMapSource,
1301    ) -> ShumateMapProjection;
1302    pub fn shumate_map_source_get_row_count(
1303        map_source: *mut ShumateMapSource,
1304        zoom_level: c_uint,
1305    ) -> c_uint;
1306    pub fn shumate_map_source_get_tile_size(map_source: *mut ShumateMapSource) -> c_uint;
1307    pub fn shumate_map_source_get_tile_size_at_zoom(
1308        map_source: *mut ShumateMapSource,
1309        zoom_level: c_double,
1310    ) -> c_double;
1311    pub fn shumate_map_source_get_x(
1312        map_source: *mut ShumateMapSource,
1313        zoom_level: c_double,
1314        longitude: c_double,
1315    ) -> c_double;
1316    pub fn shumate_map_source_get_y(
1317        map_source: *mut ShumateMapSource,
1318        zoom_level: c_double,
1319        latitude: c_double,
1320    ) -> c_double;
1321    pub fn shumate_map_source_set_id(map_source: *mut ShumateMapSource, id: *const c_char);
1322    pub fn shumate_map_source_set_license(
1323        map_source: *mut ShumateMapSource,
1324        license: *const c_char,
1325    );
1326    pub fn shumate_map_source_set_license_uri(
1327        map_source: *mut ShumateMapSource,
1328        license_uri: *const c_char,
1329    );
1330    pub fn shumate_map_source_set_max_zoom_level(
1331        map_source: *mut ShumateMapSource,
1332        zoom_level: c_uint,
1333    );
1334    pub fn shumate_map_source_set_min_zoom_level(
1335        map_source: *mut ShumateMapSource,
1336        zoom_level: c_uint,
1337    );
1338    pub fn shumate_map_source_set_name(map_source: *mut ShumateMapSource, name: *const c_char);
1339    pub fn shumate_map_source_set_projection(
1340        map_source: *mut ShumateMapSource,
1341        projection: ShumateMapProjection,
1342    );
1343    pub fn shumate_map_source_set_tile_size(map_source: *mut ShumateMapSource, tile_size: c_uint);
1344
1345    //=========================================================================
1346    // ShumateMapSourceRegistry
1347    //=========================================================================
1348    pub fn shumate_map_source_registry_get_type() -> GType;
1349    pub fn shumate_map_source_registry_new() -> *mut ShumateMapSourceRegistry;
1350    pub fn shumate_map_source_registry_new_with_defaults() -> *mut ShumateMapSourceRegistry;
1351    pub fn shumate_map_source_registry_add(
1352        self_: *mut ShumateMapSourceRegistry,
1353        map_source: *mut ShumateMapSource,
1354    );
1355    pub fn shumate_map_source_registry_get_by_id(
1356        self_: *mut ShumateMapSourceRegistry,
1357        id: *const c_char,
1358    ) -> *mut ShumateMapSource;
1359    pub fn shumate_map_source_registry_populate_defaults(self_: *mut ShumateMapSourceRegistry);
1360    pub fn shumate_map_source_registry_remove(
1361        self_: *mut ShumateMapSourceRegistry,
1362        id: *const c_char,
1363    );
1364
1365    //=========================================================================
1366    // ShumateMarker
1367    //=========================================================================
1368    pub fn shumate_marker_get_type() -> GType;
1369    pub fn shumate_marker_new() -> *mut ShumateMarker;
1370    pub fn shumate_marker_animate_in(marker: *mut ShumateMarker);
1371    pub fn shumate_marker_animate_in_with_delay(marker: *mut ShumateMarker, delay: c_uint);
1372    pub fn shumate_marker_animate_out(marker: *mut ShumateMarker);
1373    pub fn shumate_marker_animate_out_with_delay(marker: *mut ShumateMarker, delay: c_uint);
1374    pub fn shumate_marker_get_child(marker: *mut ShumateMarker) -> *mut gtk::GtkWidget;
1375    pub fn shumate_marker_get_draggable(marker: *mut ShumateMarker) -> gboolean;
1376    pub fn shumate_marker_get_selectable(marker: *mut ShumateMarker) -> gboolean;
1377    pub fn shumate_marker_is_selected(marker: *mut ShumateMarker) -> gboolean;
1378    pub fn shumate_marker_set_child(marker: *mut ShumateMarker, child: *mut gtk::GtkWidget);
1379    pub fn shumate_marker_set_draggable(marker: *mut ShumateMarker, value: gboolean);
1380    pub fn shumate_marker_set_selectable(marker: *mut ShumateMarker, value: gboolean);
1381
1382    //=========================================================================
1383    // ShumateMarkerLayer
1384    //=========================================================================
1385    pub fn shumate_marker_layer_get_type() -> GType;
1386    pub fn shumate_marker_layer_new(viewport: *mut ShumateViewport) -> *mut ShumateMarkerLayer;
1387    pub fn shumate_marker_layer_new_full(
1388        viewport: *mut ShumateViewport,
1389        mode: gtk::GtkSelectionMode,
1390    ) -> *mut ShumateMarkerLayer;
1391    pub fn shumate_marker_layer_add_marker(
1392        self_: *mut ShumateMarkerLayer,
1393        marker: *mut ShumateMarker,
1394    );
1395    pub fn shumate_marker_layer_get_markers(self_: *mut ShumateMarkerLayer) -> *mut glib::GList;
1396    pub fn shumate_marker_layer_get_selected(self_: *mut ShumateMarkerLayer) -> *mut glib::GList;
1397    pub fn shumate_marker_layer_get_selection_mode(
1398        self_: *mut ShumateMarkerLayer,
1399    ) -> gtk::GtkSelectionMode;
1400    pub fn shumate_marker_layer_remove_all(self_: *mut ShumateMarkerLayer);
1401    pub fn shumate_marker_layer_remove_marker(
1402        self_: *mut ShumateMarkerLayer,
1403        marker: *mut ShumateMarker,
1404    );
1405    pub fn shumate_marker_layer_select_all_markers(self_: *mut ShumateMarkerLayer);
1406    pub fn shumate_marker_layer_select_marker(
1407        self_: *mut ShumateMarkerLayer,
1408        marker: *mut ShumateMarker,
1409    ) -> gboolean;
1410    pub fn shumate_marker_layer_set_selection_mode(
1411        self_: *mut ShumateMarkerLayer,
1412        mode: gtk::GtkSelectionMode,
1413    );
1414    pub fn shumate_marker_layer_unselect_all_markers(self_: *mut ShumateMarkerLayer);
1415    pub fn shumate_marker_layer_unselect_marker(
1416        self_: *mut ShumateMarkerLayer,
1417        marker: *mut ShumateMarker,
1418    );
1419
1420    //=========================================================================
1421    // ShumatePathLayer
1422    //=========================================================================
1423    pub fn shumate_path_layer_get_type() -> GType;
1424    pub fn shumate_path_layer_new(viewport: *mut ShumateViewport) -> *mut ShumatePathLayer;
1425    pub fn shumate_path_layer_add_node(
1426        self_: *mut ShumatePathLayer,
1427        location: *mut ShumateLocation,
1428    );
1429    pub fn shumate_path_layer_get_closed(self_: *mut ShumatePathLayer) -> gboolean;
1430    pub fn shumate_path_layer_get_dash(self_: *mut ShumatePathLayer) -> *mut glib::GList;
1431    pub fn shumate_path_layer_get_fill(self_: *mut ShumatePathLayer) -> gboolean;
1432    pub fn shumate_path_layer_get_fill_color(self_: *mut ShumatePathLayer) -> *mut gdk::GdkRGBA;
1433    pub fn shumate_path_layer_get_nodes(self_: *mut ShumatePathLayer) -> *mut glib::GList;
1434    pub fn shumate_path_layer_get_outline_color(self_: *mut ShumatePathLayer) -> *mut gdk::GdkRGBA;
1435    pub fn shumate_path_layer_get_outline_width(self_: *mut ShumatePathLayer) -> c_double;
1436    pub fn shumate_path_layer_get_stroke(self_: *mut ShumatePathLayer) -> gboolean;
1437    pub fn shumate_path_layer_get_stroke_color(self_: *mut ShumatePathLayer) -> *mut gdk::GdkRGBA;
1438    pub fn shumate_path_layer_get_stroke_width(self_: *mut ShumatePathLayer) -> c_double;
1439    pub fn shumate_path_layer_insert_node(
1440        self_: *mut ShumatePathLayer,
1441        location: *mut ShumateLocation,
1442        position: c_uint,
1443    );
1444    pub fn shumate_path_layer_remove_all(self_: *mut ShumatePathLayer);
1445    pub fn shumate_path_layer_remove_node(
1446        self_: *mut ShumatePathLayer,
1447        location: *mut ShumateLocation,
1448    );
1449    pub fn shumate_path_layer_set_closed(self_: *mut ShumatePathLayer, value: gboolean);
1450    pub fn shumate_path_layer_set_dash(
1451        self_: *mut ShumatePathLayer,
1452        dash_pattern: *mut glib::GList,
1453    );
1454    pub fn shumate_path_layer_set_fill(self_: *mut ShumatePathLayer, value: gboolean);
1455    pub fn shumate_path_layer_set_fill_color(
1456        self_: *mut ShumatePathLayer,
1457        color: *const gdk::GdkRGBA,
1458    );
1459    pub fn shumate_path_layer_set_outline_color(
1460        self_: *mut ShumatePathLayer,
1461        color: *const gdk::GdkRGBA,
1462    );
1463    pub fn shumate_path_layer_set_outline_width(self_: *mut ShumatePathLayer, value: c_double);
1464    pub fn shumate_path_layer_set_stroke(self_: *mut ShumatePathLayer, value: gboolean);
1465    pub fn shumate_path_layer_set_stroke_color(
1466        self_: *mut ShumatePathLayer,
1467        color: *const gdk::GdkRGBA,
1468    );
1469    pub fn shumate_path_layer_set_stroke_width(self_: *mut ShumatePathLayer, value: c_double);
1470
1471    //=========================================================================
1472    // ShumatePoint
1473    //=========================================================================
1474    pub fn shumate_point_get_type() -> GType;
1475    pub fn shumate_point_new() -> *mut ShumatePoint;
1476
1477    //=========================================================================
1478    // ShumateRasterRenderer
1479    //=========================================================================
1480    pub fn shumate_raster_renderer_get_type() -> GType;
1481    pub fn shumate_raster_renderer_new(
1482        data_source: *mut ShumateDataSource,
1483    ) -> *mut ShumateRasterRenderer;
1484    pub fn shumate_raster_renderer_new_from_url(
1485        url_template: *const c_char,
1486    ) -> *mut ShumateRasterRenderer;
1487    pub fn shumate_raster_renderer_new_full(
1488        id: *const c_char,
1489        name: *const c_char,
1490        license: *const c_char,
1491        license_uri: *const c_char,
1492        min_zoom: c_uint,
1493        max_zoom: c_uint,
1494        tile_size: c_uint,
1495        projection: ShumateMapProjection,
1496        data_source: *mut ShumateDataSource,
1497    ) -> *mut ShumateRasterRenderer;
1498    pub fn shumate_raster_renderer_new_full_from_url(
1499        id: *const c_char,
1500        name: *const c_char,
1501        license: *const c_char,
1502        license_uri: *const c_char,
1503        min_zoom: c_uint,
1504        max_zoom: c_uint,
1505        tile_size: c_uint,
1506        projection: ShumateMapProjection,
1507        url_template: *const c_char,
1508    ) -> *mut ShumateRasterRenderer;
1509
1510    //=========================================================================
1511    // ShumateScale
1512    //=========================================================================
1513    pub fn shumate_scale_get_type() -> GType;
1514    pub fn shumate_scale_new(viewport: *mut ShumateViewport) -> *mut ShumateScale;
1515    pub fn shumate_scale_get_max_width(scale: *mut ShumateScale) -> c_uint;
1516    pub fn shumate_scale_get_unit(scale: *mut ShumateScale) -> ShumateUnit;
1517    pub fn shumate_scale_get_viewport(scale: *mut ShumateScale) -> *mut ShumateViewport;
1518    pub fn shumate_scale_set_max_width(scale: *mut ShumateScale, value: c_uint);
1519    pub fn shumate_scale_set_unit(scale: *mut ShumateScale, unit: ShumateUnit);
1520    pub fn shumate_scale_set_viewport(scale: *mut ShumateScale, viewport: *mut ShumateViewport);
1521
1522    //=========================================================================
1523    // ShumateSimpleMap
1524    //=========================================================================
1525    pub fn shumate_simple_map_get_type() -> GType;
1526    pub fn shumate_simple_map_new() -> *mut ShumateSimpleMap;
1527    pub fn shumate_simple_map_add_overlay_layer(
1528        self_: *mut ShumateSimpleMap,
1529        layer: *mut ShumateLayer,
1530    );
1531    #[cfg(feature = "v1_4")]
1532    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1533    pub fn shumate_simple_map_get_base_map_layer(
1534        self_: *mut ShumateSimpleMap,
1535    ) -> *mut ShumateMapLayer;
1536    pub fn shumate_simple_map_get_compass(self_: *mut ShumateSimpleMap) -> *mut ShumateCompass;
1537    pub fn shumate_simple_map_get_license(self_: *mut ShumateSimpleMap) -> *mut ShumateLicense;
1538    pub fn shumate_simple_map_get_map(self_: *mut ShumateSimpleMap) -> *mut ShumateMap;
1539    pub fn shumate_simple_map_get_map_source(self_: *mut ShumateSimpleMap)
1540        -> *mut ShumateMapSource;
1541    pub fn shumate_simple_map_get_scale(self_: *mut ShumateSimpleMap) -> *mut ShumateScale;
1542    pub fn shumate_simple_map_get_show_zoom_buttons(self_: *mut ShumateSimpleMap) -> gboolean;
1543    pub fn shumate_simple_map_get_viewport(self_: *mut ShumateSimpleMap) -> *mut ShumateViewport;
1544    pub fn shumate_simple_map_insert_overlay_layer_above(
1545        self_: *mut ShumateSimpleMap,
1546        layer: *mut ShumateLayer,
1547        sibling: *mut ShumateLayer,
1548    );
1549    pub fn shumate_simple_map_insert_overlay_layer_behind(
1550        self_: *mut ShumateSimpleMap,
1551        layer: *mut ShumateLayer,
1552        sibling: *mut ShumateLayer,
1553    );
1554    pub fn shumate_simple_map_remove_overlay_layer(
1555        self_: *mut ShumateSimpleMap,
1556        layer: *mut ShumateLayer,
1557    );
1558    pub fn shumate_simple_map_set_map_source(
1559        self_: *mut ShumateSimpleMap,
1560        map_source: *mut ShumateMapSource,
1561    );
1562    pub fn shumate_simple_map_set_show_zoom_buttons(
1563        self_: *mut ShumateSimpleMap,
1564        show_zoom_buttons: gboolean,
1565    );
1566
1567    //=========================================================================
1568    // ShumateSymbolEvent
1569    //=========================================================================
1570    #[cfg(feature = "v1_1")]
1571    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1572    pub fn shumate_symbol_event_get_type() -> GType;
1573    #[cfg(feature = "v1_1")]
1574    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1575    pub fn shumate_symbol_event_get_feature_id(self_: *mut ShumateSymbolEvent) -> *const c_char;
1576    #[cfg(feature = "v1_1")]
1577    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1578    pub fn shumate_symbol_event_get_keys(self_: *mut ShumateSymbolEvent) -> c_char;
1579    #[cfg(feature = "v1_1")]
1580    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1581    pub fn shumate_symbol_event_get_layer(self_: *mut ShumateSymbolEvent) -> *const c_char;
1582    #[cfg(feature = "v1_5")]
1583    #[cfg_attr(docsrs, doc(cfg(feature = "v1_5")))]
1584    pub fn shumate_symbol_event_get_n_press(self_: *mut ShumateSymbolEvent) -> c_int;
1585    #[cfg(feature = "v1_1")]
1586    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1587    pub fn shumate_symbol_event_get_source_layer(self_: *mut ShumateSymbolEvent) -> *const c_char;
1588    #[cfg(feature = "v1_1")]
1589    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1590    pub fn shumate_symbol_event_get_tag(
1591        self_: *mut ShumateSymbolEvent,
1592        tag_name: *const c_char,
1593    ) -> *const c_char;
1594
1595    //=========================================================================
1596    // ShumateTile
1597    //=========================================================================
1598    pub fn shumate_tile_get_type() -> GType;
1599    pub fn shumate_tile_new() -> *mut ShumateTile;
1600    pub fn shumate_tile_new_full(
1601        x: c_uint,
1602        y: c_uint,
1603        size: c_uint,
1604        zoom_level: c_uint,
1605    ) -> *mut ShumateTile;
1606    pub fn shumate_tile_get_fade_in(self_: *mut ShumateTile) -> gboolean;
1607    pub fn shumate_tile_get_paintable(self_: *mut ShumateTile) -> *mut gdk::GdkPaintable;
1608    #[cfg(feature = "v1_1")]
1609    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1610    pub fn shumate_tile_get_scale_factor(self_: *mut ShumateTile) -> c_double;
1611    pub fn shumate_tile_get_size(self_: *mut ShumateTile) -> c_uint;
1612    pub fn shumate_tile_get_state(self_: *mut ShumateTile) -> ShumateState;
1613    pub fn shumate_tile_get_x(self_: *mut ShumateTile) -> c_uint;
1614    pub fn shumate_tile_get_y(self_: *mut ShumateTile) -> c_uint;
1615    pub fn shumate_tile_get_zoom_level(self_: *mut ShumateTile) -> c_uint;
1616    pub fn shumate_tile_set_fade_in(self_: *mut ShumateTile, fade_in: gboolean);
1617    pub fn shumate_tile_set_paintable(self_: *mut ShumateTile, paintable: *mut gdk::GdkPaintable);
1618    #[cfg(feature = "v1_1")]
1619    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1620    pub fn shumate_tile_set_scale_factor(self_: *mut ShumateTile, scale_factor: c_double);
1621    pub fn shumate_tile_set_size(self_: *mut ShumateTile, size: c_uint);
1622    pub fn shumate_tile_set_state(self_: *mut ShumateTile, state: ShumateState);
1623    pub fn shumate_tile_set_x(self_: *mut ShumateTile, x: c_uint);
1624    pub fn shumate_tile_set_y(self_: *mut ShumateTile, y: c_uint);
1625    pub fn shumate_tile_set_zoom_level(self_: *mut ShumateTile, zoom_level: c_uint);
1626
1627    //=========================================================================
1628    // ShumateTileDownloader
1629    //=========================================================================
1630    pub fn shumate_tile_downloader_get_type() -> GType;
1631    pub fn shumate_tile_downloader_new(url_template: *const c_char) -> *mut ShumateTileDownloader;
1632
1633    //=========================================================================
1634    // ShumateVectorReader
1635    //=========================================================================
1636    #[cfg(feature = "v1_2")]
1637    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
1638    pub fn shumate_vector_reader_get_type() -> GType;
1639    #[cfg(feature = "v1_2")]
1640    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
1641    pub fn shumate_vector_reader_new(bytes: *mut glib::GBytes) -> *mut ShumateVectorReader;
1642    #[cfg(feature = "v1_2")]
1643    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
1644    pub fn shumate_vector_reader_iterate(
1645        self_: *mut ShumateVectorReader,
1646    ) -> *mut ShumateVectorReaderIter;
1647
1648    //=========================================================================
1649    // ShumateVectorReaderIter
1650    //=========================================================================
1651    #[cfg(feature = "v1_2")]
1652    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
1653    pub fn shumate_vector_reader_iter_get_type() -> GType;
1654    #[cfg(feature = "v1_2")]
1655    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
1656    pub fn shumate_vector_reader_iter_feature_contains_point(
1657        self_: *mut ShumateVectorReaderIter,
1658        x: c_double,
1659        y: c_double,
1660    ) -> gboolean;
1661    #[cfg(feature = "v1_2")]
1662    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
1663    pub fn shumate_vector_reader_iter_get_feature_geometry_type(
1664        self_: *mut ShumateVectorReaderIter,
1665    ) -> ShumateGeometryType;
1666    #[cfg(feature = "v1_2")]
1667    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
1668    pub fn shumate_vector_reader_iter_get_feature_id(self_: *mut ShumateVectorReaderIter) -> u64;
1669    #[cfg(feature = "v1_2")]
1670    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
1671    pub fn shumate_vector_reader_iter_get_feature_keys(
1672        self_: *mut ShumateVectorReaderIter,
1673    ) -> *mut *const c_char;
1674    #[cfg(feature = "v1_2")]
1675    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
1676    pub fn shumate_vector_reader_iter_get_feature_point(
1677        self_: *mut ShumateVectorReaderIter,
1678        x: *mut c_double,
1679        y: *mut c_double,
1680    ) -> gboolean;
1681    #[cfg(feature = "v1_2")]
1682    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
1683    pub fn shumate_vector_reader_iter_get_feature_tag(
1684        self_: *mut ShumateVectorReaderIter,
1685        key: *const c_char,
1686        value: *mut gobject::GValue,
1687    ) -> gboolean;
1688    #[cfg(feature = "v1_2")]
1689    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
1690    pub fn shumate_vector_reader_iter_get_layer_count(
1691        self_: *mut ShumateVectorReaderIter,
1692    ) -> c_uint;
1693    #[cfg(feature = "v1_2")]
1694    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
1695    pub fn shumate_vector_reader_iter_get_layer_extent(
1696        self_: *mut ShumateVectorReaderIter,
1697    ) -> c_uint;
1698    #[cfg(feature = "v1_2")]
1699    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
1700    pub fn shumate_vector_reader_iter_get_layer_feature_count(
1701        self_: *mut ShumateVectorReaderIter,
1702    ) -> c_uint;
1703    #[cfg(feature = "v1_2")]
1704    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
1705    pub fn shumate_vector_reader_iter_get_layer_name(
1706        self_: *mut ShumateVectorReaderIter,
1707    ) -> *const c_char;
1708    #[cfg(feature = "v1_2")]
1709    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
1710    pub fn shumate_vector_reader_iter_get_reader(
1711        self_: *mut ShumateVectorReaderIter,
1712    ) -> *mut ShumateVectorReader;
1713    #[cfg(feature = "v1_2")]
1714    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
1715    pub fn shumate_vector_reader_iter_next_feature(self_: *mut ShumateVectorReaderIter)
1716        -> gboolean;
1717    #[cfg(feature = "v1_2")]
1718    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
1719    pub fn shumate_vector_reader_iter_read_feature(
1720        self_: *mut ShumateVectorReaderIter,
1721        index: c_int,
1722    );
1723    #[cfg(feature = "v1_2")]
1724    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
1725    pub fn shumate_vector_reader_iter_read_layer(self_: *mut ShumateVectorReaderIter, index: c_int);
1726    #[cfg(feature = "v1_2")]
1727    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
1728    pub fn shumate_vector_reader_iter_read_layer_by_name(
1729        self_: *mut ShumateVectorReaderIter,
1730        name: *const c_char,
1731    ) -> gboolean;
1732
1733    //=========================================================================
1734    // ShumateVectorRenderer
1735    //=========================================================================
1736    pub fn shumate_vector_renderer_get_type() -> GType;
1737    pub fn shumate_vector_renderer_new(
1738        id: *const c_char,
1739        style_json: *const c_char,
1740        error: *mut *mut glib::GError,
1741    ) -> *mut ShumateVectorRenderer;
1742    pub fn shumate_vector_renderer_is_supported() -> gboolean;
1743    #[cfg(feature = "v1_1")]
1744    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1745    pub fn shumate_vector_renderer_get_sprite_sheet(
1746        self_: *mut ShumateVectorRenderer,
1747    ) -> *mut ShumateVectorSpriteSheet;
1748    #[cfg(feature = "v1_2")]
1749    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
1750    pub fn shumate_vector_renderer_set_data_source(
1751        self_: *mut ShumateVectorRenderer,
1752        name: *const c_char,
1753        data_source: *mut ShumateDataSource,
1754    );
1755    #[cfg(feature = "v1_1")]
1756    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1757    pub fn shumate_vector_renderer_set_sprite_sheet(
1758        self_: *mut ShumateVectorRenderer,
1759        sprites: *mut ShumateVectorSpriteSheet,
1760    );
1761    pub fn shumate_vector_renderer_set_sprite_sheet_data(
1762        self_: *mut ShumateVectorRenderer,
1763        sprites_pixbuf: *mut gdk_pixbuf::GdkPixbuf,
1764        sprites_json: *const c_char,
1765        error: *mut *mut glib::GError,
1766    ) -> gboolean;
1767
1768    //=========================================================================
1769    // ShumateVectorSprite
1770    //=========================================================================
1771    #[cfg(feature = "v1_1")]
1772    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1773    pub fn shumate_vector_sprite_get_type() -> GType;
1774    #[cfg(feature = "v1_1")]
1775    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1776    pub fn shumate_vector_sprite_new(
1777        source_paintable: *mut gdk::GdkPaintable,
1778    ) -> *mut ShumateVectorSprite;
1779    #[cfg(feature = "v1_1")]
1780    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1781    pub fn shumate_vector_sprite_new_full(
1782        source_paintable: *mut gdk::GdkPaintable,
1783        width: c_int,
1784        height: c_int,
1785        scale_factor: c_double,
1786        source_rect: *mut gdk::GdkRectangle,
1787    ) -> *mut ShumateVectorSprite;
1788    #[cfg(feature = "v1_1")]
1789    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1790    pub fn shumate_vector_sprite_get_height(self_: *mut ShumateVectorSprite) -> c_int;
1791    #[cfg(feature = "v1_1")]
1792    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1793    pub fn shumate_vector_sprite_get_scale_factor(self_: *mut ShumateVectorSprite) -> c_double;
1794    #[cfg(feature = "v1_1")]
1795    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1796    pub fn shumate_vector_sprite_get_source_paintable(
1797        self_: *mut ShumateVectorSprite,
1798    ) -> *mut gdk::GdkPaintable;
1799    #[cfg(feature = "v1_1")]
1800    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1801    pub fn shumate_vector_sprite_get_source_rect(
1802        self_: *mut ShumateVectorSprite,
1803    ) -> *mut gdk::GdkRectangle;
1804    #[cfg(feature = "v1_1")]
1805    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1806    pub fn shumate_vector_sprite_get_width(self_: *mut ShumateVectorSprite) -> c_int;
1807
1808    //=========================================================================
1809    // ShumateVectorSpriteSheet
1810    //=========================================================================
1811    #[cfg(feature = "v1_1")]
1812    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1813    pub fn shumate_vector_sprite_sheet_get_type() -> GType;
1814    #[cfg(feature = "v1_1")]
1815    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1816    pub fn shumate_vector_sprite_sheet_new() -> *mut ShumateVectorSpriteSheet;
1817    #[cfg(feature = "v1_1")]
1818    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1819    pub fn shumate_vector_sprite_sheet_add_page(
1820        self_: *mut ShumateVectorSpriteSheet,
1821        texture: *mut gdk::GdkTexture,
1822        json: *const c_char,
1823        default_scale: c_double,
1824        error: *mut *mut glib::GError,
1825    ) -> gboolean;
1826    #[cfg(feature = "v1_1")]
1827    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1828    pub fn shumate_vector_sprite_sheet_add_sprite(
1829        self_: *mut ShumateVectorSpriteSheet,
1830        name: *const c_char,
1831        sprite: *mut ShumateVectorSprite,
1832    );
1833    #[cfg(feature = "v1_1")]
1834    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1835    pub fn shumate_vector_sprite_sheet_get_sprite(
1836        self_: *mut ShumateVectorSpriteSheet,
1837        name: *const c_char,
1838        scale: c_double,
1839    ) -> *mut ShumateVectorSprite;
1840    #[cfg(feature = "v1_1")]
1841    #[cfg_attr(docsrs, doc(cfg(feature = "v1_1")))]
1842    pub fn shumate_vector_sprite_sheet_set_fallback(
1843        self_: *mut ShumateVectorSpriteSheet,
1844        fallback: ShumateVectorSpriteFallbackFunc,
1845        user_data: gpointer,
1846        notify: glib::GDestroyNotify,
1847    );
1848
1849    //=========================================================================
1850    // ShumateViewport
1851    //=========================================================================
1852    pub fn shumate_viewport_get_type() -> GType;
1853    pub fn shumate_viewport_new() -> *mut ShumateViewport;
1854    pub fn shumate_viewport_get_max_zoom_level(self_: *mut ShumateViewport) -> c_uint;
1855    pub fn shumate_viewport_get_min_zoom_level(self_: *mut ShumateViewport) -> c_uint;
1856    pub fn shumate_viewport_get_reference_map_source(
1857        self_: *mut ShumateViewport,
1858    ) -> *mut ShumateMapSource;
1859    pub fn shumate_viewport_get_rotation(self_: *mut ShumateViewport) -> c_double;
1860    pub fn shumate_viewport_get_zoom_level(self_: *mut ShumateViewport) -> c_double;
1861    pub fn shumate_viewport_location_to_widget_coords(
1862        self_: *mut ShumateViewport,
1863        widget: *mut gtk::GtkWidget,
1864        latitude: c_double,
1865        longitude: c_double,
1866        x: *mut c_double,
1867        y: *mut c_double,
1868    );
1869    pub fn shumate_viewport_set_max_zoom_level(self_: *mut ShumateViewport, max_zoom_level: c_uint);
1870    pub fn shumate_viewport_set_min_zoom_level(self_: *mut ShumateViewport, min_zoom_level: c_uint);
1871    pub fn shumate_viewport_set_reference_map_source(
1872        self_: *mut ShumateViewport,
1873        map_source: *mut ShumateMapSource,
1874    );
1875    pub fn shumate_viewport_set_rotation(self_: *mut ShumateViewport, rotation: c_double);
1876    pub fn shumate_viewport_set_zoom_level(self_: *mut ShumateViewport, zoom_level: c_double);
1877    pub fn shumate_viewport_widget_coords_to_location(
1878        self_: *mut ShumateViewport,
1879        widget: *mut gtk::GtkWidget,
1880        x: c_double,
1881        y: c_double,
1882        latitude: *mut c_double,
1883        longitude: *mut c_double,
1884    );
1885
1886    //=========================================================================
1887    // ShumateLocation
1888    //=========================================================================
1889    pub fn shumate_location_get_type() -> GType;
1890    #[cfg(feature = "v1_2")]
1891    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
1892    pub fn shumate_location_distance(
1893        self_: *mut ShumateLocation,
1894        other: *mut ShumateLocation,
1895    ) -> c_double;
1896    pub fn shumate_location_get_latitude(location: *mut ShumateLocation) -> c_double;
1897    pub fn shumate_location_get_longitude(location: *mut ShumateLocation) -> c_double;
1898    pub fn shumate_location_set_location(
1899        location: *mut ShumateLocation,
1900        latitude: c_double,
1901        longitude: c_double,
1902    );
1903
1904    //=========================================================================
1905    // Other functions
1906    //=========================================================================
1907    pub fn shumate_get_user_agent() -> *const c_char;
1908    pub fn shumate_set_user_agent(new_user_agent: *const c_char);
1909
1910}