figma-api 0.31.4

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).
Documentation
/*
 * 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};

/// Region : Position of a region comment on the canvas.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Region {
    /// X coordinate of the position.
    #[serde(rename = "x")]
    pub x: f64,
    /// Y coordinate of the position.
    #[serde(rename = "y")]
    pub y: f64,
    /// The height of the comment region. Must be greater than 0.
    #[serde(rename = "region_height")]
    pub region_height: f64,
    /// The width of the comment region. Must be greater than 0.
    #[serde(rename = "region_width")]
    pub region_width: f64,
    /// The corner of the comment region to pin to the node's corner as a string enum.
    #[serde(rename = "comment_pin_corner", skip_serializing_if = "Option::is_none")]
    pub comment_pin_corner: Option<CommentPinCorner>,
}

impl Region {
    /// Position of a region comment on the canvas.
    pub fn new(x: f64, y: f64, region_height: f64, region_width: f64) -> Region {
        Region {
            x,
            y,
            region_height,
            region_width,
            comment_pin_corner: None,
        }
    }
}
/// The corner of the comment region to pin to the node's corner as a string enum.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum CommentPinCorner {
    #[serde(rename = "top-left")]
    TopLeft,
    #[serde(rename = "top-right")]
    TopRight,
    #[serde(rename = "bottom-left")]
    BottomLeft,
    #[serde(rename = "bottom-right")]
    BottomRight,
}

impl Default for CommentPinCorner {
    fn default() -> CommentPinCorner {
        Self::TopLeft
    }
}