use num_derive::{FromPrimitive, ToPrimitive};
use serde::Serialize;
#[derive(
Default, FromPrimitive, PartialEq, Clone, Copy, Debug, Serialize, ToPrimitive, strum::Display,
)]
pub enum Technology {
#[default]
Unknown = 0x00000000,
DigitalCamera = 0x6463616D,
FilmScanner = 0x6673636E,
ReflectiveScanner = 0x7273636E,
InkJetPrinter = 0x696A6574,
ThermalWaxPrinter = 0x74776178,
ElectrophotographicPrinter = 0x6570686F,
ElectrostaticPrinter = 0x65737461,
DyeSublimationPrinter = 0x64737562,
PhotographicPaperPrinter = 0x7270686F,
FilmWriter = 0x6670726E,
VideoMonitor = 0x7669646D,
VideoCamera = 0x76696463,
ProjectionTelevision = 0x706A7476,
CRTDisplay = 0x43525420,
PMDisplay = 0x504D4420,
AMDisplay = 0x414D4420,
PhotoCD = 0x4B504344,
PhotoImageSetter = 0x696D6773,
Gravure = 0x67726176,
OffsetLithography = 0x6F666673,
Silkscreen = 0x73696C6B,
Flexography = 0x666C6578,
MotionPictureFilmScanner = 0x6D706673,
MotionPictureFilmRecorder = 0x6D706672,
DigitalMotionPictureCamera = 0x646D7063,
DigitalCinemaProjector = 0x64636A70,
}