Skip to main content

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    V7763,
8    V7543,
9    V7350,
10    V7215,
11    V7123,
12    V6996,
13    V6721,
14    V6666,
15    V6611,
16    V6569,
17    V6555,
18    V6490,
19    V6406,
20    V6337,
21    V6295,
22    V6259,
23    V6164,
24    V6124,
25    V6110,
26    V6084,
27    V6043,
28    V6015,
29    V5961,
30}
31
32impl PdfiumApiVersion {
33    /// Returns the currently selected `PdfiumApiVersion` based on compile-time feature flags.
34    pub(crate) fn current() -> Self {
35        #[cfg(feature = "pdfium_future")]
36        return PdfiumApiVersion::Future;
37
38        #[cfg(feature = "pdfium_7763")]
39        return PdfiumApiVersion::V7763;
40
41        #[cfg(feature = "pdfium_7543")]
42        return PdfiumApiVersion::V7543;
43
44        #[cfg(feature = "pdfium_7350")]
45        return PdfiumApiVersion::V7350;
46
47        #[cfg(feature = "pdfium_7215")]
48        return PdfiumApiVersion::V7215;
49
50        #[cfg(feature = "pdfium_7123")]
51        return PdfiumApiVersion::V7123;
52
53        #[cfg(feature = "pdfium_6996")]
54        return PdfiumApiVersion::V6996;
55
56        #[cfg(feature = "pdfium_6721")]
57        return PdfiumApiVersion::V6721;
58
59        #[cfg(feature = "pdfium_6666")]
60        return PdfiumApiVersion::V6666;
61
62        #[cfg(feature = "pdfium_6611")]
63        return PdfiumApiVersion::V6611;
64
65        #[cfg(feature = "pdfium_6569")]
66        return PdfiumApiVersion::V6569;
67
68        #[cfg(feature = "pdfium_6555")]
69        return PdfiumApiVersion::V6555;
70
71        #[cfg(feature = "pdfium_6490")]
72        return PdfiumApiVersion::V6490;
73
74        #[cfg(feature = "pdfium_6406")]
75        return PdfiumApiVersion::V6406;
76
77        #[cfg(feature = "pdfium_6337")]
78        return PdfiumApiVersion::V6337;
79
80        #[cfg(feature = "pdfium_6295")]
81        return PdfiumApiVersion::V6295;
82
83        #[cfg(feature = "pdfium_6259")]
84        return PdfiumApiVersion::V6259;
85
86        #[cfg(feature = "pdfium_6164")]
87        return PdfiumApiVersion::V6164;
88
89        #[cfg(feature = "pdfium_6124")]
90        return PdfiumApiVersion::V6124;
91
92        #[cfg(feature = "pdfium_6110")]
93        return PdfiumApiVersion::V6110;
94
95        #[cfg(feature = "pdfium_6084")]
96        return PdfiumApiVersion::V6084;
97
98        #[cfg(feature = "pdfium_6043")]
99        return PdfiumApiVersion::V6043;
100
101        #[cfg(feature = "pdfium_6015")]
102        return PdfiumApiVersion::V6015;
103
104        #[cfg(feature = "pdfium_5961")]
105        return PdfiumApiVersion::V5961;
106    }
107}