Use serde to serialize responses (#96)

This commit is contained in:
TrueDoctor
2021-05-02 22:46:47 +02:00
committed by Keavon Chambers
parent f10a3c63d1
commit f8ebff033d
13 changed files with 99 additions and 45 deletions

View File

@@ -11,3 +11,4 @@ license = "Apache-2.0"
[dependencies]
log = "0.4"
kurbo = "0.8.0"
serde = { version = "1.0", features = ["derive"] }

View File

@@ -1,5 +1,7 @@
use serde::{Deserialize, Serialize};
#[repr(C)]
#[derive(Debug, Clone, Copy, PartialEq, Default)]
#[derive(Debug, Clone, Copy, PartialEq, Default, Serialize, Deserialize)]
pub struct Color {
red: f32,
green: f32,

View File

@@ -1,7 +1,8 @@
use crate::color::Color;
use serde::{Deserialize, Serialize};
#[repr(C)]
#[derive(Debug, Clone, Copy, PartialEq, Default)]
#[derive(Debug, Clone, Copy, PartialEq, Default, Serialize, Deserialize)]
pub struct Fill {
color: Option<Color>,
}
@@ -21,7 +22,7 @@ impl Fill {
}
#[repr(C)]
#[derive(Debug, Clone, Copy, PartialEq, Default)]
#[derive(Debug, Clone, Copy, PartialEq, Default, Serialize, Deserialize)]
pub struct Stroke {
color: Color,
width: f32,
@@ -37,7 +38,7 @@ impl Stroke {
}
#[repr(C)]
#[derive(Debug, Clone, Copy, PartialEq, Default)]
#[derive(Debug, Clone, Copy, PartialEq, Default, Serialize, Deserialize)]
pub struct PathStyle {
stroke: Option<Stroke>,
fill: Option<Fill>,

View File

@@ -1,6 +1,8 @@
use crate::{layers::style, LayerId};
#[derive(Debug, Clone, PartialEq)]
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
pub enum Operation {
AddCircle {
path: Vec<LayerId>,

View File

@@ -1,14 +1,15 @@
use crate::LayerId;
use serde::{Deserialize, Serialize};
use std::fmt;
#[derive(Debug, Clone)]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LayerPanelEntry {
pub name: String,
pub visible: bool,
pub layer_type: LayerType,
}
#[derive(Debug, Clone)]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum LayerType {
Folder,
Shape,
@@ -25,7 +26,7 @@ impl fmt::Display for LayerType {
}
}
#[derive(Debug, Clone)]
#[derive(Debug, Clone, Serialize, Deserialize)]
#[repr(C)]
// TODO - Make Copy when possible
pub enum DocumentResponse {