pdfium_render/bindings/
version.rs

1//! Defines the [PdfiumApiVersion] enum, the set of Pdfium API versions supported by `pdfium-render`.
2
3/// A specific Pdfium `FPDF_*` API release version.
4#[derive(Copy, Clone, Debug, PartialEq)]
5pub enum PdfiumApiVersion {
6    Future, // For changes published to Pdfium's repository but yet to be released in a binary
7    V7350,
8    V7215,
9    V7123,
10    V6996,
11    V6721,
12    V6666,
13    V6611,
14    V6569,
15    V6555,
16    V6490,
17    V6406,
18    V6337,
19    V6295,
20    V6259,
21    V6164,
22    V6124,
23    V6110,
24    V6084,
25    V6043,
26    V6015,
27    V5961,
28}
29
30impl PdfiumApiVersion {
31    /// Returns the currently selected `PdfiumApiVersion` based on compile-time feature flags.
32    pub(crate) fn current() -> Self {
33        #[cfg(feature = "pdfium_future")]
34        return PdfiumApiVersion::Future;
35
36        #[cfg(feature = "pdfium_7350")]
37        return PdfiumApiVersion::V7350;
38
39        #[cfg(feature = "pdfium_7215")]
40        return PdfiumApiVersion::V7215;
41
42        #[cfg(feature = "pdfium_7123")]
43        return PdfiumApiVersion::V7123;
44
45        #[cfg(feature = "pdfium_6996")]
46        return PdfiumApiVersion::V6996;
47
48        #[cfg(feature = "pdfium_6721")]
49        return PdfiumApiVersion::V6721;
50
51        #[cfg(feature = "pdfium_6666")]
52        return PdfiumApiVersion::V6666;
53
54        #[cfg(feature = "pdfium_6611")]
55        return PdfiumApiVersion::V6611;
56
57        #[cfg(feature = "pdfium_6569")]
58        return PdfiumApiVersion::V6569;
59
60        #[cfg(feature = "pdfium_6555")]
61        return PdfiumApiVersion::V6555;
62
63        #[cfg(feature = "pdfium_6490")]
64        return PdfiumApiVersion::V6490;
65
66        #[cfg(feature = "pdfium_6406")]
67        return PdfiumApiVersion::V6406;
68
69        #[cfg(feature = "pdfium_6337")]
70        return PdfiumApiVersion::V6337;
71
72        #[cfg(feature = "pdfium_6295")]
73        return PdfiumApiVersion::V6295;
74
75        #[cfg(feature = "pdfium_6259")]
76        return PdfiumApiVersion::V6259;
77
78        #[cfg(feature = "pdfium_6164")]
79        return PdfiumApiVersion::V6164;
80
81        #[cfg(feature = "pdfium_6124")]
82        return PdfiumApiVersion::V6124;
83
84        #[cfg(feature = "pdfium_6110")]
85        return PdfiumApiVersion::V6110;
86
87        #[cfg(feature = "pdfium_6084")]
88        return PdfiumApiVersion::V6084;
89
90        #[cfg(feature = "pdfium_6043")]
91        return PdfiumApiVersion::V6043;
92
93        #[cfg(feature = "pdfium_6015")]
94        return PdfiumApiVersion::V6015;
95
96        #[cfg(feature = "pdfium_5961")]
97        return PdfiumApiVersion::V5961;
98    }
99}