pdfium_render/pdf/document/page/object/
shading.rsuse crate::bindgen::{FPDF_DOCUMENT, FPDF_PAGEOBJECT};
use crate::bindings::PdfiumLibraryBindings;
use crate::error::PdfiumError;
use crate::pdf::document::page::object::private::internal::PdfPageObjectPrivate;
use crate::pdf::document::page::object::{PdfPageObject, PdfPageObjectOwnership};
pub struct PdfPageShadingObject<'a> {
object_handle: FPDF_PAGEOBJECT,
ownership: PdfPageObjectOwnership,
bindings: &'a dyn PdfiumLibraryBindings,
}
impl<'a> PdfPageShadingObject<'a> {
pub(crate) fn from_pdfium(
object_handle: FPDF_PAGEOBJECT,
ownership: PdfPageObjectOwnership,
bindings: &'a dyn PdfiumLibraryBindings,
) -> Self {
PdfPageShadingObject {
object_handle,
ownership,
bindings,
}
}
}
impl<'a> PdfPageObjectPrivate<'a> for PdfPageShadingObject<'a> {
#[inline]
fn object_handle(&self) -> FPDF_PAGEOBJECT {
self.object_handle
}
#[inline]
fn ownership(&self) -> &PdfPageObjectOwnership {
&self.ownership
}
#[inline]
fn set_ownership(&mut self, ownership: PdfPageObjectOwnership) {
self.ownership = ownership;
}
#[inline]
fn bindings(&self) -> &dyn PdfiumLibraryBindings {
self.bindings
}
#[inline]
fn is_copyable_impl(&self) -> bool {
false
}
#[inline]
fn try_copy_impl<'b>(
&self,
_: FPDF_DOCUMENT,
_: &'b dyn PdfiumLibraryBindings,
) -> Result<PdfPageObject<'b>, PdfiumError> {
Err(PdfiumError::UnsupportedPdfPageObjectType)
}
}