tauri_plugin_ntb/
models.rs1use 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}