///|
fn pdf_image_add_unique_page(pages : Array[Int], page_number : Int) -> Unit {
if !pages.contains(page_number) {
pages.push(page_number)
}
}
///|
fn pdf_image_list_find_entry(
entries : ArrayView[PdfImageListEntry],
object_number : Int,
) -> Int {
if object_number <= 0 {
-1
} else {
for index in 0.. Unit raise @core.PdfError {
let existing = pdf_image_list_find_entry(entries, object_number)
if existing >= 0 {
pdf_image_add_unique_page(entries[existing].pages, page_number)
} else {
let (mask, mask_object_number) = self.pdf_image_list_mask(
resources, page_number, image, inline, entries, form_numbers,
)
entries.push({
object_number,
pages: [page_number],
name: pdf_image_name_to_string(name),
width: self.pdf_image_lookup_int_or_default(
pdf_image_width_key(),
pdf_image_w_key(),
image,
1,
),
height: self.pdf_image_lookup_int_or_default(
pdf_image_height_key(),
pdf_image_h_key(),
image,
1,
),
byte_count: self.pdf_image_stream_length(image, data_length),
bits_per_component: self.pdf_image_bits_per_component_number(image),
colourspace: self.pdf_image_colourspace_name(image, resources),
filter: self.pdf_image_filter_name(image),
mask,
mask_object_number,
})
}
}