1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
use serde::{Deserialize, Serialize};
///This object describes the position on faces where a mask should be placed by default.
///API Reference: [link](https://core.telegram.org/bots/api/#maskposition)
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct MaskPosition {
///The part of the face relative to which the mask should be placed. One of “forehead”, “eyes”, “mouth”, or “chin”.
pub point: MaskPositionPoint,
///Shift by X-axis measured in widths of the mask scaled to the face size, from left to right. For example, choosing -1.0 will place mask just to the left of the default mask position.
pub x_shift: f64,
///Shift by Y-axis measured in heights of the mask scaled to the face size, from top to bottom. For example, 1.0 will place the mask just below the default mask position.
pub y_shift: f64,
///Mask scaling coefficient. For example, 2.0 means double size.
pub scale: f64,
}
///The part of the face relative to which the mask should be placed. One of “forehead”, “eyes”, “mouth”, or “chin”.
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[serde(rename = "point")]
pub enum MaskPositionPoint {
#[default]
/// "forehead"
#[serde(rename = "forehead")]
Forehead,
/// "eyes"
#[serde(rename = "eyes")]
Eyes,
/// "mouth"
#[serde(rename = "mouth")]
Mouth,
/// "chin"
#[serde(rename = "chin")]
Chin,
}
// Divider: all content below this line will be preserved after code regen