Packages

Elixir bindings for pdf_oxide, a high-performance PDF library written in Rust.

Current section

Files

Jump to
pdf_elixide native pdf_elixide_nif src lib.rs
Raw

native/pdf_elixide_nif/src/lib.rs

use std::sync::Mutex;
use pdf_oxide::{editor::DocumentEditor, PdfDocument};
mod document;
mod editor;
mod error;
mod form;
// Atoms ------------------------------------------------------------------------------------------
pub(crate) mod atoms {
rustler::atoms! {
ok, error,
button, text, choice, signature, unknown
}
}
// Resources --------------------------------------------------------------------------------------
struct DocumentResource {
doc: Mutex<PdfDocument>,
}
#[rustler::resource_impl]
impl rustler::Resource for DocumentResource {}
struct EditorResource {
editor: Mutex<DocumentEditor>,
}
#[rustler::resource_impl]
impl rustler::Resource for EditorResource {}
// ------------------------------------------------------------------------------------------------
rustler::init!("Elixir.PdfElixide.Native");