1use cocoa::base::{id, BOOL};
2use cocoa::foundation::{NSRect, NSSize, NSUInteger};
3use crate::constants::ICEXIFOrientationType;
4use core_graphics::base::CGFloat;
5use core_graphics::image::CGImageRef;
6use libc::c_uchar;
7use objc::*;
8
9#[repr(u64)]
11#[derive(Clone, Copy, Debug, PartialEq)]
12pub enum ICScannerFunctionalUnitType {
13 ICScannerFunctionalUnitTypeFlatbed = 0,
15 ICScannerFunctionalUnitTypePositiveTransparency = 1,
17 ICScannerFunctionalUnitTypeNegativeTransparency = 2,
19 ICScannerFunctionalUnitTypeDocumentFeeder = 3,
21}
22
23#[repr(u64)]
26#[derive(Clone, Copy, Debug, PartialEq)]
27pub enum ICScannerMeasurementUnit {
28 ICScannerMeasurementUnitInches = 0,
29 ICScannerMeasurementUnitCentimeters = 1,
30 ICScannerMeasurementUnitPicas = 2,
31 ICScannerMeasurementUnitPoints = 3,
32 ICScannerMeasurementUnitTwips = 4,
33 ICScannerMeasurementUnitPixels = 5,
34}
35
36#[repr(u64)]
39#[derive(Clone, Copy, Debug, PartialEq)]
40pub enum ICScannerBitDepth {
41 ICScannerBitDepth1Bit = 1,
42 ICScannerBitDepth8Bits = 8,
43 ICScannerBitDepth16Bits = 16,
44}
45
46#[repr(u64)]
49#[derive(Clone, Copy, Debug, PartialEq)]
50pub enum ICScannerColorDataFormatType {
51 ICScannerColorDataFormatTypeChunky = 0,
53 ICScannerColorDataFormatTypePlanar = 1,
55}
56
57#[repr(u64)]
60#[derive(Clone, Copy, Debug, PartialEq)]
61pub enum ICScannerPixelDataType {
62 ICScannerPixelDataTypeBW = 0,
64 ICScannerPixelDataTypeGray = 1,
66 ICScannerPixelDataTypeRGB = 2,
68 ICScannerPixelDataTypePalette = 3,
70 ICScannerPixelDataTypeCMY = 4,
72 ICScannerPixelDataTypeCMYK = 5,
74 ICScannerPixelDataTypeYUV = 6,
76 ICScannerPixelDataTypeYUVK = 7,
78 ICScannerPixelDataTypeCIEXYZ = 8,
80}
81
82#[repr(u64)]
85#[derive(Clone, Copy, Debug, PartialEq)]
86pub enum ICScannerDocumentType {
87 ICScannerDocumentTypeDefault = 0,
88 ICScannerDocumentTypeA4 = 1,
89 ICScannerDocumentTypeB5 = 2,
90 ICScannerDocumentTypeUSLetter = 3,
91 ICScannerDocumentTypeUSLegal = 4,
92 ICScannerDocumentTypeA5 = 5,
93 ICScannerDocumentTypeISOB4 = 6,
94 ICScannerDocumentTypeISOB6 = 7,
95 ICScannerDocumentTypeUSLedger = 9,
96 ICScannerDocumentTypeUSExecutive = 10,
97 ICScannerDocumentTypeA3 = 11,
98 ICScannerDocumentTypeISOB3 = 12,
99 ICScannerDocumentTypeA6 = 13,
100 ICScannerDocumentTypeC4 = 14,
101 ICScannerDocumentTypeC5 = 15,
102 ICScannerDocumentTypeC6 = 16,
103 ICScannerDocumentType4A0 = 17,
104 ICScannerDocumentType2A0 = 18,
105 ICScannerDocumentTypeA0 = 19,
106 ICScannerDocumentTypeA1 = 20,
107 ICScannerDocumentTypeA2 = 21,
108 ICScannerDocumentTypeA7 = 22,
109 ICScannerDocumentTypeA8 = 23,
110 ICScannerDocumentTypeA9 = 24,
111 ICScannerDocumentType10 = 25,
112 ICScannerDocumentTypeISOB0 = 26,
113 ICScannerDocumentTypeISOB1 = 27,
114 ICScannerDocumentTypeISOB2 = 28,
115 ICScannerDocumentTypeISOB5 = 29,
116 ICScannerDocumentTypeISOB7 = 30,
117 ICScannerDocumentTypeISOB8 = 31,
118 ICScannerDocumentTypeISOB9 = 32,
119 ICScannerDocumentTypeISOB10 = 33,
120 ICScannerDocumentTypeJISB0 = 34,
121 ICScannerDocumentTypeJISB1 = 35,
122 ICScannerDocumentTypeJISB2 = 36,
123 ICScannerDocumentTypeJISB3 = 37,
124 ICScannerDocumentTypeJISB4 = 38,
125 ICScannerDocumentTypeJISB6 = 39,
126 ICScannerDocumentTypeJISB7 = 40,
127 ICScannerDocumentTypeJISB8 = 41,
128 ICScannerDocumentTypeJISB9 = 42,
129 ICScannerDocumentTypeJISB10 = 43,
130 ICScannerDocumentTypeC0 = 44,
131 ICScannerDocumentTypeC1 = 45,
132 ICScannerDocumentTypeC2 = 46,
133 ICScannerDocumentTypeC3 = 47,
134 ICScannerDocumentTypeC7 = 48,
135 ICScannerDocumentTypeC8 = 49,
136 ICScannerDocumentTypeC9 = 50,
137 ICScannerDocumentTypeC10 = 51,
138 ICScannerDocumentTypeUSStatement = 52,
139 ICScannerDocumentTypeBusinessCard = 53,
140 ICScannerDocumentTypeE = 60,
141 ICScannerDocumentType3R = 61,
142 ICScannerDocumentType4R = 62,
143 ICScannerDocumentType5R = 63,
144 ICScannerDocumentType6R = 64,
145 ICScannerDocumentType8R = 65,
146 ICScannerDocumentTypeS8R = 66,
147 ICScannerDocumentType10R = 67,
148 ICScannerDocumentTypeS10R = 68,
149 ICScannerDocumentType11R = 69,
150 ICScannerDocumentType12R = 70,
151 ICScannerDocumentTypeS12R = 71,
152 ICScannerDocumentType110 = 72,
153 ICScannerDocumentTypeAPSH = 73,
154 ICScannerDocumentTypeAPSC = 74,
155 ICScannerDocumentTypeAPSP = 75,
156 ICScannerDocumentType135 = 76,
157 ICScannerDocumentTypeMF = 77,
158 ICScannerDocumentTypeLF = 78,
159}
160
161#[repr(u64)]
163#[derive(Clone, Copy, Debug, PartialEq)]
164pub enum ICScannerFunctionalUnitState {
165 ICScannerFunctionalUnitStateReady = (1 << 0),
167 ICScannerFunctionalUnitStateScanInProgress = (1 << 1),
169 ICScannerFunctionalUnitStateOverviewScanInProgress = (1 << 2),
171}
172
173#[repr(u64)]
175#[derive(Clone, Copy, Debug, PartialEq)]
176pub enum ICScannerFeatureType {
177 ICScannerFeatureTypeEnumeration = 0,
179 ICScannerFeatureTypeRange = 1,
181 ICScannerFeatureTypeBoolean = 2,
183 ICScannerFeatureTypeTemplate = 3,
184}
185
186pub trait ICScannerFeature: Sized {
188 unsafe fn type_(self) -> ICScannerFeatureType;
190 unsafe fn internalName(self) -> id;
192 unsafe fn humanReadableName(self) -> id;
194 unsafe fn tooltip(self) -> id;
196}
197
198impl ICScannerFeature for id {
199 unsafe fn type_(self) -> ICScannerFeatureType {
200 msg_send![self, type]
201 }
202
203 unsafe fn internalName(self) -> id {
204 msg_send![self, internalName]
205 }
206 unsafe fn humanReadableName(self) -> id {
207 msg_send![self, humanReadableName]
208 }
209 unsafe fn tooltip(self) -> id {
210 msg_send![self, tooltip]
211 }
212}
213
214pub trait ICScannerFeatureEnumeration: Sized {
216 unsafe fn currentValue(self) -> id;
218 unsafe fn setCurrentValue(self, currentValue: id);
220 unsafe fn defaultValue(self) -> id;
222 unsafe fn values(self) -> id;
224 unsafe fn menuItemLabels(self) -> id;
226 unsafe fn menuItemLabelsTooltips(self) -> id;
228}
229
230impl ICScannerFeatureEnumeration for id {
231 unsafe fn currentValue(self) -> id {
232 msg_send![self, currentValue]
233 }
234
235 unsafe fn setCurrentValue(self, currentValue: id) {
236 msg_send![self, setCurrentValue: currentValue]
237 }
238
239 unsafe fn defaultValue(self) -> id {
240 msg_send![self, defaultValue]
241 }
242
243 unsafe fn values(self) -> id {
244 msg_send![self, values]
245 }
246
247 unsafe fn menuItemLabels(self) -> id {
248 msg_send![self, menuItemLabels]
249 }
250
251 unsafe fn menuItemLabelsTooltips(self) -> id {
252 msg_send![self, menuItemLabelsTooltips]
253 }
254}
255
256pub trait ICScannerFeatureRange: Sized {
258 unsafe fn currentValue(self) -> CGFloat;
260 unsafe fn setCurrentValue(self, currentValue: CGFloat);
262 unsafe fn defaultValue(self) -> CGFloat;
264 unsafe fn minValue(self) -> CGFloat;
266 unsafe fn maxValue(self) -> CGFloat;
268 unsafe fn stepSize(self) -> CGFloat;
270}
271
272impl ICScannerFeatureRange for id {
273 unsafe fn currentValue(self) -> CGFloat {
274 msg_send![self, currentValue]
275 }
276
277 unsafe fn setCurrentValue(self, currentValue: CGFloat) {
278 msg_send![self, setCurrentValue: currentValue]
279 }
280
281 unsafe fn defaultValue(self) -> CGFloat {
282 msg_send![self, defaultValue]
283 }
284
285 unsafe fn minValue(self) -> CGFloat {
286 msg_send![self, minValue]
287 }
288
289 unsafe fn maxValue(self) -> CGFloat {
290 msg_send![self, maxValue]
291 }
292
293 unsafe fn stepSize(self) -> CGFloat {
294 msg_send![self, stepSize]
295 }
296}
297
298pub trait ICScannerFeatureBoolean: Sized {
300 unsafe fn value(self) -> BOOL;
302 unsafe fn setValue(self, value: BOOL);
304}
305
306impl ICScannerFeatureBoolean for id {
307 unsafe fn value(self) -> BOOL {
308 msg_send![self, value]
309 }
310
311 unsafe fn setValue(self, value: BOOL) {
312 msg_send![self, setValue: value]
313 }
314}
315
316pub trait ICScannerFeatureTemplate: Sized {
318 unsafe fn targets(self) -> id;
319}
320
321impl ICScannerFeatureTemplate for id {
322 unsafe fn targets(self) -> id {
323 msg_send![self, targets]
324 }
325}
326
327pub trait ICScannerFunctionalUnit: Sized {
331 unsafe fn type_(self) -> ICScannerFunctionalUnitType;
333 unsafe fn pixelDataType(self) -> ICScannerPixelDataType;
335 unsafe fn setPixelDataType(self, pixelDataType: ICScannerPixelDataType);
337 unsafe fn supportedBitDepths(self) -> id;
339 unsafe fn bitDepth(self) -> ICScannerBitDepth;
341 unsafe fn setBitDepth(self, bitDepth: ICScannerBitDepth);
343 unsafe fn supportedMeasurementUnits(self) -> id;
345 unsafe fn measurementUnit(self) -> ICScannerMeasurementUnit;
347 unsafe fn setMeasurementUnit(self, measurementUnit: ICScannerMeasurementUnit);
349 unsafe fn supportedResolutions(self) -> id;
351 unsafe fn preferredResolutions(self) -> id;
353 unsafe fn resolution(self) -> NSUInteger;
355 unsafe fn setResolution(self, resolution: NSUInteger);
357 unsafe fn nativeXResolution(self) -> NSUInteger;
359 unsafe fn nativeYResolution(self) -> NSUInteger;
361 unsafe fn supportedScaleFactors(self) -> id;
363 unsafe fn preferredScaleFactors(self) -> id;
365 unsafe fn scaleFactor(self) -> NSUInteger;
367 unsafe fn setScaleFactor(self, scaleFactor: NSUInteger);
369 unsafe fn templates(self) -> id;
371 unsafe fn vendorFeatures(self) -> id;
373 unsafe fn physicalSize(self) -> NSSize;
375 unsafe fn scanArea(self) -> NSRect;
377 unsafe fn setScanArea(self, scanArea: NSRect);
379 unsafe fn scanAreaOrientation(self) -> ICEXIFOrientationType;
381 unsafe fn setScanAreaOrientation(self, scanAreaOrientation: ICEXIFOrientationType);
383 unsafe fn acceptsThresholdForBlackAndWhiteScanning(self) -> BOOL;
385 unsafe fn usesThresholdForBlackAndWhiteScanning(self) -> BOOL;
387 unsafe fn setUsesThresholdForBlackAndWhiteScanning(
389 self,
390 usesThresholdForBlackAndWhiteScanning: BOOL,
391 );
392 unsafe fn defaultThresholdForBlackAndWhiteScanning(self) -> c_uchar;
394 unsafe fn thresholdForBlackAndWhiteScanning(self) -> c_uchar;
396 unsafe fn setThresholdForBlackAndWhiteScanning(
398 self,
399 thresholdForBlackAndWhiteScanning: c_uchar,
400 );
401 unsafe fn state(self) -> ICScannerFunctionalUnitState;
403 unsafe fn scanInProgress(self) -> BOOL;
405 unsafe fn scanProgressPercentDone(self) -> CGFloat;
407 unsafe fn canPerformOverviewScan(self) -> BOOL;
409 unsafe fn overviewScanInProgress(self) -> BOOL;
411 unsafe fn overviewImage(self) -> CGImageRef;
413 unsafe fn overviewResolution(self) -> NSUInteger;
415 unsafe fn setOverviewResolution(self, overviewResolution: NSUInteger);
417}
418
419impl ICScannerFunctionalUnit for id {
420 unsafe fn type_(self) -> ICScannerFunctionalUnitType {
421 msg_send![self, type]
422 }
423
424 unsafe fn pixelDataType(self) -> ICScannerPixelDataType {
425 msg_send![self, pixelDataType]
426 }
427
428 unsafe fn setPixelDataType(self, pixelDataType: ICScannerPixelDataType) {
429 msg_send![self, setPixelDataType: pixelDataType]
430 }
431
432 unsafe fn supportedBitDepths(self) -> id {
433 msg_send![self, supportedBitDepths]
434 }
435
436 unsafe fn bitDepth(self) -> ICScannerBitDepth {
437 msg_send![self, bitDepth]
438 }
439
440 unsafe fn setBitDepth(self, bitDepth: ICScannerBitDepth) {
441 msg_send![self, setBitDepth: bitDepth]
442 }
443
444 unsafe fn supportedMeasurementUnits(self) -> id {
445 msg_send![self, supportedMeasurementUnits]
446 }
447
448 unsafe fn measurementUnit(self) -> ICScannerMeasurementUnit {
449 msg_send![self, measurementUnit]
450 }
451
452 unsafe fn setMeasurementUnit(self, measurementUnit: ICScannerMeasurementUnit) {
453 msg_send![self, setMeasurementUnit: measurementUnit]
454 }
455
456 unsafe fn supportedResolutions(self) -> id {
457 msg_send![self, supportedResolutions]
458 }
459
460 unsafe fn preferredResolutions(self) -> id {
461 msg_send![self, preferredResolutions]
462 }
463
464 unsafe fn resolution(self) -> NSUInteger {
465 msg_send![self, resolution]
466 }
467
468 unsafe fn setResolution(self, resolution: NSUInteger) {
469 msg_send![self, setResolution: resolution]
470 }
471
472 unsafe fn nativeXResolution(self) -> NSUInteger {
473 msg_send![self, nativeXResolution]
474 }
475
476 unsafe fn nativeYResolution(self) -> NSUInteger {
477 msg_send![self, nativeYResolution]
478 }
479
480 unsafe fn supportedScaleFactors(self) -> id {
481 msg_send![self, supportedScaleFactors]
482 }
483
484 unsafe fn preferredScaleFactors(self) -> id {
485 msg_send![self, preferredScaleFactors]
486 }
487
488 unsafe fn scaleFactor(self) -> NSUInteger {
489 msg_send![self, scaleFactor]
490 }
491
492 unsafe fn setScaleFactor(self, scaleFactor: NSUInteger) {
493 msg_send![self, setScaleFactor: scaleFactor]
494 }
495
496 unsafe fn templates(self) -> id {
497 msg_send![self, templates]
498 }
499
500 unsafe fn vendorFeatures(self) -> id {
501 msg_send![self, vendorFeatures]
502 }
503
504 unsafe fn physicalSize(self) -> NSSize {
505 msg_send![self, physicalSize]
506 }
507
508 unsafe fn scanArea(self) -> NSRect {
509 msg_send![self, scanArea]
510 }
511
512 unsafe fn setScanArea(self, scanArea: NSRect) {
513 msg_send![self, setScanArea: scanArea]
514 }
515
516 unsafe fn scanAreaOrientation(self) -> ICEXIFOrientationType {
517 msg_send![self, scanAreaOrientation]
518 }
519
520 unsafe fn setScanAreaOrientation(self, scanAreaOrientation: ICEXIFOrientationType) {
521 msg_send![self, setScanAreaOrientation: scanAreaOrientation]
522 }
523
524 unsafe fn acceptsThresholdForBlackAndWhiteScanning(self) -> BOOL {
525 msg_send![self, acceptsThresholdForBlackAndWhiteScanning]
526 }
527
528 unsafe fn usesThresholdForBlackAndWhiteScanning(self) -> BOOL {
529 msg_send![self, usesThresholdForBlackAndWhiteScanning]
530 }
531
532 unsafe fn setUsesThresholdForBlackAndWhiteScanning(
533 self,
534 usesThresholdForBlackAndWhiteScanning: BOOL,
535 ) {
536 msg_send![
537 self,
538 setUsesThresholdForBlackAndWhiteScanning: usesThresholdForBlackAndWhiteScanning
539 ]
540 }
541
542 unsafe fn defaultThresholdForBlackAndWhiteScanning(self) -> c_uchar {
543 msg_send![self, defaultThresholdForBlackAndWhiteScanning]
544 }
545
546 unsafe fn thresholdForBlackAndWhiteScanning(self) -> c_uchar {
547 msg_send![self, thresholdForBlackAndWhiteScanning]
548 }
549
550 unsafe fn setThresholdForBlackAndWhiteScanning(
551 self,
552 thresholdForBlackAndWhiteScanning: c_uchar,
553 ) {
554 msg_send![
555 self,
556 setThresholdForBlackAndWhiteScanning: thresholdForBlackAndWhiteScanning
557 ]
558 }
559
560 unsafe fn state(self) -> ICScannerFunctionalUnitState {
561 msg_send![self, state]
562 }
563
564 unsafe fn scanInProgress(self) -> BOOL {
565 msg_send![self, scanInProgress]
566 }
567
568 unsafe fn scanProgressPercentDone(self) -> CGFloat {
569 msg_send![self, scanProgressPercentDone]
570 }
571
572 unsafe fn canPerformOverviewScan(self) -> BOOL {
573 msg_send![self, canPerformOverviewScan]
574 }
575
576 unsafe fn overviewScanInProgress(self) -> BOOL {
577 msg_send![self, overviewScanInProgress]
578 }
579
580 unsafe fn overviewImage(self) -> CGImageRef {
581 msg_send![self, overviewImage]
582 }
583
584 unsafe fn overviewResolution(self) -> NSUInteger {
585 msg_send![self, overviewResolution]
586 }
587
588 unsafe fn setOverviewResolution(self, overviewResolution: NSUInteger) {
589 msg_send![self, setOverviewResolution: overviewResolution]
590 }
591}
592
593pub trait ICScannerFunctionalUnitFlatbed: Sized {
596 unsafe fn supportedDocumentTypes(self) -> id;
598 unsafe fn documentType(self) -> ICScannerDocumentType;
600 unsafe fn setDocumentType(self, documentType: ICScannerDocumentType);
602 unsafe fn documentSize(self) -> NSSize;
604}
605
606impl ICScannerFunctionalUnitFlatbed for id {
607 unsafe fn supportedDocumentTypes(self) -> id {
608 msg_send![self, supportedDocumentTypes]
609 }
610
611 unsafe fn documentType(self) -> ICScannerDocumentType {
612 msg_send![self, documentType]
613 }
614
615 unsafe fn setDocumentType(self, documentType: ICScannerDocumentType) {
616 msg_send![self, setDocumentType: documentType]
617 }
618
619 unsafe fn documentSize(self) -> NSSize {
620 msg_send![self, documentSize]
621 }
622}
623
624pub trait ICScannerFunctionalUnitPositiveTransparency: Sized {
627 unsafe fn supportedDocumentTypes(self) -> id;
629 unsafe fn documentType(self) -> ICScannerDocumentType;
631 unsafe fn setDocumentType(self, documentType: ICScannerDocumentType);
633 unsafe fn documentSize(self) -> NSSize;
635}
636
637impl ICScannerFunctionalUnitPositiveTransparency for id {
638 unsafe fn supportedDocumentTypes(self) -> id {
639 msg_send![self, supportedDocumentTypes]
640 }
641
642 unsafe fn documentType(self) -> ICScannerDocumentType {
643 msg_send![self, documentType]
644 }
645
646 unsafe fn setDocumentType(self, documentType: ICScannerDocumentType) {
647 msg_send![self, setDocumentType: documentType]
648 }
649
650 unsafe fn documentSize(self) -> NSSize {
651 msg_send![self, documentSize]
652 }
653}
654
655pub trait ICScannerFunctionalUnitNegativeTransparency: Sized {
658 unsafe fn supportedDocumentTypes(self) -> id;
660 unsafe fn documentType(self) -> ICScannerDocumentType;
662 unsafe fn setDocumentType(self, documentType: ICScannerDocumentType);
664 unsafe fn documentSize(self) -> NSSize;
666}
667
668impl ICScannerFunctionalUnitNegativeTransparency for id {
669 unsafe fn supportedDocumentTypes(self) -> id {
670 msg_send![self, supportedDocumentTypes]
671 }
672
673 unsafe fn documentType(self) -> ICScannerDocumentType {
674 msg_send![self, documentType]
675 }
676
677 unsafe fn setDocumentType(self, documentType: ICScannerDocumentType) {
678 msg_send![self, setDocumentType: documentType]
679 }
680
681 unsafe fn documentSize(self) -> NSSize {
682 msg_send![self, documentSize]
683 }
684}
685
686pub trait ICScannerFunctionalUnitDocumentFeeder: Sized {
689 unsafe fn supportedDocumentTypes(self) -> id;
691 unsafe fn documentType(self) -> ICScannerDocumentType;
693 unsafe fn setDocumentType(self, documentType: ICScannerDocumentType);
695 unsafe fn documentSize(self) -> NSSize;
697 unsafe fn supportsDuplexScanning(self) -> BOOL;
699 unsafe fn duplexScanningEnabled(self) -> BOOL;
701 unsafe fn setDuplexScanningEnabled(self, duplexScanningEnabled: BOOL);
703 unsafe fn documentLoaded(self) -> BOOL;
706 unsafe fn oddPageOrientation(self) -> ICEXIFOrientationType;
708 unsafe fn setOddPageOrientation(self, oddPageOrientation: ICEXIFOrientationType);
710 unsafe fn evenPageOrientation(self) -> ICEXIFOrientationType;
712 unsafe fn setEvenPageOrientation(self, evenPageOrientation: ICEXIFOrientationType);
714 unsafe fn reverseFeederPageOrder(self) -> BOOL;
716}
717
718impl ICScannerFunctionalUnitDocumentFeeder for id {
719 unsafe fn supportedDocumentTypes(self) -> id {
720 msg_send![self, supportedDocumentTypes]
721 }
722
723 unsafe fn documentType(self) -> ICScannerDocumentType {
724 msg_send![self, documentType]
725 }
726
727 unsafe fn setDocumentType(self, documentType: ICScannerDocumentType) {
728 msg_send![self, setDocumentType: documentType]
729 }
730
731 unsafe fn documentSize(self) -> NSSize {
732 msg_send![self, documentSize]
733 }
734
735 unsafe fn supportsDuplexScanning(self) -> BOOL {
736 msg_send![self, supportsDuplexScanning]
737 }
738
739 unsafe fn duplexScanningEnabled(self) -> BOOL {
740 msg_send![self, duplexScanningEnabled]
741 }
742
743 unsafe fn setDuplexScanningEnabled(self, duplexScanningEnabled: BOOL) {
744 msg_send![self, setDuplexScanningEnabled: duplexScanningEnabled]
745 }
746
747 unsafe fn documentLoaded(self) -> BOOL {
748 msg_send![self, documentLoaded]
749 }
750
751 unsafe fn oddPageOrientation(self) -> ICEXIFOrientationType {
752 msg_send![self, oddPageOrientation]
753 }
754
755 unsafe fn setOddPageOrientation(self, oddPageOrientation: ICEXIFOrientationType) {
756 msg_send![self, setOddPageOrientation: oddPageOrientation]
757 }
758
759 unsafe fn evenPageOrientation(self) -> ICEXIFOrientationType {
760 msg_send![self, evenPageOrientation]
761 }
762
763 unsafe fn setEvenPageOrientation(self, evenPageOrientation: ICEXIFOrientationType) {
764 msg_send![self, setEvenPageOrientation: evenPageOrientation]
765 }
766
767 unsafe fn reverseFeederPageOrder(self) -> BOOL {
768 msg_send![self, reverseFeederPageOrder]
769 }
770}