This repository has no description
1use crate::{Transformation, graphics::TransformationType};
2use wasm_bindgen::prelude::*;
3
4#[wasm_bindgen(getter_with_clone)]
5#[derive(Debug, Clone)]
6pub struct TransformationWASM {
7 pub kind: TransformationType,
8 pub parameters: Vec<f32>,
9}
10
11impl From<TransformationWASM> for Transformation {
12 fn from(transformation: TransformationWASM) -> Self {
13 match transformation.kind {
14 TransformationType::Scale => Transformation::Scale(
15 transformation.parameters[0],
16 transformation.parameters[1],
17 ),
18 TransformationType::Rotate => {
19 Transformation::Rotate(transformation.parameters[0])
20 }
21 TransformationType::Skew => Transformation::Skew(
22 transformation.parameters[0],
23 transformation.parameters[1],
24 ),
25 TransformationType::Matrix => Transformation::Matrix(
26 transformation.parameters[0],
27 transformation.parameters[1],
28 transformation.parameters[2],
29 transformation.parameters[3],
30 transformation.parameters[4],
31 transformation.parameters[5],
32 ),
33 }
34 }
35}