tauri_plugin_ntb/
models.rs

1use serde::{Deserialize, Serialize};
2#[cfg(target_os = "linux")]
3use zvariant::OwnedValue;
4#[cfg(target_os = "linux")]
5use zvariant::Type;
6
7#[derive(Debug, Deserialize, Serialize)]
8#[serde(rename_all_fields = "camelCase", tag = "type")]
9pub enum DragBehavior {
10    Immediate,
11    Threshold { threshold: u16 },
12}
13
14#[derive(Debug, Deserialize, Serialize)]
15#[serde(rename_all_fields = "camelCase")]
16pub enum WindowControl {
17    Minimize,
18    Maximize,
19    Close,
20}
21
22#[derive(Debug, Deserialize, Serialize)]
23#[serde(rename_all = "camelCase")]
24pub struct WindowControls {
25    pub left: Vec<WindowControl>,
26    pub right: Vec<WindowControl>,
27}
28
29#[derive(Debug, Deserialize, Serialize)]
30#[serde(rename_all_fields = "camelCase", tag = "type")]
31pub(crate) enum WindowControlImage {
32    SVG { svg: String },
33    Text { font: String, size: Option<u32>, text: String },
34}
35
36#[cfg(target_os = "linux")]
37#[derive(Debug, Deserialize, Type, OwnedValue)]
38pub(crate) struct GResourceData {
39    pub size: u32,
40    pub flags: u32,
41    pub content: Vec<u8>,
42}