gltf_v1_json/extensions/
image.rs

1#[allow(unused_imports)] // different features use different imports
2use crate::{BufferView, StringIndex, validation::USize64};
3use gltf_v1_derive::Validate;
4use serde_derive::{Deserialize, Serialize};
5#[cfg(feature = "extensions")]
6use serde_json::{Map, Value};
7
8#[cfg(feature = "KHR_binary_glTF")]
9#[derive(Clone, Debug, Deserialize, Serialize, Validate)]
10pub struct BinaryImage {
11    #[serde(rename = "bufferView")]
12    pub buffer_view: StringIndex<BufferView>,
13    #[serde(rename = "mimeType")]
14    pub mime_type: String,
15    pub width: USize64,
16    pub height: USize64,
17}
18
19#[derive(Clone, Debug, Default, Deserialize, Serialize, Validate)]
20pub struct Image {
21    #[cfg(feature = "KHR_binary_glTF")]
22    #[serde(rename = "KHR_binary_glTF")]
23    pub khr_binary_gltf: Option<BinaryImage>,
24    #[cfg(feature = "extensions")]
25    #[serde(default, flatten)]
26    pub others: Map<String, Value>,
27}