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};

/// FrameOffsetRegion : Position of a region comment relative to the frame to which it is attached.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct FrameOffsetRegion {
    /// Unique id specifying the frame.
    #[serde(rename = "node_id")]
    pub node_id: String,
    /// 2D vector offset within the frame from the top-left corner.
    #[serde(rename = "node_offset")]
    pub node_offset: Box<models::Vector>,
    /// 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 FrameOffsetRegion {
    /// Position of a region comment relative to the frame to which it is attached.
    pub fn new(node_id: String, node_offset: models::Vector, region_height: f64, region_width: f64) -> FrameOffsetRegion {
        FrameOffsetRegion {
            node_id,
            node_offset: Box::new(node_offset),
            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
    }
}