winprint_ext/ticket/
page_orientation.rs1use super::{
2 define_feature_option_pack,
3 document::{ParameterInit, PrintFeatureOption, NS_PSK},
4 PredefinedPageOrientation,
5};
6use xml::name::OwnedName;
7
8define_feature_option_pack!(
9 OwnedName::qualified("PageOrientation", NS_PSK, Some("psk")),
10 PageOrientation,
11 PredefinedPageOrientation
12);
13
14#[cfg(test)]
15mod tests {
16 use crate::{
17 test_utils::null_device,
18 ticket::{
19 FeatureOptionPack, FeatureOptionPackWithPredefined, PredefinedPageOrientation,
20 PrintCapabilities, PrintTicketBuilder,
21 },
22 };
23 #[test]
24 fn use_landscape() {
25 let device = null_device::thread_local();
26 let capabilities = PrintCapabilities::fetch(&device).unwrap();
27 let option = capabilities
28 .page_orientations()
29 .find(|x| x.as_predefined_name() == Some(PredefinedPageOrientation::Landscape))
30 .unwrap();
31 println!("Using {:?}", option.display_name());
32 let mut builder = PrintTicketBuilder::new(&device).unwrap();
33 builder.merge(option).unwrap();
34 }
35}