pdfium_render/pdf/document/page/field/
signature.rs1use crate::bindgen::{FPDF_ANNOTATION, FPDF_FORMHANDLE};
5use crate::bindings::PdfiumLibraryBindings;
6use crate::pdf::document::page::field::private::internal::PdfFormFieldPrivate;
7
8#[cfg(doc)]
9use {
10 crate::pdf::document::form::PdfForm,
11 crate::pdf::document::page::annotation::PdfPageAnnotationType,
12 crate::pdf::document::page::field::{PdfFormField, PdfFormFieldType},
13};
14
15pub struct PdfFormSignatureField<'a> {
23 form_handle: FPDF_FORMHANDLE,
24 annotation_handle: FPDF_ANNOTATION,
25 bindings: &'a dyn PdfiumLibraryBindings,
26}
27
28impl<'a> PdfFormSignatureField<'a> {
29 pub(crate) fn from_pdfium(
30 form_handle: FPDF_FORMHANDLE,
31 annotation_handle: FPDF_ANNOTATION,
32 bindings: &'a dyn PdfiumLibraryBindings,
33 ) -> Self {
34 PdfFormSignatureField {
35 form_handle,
36 annotation_handle,
37 bindings,
38 }
39 }
40
41 #[inline]
43 pub fn bindings(&self) -> &'a dyn PdfiumLibraryBindings {
44 self.bindings
45 }
46}
47
48impl<'a> PdfFormFieldPrivate<'a> for PdfFormSignatureField<'a> {
49 #[inline]
50 fn form_handle(&self) -> FPDF_FORMHANDLE {
51 self.form_handle
52 }
53
54 #[inline]
55 fn annotation_handle(&self) -> FPDF_ANNOTATION {
56 self.annotation_handle
57 }
58
59 #[inline]
60 fn bindings(&self) -> &dyn PdfiumLibraryBindings {
61 self.bindings
62 }
63}