/*
* Figma API
*
* This is the OpenAPI specification for the [Figma REST API](https://www.figma.com/developers/api). Note: we are releasing the OpenAPI specification as a beta given the large surface area and complexity of the REST API. If you notice any inaccuracies with the specification, please [file an issue](https://github.com/figma/rest-api-spec/issues).
*
* The version of the OpenAPI document: 0.31.0
* Contact: support@figma.com
* Generated by: https://openapi-generator.tech
*/
use crate::models;
use serde::{Deserialize, Serialize};
/// EasingType : This type is a string enum with the following possible values: - `EASE_IN`: Ease in with an animation curve similar to CSS ease-in. - `EASE_OUT`: Ease out with an animation curve similar to CSS ease-out. - `EASE_IN_AND_OUT`: Ease in and then out with an animation curve similar to CSS ease-in-out. - `LINEAR`: No easing, similar to CSS linear. - `EASE_IN_BACK`: Ease in with an animation curve that moves past the initial keyframe's value and then accelerates as it reaches the end. - `EASE_OUT_BACK`: Ease out with an animation curve that starts fast, then slows and goes past the ending keyframe's value. - `EASE_IN_AND_OUT_BACK`: Ease in and then out with an animation curve that overshoots the initial keyframe's value, then accelerates quickly before it slows and overshoots the ending keyframes value. - `CUSTOM_CUBIC_BEZIER`: User-defined cubic bezier curve. - `GENTLE`: Gentle animation similar to react-spring. - `QUICK`: Quick spring animation, great for toasts and notifications. - `BOUNCY`: Bouncy spring, for delightful animations like a heart bounce. - `SLOW`: Slow spring, useful as a steady, natural way to scale up fullscreen content. - `CUSTOM_SPRING`: User-defined spring animation.
/// This type is a string enum with the following possible values: - `EASE_IN`: Ease in with an animation curve similar to CSS ease-in. - `EASE_OUT`: Ease out with an animation curve similar to CSS ease-out. - `EASE_IN_AND_OUT`: Ease in and then out with an animation curve similar to CSS ease-in-out. - `LINEAR`: No easing, similar to CSS linear. - `EASE_IN_BACK`: Ease in with an animation curve that moves past the initial keyframe's value and then accelerates as it reaches the end. - `EASE_OUT_BACK`: Ease out with an animation curve that starts fast, then slows and goes past the ending keyframe's value. - `EASE_IN_AND_OUT_BACK`: Ease in and then out with an animation curve that overshoots the initial keyframe's value, then accelerates quickly before it slows and overshoots the ending keyframes value. - `CUSTOM_CUBIC_BEZIER`: User-defined cubic bezier curve. - `GENTLE`: Gentle animation similar to react-spring. - `QUICK`: Quick spring animation, great for toasts and notifications. - `BOUNCY`: Bouncy spring, for delightful animations like a heart bounce. - `SLOW`: Slow spring, useful as a steady, natural way to scale up fullscreen content. - `CUSTOM_SPRING`: User-defined spring animation.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum EasingType {
#[serde(rename = "EASE_IN")]
EaseIn,
#[serde(rename = "EASE_OUT")]
EaseOut,
#[serde(rename = "EASE_IN_AND_OUT")]
EaseInAndOut,
#[serde(rename = "LINEAR")]
Linear,
#[serde(rename = "EASE_IN_BACK")]
EaseInBack,
#[serde(rename = "EASE_OUT_BACK")]
EaseOutBack,
#[serde(rename = "EASE_IN_AND_OUT_BACK")]
EaseInAndOutBack,
#[serde(rename = "CUSTOM_CUBIC_BEZIER")]
CustomCubicBezier,
#[serde(rename = "GENTLE")]
Gentle,
#[serde(rename = "QUICK")]
Quick,
#[serde(rename = "BOUNCY")]
Bouncy,
#[serde(rename = "SLOW")]
Slow,
#[serde(rename = "CUSTOM_SPRING")]
CustomSpring,
}
impl std::fmt::Display for EasingType {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::EaseIn => write!(f, "EASE_IN"),
Self::EaseOut => write!(f, "EASE_OUT"),
Self::EaseInAndOut => write!(f, "EASE_IN_AND_OUT"),
Self::Linear => write!(f, "LINEAR"),
Self::EaseInBack => write!(f, "EASE_IN_BACK"),
Self::EaseOutBack => write!(f, "EASE_OUT_BACK"),
Self::EaseInAndOutBack => write!(f, "EASE_IN_AND_OUT_BACK"),
Self::CustomCubicBezier => write!(f, "CUSTOM_CUBIC_BEZIER"),
Self::Gentle => write!(f, "GENTLE"),
Self::Quick => write!(f, "QUICK"),
Self::Bouncy => write!(f, "BOUNCY"),
Self::Slow => write!(f, "SLOW"),
Self::CustomSpring => write!(f, "CUSTOM_SPRING"),
}
}
}
impl Default for EasingType {
fn default() -> EasingType {
Self::EaseIn
}
}